3. Deployment and Docker¶
This guide is the canonical runtime workflow for JetRacer on Jetson Nano.
Supported Configuration¶
- Hardware: Jetson Nano
- Host OS baseline: Ubuntu 20.04 workaround image on JetPack 4.6.1 (L4T 32.7.1)
- Container base: Ubuntu 20.04
- ROS distro in container: ROS 2 Foxy
- Runtime policy: ROS 2 only (no
ros1_bridge) - Native
setup/install_ros2.shon Ubuntu 20.04 host: not supported
Before continuing, complete the host baseline in 00_ROS2-Jetson-Nano.md.
1. Host Prerequisites (Jetson)¶
Ensure Docker and NVIDIA container runtime are available:
If Docker is missing, install it from this repository:
Ensure your user can run Docker without sudo:
Log out and log back in after changing group membership.
2. Start the Container¶
From repository root:
What this gives you:
- Image built from local
Dockerfile - Source bind-mounted into
/workspaces/JetRacer-ROS2 - Host networking and device passthrough for robot hardware
3. Build the ROS 2 Workspace¶
Open a shell in the running container:
Then run:
source ~/.bashrc
rosdep update
rosdep install --from-paths src --ignore-src -r -y
build_workspace
source install/setup.bash
4. Run Core Modes¶
Use separate terminals (each with docker exec -it jetracer_workspace bash).
Hardware bringup (must run first):
Full lane-following stack (camera + control):
Enable autonomous lane command output:
Disable lane command output:
5. Foxglove Telemetry¶
Start autonomy pipeline in the container:
Then from a browser on your PC/tablet:
- Open studio.foxglove.dev
- Select Foxglove WebSocket
- Connect to
ws://<JETSON_IP_ADDRESS>:8765
6. Useful Operations¶
Stop services:
Rebuild after Dockerfile or dependency changes:
View container logs:
Next: 04. Perception Stack