PID Control Algorithm

In control theory, the PID (Proportional–Integral–Derivative) algorithm is often considered the holy grail of control. PID is one of the most successful control algorithms due to its flexibility and simplicity, and it’s relatively easy to implement. In fact, the PID control algorithm has proven robust and flexible enough to yield excellent results in a wide variety […]

Navigazione waypoint ROS2 con ripianificazione dinamica tramite Nav2

In this tutorial, you’ll learn how to implement waypoint-based navigation in ROS2 using the Nav2 stack, enhanced with dynamic replanning capabilities. This setup enables your robot to follow a sequence of predefined goals and recalculate the path if unexpected obstacles appear. It’s ideal for autonomous patrol or area coverage in indoor environments.   📝 Requirements  – […]

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

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

How to create a simple Publisher Node with Python – ROS2

In this guide, we’ll build a simple publisher node using Python in ROS2.The node will periodically publish a string message on a topic. We’ll explain every step clearly and line-by-line, so even if you’re new to ROS you can follow along. 🔍  What is a ROS Node and a Topic? In ROS (Robot Operating System), […]

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

In this tutorial, we’ll learn how to create a simple ROS2 node using C++ that sends text messages to a topic.This is one of the fundamental skills in the ROS2 ecosystem — allowing different programs (called nodes) to talk to each other via topics. 🔍  What is a ROS Node and a Topic? In ROS […]

en_US

Discover BumperBot Kit

Assemble your robot and get started to learn Robotics!