How to Improve Obstacle Avoidance in ROS2 Using Executors Open Class
What you will learn in this Open Class
Obstacle avoidance becomes more robust when we separate sensor processing from motion control and understand how ROS 2 handles concurrent operations.
In this Open Class, we'll create two versions of an obstacle avoidance system: one using a single-threaded executor where callbacks run sequentially, and another using a multi-threaded executor where callbacks can run in parallel. We'll implement separate callbacks for LiDAR data processing and velocity command publishing, giving us precise control over timing. You'll also learn to visualize sensor data in RViz and understand when thread safety with mutexes becomes critical.
Learning points:
- Understanding single-threaded vs multi-threaded executors in ROS 2
- Separating sensor data reception from command publishing using distinct callbacks
- Using mutexes for thread-safe data sharing in multi-threaded environments
- Configuring RViz for real-time LiDAR visualization
- Comparing executor performance and behavior in robot applications
Robot Used: BotBox