Robot modeling, simulation, and control are critical skills for developing intelligent and reliable robotic systems. This course focuses on using ROS 2 to design, simulate, and control robots, enabling developers to build and test complex robotic workflows in realistic environments.
You will learn how to create 3D robot models, simulate their behavior, and implement control systems using industry-standard ROS 2 tools. The course guides you through navigation, manipulation, and perception workflows, helping you gain hands-on experience with real-world robotics applications.
What makes this course unique is its end-to-end approach, combining modeling, simulation, control, and advanced frameworks like behavior trees. It bridges theory with practical implementation using widely adopted ROS 2 ecosystems.
This course is ideal for robotics developers, engineers, and intermediate learners familiar with ROS basics. Prior knowledge of ROS 2 fundamentals and programming in Python or C++ is recommended.
This course is part two of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.
Overview
Syllabus
- Working with Robot 3D Modeling in ROS 2
- This module introduces the fundamentals of robot 3D modeling in ROS 2, including the use of CAD tools, URDF/Xacro formats, and visualization techniques. Learners will gain hands-on experience exporting CAD models to URDF, configuring robot components, and visualizing models in RViz. Practical workflows using Fusion 360 and VS Code Dev Containers are also covered.
- Simulating Robots in a Realistic Environment
- This module introduces learners to simulating robots using advanced tools such as Gazebo and Webots. You will explore the process of creating 3D robot models, configuring simulation files, and integrating simulations with ROS 2. By the end, you'll be able to compare simulator features and run simulations for both custom and existing robots.
- Controlling Robots Using the ros2_control Package
- This module introduces the ros2_control framework, guiding learners through its architecture, the process of adding and managing controllers, and hands-on interaction using command-line tools. Learners will also gain experience compiling and integrating custom controller plugins into a ROS 2 system.
- Implementing ROS 2 Applications Using BehaviorTree dot CPP
- This module introduces the fundamentals of Behavior Trees (BTs) and demonstrates how to implement them in ROS 2 applications using the BehaviorTree.CPP library. Learners will explore BT node structures, integrate BTs with ROS 2 nodes and actions, and utilize the blackboard for data sharing. By the end, participants will be able to coordinate complex robotic behaviors through modular and maintainable code.
- ROS 2 Navigation Stack: Nav2
- This module introduces the ROS 2 Navigation Stack (Nav2), exploring its modular architecture, core components, and practical applications in autonomous robot navigation and mapping. Learners will gain hands-on experience with simulation demos, launch file configuration, and real-world case studies, including hospital delivery robots. By the end, you'll understand how to set up, customize, and deploy Nav2 for various robotics scenarios.
- Robot Manipulation Using MoveIt 2
- This module guides learners through configuring and using MoveIt 2 for advanced robotic arm manipulation. You will prepare robot models, set up motion planning in simulated environments, and implement obstacle detection using sensors. By the end, you'll be able to plan and execute complex robot motions while accounting for real-world constraints.
- Working with ROS 2 and Perception Stack
- This module introduces the integration of ROS 2 with perception tools such as OpenCV and NVIDIA Isaac ROS, enabling robots to process and interpret sensory data. Learners will explore camera calibration, depth sensing, and GPU-accelerated image processing to enhance robotic perception capabilities. Practical exercises include working with fiducial markers for pose estimation and optimizing performance for real-world robotics applications.
Taught by
Packt - Course Instructors