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.
ROS2 / GNSS / Linux Robotics
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.
Injects realistic GNSS noise into the navigation stack, then compares the estimated trajectory against ground truth so localization error is visible instead of hidden.
Executes waypoint progression, active-target selection, heading updates, and mission-state transitions in one loop rather than treating motion and visualization as separate demos.
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 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.
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.
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