Welcome to the Dyno Robotics ROS2 Course repository! This comprehensive learning environment provides hands-on experience with ROS2 (Robot Operating System 2) through two progressive simulation platforms designed to take you from basic concepts to advanced robotics applications.
This course is structured as a practical journey through ROS2 development, featuring two distinct robot simulation environments that build upon each other:
Dynoturtle provides a gentle introduction to ROS2 fundamentals using a simplified multi-robot simulation environment. Built upon the standard ROS2 turtlebot tutorial, it's perfect for learning core concepts like:
- ROS2 nodes and topics
- Publishing and subscribing to messages
- Multi-robot simulation
- Basic command-line tools
For getting started commands and tutorials, see day1_command_cheat_sheet.md.
Dynobot advances to a full physics simulation using the Gazebo simulator, featuring:
- Realistic robot model with LIDAR sensor
- Differential drive motion controller
- 3D physics simulation
- Advanced sensor integration
- Navigation and mapping capabilities
For setup and operation commands, see day2_command_cheat_sheet.md.
When using a Logitech F710 controller, you can manually control the Dynobot by:
- Ensuring the controller is connected before starting the container (sometimes rebuilding is necessary)
- Setting the mode switch on the controller's back to
D - Pressing
LBand steering with the left joystick
This course leverages Docker containers to provide a consistent, isolated development environment that eliminates dependency conflicts and ensures reproducible results across different systems.
We generally always recommend to install ROS2 and its dependencies inside a Docker container. This will simplify installation of a project and reduce problems with package dependencies, which is very common when installing ROS2 locally on a system considering the many distributions and releases.
Follow the links and installation steps below matching your OS.
- Docker
- VS Code
- VS Code Extensions: Remote Development
OPTIONAL (but speeds up simulation time, irrelevant for session 1)
- WSL2
- Docker (Inside WSL2, same installation steps as for Linux)
- VS Code
- Connect VS Code to WSL
- VS Code Extensions: See Linux installation
