Microcontroller Interface
Overview
The microcontroller interface package handles low-level communication between the ROS2 system and the vehicle’s microcontroller(s). This package opens a serial port connection to the microcontroller and publishes all received sensor data and vehicle state information to ROS2 topics.
Documentation Status
No detailed documentation is currently available for this package.
The microcontroller interface has been modified multiple times throughout development as our team’s sensor suite and hardware capabilities evolved. The data format transmitted over serial regularly changes based on which sensors have been successfully integrated into the vehicle (e.g., wheel speed sensors, IMU, steering encoders, brake pressure sensors, etc.).
Given the high rate of change in this package, detailed documentation would quickly become outdated. The interface is expected to continue evolving as hardware requirements change.
Basic Functionality
The microcontroller interface:
Opens a serial port connection to the vehicle’s microcontroller(s)
Reads incoming data packets from the serial stream
Parses the data according to the current communication protocol
Publishes sensor readings and vehicle state to ROS2 topics
May also send control commands from ROS2 to the microcontroller
Note: Refer to the source code in microcontroller/
for the current implementation and data format.