CTU-AI430.AJ1

Hands-On ROS for Robotics Programming

Master ROS for robotics programming. Build, control, and deploy AI-driven mobile robots, understanding real-world hardware and software integration challenges.

  • Practice in 30 Hands-On Labs — nothing to install
  • 5 Interactive Lessons and 58 topics mapped to the official exam objectives

Expert Self-paced · 1 year access

30 Hands-On LiveLabs

Practice real IT tasks in guided environments.

  • Real environments
  • Auto-graded
  • No installation
5Interactive Lessons
58Topics
30LiveLab
10Videos
92Flashcards
92Glossary of terms

01 / Skills you'll get

What you will be able to do

This course isn't about theoretical perfection; it's about getting your hands dirty with ROS. You'll tackle the gritty reality of integrating software with physical hardware using the GoPiGo3 robot. We'll move from foundational electromechanics to building complex differential drive models in URDF, then dive into practical control via ROS topics.  Expect to confront the inherent latency and synchronization challenges that plague real-world robotic systems. Finally, you'll implement AI-driven perception and autonomous decision-making with TensorFlow and Keras, learning to train robots for obstacle avoidance. Be warned: debugging distributed ROS systems is a significant, but necessary, hurdle.
  • ROS System Design: Architect robust robotic systems using ROS, understanding the trade-offs between modularity and real-time performance in distributed environments.

  • Mobile Robot Control: Implement precise navigation strategies for physical and virtual robots via ROS topics, acknowledging latency limitations and potential communication failures.

  • AI Perception & Decision-Making: Apply machine learning and deep learning methodologies to enable autonomous robot perception, recognizing data dependency and computational overhead challenges.

  • Hardware-Software Integration: Debug and optimize the interface between embedded hardware (GoPiGo3) and ROS, navigating common integration pitfalls and sensor calibration complexities.

Course Highlights

  • 5 Structured Lessons Comprehensive coverage of core course objectives
  • 30 Hands-On LiveLabs Interactive guided scenarios with instant evaluation
  • 1 Year Full Access Self-paced learning accessible anytime on all devices

02 / Lessons & labs

See exactly what you will learn and practice

Download outline (PDF)

Lessons

5 Interactive Lessons · 58 topics
01 Fundamentals of Computer Robotics 8 topics · 8 LiveLab
  • Understanding the GoPiGo3 robot
  • Getting familiar with the embedded hardware
  • Deep diving into the electromechanics
  • Putting it all together
  • Quick hardware test
  • Technical requirements
  • Getting started with Python and JupyterLab
  • Unit testing of sensors and drives

8 LiveLab in this lesson — see the labs panel →

02 Software Development for Robotic Systems 20 topics · 7 LiveLab
  • Technical requirements
  • Getting started with RViz for robot visualization
  • Building a differential drive robot with URDF
  • Inspecting the GoPiGo3 model in ROS with RViz
  • Robot frames of reference in the URDF model
  • Using RViz to check the model while building
  • Technical requirements
  • Getting started with the Gazebo simulator
  • Making modifications to the robot URDF
  • Verifying a Gazebo model and viewing the URDF
  • Moving your model around
  • Technical requirements
  • Setting up a physical robot
  • A quick introduction to ROS programming
  • Case study 1 – writing a ROS distance-sensor package
  • Working with ROS commands
  • Creating and running publisher and subscriber nodes
  • Automating the execution of nodes using roslaunch
  • Case study 2 – ROS GUI development tools – the Pi Camera
  • Customizing robot features using ROS parameters

7 LiveLab in this lesson — see the labs panel →

03 Control Strategies for Mobile Robot Navigation 14 topics · 10 LiveLab
  • Technical requirements
  • Setting up the GoPiGo3 development environment
  • Case study 3 – remote control using the keyboard
  • Remote control using ROS topics
  • Remotely controlling both physical and virtual robots
  • Technical requirements
  • Dynamic simulation using Gazebo
  • Components in navigation
  • Robot perception and SLAM
  • Practising SLAM and navigation with the GoPiGo3
  • Technical requirements
  • Preparing an LDS for your robot
  • Creating a navigation application in ROS
  • Practicing navigation with GoPiGo3

10 LiveLab in this lesson — see the labs panel →

04 AI-Driven Perception and Decision-Making 11 topics · 5 LiveLab
  • Technical requirements
  • Setting up the system for TensorFlow
  • ML comes to robotics
  • From ML to deep learning
  • A methodology to programmatically apply ML in robotics
  • Deep learning applied to robotics – computer vision
  • Technical requirements
  • An introduction to OpenAI Gym
  • Running an environment
  • Configuring the environment file
  • Running the simulation and plotting the results

5 LiveLab in this lesson — see the labs panel →

05 Autonomous Decision-Making and Learning 5 topics · 2 LiveLab
  • Technical requirements
  • Preparing the environment with TensorFlow, Keras, and Anaconda
  • Understanding the ROS Machine Learning packages
  • Setting the training task parameters
  • Training GoPiGo3 to reach a target location while avoiding obstacles

2 LiveLab in this lesson — see the labs panel →

Hands-On Labs Our edge

30 LiveLabs
  • Configuring GoPiGo3 Hardware Interfaces for ROS Operation
  • Setting Up the Raspberry Pi 3B+ for ROS Operation
  • Assembling a Raspberry Pi 3B+ with the GoPiGo3
  • Configuring a ROS 2 Workspace and Environment
  • Controlling the GoPiGo3 Robot
  • Processing Sensor Data Using ROS Nodes
Labs run in your browser — nothing to install.

03 / FAQs

Questions before you start

Contact us ↗
< p dir="ltr"> Is prior robotics hardware experience required for this course?
No, this course starts with the fundamentals of the GoPiGo3 robot, covering its embedded hardware and electromechanics. While basic Linux command-line familiarity and Python programming are beneficial, we'll guide you through the initial setup and hardware tests.
  What are the limitations of using URDF for robot modeling in ROS?
  URDF is excellent for static robot descriptions, but it struggles with dynamic changes or complex kinematic chains that reconfigure during operation. While powerful for visualization and basic simulation, you'll find its rigidity a constraint for highly adaptive or soft robotics applications.
How does ROS handle real-time control, and what are its practical constraints?
ROS is not a real-time operating system by default. While it provides robust communication mechanisms, inherent network latency and process scheduling mean strict real-time guarantees are difficult to achieve. For critical, high-frequency control loops, you often need to offload tasks to dedicated microcontrollers or use ROS 2 with real-time extensions, which is beyond the scope here.
  What's the biggest challenge in integrating machine learning with ROS for autonomous navigation?
The primary challenge lies in bridging the gap between ML model training environments (like TensorFlow/Keras) and the ROS ecosystem. This involves efficient data collection from ROS topics, converting data for ML inference, and deploying models that can run effectively on embedded robot hardware, often contending with limited computational resources and power constraints.

Master the Grit of Real-World Robotics

Enroll Now to Build, Program, and Deploy AI-Driven Robots with ROS.

  • 1 year of full access
  • 30 LiveLab included
  • Certificate of completion
scroll to top