Find your next tutorial
Search articles and guides by topic, tool, or robot.
31 results
Setting Up and Calibrating the Autonomous Viam Rover
Calibrate wheel encoders and build a motor lookup table to prepare the Viam Rover for reliable mapping and navigation.
Controlling the Viam Rover with ros2_control
This post is part of a series about the Autonomously Exploring Viam Rover (see my previous blog post). The rover is my attempt to build an inexpensive rover that is easy to assembl
Autonomously Mapping with Visual SLAM
This project is about a low-cost robot that you can drop into a room, have it explore and map the entire space, then set navigating autonomously - all without GPS or lidar. In this
FOSDEM Robotics Dev Room Summary
FOSDEM is a conference which is free to attend. This year's conference (2026) was held in Brussels, Belgium over two days. The talks were separated into tracks based on subject, an
Deploying Ultralytics YOLO26 Using ROS 2
Computer Vision (CV) is when a machine processes visual data to perceive its environment, just as humans can. Robots using CV can operate on single images or continuous video data,
Comparing Rust Libraries for ROS Nodes
While looking for guest speakers for the Cloud Robotics Working Group, I came across roslibrust, which is a package for building nodes in Rust that can communicate with ROS. Given
Cost-Effective Robotics Simulation in the Cloud
This post shows how to deploy an EC2 Spot Instance on AWS capable of running O3DE, Ignition Gazebo, and NVIDIA Isaac Sim at a reduced cost. This Spot Instance is part of a system t
Controlling Robots using a Large Language Model
In the past, a human controlling a robot has depended entirely on what commands the human can send the robot, either through structured messages or through user interfaces. That's
Understanding PID Controllers
This post takes a look at the PID Controller, which is widely used in robotics for providing more accurate motions of any moving parts on a robot. We will go through some basic con
Constructing Tasks with MoveIt
How are complex robot arm motions actually planned and executed? Robot arms are usually mounted within an enclosure or with some kind of environment that restricts their movement,
Controlling a 6DOF Robot Arm with ros2_control
Understand the ros2_control example controller and adapt it for your own robot arm.
Exploring AI on the RDK X3 Sunrise
We need robots to be able to react to change, to perceive their environment rather than just sense it, and to be able to make their own decisions when they can't follow the normal
ROS 2 on a Raspberry Pi Robot
This post shows how to use ROS 2 to control the CamJam EduKit 3. It uses a Raspberry Pi Zero 2W, which is a small development board with minimal compute power. However, the Pi Zero
Getting Started with ROS 2
the first node will then perform the action and send back a response message. For example, a robot arm with a gripper attachment might offer a service to close or open the gripper.
AWS IoT Greengrass: Concepts and Components!
AWS IoT Greengrass, or Greengrass for short, is a way of deploying software to an edge device, like a server on a factory floor, and managing the lifecycle of that software. From t
Your First Robot Kit: CamJam EduKit #3
If you want a cheap robot kit, it's hard to do better than the CamJam EduKit 3. This is a small kit which you can assemble into a two-wheeled robot with a caster, as long as you bu
Why would I connect my robots to the cloud?
Explore the benefits and trade-offs before connecting your robot fleet to the cloud.
Automatically Sending ROS2 Data to IoT Core with Greengrass
This post is about connecting ROS2 robots to the cloud with a quick and simple Greengrass setup. I'll guide you through building a sample component that can be hosted on a server c
Simulating Robots in the Cloud with EC2 and O3DE
Simulators such as Gazebo, NVIDIA Isaac Sim, and O3DE are incredibly helpful tools when it comes to robotics development. Robots are very slow and expensive to develop, and a large
How to Build a Fleet Overview with AWS IoT Fleet Indexing
Congratulations! You have a whole lab full of robots running your latest software. Now you want to start looking at an overall view of your robots. It's time to build a fleet overv
How to use the Boston Dynamics Spot SDK
This post is to show how to set up the Boston Dynamics Spot SDK. If you prefer a video format, or you want to see the samples in action, check out my YouTube video below: Boston Dy
5 tips on How to Stand Out as a Software Engineer
This post is to give you my five tops on how to stand out as a Software Engineer. These are tips that will help at any career level, not just when you're starting out. If you prefe
Ordering Smoothies with AWS Step Functions and Robots
This post is about how to build an AWS Step Functions state machine and how you can use it to interact with IoT edge devices. In this case, we are sending a smoothie order to a "ro
ROS2 Control with the JetBot Part 2: Building a ros2_control System
This is the second part of the "ROS2 Control with the JetBot" series, where I show you how to get a JetBot working with ROS2 Control! This is a sequel to the part 1 blog post, wher
Co-ordinating Robot Fleets with AWS Lambda
This post shows how to build two simple functions, running in the cloud, using AWS Lambda. The purpose of these functions is the same - to update the status of a given robot name i
The Best Way for Beginners to Learn from Tutorials!
This post is about how beginners can make the most out of every tutorial by digging deep into the code to understand it. This is the best foundation you can give yourself for conti
Getting Started as a Robotics Software Engineer!
This post is all about my advice on getting started as a Robotics Software Engineer. I want to tell you a little of my journey to get to this point, then what you should do to prac
ROS2 Control with the JetBot Part 1: Using I2C to control PWM
Welcome to a new series - setting up the JetBot to work with ROS2 Control interfaces! Previously, I showed how to set up the JetBot to work from ROS commands, but that was a very b
Deploying Docker Compose with Greengrass!
In this post, I'll show how to use two major concepts together: 1. Docker images that can be privately hosted in Amazon Elastic Container Registry (ECR); and 1. AWS IoT Greengrass
Building a ROS2 node in Rust!
This post shows how to build a Robot Operating System 2 node using Rust, a systems programming language built for safety, security, and performance. In the post, I'll tell you abou
Getting Started with Cloud Robotics
Getting Started with Cloud Robotics Build a robot you can control, connect it to the cloud, and learn how to keep it running. These tutorials combine written guides, videos, and ex