Internship Progress Week 16 (October 15 ~ October 21)
Internship Progress Week 16 (October 15 ~ October 21)
Nav2 Global Navigation, Follow Line Demonstration on macOS, and Monaco 3D Circuit Benchmark
This report covers the progress made during Week 16 (October 15 ~ October 21, 2026). Our work this week focused on:
- Validating and recording demonstrations for Nav2 Global Navigation and Follow Line running on macOS (Apple Silicon) without dedicated GPU.
- Benchmarking the Monaco 3D Circuit performance and identifying key bottlenecks (Issue #3493 / RoboticsInfrastructure #632).
1. Video Demonstrations
Nav2 Global Navigation on macOS (Apple Silicon, CPU Runtime)
Demonstration of autonomous navigation using ROS 2 and Navigation2 (Nav2) inside the updated RADI container on Apple Silicon without dedicated GPU acceleration.
Direct YouTube Link: https://youtu.be/ERUeN0VsJEE
Key Highlights:
- Stack: ROS 2 + Nav2 (Navigation2) action client architecture.
- Features: Real-time global costmap, local costmap, and dynamic obstacle avoidance.
- Platform: Gazebo Sim running on macOS via Docker CPU runtime.
Follow Line on macOS with ROS 2 Lyrical & Gazebo Jetty
Demonstration of the Follow Line exercise running in ROS 2 Lyrical and Gazebo Jetty on macOS without GPU, validating camera stream capture, real-time image processing, and RTF performance.
Direct YouTube Link: https://youtu.be/TeJxnLOyRio
Key Highlights:
- Stack: ROS 2 Lyrical and Gazebo Jetty.
- Vision: OpenCV HSV color filtering and centroid tracking running at 30+ Hz.
- Performance: Maintained stable Real-Time Factor (RTF ~ 0.95 - 1.05) on macOS CPU.
2. Monaco 3D Circuit Benchmark (Issue #3493)
We profiled and benchmarked the Monaco 3D Circuit (Issue #3493 / RoboticsInfrastructure #632):
- Progress Made: Replaced the heavy 31k-triangle
Car.objcollision mesh with primitive colliders (box chassis, sphere wheels) inf1_common.urdf.xacro, generated a clean 3D collision mesh (monaco_collision.dae) with 1.2m boundary walls, and calibrated 2D map tracking inshowCarPositionFollowLine.js. - Current Failure Point: The vehicle navigates the first half of the track smoothly (Sainte Devote, Beau Rivage crest, Casino Square), but currently runs off track at the sharp downhill Fairmont Hairpin (180° turn) due to short camera lookahead and line loss at speed. Additionally, live RTF dips to ~0.60 on track due to the 250 Hz physics step size (
max_step_size 0.004). - Planned Fix:
- Update physics step size to 0.008 (125 Hz) in
monaco_line.worldto cut solver load in half and lock RTF at a steady 1.00. - Implement contour-based nearest-line tracking and predictive deceleration to slow the car ahead of hairpins and complete full laps reliably.
- Update physics step size to 0.008 (125 Hz) in
3. Summary & Next Steps
- Published demonstration videos for Nav2 Global Navigation and Follow Line on macOS.
- Identified physics step size and hairpin steering lookahead as the core bottlenecks for Monaco.
- Implementing 125 Hz physics and contour-based cornering control to complete full Monaco laps.
This post is licensed under CC BY 4.0 by the author.

