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.

(CTU-AI430.AJ1)
Lessons
Lab
AI Tutor (Add-on)
Get A Free Trial

About This Course

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.

Skills You’ll Get

  • 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.

1

Fundamentals of Computer Robotics

  • 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
2

Software Development for Robotic Systems

  • 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
3

Control Strategies for Mobile Robot Navigation

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

AI-Driven Perception and Decision-Making

  • 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

Autonomous Decision-Making and Learning

  • 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

1

Fundamentals of Computer Robotics

  • Configuring GoPiGo3 Hardware Interfaces for ROS Operation
  • Setting Up the Raspberry Pi 3B+ for ROS Operation
  • Assembling a Raspberry Pi 3B+ with the GoPiGo3
2

Software Development for Robotic Systems

  • Prompting AI to Inspect and Understand a Robot Model in RViz
  • Simulating and Evaluating Robot Motion in Gazebo
  • Exploring ROS Subscriber Behavior and Topic Data Flow
3

Control Strategies for Mobile Robot Navigation

  • Controlling Remote Robots Using ROS Topics
  • Implementing Robot Perception and SLAM Using a Simulated Laser Distance Sensor
  • Practicing Autonomous Navigation with GoPiGo3
4

AI-Driven Perception and Decision-Making

  • Applying a Methodology for Machine Learning in Robotics
  • Exploring OpenAI Gym for Reinforcement Learning
5

Autonomous Decision-Making and Learning

  • Training GoPiGo3 to Reach a Target Location While Avoiding Obstacles

Any questions?
Check out the FAQs

  Want to Learn More?

Contact Us Now

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.

  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.

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.

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.

We can Master the Grit of Real-World Robotics

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

$139.99

Buy Now

Related Courses

All Courses
scroll to top