pboon09
Gensurv Robotics

RTK-GNSS Navigation for a 1/5-Scale Autonomous Car

June 2025 – July 2025

About the project

Autonomous outdoor navigation for a 1/5-scale RC car, built during an internship at Gensurv Robotics.

Lane-level driving outdoors needs position accuracy far beyond standard GPS, plus a map of where the lanes are.

The car, called Flipbot, carries a SparkFun RTK Express receiver and a WitMotion yaw sensor, and an extended Kalman filter fuses them into its pose. A map processor turns OpenStreetMap or Lanelet2 maps into a path, and the path follower drives the car over CAN bus. A PS5 controller can take over through twist_mux for manual driving.

Pure Pursuit, Stanley, and a combined controller were compared on the real car, and localization stayed below 10 cm outdoors.

< 10 cmOutdoor localization accuracy
3Path followers compared
1/5Vehicle scale

Process

  1. Get centimeter-level position

    RTK GNSS gives the position, and an extended Kalman filter fuses it into the vehicle state in real time.

  2. Use HD maps

    Lanelet2 HD maps define the lanes and routes the car follows.

  3. Compare controllers

    Pure Pursuit, Stanley and a combined controller are implemented and compared on the real car.

  4. Make it safe and deployable

    CAN bus drives the motor and steering servo, and the ROS 2 system runs in Docker with safety supervisors.

Results

  • Localization accuracy stayed below 10 cm in real outdoor conditions.

Figures

Flipbot, the 1/5-scale car.
Flipbot, the 1/5-scale car.
ROS 2 system architecture.
ROS 2 system architecture.
Pure Pursuit path following.
Pure Pursuit path following.

System

VehicleFlipbot, a 1/5-scale RC car
LocalizationSparkFun RTK Express GNSS and WitMotion HWT101CT yaw sensor, fused with an EKF
MapsOpenStreetMap files or Lanelet2 maps, processed into a path
Motor interfaceCAN bus through a CANable V2.0 Pro adapter
Manual controlPS5 controller through twist_mux
SoftwareROS 2, Docker
RoleRobotics Software Engineer Intern