ROS & ROS 2
WWW.ROS.ORG

ROS & ROS 2

The Robot Operating System (ROS) is a powerful software architecture used by roboticists all over the world. I have applied my extensive experience with ROS and ROS 2 in a wide variety of projects (e.g., AMRs and robotic manipulators). I talk about my knowledge of ROS and ROS 2 applied to specific robotics projects in other posts. This post describes my work done for simplifyig software development for me and my teammates.

Feel free to contact me if I can provide value to your projects: Consulting Services

ROS in Docker


Docker + ROS logos

Docker is a powerful tool for containarizing environments. I like to create nice and predictable environments for running my ROS and ROS 2 projects without the need of setting up virtual machines.

ROS 1 <> ROS 2 Bridge


It’s not a trivial task to upgrate an existing ROS 1 project to start leveraging the new libraries provided by ROS 2. Luckily, the ros1_bridge package allows ROS 1 nodes to interact with ROS 2 nodes, and viceversa; thus, allowing developers to progressively upgrade their projects one package at a time.

I have put together a working example on my personal Github page to demonstrate the ease of implementing the ROS 1 to ROS 2 bridge.

Husarnet: A VPN Solution


ROS 2 provides a new netowkring middleware: DDS (Data Distribution Service). One drawback of the new DDS protocol is that it limits existing VPN solutions. For example, given that OpenVPN does not support multicast over VPN for DDS discovery, developers may not be able to remotely monitor their robots in the field.

Enter Husarnet, a Peer-to-Peer VPN to connect your laptops, servers and microcontrollers over the Internet with zero configuration.

I have put together a working example on my personal Github page to demonstrate the feasibility of using Husarnet in your ROS 2 project.

Technical Skills


The following summarizes my proficiency in the technical skills I implemented and acquired while working on the projects described in this post:

ROS and ROS 2
Expert
C++
Expert
Python
Expert
Docker
Proficient