← Back to Courses
ROB 301

ROS2 Robotics - From Basics to Autonomous Systems

Robotics Department2024/2025

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

  1. Introduction to ROS2 - Setup, architecture, first nodes
  2. ROS2 Communication - Topics, services, actions, parameters
  3. Robot Simulation - Gazebo, URDF, robot modeling
  4. Navigation & SLAM - Autonomous navigation, mapping
  5. Computer Vision - Camera integration, object detection
  6. Sensor Fusion - LiDAR, IMU, sensor integration
  7. Autonomous Behaviors - State machines, decision making
  8. 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:

  1. Simple Publisher/Subscriber - Hello World robot
  2. Teleoperation Robot - Keyboard control
  3. Obstacle Avoidance - Autonomous navigation
  4. Line Following - Computer vision
  5. Mapping Robot - SLAM implementation
  6. 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

Getting Started

Installation Steps:

  1. Install Ubuntu 22.04 (or use Docker)
  2. Install ROS2 Humble
  3. Set up workspace
  4. Install Gazebo and RViz2
  5. 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

Labs & Assignments