Creating and Managing a Lifecycle Node in ROS 2 with C++

When developing complex robotic systems, managing the operational state of each node precisely is essential to ensure stability, safety, and predictability.ROS 2 introduces a key concept to meet this need: Lifecycle Nodes.   Unlike standard nodes, which start operating as soon as they are launched, Lifecycle Nodes allow you to explicitly control their behavior through […]

Managing and Creating Lifecycle Nodes in ROS 2

When developing complex robotic systems, the ability to precisely control the operational state of each node is essential to ensure reliability, safety, and maintainability. ROS 2 addresses this need through a key concept: Lifecycle Nodes.Unlike regular nodes that start operating as soon as they are launched, Lifecycle Nodes allow you to manage their life cycle […]

Safety in Human–Robot Interaction: Speed and Separation Monitoring with ROS 2

When robots and humans share the same workspace, functional safety becomes a first-class requirement. A collaborative robot must be able to adapt its motion according to the level of risk in the environment, slowing down or stopping entirely when a person comes too close.Unlike traditional setups with cages or physical barriers, this approach relies on […]

Integrating a 2D LiDAR into Your ROS 2 Robot Model

One of the key elements that enables a mobile robot to navigate autonomously is its ability to perceive the surrounding environment.Among the most widespread and reliable sensors used in robotics is the 2D LiDAR (Light Detection and Ranging). This device has revolutionized mobile robotics thanks to its accuracy and the ease with which it can […]

How Robots Understand Their Environment: Maps and Localization with ROS 2

To ensure autonomous navigation capabilities, a robot must be equipped with both a localization mechanism and a representation of the environment (map).Odometry alone, based on wheel rotation measurements, is not sufficient, as it introduces cumulative errors that increase over time.Therefore, a map is required to serve as an external reference, enabling the correction of these […]

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 […]

es_ES

Discover BumperBot Kit

Assemble your robot and get started to learn Robotics!