How to remove robot body from lidar scans using dynamic bounding box

This article explains how to remove unwanted robot body reflections from lidar scans in ROS 2 using efficient AABB filtering based on real-time forward kinematics.

Demo: robot discovery using UDP multicast messages

This article shows how to use UDP multicast to simplify robot discovery in a wireless network, where IP addresses are often dynamically assigned and determining the right one can be quite tricky.

Demo: fast lidar SLAM using 93won/lidar_odometry

Exploring a compute-efficient lidar SLAM pipeline: testing the 93won/lidar_odometry project in Gazebo with a hexapod robot, achieving accurate localization and mapping in a simulated subway environment.

Demo: pose estimation based on leg proprioception data

Learn how to estimate a hexapod robot’s pose using leg proprioception data. This article explains M. Görner and A. Stelzer’s algorithm for calculating translation and rotation from leg joint angles for precise robot localization.

Software: hydraulic cylinder design tool

lxrhct is a little GTK based software tool for the design of hydraulic cylinders allowing the calculation of various cylinder performance characteristics based on the geometry of the cylinder.

How to accellerate ROS 2 discovery using Fast DDS discovery server

This article explains how to setup and use the Fast DDS discovery server. Using the discovery server considerably reduces network traffic during discovery phase, enabling faster system startup.

How to simulate a Livox MID-360 using Gazebo

This article explains how to simulate a Livox MID-360 Lidar in modern Gazebo (Harmonic 8.6.0+) using the gpu_lidar plugin and bridge its data to ROS, following the end-of-life of Gazebo Classic.

How to access private Git repositories during a Docker image build

Docker is a great tool for packaging an application and its dependencies. Occasionally, some of those dependencies are in private repositories, which requires special handling.

Time synchronisation between ROS2 and Gazebo

Numerous caveats have to be considered when running ROS 2 with Gazebo. One caveats is time synchronisation which we'll address in this article.

Restrict ROS2 DDS communication to specific network interfaces

This article describes how to restrict ROS2 DDS network traffic to specific network interfaces.

Microcontroller startup code written in C++

Difficult to understand assembly code tightly coupled with hardware is the unfortunate norm for microcontroller startup code - but there are better ways.