Autonomous systems
PreRunner
A self-contained ROS 2 research platform for autonomous navigation and future learning-based racing.
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.
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.
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, BNO085 inertial data, and the vehicle model are fused through an EKF 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.
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.