Internship Progress Week 10 (September 03 ~ September 10)
During Week 10, we focused on executing and validating tasks locally on macOS without relying on remote servers. We conducted tests on 3D GUI rendering over VNC, validated the onboard camera feed for the FollowLine exercise, and expanded the ROS 2 Nav2 integration to the Amazon Warehouse challenge.
1. 3D GUI & VNC Testing on macOS Docker
To evaluate graphical rendering on macOS Apple Silicon, we tested an isolated Xvfb virtual framebuffer and x11vnc server inside Docker.
A. RViz2 3D OpenGL Rendering (Passed)
- Successfully launched RViz2 inside the container and connected via VNC.
- The 3D grid and interactive coordinate displays rendered smoothly at a steady 31 FPS under software OpenGL rasterization.
B. Gazebo Standalone GUI (Black Viewport)
- Tested the standalone Gazebo GUI viewer inside the same VNC environment.
- The application window and menus loaded, but the 3D scene viewport remained black due to QtQuick/QML shader compositing limitations under Rosetta 2 software OpenGL.

Figure 2: Gazebo interface window opening with an uncomposited 3D viewport under software rasterization.
2. FollowLine Onboard Camera Streaming
We verified that while the Gazebo GUI viewport requires hardware-level shaders, the headless Gazebo simulation engine generates sensor frames reliably on macOS.
- Live Camera Stream Extraction: Subscribed directly to the F1 car onboard camera topic to extract real-time frames ($640 \times 480$ RGB).
- WebGUI Image Delivery: Streamlined WebSocket image delivery in the web interface to display live camera feeds without latency.

Figure 3: Live F1 onboard camera frame captured from headless Gazebo simulation showing the red racing line and start grid.
3. Nav2 Integration for Amazon Warehouse
Following our work on the City Navigation challenge, we adapted the Nav2 Navigation Stack for the Amazon Warehouse exercise:
- Custom Costmaps & Footprint: Configured local and global costmaps with obstacle inflation tailored for the Amazon Kiva AGV platform.
- Warehouse Map & Lifecycle Management: Set up the Nav2 map server to load the warehouse layout and manage node lifecycle transitions.
- Navigation Bridge: Created a bridge node to handle goal dispatch and return planned paths to the web interface.
4. Key Conclusions
- Recommended macOS Workflow: Running Gazebo in headless mode alongside direct ROS 2 topic visualization (RViz2 or WebGUI canvas) provides a stable and performant simulation environment on macOS Apple Silicon.
- Standardized Nav2 Pipeline: Both City Navigation and Amazon Warehouse exercises can operate reliably using standard Nav2 launch configurations.
