The Mid Level Controller is based on the Raspberry Pi Zero W. It is part of the vehicle on-board electronics.
Its purposes are:
- Provide a wireless network connection for the vehicle.
- Provide a synchronized clock on the vehicle, via the Linux NTP implementation.
- Provide a control system for accurate trajectory following of the vehicle. The control system runs locally on the vehicle to eliminate the network latency from the control loop.
- Send vehicle state information and receive trajectory commands via the network.
The setup and software build for the Raspberry Pi is explained under Vehicle Raspberry Pi.
A model predictive controller runs on-board on the Raspberry Pi. It can steer the vehicle to follow a given trajectory.
To see how to use it to control a vehicle, go to Vehicle Commands.