ROS2 / GNSS / Linux Robotics

ROS2 GNSS RC Car Navigation

A full ROS2 Jazzy navigation demo built around an RC-car-style robot that plans waypoint missions, ingests noisy GNSS and IMU measurements, and exposes the entire autonomy loop through RViz2 and post-run telemetry.

Robotics systems demoROS2 JazzyPythonGNSS/PNTRViz2

GNSS / PNT

Injects realistic GNSS noise into the navigation stack, then compares the estimated trajectory against ground truth so localization error is visible instead of hidden.

Mission Planning

Executes waypoint progression, active-target selection, heading updates, and mission-state transitions in one loop rather than treating motion and visualization as separate demos.

Observability

Surfaces transforms, obstacle overlays, estimated versus true paths, sensor frames, and run summaries so the system can be debugged like a real robotics stack.

Project Notes

The details that mattered.

RViz2 system view

The main scene shows the vehicle body, numbered waypoints, current goal, estimated and true trajectories, frame transforms, and obstacle boundaries. It is designed so a reviewer can understand what the robot thinks is happening at every moment.

Telemetry-first workflow

Each run exports structured CSV and JSON telemetry, making it easy to inspect path error, mission progress, and state transitions after the demo ends. That turns the project into both a visual showcase and a validation tool.

Stack

The stack uses Ubuntu 24.04, ROS2 Jazzy, Python with rclpy, tf2_ros, standard ROS messages, RViz2, Matplotlib, and a lightweight dashboard layer for run outputs.

Videos

Project demos and test footage.

Autonomous waypoint mission