UGV ROS
about.
An open, reproducible UGV stack for ROS1 on Jetson Nano that brings together navigation (move_base
), tele-operation, and real-time sensing (2D LiDAR, IMU, RGB-D camera). The platform uses an Arduino motor controller for differential drive, supports RViz click-to-goal, and includes a Gazebo simulation for rapid iteration. It’s designed as a practical teaching/research base that can be cloned, built, and extended with minimal friction.
challenge.
Edge constraints: Running perception, control, and navigation reliably on resource-limited embedded hardware.
Heterogeneous sensors: Harmonizing LiDAR, IMU, and RGB-D into a consistent TF tree and topic layout for stable navigation.
Sim-to-real gap: Ensuring parameters and behaviors tuned in Gazebo transfer smoothly to the physical robot.
Developer ergonomics: Making bring-up repeatable (ports, permissions, udev) and lowering the barrier for students and collaborators.
results.
End-to-end bring-up: One repo covers build → sensor streaming → base control → navigation on Jetson Nano and x86 (sim).
Click-to-goal autonomy: Robust
move_base
workflow (local planners + obstacle avoidance) driven from RViz or tele-op.Clean sensor pipeline: Standardized topics for RPLIDAR, BNO055 IMU, and RealSense, ready for mapping/SLAM drop-ins.
Reproducible dev loop: Gazebo world + RViz configs enable fast iteration without hardware; real robot launch files mirror sim.
Modular by design: Swap sensors, tune planners, or add higher-level autonomy without refactoring the core stack.
testimonial.
“This repo got our UGV moving in an afternoon. LiDAR, IMU, and camera came online with clear launch files, RViz click-to-goal worked out of the box, and the Gazebo setup made tuning painless. It’s a solid foundation for research and teaching.”

Ali Ghadimzadeh
Ph.D. Candidate, Mechanical Engineering