Time synchronisation between ROS2 and Gazebo


Using a ROS compatible physics simulator such as Gazebo allows to quickly iterate and test robot control software without requiring actual robotic hardware. Furthermore, robotic prototypes, even if available, are usually limited in numbers. Using a simulator eliminates this constraint by replacing the actual physical prototype with a virtual prototype simulated in software. When working […]


Read more

Restrict ROS2 DDS communication to specific network interfaces


One of the main architectural differences between ROS1 and ROS2 is that ROS1 requires a discovery mechanism running on a single network node while ROS2 provides decentralized discovery. As a consequence the average user is rarely required to consider specific implementation details of ROS2 networking. However, every now and then very specific circumstances arise in […]


Read more

What is Single-Pair Ethernet and why should you care?


Single-Pair Ethernet (SPE) emerges as a game-changing technology that facilitates data transfer over a single twisted pair of cables, distinguishing itself from traditional Ethernet configurations. SPE provides versatile applications with data rates ranging from 10 Mb/s to 1 Gb/s and maximum cable lengths ranging from 15 meters to 1 kilometer. Reduced cabling complexity, end-to-end IP-based […]


Read more

Microcontroller startup code written in C++


The startup code of a microcontroller is the first code executed after a reset. It performs microcontroller specific initialisation as well as zero-clearing RAM, ROM-to-RAM static initialisation and calling constructors for static objects before calling main, as shown in the next figure: Startup code is mostly written in assembly (sometimes in C) and usually requires […]


Read more