Autonomous systems
PreRunner
A self-contained ROS 2 research platform for autonomous navigation and future learning-based racing.
The current PreRunner hardware: Raspberry Pi 5, LD19 LiDAR, IMU, and drive electronics onboard a LaTrax Prerunner chassis.
Overview
PreRunner converts a stock LaTrax Prerunner into a self-contained autonomous research vehicle. A Raspberry Pi 5 runs Ubuntu 24.04 and ROS 2 Jazzy with all sensing and compute onboard.
The platform is the current evolution of the hardware first developed for AutoNav. Its present focus is dependable mapping, localization, state estimation, and autonomous route execution; iterative racing control is the next phase.
Problem and context
Future racing experiments depend on localization and control infrastructure that can be measured without motion capture, fixed anchors, or offboard compute. Commodity sensors also introduce practical failure modes: variable LiDAR scan cardinality, motion distortion, encoder quantization, actuator deadband, and incomplete observability.
The engineering work therefore treats navigation as a system problem. Sensor ownership, transform ownership, command arbitration, diagnostics, launch composition, and repeatable bag analysis are designed alongside the planner and controller.
Build log
Hardware progression
-
Development stage · Drivetrain Magnets and a hall-effect sensor were added to measure wheel motion during drivetrain bring-up. -
Development stage · Electronics Early onboard stack combining compute, LiDAR, IMU, power distribution, and interface electronics. -
CAD integration · Front Onshape assembly used to package the electronics sled and LiDAR around the stock chassis. -
CAD integration · Rear Rear CAD view showing the mounting structure, power layout, and sensor integration. -
Current hardware · Integrated LiDAR, compute, sensing, and drive electronics are integrated on the vehicle platform. -
Current hardware · Transport Custom-cut foam insert secures the assembled vehicle in a hard transport case.
Technical approach
SLAM Toolbox builds maps and provides fixed-map localization. An extended Kalman filter combines the available motion estimates, while Nav2 plans and executes point-to-point and multi-waypoint routes using a regulated pure-pursuit controller.
Custom ROS 2 packages handle the BNO085 IMU, hall-effect wheel encoder, motor interface, telemetry, command adaptation, scan canonicalization, and operator goal management. Hardware-owning services are kept separate from application launch files so each resource has one owner. The onboard sensor and compute stack uses a custom Onshape-designed mounting sled built around the stock LaTrax Prerunner chassis, with a hall-effect encoder integrated into that chassis for drivetrain motion sensing.
Key engineering details
Localization pipeline
An LD19 LiDAR feeds separate scan paths for laser odometry, SLAM Toolbox, and Nav2 costmaps. Fixed-bin scan rebinning prevents the mapper from silently rejecting variable-length scans.
State estimation
RF2O laser odometry and BNO085 inertial data are fused through Robot Localization with an explicit map → odom → base_link transform chain.
Drive interface
A drive adapter converts Nav2 SI-unit commands into the normalized steering and throttle interface, including steering geometry, bounded speed control, watchdog behavior, and teleoperation pre-emption.
Measurement and validation
ROS bags and typed diagnostics — visualized live in Foxglove — are used to validate localization cadence, pose corrections, yaw behavior, encoder estimates, actuator response, and configuration changes before later phases depend on them. Custom control components also have Python unit and integration tests covering command conversion, saturation, timing, direction handling, and safety behavior.
Results and outcomes
The vehicle currently performs autonomous point-to-point and multi-waypoint navigation in a cluttered indoor environment, including U-turns and tight-clearance routes.
Bring-up, SLAM localization, and the first fixed-map Nav2 phase are functionally complete. Racing with Pure Pursuit, model-predictive control, and learning-based control remains ongoing and is not presented as a completed result.
Next steps are autonomous exploration of unknown environments, followed by progressively increasing autonomous speed to investigate localization, control, and traction limits.