Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimal ROS2 Examples

Intro

This repository is based on the book Ultimate Robotics Programming with ROS 2 and Python by Jonathan Cacace. The examples have been reorganized, simplified, and cleaned up to make them easier to understand and experiment with

The repository is organized by book chapters. Each chapter contains its own ROS 2 workspace together with a corresponding Docker configuration, allowing every chapter to be run independently using Docker or VS Code Dev Containers.

Running ROS 2 with Docker

There are several ways to work with ROS2

  • install it locally, but be aware that on MacOS it is probably not the best choice
  • Use Docker with the official ROS2 image.

In each workspace of this repo there is a docker-compose file which is OS specific (ubuntu and macos), you can either just run it with

docker compose -f docker-compose-macos.yaml up

and then connect to it with

docker exec -it ros2container bash

Now you can use an external editor to edit files in workspace directly. The workspace is mounted into the container as a volume, so you can edit the files directly using your preferred editor.

Alternatively, you can open the workspace in VS Code using Dev Containers: Reopen in Container

Chapter 2: basic examples

  • Pub/Sub communication, server and client nodes
  • Service communication, server and client nodes
  • Action communication, server and client nodes

Chapter 3: CLI

  • ROS2 CLI
  • Node parameters
  • launch files
  • Quality of Service (QoS) for Pub/Sub communication

Chaper 4: Robot modelling

  • xacro/urdf robot description
  • TransForm system (TF)
  • publishing robot states

About

Minimal examples to study ROS2 concepts

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages