๐ง Control System
The MICKY control system follows a hybrid architecture, combining high-level processing with low-level embedded control.
This section presents the locomotion control system of MICKY.
Communication
Communication between the onboard computer and the microcontroller is performed via a serial interface.
Velocity commands are transmitted using the following format:
<v_x, v_y, ฯ>
This lightweight protocol ensures low-latency communication between high-level and low-level systems.
Microcontroller Firmware
The microcontroller firmware is designed for low-latency and non-blocking execution.
It uses the Wire.h and AccelStepper.h libraries to ensure efficient motor control and sensor communication.
The main control loop consists of:
Serial command reception
Safety mechanism (fail-safe)
Kinematic processing
Sensor acquisition
Motor control
Telemetry includes:
orientation
acceleration
angular velocity
temperature
ROS 2 Integration
The system is integrated with ROS 2 through two main nodes:
CmdVelToSerial โ converts velocity commands into serial messages
ImuSerialPublisher โ publishes IMU data
This architecture allows seamless integration with higher-level navigation and control frameworks.