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

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

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

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 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