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 […]
How to Build and Test a ROS 2 Service Client in C++

In the previous tutorial, we learned how to build a ROS 2 Service Server that takes two integers and returns their sum.Now it’s time to create the client node that sends requests to that service — this time, using C++. This tutorial will guide you through: Understanding how a ROS 2 service client works. Implementing […]
How to Interface Your ROS 2 Robot with Alexa Using Flask and Python

👉 How to Interface Your ROS 2 Robot with Alexa Using Flask and Python In this hands-on lab, you’ll learn how to create a Python web server that acts as a bridge between an Alexa Skill and your ROS 2 robot. By using Flask and the Alexa Skills Kit SDK, you will interpret voice commands […]
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 Link Your Alexa Skill to a Local ROS 2 Server Using ngrok

👉 How to Link Your Alexa Skill to a Local ROS 2 Server Using ngrok In this tutorial, you’ll learn how to connect the Alexa Skill you previously created to a local ROS 2 server using ngrok. This setup will allow your voice commands to travel from Amazon’s cloud to your machine, where they can […]
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 […]