// the find
dusty-nv/jetbot_ros
ROS nodes and Gazebo model for NVIDIA JetBot with Jetson Nano
ROS2 nodes and Gazebo simulation for the NVIDIA JetBot differential-drive robot, targeting Jetson Nano hardware. Covers the full loop from keyboard teleop and camera data collection through training a small regression model and running it autonomously. Primarily an educational/hobbyist project from NVIDIA's Dusty Franklin.
The sim-to-real path is complete — Gazebo world, model SDF, and real hardware launch files exist side by side, so you can develop without owning the hardware. Motor driver abstraction is done right: separate files for Nvidia, Sparkfun, and Waveshare variants behind a common interface, so swapping hardware doesn't cascade. The Docker setup is first-class for embedded Linux; the run/build/pull scripts handle the L4T version detection that normally trips people up on Jetson. Training and inference are self-contained in a handful of Python files with no exotic dependencies beyond PyTorch.
Dead since April 2022 — ROS2 Foxy hit EOL in 2023, Gazebo Classic is deprecated, and nothing here targets Humble or Iron. Anyone picking this up today will spend more time porting than learning. The 'neural network' is a regression model predicting a single (x,y) point from a camera frame — useful for the track-following demo but the architecture is trivially small and the training loop has no validation split or early stopping. No unit tests for any of the actual logic; the test/ directory is just flake8 and pep257 linters. Documentation stops at 'run these commands' — there is nothing explaining the coordinate frames, topic graph, or what the Gazebo plugins are actually doing.