Overview Curriculum Quiz Projects Assessment Resources

Robotics Programming with ROS2 and Python

Design, Develop and Implement Intelligent Robotics Applications

16-Week Interactive Tutorial

Dr. Abdulkarim Albanna

Course Overview

This comprehensive 16-week course provides hands-on training in developing intelligent robotics applications using ROS2 (Robot Operating System 2) and Python. Students will master the complete robotics development pipeline, from fundamental Linux skills and ROS2 architecture to advanced autonomous systems including computer vision, SLAM, and navigation.

What You'll Learn

Master ROS2 architecture, computer vision, SLAM, navigation, and simulation for both ground robots and aerial drones

What You'll Build

Multi-sensor fusion systems, autonomous navigation, inspection drones, warehouse robots, and more

Technologies

ROS2 Jazzy, Python 3.12+, OpenCV, Gazebo Harmonic, Nav2, TF2, MAVROS

Who Should Take This Course?

This course is designed exclusively for AI Students at University of Petra

  • Students pursuing Artificial Intelligence degree
  • Interest in applying AI to robotics and autonomous systems
  • Passion for intelligent mobile robots and drones
  • No prior ROS or Linux experience required!
  • Basic Python programming knowledge recommended

16-Week Interactive Curriculum

Week 1

Linux Basics & ROS2 Introduction

Start Learning
Week 2

Workspace & Package Management

Start Learning
Week 3

Publishers & Subscribers

Start Learning
Weeks 7-8

Custom Messages & Transformations

Start Learning
Weeks 9-10

Computer Vision Integration

Start Learning
Week 11

RViz2 Visualization

Start Learning
Weeks 12-13

Gazebo Simulation

Start Learning
Weeks 14-15

SLAM & Navigation

Start Learning
Week 16

Final Project

Start Learning

Test Your Knowledge

1. What does ROS2 use for communication between nodes?
A) HTTP/REST API
B) DDS (Data Distribution Service)
C) WebSockets
D) MQTT
2. Which tool is used to build ROS2 packages?
A) catkin
B) colcon
C) cmake
D) make
3. What does SLAM stand for?
A) System Level Application Module
B) Simultaneous Localization and Mapping
C) Sensor Layout and Management
D) Smart Localization Algorithm Method

Project Portfolio

Build 15 hands-on projects throughout the course plus one comprehensive final project

TurtleSim Art

Control and create artistic patterns with multiple turtles using ROS2 commands

Week 1

Sensor Fusion

Multi-sensor data integration for drones and robots with real-time processing

Week 3

Face Tracker

Computer vision-based face tracking to control TurtleSim movements

Week 9

Quadcopter Sim

Complete drone simulation with autonomous flight capabilities in Gazebo

Week 13

Autonomous Mapper

SLAM-based mapping with autonomous exploration strategy

Week 14

Final Project

Complete intelligent autonomous system - AMR, drone, or service robot

Week 16

Assessment & Grading

Component Weight Description
Weekly Projects (1-15) 20% Completion and quality of hands-on projects throughout the course
Midterm Exam 25% Comprehensive exam covering Weeks 1-8 (Theory + Practical)
Final Project 15% Week 16 comprehensive autonomous system project
Final Exam 40% Comprehensive final exam covering all course material

Exam Details

Midterm Exam (Week 8):

  • Theory questions (50%)
  • Practical coding tasks (50%)
  • Covers: Linux, ROS2 basics, communication patterns, TF2

Final Exam (Week 16):

  • Theory questions (40%)
  • Problem-solving (30%)
  • Practical implementation (30%)
  • Covers: All course material with emphasis on SLAM & Navigation

Weekly Schedule

In-Campus Session: 2 hours

Theory + Live demonstrations + Hands-on practice

Interactive lectures with real-time coding

Asynchronous: 1 hour

Video tutorials + Reading materials

Self-paced learning and project work

Self-Study: 4-6 hours per week for project completion, practice, and experimentation

Total weekly commitment: 7-9 hours (3 hours structured + 4-6 hours independent work)

Office Hours

Every Day: 10:00 AM - 12:00 PM

Innovation Center - Robotics Lab / Online (Teams)

Available for: Technical questions, project guidance, debugging support, and consultation

Drop-in welcome or schedule an appointment via email

Resources & Support

Required Software

  • Ubuntu 24.04 LTS
  • ROS2 Jazzy
  • Python 3.12+
  • Gazebo Harmonic
  • OpenCV & NumPy
  • VS Code / PyCharm

Hardware

Minimum: 8GB RAM, i5 processor, 50GB storage, webcam

Recommended: 16GB RAM, i7/Ryzen 7, dedicated GPU, 100GB SSD

Documentation & References

Official Docs

ROS2 Jazzy, Gazebo, Nav2, OpenCV, PX4/ArduPilot

Books

Programming Robots with ROS, Computer Vision, Probabilistic Robotics

Support

Office hours, Discussion forum, GitHub repos

Navigation

Overview Curriculum Quiz Projects Assessment Resources