← All projects
RoboticsActive2026

Self-driving golf cart

2018 Polaris GEM e4, with Dr. Hahn at FAU

Turning a street-legal electric cart into a low-speed autonomous research vehicle for FAU's Boca campus, built from the control stack up. Steering and braking are under computer control on the bench. It hasn't driven itself yet.

Anik beside the FAU autonomous golf cart
Benchsteering and braking under direct computer control
15 mphor less, the speed it's being built for
T1campus digital twin built, the breezeway

What it is

The plan is phased: remote drive-by-wire first, then autonomy with a safety driver in the seat, and only much later unmanned operation. Three rules shape the design:

  • Software is never in the kill path. A hardware E-stop loop opens a contactor that cuts 12 V from every actuator at once.
  • One source of truth. The same CAN protocol header serves both firmwares and the Python bridges, and one parameter file defines the real cart and the simulated one.
  • Sim first. Autonomy code is written against the twin, whose bridge runs the same DISENGAGED, ARMED, ACTIVE, FAULT state machine as the firmware, so one topic drives either.
System architecture. Solid blue is verified on the bench; dashed grey is designed, not yet integrated.
System architecture. Solid blue is verified on the bench; dashed grey is designed, not yet integrated.

Where it stands

TrackState
Steering under computer controlDone on the bench, over CAN
Braking under computer controlDone on the bench; pedal linkage still to do
Gamepad driveWorking on the bench
ROS to firmware integration over CANPlanned
Throttle by wireDesigned, not built
Sensors on the cartNot mounted; modelled in sim only
Perception, localization, planningSim only
Driving metricsNone yet: the cart hasn't driven itself

As of the repo's last status check, July 2026.

Brake design from the project's first phase (Louis-Christophe Fortier, MPCR, 2019).
Brake design from the project's first phase (Louis-Christophe Fortier, MPCR, 2019).
A side experiment: a GEM e4 configuration driving in MetaDrive.
A side experiment: a GEM e4 configuration driving in MetaDrive.