Course Overview
ROS2 Robotics - From Basics to Autonomous Systems
Course Overview
Welcome to the comprehensive ROS2 (Robot Operating System 2) course! Learn to build intelligent, autonomous robots using the industry-standard robotics middleware framework.
What You'll Learn
By completing this course, you will be able to:
- ✅ Understand ROS2 architecture and core concepts
- ✅ Create and manage ROS2 nodes, topics, and services
- ✅ Build robot navigation and mapping systems
- ✅ Implement computer vision and perception
- ✅ Develop autonomous robot behaviors
- ✅ Simulate robots in Gazebo
- ✅ Deploy real-world robotic applications
Why ROS2?
ROS2 is the next generation of ROS, offering:
- Real-time performance for safety-critical systems
- Multi-robot support out of the box
- Security with DDS (Data Distribution Service)
- Cross-platform (Linux, Windows, macOS)
- Industry adoption by companies like BMW, NASA, Amazon
Course Structure
8 Comprehensive Chapters
- Introduction to ROS2 - Setup, architecture, first nodes
- ROS2 Communication - Topics, services, actions, parameters
- Robot Simulation - Gazebo, URDF, robot modeling
- Navigation & SLAM - Autonomous navigation, mapping
- Computer Vision - Camera integration, object detection
- Sensor Fusion - LiDAR, IMU, sensor integration
- Autonomous Behaviors - State machines, decision making
- Real Robot Deployment - Hardware integration, debugging
Hands-On Labs
Each chapter includes practical labs with:
- Real robot simulations in Gazebo
- Code examples in Python and C++
- Step-by-step tutorials
- Challenge projects
Prerequisites
Required Knowledge:
- Programming: Python (intermediate) or C++ (basic)
- Linux: Basic command line skills
- Math: Basic linear algebra, geometry
Recommended:
- Understanding of robotics concepts
- Experience with Ubuntu/Linux
- Basic control theory knowledge
Tools & Software
You'll work with:
- ROS2 Humble (LTS version)
- Ubuntu 22.04 (recommended)
- Gazebo simulator
- RViz2 visualization
- Python 3 and C++17
- OpenCV for vision
- Nav2 for navigation
Learning Path
graph LR
A[ROS2 Basics] --> B[Communication]
B --> C[Simulation]
C --> D[Navigation]
D --> E[Vision]
E --> F[Sensors]
F --> G[Behaviors]
G --> H[Real Robot]
style A fill:#C9B59C
style D fill:#C9B59C
style H fill:#C9B59C
Course Projects
Progressive Robot Development:
- Simple Publisher/Subscriber - Hello World robot
- Teleoperation Robot - Keyboard control
- Obstacle Avoidance - Autonomous navigation
- Line Following - Computer vision
- Mapping Robot - SLAM implementation
- Delivery Robot - Full autonomous system
Assessment
- Labs: 50% (8 practical assignments)
- Mid-term Project: 20% (Autonomous navigation)
- Final Project: 30% (Complete robot system)
Schedule
| Week | Chapter | Topics | Lab |
|---|---|---|---|
| 1 | Introduction | ROS2 setup, nodes, packages | Lab 1: First node |
| 2 | Communication | Topics, services, actions | Lab 2: Publisher/Subscriber |
| 3 | Simulation | Gazebo, URDF, robot models | Lab 3: Robot in Gazebo |
| 4 | Navigation | Nav2, costmaps, path planning | Lab 4: Autonomous nav |
| 5 | Vision | Camera, OpenCV, detection | Lab 5: Object tracking |
| 6 | Sensors | LiDAR, IMU, sensor fusion | Lab 6: Multi-sensor |
| 7 | Behaviors | State machines, BT | Lab 7: Behavior tree |
| 8 | Deployment | Hardware, debugging | Lab 8: Real robot |
Hardware (Optional)
For real robot deployment:
- TurtleBot3 (recommended for beginners)
- Raspberry Pi 4 or similar SBC
- LiDAR (e.g., RPLiDAR A1)
- Camera (e.g., Raspberry Pi Camera)
- IMU sensor
Note: All labs can be completed in simulation without hardware
Resources
- ROS2 Documentation: docs.ros.org
- Gazebo Tutorials: gazebosim.org
- Nav2 Documentation: navigation.ros.org
- Community: ROS Discourse, Stack Overflow
Getting Started
Installation Steps:
- Install Ubuntu 22.04 (or use Docker)
- Install ROS2 Humble
- Set up workspace
- Install Gazebo and RViz2
- Clone course repository
Detailed instructions in Chapter 1!
Support
- Office Hours: Tuesday & Thursday, 3-5 PM
- Discussion Forum: Ask questions, share projects
- Lab Sessions: Hands-on help with TAs
Ready to build autonomous robots? Let's start with Chapter 1! 🤖🚀
Course Information
- Instructor: Robotics Department
- Term: 2024/2025
- Chapters: 8
- Labs: 8
Chapters
Introduction to ROS2
Getting started with ROS2 - installation, architecture, creating your first node
ROS2 Communication Patterns
Deep dive into topics, services, actions, and parameters in ROS2
Robot Simulation with Gazebo
Creating and simulating robots using URDF and Gazebo
Navigation and SLAM
Autonomous navigation, mapping, and localization with Nav2
Computer Vision with ROS2
Camera integration, OpenCV, and object detection
Sensor Fusion
Integrating LiDAR, IMU, and multiple sensors
Autonomous Behaviors
State machines and behavior trees for robot decision making
Real Robot Deployment
Hardware integration, debugging, and deployment strategies
Labs & Assignments
Lab 1 - ROS2 Environment Setup and First Nodes
https://github.com/yourusername/ros2-lab1-setup
Lab 2 - Services and Custom Messages
https://github.com/yourusername/ros2-lab2-services