🤖 🚁 💻

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 4-6

🔄 Advanced Communication Patterns

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

🚀 Ready to Start Your Robotics Journey?

Transform from beginner to robotics developer in just 16 weeks

✅ No prior ROS or Linux experience required

✅ Hands-on projects every week

✅ Build real autonomous systems

✅ Ground robots AND drones

✅ Portfolio-ready final project

📧 Contact Information

Dr. Abdulkarim Albanna

Office Hours: Every Day, 10:00 AM - 12:00 PM

📍 Innovation Center - Robotics Lab / Online via Teams

Quick Navigation

Overview
Curriculum
Projects
Resources