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

In robotics, especially with ROS 2, it’s common for different nodes to interact and collaborate to accomplish tasks. So far, we’ve used the publisher/subscriber model to communicate between them — which works well for data streaming. But what if you just need to trigger a specific operation and get a result back? That’s where Services […]

Smarter Path Planning in ROS 2: Implementing A* in Python

In the world of robotics, planning a path from one point to another isn’t just about finding a route—it’s about doing it intelligently. If you’ve ever implemented Dijkstra’s algorithm, you know how powerful it is… but also how slow it can be when the map gets big. What if we could be smarter? What if […]

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

Advanced SLAM in ROS2: Mapping with Cartographer

In this tutorial, you’ll learn how to use Google’s Cartographer with ROS2 to perform advanced 2D SLAM (Simultaneous Localization and Mapping). Cartographer is a real-time SLAM algorithm that provides loop closure and accurate map construction in dynamic environments. We’ll use a simulated TurtleBot3, but the steps are adaptable to real robots.   📝 Requirements  – ROS2 […]

How to Integrate ROS Control into a Simulated Robot in Gazebo

Controlling a simulated robot as if it were real — that’s the power of ROS Control. In this guide, we’ll see how to properly configure the URDF model so ROS can “command” the simulated motors of our BumperBot. 🚀 Introduction: What Is ROS Control and Why Use It? Imagine building a robot with real motors, […]

Choosing the Right Locomotion System for Mobile Robots

Whether it’s a four-legged robot climbing rocky hills or a drone hovering over a building site, locomotion is what gives mobile robots the power to explore, navigate, and interact with the world. But what makes one locomotion system better than another? Is there a perfect design? The answer is more nuanced than you might think. […]

Creating a 2D map with GMapping (ROS)

In this tutorial, you will learn how to build a 2D map of an environment using the GMapping SLAM algorithm in ROS1. This process is fundamental for autonomous navigation as it allows the robot to understand and represent its surroundings.  📝 Requirements  – ROS1 installed (e.g., Noetic) – `slam_gmapping` package – Simulated robot with LIDAR sensor (e.g., […]

Understanding PWM in Robotics

In robotics, controlling how fast a motor spins or how bright an LED shines is essential. PWM — Pulse Width Modulation — is the tool that makes this possible. Let’s dive into what PWM is, how it works, and how you can use it in your own robotic projects. 🔍 What is a PWM? PWM […]

Navigation with move_base and AMCL (ROS)

In this tutorial, you will learn how to autonomously navigate a mobile robot in ROS1 using the `move_base` package for path planning and `amcl` for probabilistic localization on a prebuilt map. We will use a simulated robot (e.g., TurtleBot3) with a map previously generated using SLAM.  📝 Required components ROS1 installed (e.g., Noetic on Ubuntu […]

How to create a simple Subscriber Node with C++ – ROS2

In this tutorial, we’ll create a simple ROS 2 node in C++ that subscribes to a topic and listens for messages published on it. If you haven’t checked out the simple publisher tutorial, I recommend starting there first. 🔍  What is a ROS Node and a Topic? In ROS (Robot Operating System), software is organized […]

es_ES

Discover BumperBot Kit

Assemble your robot and get started to learn Robotics!