ROS2 Humble =========== ⇒ Reason of ROS2 (T) - Understanding the motivation and objectives behind the development of ROS2. ⇒ Key differences (T) - Exploring key differences between ROS1 and ROS2. ⇒ New architecture (T) - Introduction to the new architecture and design principles of ROS2. ⇒ Why DDS? and its Robustness and longevity! (T) - Explanation of Data Distribution Service (DDS) and its importance in ROS2 communication. ⇒ ROS2 Control (Brief Overview) (T) - Brief overview of ROS2 control mechanisms for robotic systems. ⇒ ROS2 Package Build (T) - Building ROS2 packages for developing and deploying ROS2 applications. ⇒ ROS Bridge (T) - Understanding ROS Bridge for communication between ROS1 and ROS2. ⇒ ROS2 Simulation (P) - Simulating ROS2 environments and robotic systems. ⇒ ROS2 Create Package (P) - Creating ROS2 packages for organizing and distributing ROS2 software. ROS2 Nodes ========== ⇒ ROS2 nodes (T/P) - Understanding ROS2 nodes and their lifecycle in ROS2 applications. .. figure:: media/figures/ros1_ros2_nodes.png :width: 100% :align: center :alt: ROS1_ROS2 Nodes ROS2 Launch Files ================= ⇒ ROS2 launch files (T) - Overview of ROS2 launch files for launching and configuring ROS2 nodes. ⇒ Create ROS2 Node (P) - Creating custom ROS2 nodes for specific tasks. ⇒ Create ROS2 Launch file (P) - Creating launch files for launching multiple ROS2 nodes simultaneously. ⇒ ROS2 Sensor Fusion (P) - Implementing sensor fusion techniques in ROS2 for perception tasks. ROS2 Parameters =============== .. figure:: media/figures/r1r2.png ⇒ Item Differences (T) - Discussing differences in ROS2 parameters, messages, services, and action servers compared to ROS1. ⇒ ROS2 Parameters (T/P) - Explanation of ROS2 parameter server and usage of parameters in ROS2 nodes. ⇒ Create ROS2 Parameter Loading (P) - Loading and using ROS2 parameters in ROS2 nodes. ROS2 Msgs ========= ⇒ ROS2 Messages (T/P) - Understanding the structure and use of messages in ROS2. ⇒ Creating Custom Messages (P) - Defining and implementing custom message types for ROS2 applications. ⇒ Message Communication (T/P) - Exploring message passing between ROS2 nodes and ensuring efficient data exchange. ROS2 Services ============= ⇒ ROS2 Services (T/P) - Overview of services in ROS2 and their role in synchronous communication. ⇒ Creating Custom Services (P) - Defining and implementing custom services for specific tasks in ROS2. ⇒ Service Communication (T/P) - Setting up and handling service requests and responses between ROS2 nodes. .. figure:: media/figures/ros2_services.gif :width: 100% :align: center :alt: ROS2 Services ROS2 Actions ============ ⇒ ROS2 Actions (T/P) - Understanding the concept of actions in ROS2 and their use in handling long-running tasks. ⇒ Creating Custom Actions (P) - Defining and implementing custom action types for ROS2 applications. ⇒ Action Communication (T/P) - Implementing action clients and servers to handle goals, feedback, and results. .. figure:: media/figures/ros2_actions.gif :width: 100% :align: center :alt: ROS2 Actions ROS2 Navstack ============= ⇒ Differences (T) - Exploring differences between ROS1 and ROS2 navigation stacks. ⇒ Setup (P) - Setting up ROS2 Navigation Stack for autonomous robot navigation. ⇒ Mapping (P) - Mapping environments using ROS2 Navigation Stack. ⇒ Localization (P) - Localizing robots within mapped environments using ROS2 Navigation Stack. ⇒ Planner Tuning (P) - Tuning motion planners for efficient navigation using ROS2 Navigation Stack. ⇒ Custom Robot Integration (P) - Integrating custom robot hardware with ROS2 Navigation Stack. ⇒ Debugging (P) - Debugging and troubleshooting issues in ROS2 Navigation Stack. ⇒ Tools Usage (P) - Utilizing tools and utilities for ROS2 Navigation Stack development. .. figure:: media/figures/image57.gif :width: 80% :align: center :alt: ROS2 Navigation Stack ROS2 Pitfalls ============= ⇒ Issues faced - Sharing personal experiences and challenges encountered during ROS2 development. ⇒ Debugging - Strategies and techniques for debugging ROS2 software and robotic systems. ⇒ Tools Usage - Overview of useful tools and utilities for ROS2 development and debugging.