How to Build and Test a ROS 2 Action Client in Python

In the previous article, we implemented a ROS 2 Action Server in Python that calculates the Fibonacci sequence. We also saw how to interact with it using the ROS 2 CLI (ros2 action send_goal). Now, we’ll take a step further and implement a ROS 2 Action Client in Python.This client node will connect directly to […]

How to Build and Test a ROS 2 Action Server in C++

When working with robots, not every task is instantaneous. Some operations take time: navigating across a room, picking up an object, scanning an area, or performing a long computation.In ROS 2, these “long-running” tasks need a special way for nodes to talk to each other — one that allows progress updates and the ability to […]

Launching the Complete Robot Simulation in ROS 2

Up to this point, we have built and tested individual parts of our robot: the URDF description, Gazebo simulation, controllers, and even integration with MoveIt and a remote Alexa interface. Now it’s time to bring everything together into a single launch file that runs the complete robot simulation with all components working in harmony. This […]

How to Build and Test a ROS 2 Action Server in Python

When working with robots, not every task is instantaneous. Some operations take time: navigating across a room, picking up an object, scanning an area, or performing a long computation. In ROS 2, these “long-running” tasks need a special way for nodes to talk to each other — one that allows progress updates and the ability […]

How to Build a Voice Interaction Model in ROS 2

Voice control has become one of the most natural and intuitive ways to interact with robots. From simple voice commands to complex conversational systems, enabling a robot to understand and respond to spoken language opens the door to more human-like and user-friendly experiences. In this tutorial, we will build a Voice Interaction Model in ROS […]

Building Smarter Robots with Behavior Trees in ROS 2

Discover how Behavior Trees can help you structure intelligent robot behaviors in ROS 2 using modular logic, clear control flow, and intuitive tools like Groot. 🤖 Why Behavior Matters in Robotics Robots that operate in the real world face much more than just navigation tasks. They need to handle dynamic environments, unpredictable humans, and ambiguous […]

How to Develop a Custom Alexa Skill to Control Your ROS 2 Robot

👉 How to Develop a Custom Alexa Skill to Control Your ROS 2 Robot  In this step-by-step lab, you’ll learn how to create a custom Alexa Skill from scratch that can send commands to your ROS 2 robot. We’ll use the Alexa Developer Console to define intents and invocation phrases, and configure the skill to […]

Install Ubuntu 22.04 on a Virtual Machine with VirtualBox

If you’re new to Linux or want to explore Ubuntu without modifying your main operating system, a Virtual Machine (VM) is the perfect solution. This guide will walk you through installing Ubuntu 22.04 inside Oracle VM VirtualBox. You’ll learn how to set it up safely, efficiently, and without needing to dual-boot your system.  Whether you’re […]

How to control a DC Motor using Arduino and PID Algorithm

Controlling the speed and direction of a DC motor precisely is essential for many robotics and automation projects. In this tutorial, we will learn how to use a PID controller to regulate the velocity of two DC motors connected through an L298N driver, with feedback from wheel encoders. Why use a PID controller for motor […]

How to use i2c lcd with Arduino

In this tutorial, you’ll learn how to use a 16×2 LCD display with an I2C interface using the Adafruit_LiquidCrystal library. The code example shows how to display a counter that increments every second and blinks the backlight to create a visual effect.  What is an I2C LCD Display? When working with LCD screens and microcontrollers […]

en_US