ROS2 Tutorial Pages

The purpose of this project is to teach lab members how to use ROS2 for a number of purposes specific to the activities of a robotics lab like the IDEAlab.

In contrast with its name, ROS2 is not an operating system. It is a way to have vast, disparate sources of data come together in networked way in order to perform tasks important to robotics, such as simulation, sensing, control, learning, and teleoperation. It coordinates the transfer of information from one place to another in a way that is scalable

Installing ROS2 Humble on two Virtualbox VMs

Introduction How do you get a ROS2 system up and running on a virtual machine, and participating on your local network as if it were a real pc?

Installing ROS2 on a Raspberry Pi

Flashing Make sure you add your ssh key during flashing setup wifi define a hostname Tailscale turn on magicdns sudo tailscale set –operator=$USER -accept-dns=true –accept-routes=true Installing It’s important to disable automatic updates as you should initiate it according to your own availability.

Demonstrating Unicast in ROS2 on virtual machines over a local network using CycloneDDS

Switching from ROS2’s multicast default to unicast can be a bit tricky, especially if you’re testing.

Demonstrating Unicast in ROS2 on two docker containers with CycloneDDS

Introduction In other articles I have shown how to configure a virtual machine to talk over cycloneDDS using unicast rather than the default multicast.

Configuring ROS2 over a Tailscale VPN on Ubuntu

Prerequisites This tutorial assumes you have already installed ROS2 on a PC, Raspberry pi, or virtual machine running Ubuntu.

Using ROS2 over tailscale using Docker’s Host-mode networking

Introduction This example shows you how to create a docker-compose based container that uses “host-mode” networking.

Using ROS2 in a Docker container running Tailscale

Introduction This example shows you how to create a docker-compose based container that uses tailscale which has been installed within a container.

Setting up Rosbridge in Ubuntu

Introduction Rosbridge is useful for connecting non-ROS systems to ROS. Matlab, microcontrollers, and other systems often do not have an easy path for installing a full installation of ROS, but have ros-bridge clients that work with Rosbridge.

Setting up Rosbridge in a docker container

Introduction This article shows the following: how to get rosbridge working in a docker container How to create a custom user in a dockerfile how to set up rosbridge for use with a physical network, even one through a wifi NIC (which has historically been harder) Folder structure .

Plotting in ROS

Don’t try to use rqt_plot, use Plotjuggler sudo apt install -y ros-humble-plotjuggler-ros ros2 run plotjuggler plotjuggler