ROS2 Tutorial

Preamble

  • Ubuntu Terminal Basics
  • Python Basics

ROS2 Setup (⭐start here⭐)

  • ROS2 Installation
  • Terminator is life
  • Workspace setup

ROS2 Python Package/Build Basics

  • Create packages (ros2 pkg create)
  • Creating a Python package (for ament_python)
  • Creating a Python Node with a template (for ament_python)
  • Always source after you build

ROS2 Python Node Basics

  • Running a node (ros2 run)
  • Using PyCharm for ROS2 sources
  • Creating a Python Node from scratch (for ament_python)
  • The Python Node, explained

ROS2 Python Library Basics

  • Creating a Python Library (for ament_python)
  • Using a Python Library from another package (for ament_python)

ROS2 Python Interface Basics

  • Messages and Services (ros2 interface)
  • Creating a dedicated package for custom interfaces
  • Publishers and Subscribers: using messages
  • Inspecting topics (ros2 topic)
  • At your Service: Servers and Clients
  • Inspecting services (ros2 service)

ROS2 Parameter/Launch Basics

  • Parameters: creating configurable Nodes
  • Launch configurable Nodes (ros2 launch)
  • Inspecting parameters (ros2 param)

ROS2 C++ Basics

  • Doing all that C++ stuff with ament_cmake
  • Creating C++ Nodes (for ament_cmake)
  • Creating C++ Libraries (for ament_cmake)
  • #vent Demystifying C++

SAS Basics

  • The sas tutorials Murilo promised but never writes
  • Overview
  • Creating a new sas_robot_driver package

Other content

  • How is Murilo using docker
  • Basic CMake tricks for C++ developments
  • Frequently asked questions (FAQ)
ROS2 Tutorial
  • Search


© Copyright 2023-2025, Murilo M. Marinho.

Built with Sphinx using a theme provided by Read the Docs.