Firmware#
Kangaroo uses two distinct firmware families, each targeting a different class of hardware:
STM32 firmware โ Power Board (PB27)
The power board runs firmware on an STM32 microcontroller (ARM Cortex-M series). It is responsible for power distribution, battery management, safety watchdogs, and CAN communication with the main PC. The STM32 family was chosen for its broad peripheral support, mature toolchain, and integration with the CAN communication bus.
C2000 firmware โ Motor Control Boards (MC23R02, MC23R04, MC24R02)
All motor control boards run firmware on Texas Instruments C2000 microcontrollers (TMS320 series), a family specifically designed for real-time embedded control. The C2000 architecture provides hardware-accelerated PWM generation, high-speed ADC sampling, and a dedicated control law accelerator (CLA) โ making it well-suited for Field Oriented Control at 40 kHz. The three board variants (MC23R02, MC23R04, MC24R02) share the same firmware base; they differ in form factor, current rating, and thermal design to match the requirements of linear and rotary actuators versus the higher-current leg-length linear actuator.
Advanced Motor Control Technology#
Motor control electronics boards are are integrated into motor housing to reduce cabling and optimize design.
The same electronics boards will be used for the legsโ motors as well as for the upper body actuators. The only exception is the motor control board used for the leg length which has a different form factor in order to have higher current rating and more surface area for heat dissipation. The microcontroller and the firmware are however the same for all the motors and we implemented the closed loop controllers with following specifications:
Field Oriented Control at 40 kHz
Speed control at 10 kHz
Position control at 5 kHz
Torque control at 8 kHz
Impedance with current at 10 kHz
Impedance with force at 2 kHz
EtherCAT communication is running at 2 kHz by default in Kangaroo.
Bootloader#
A booloader application is started in the boards every time the power up which allow to upload new firmware applications over EtherCAT, from the control PC or from and external PC connected to the robotล EtherCAT network.
Minimum firmware versions#
Firmware versions in the motor control boards may have implication on the robot performance, features and compatibility with control software running on the robot. Firmware version loaded in each motor control board can be read from WebGUI, in the diagnostic table. Recommended firmware version is the v1.22.0.
Starting from version 1.09.0, the force/torque unit of measure in EtherCAT has been changed from dN/dNm to mN/mNm.