Oct 2024 — Aug 2025RoboMaster field deployment

RM2025 Engineer Robot

Embedded Lead · System Integration

The robot picks up, stores, and exchanges ore blocks during matches. I owned its three-node embedded system, coordinating the six-axis arm, swerve chassis, lift, and vacuum mechanisms through full-robot integration.

My role
Three-node firmware, control tasks, and integration
System
38 kg · six-axis arm · swerve chassis
Use
2025 season and All-Star Game
Lab task demonstration: follow the arm from holding to throwing an ore block. I implemented arm control and task sequencing for the associated actuators.

Background

The engineer robot picks up, stores, and exchanges ore blocks during matches, alongside lifting, chassis movement, and rescue interactions.

I owned embedded architecture, control tasks, and full-robot integration, working with mechanical, vision, and operator teammates. The assembly and field material show the robot in which this work was integrated.

My contribution

  • Designed and maintained a three-node embedded architecture with clear input, vehicle-decision, and actuation boundaries.
  • Implemented manipulator kinematics and joint control, swerve control, lift coordination, and vacuum actuation.
  • Added homing, timeouts, speed/steering constraints, and observable states for full-robot integration.
  • Worked with mechanical, vision, and operator teams to iterate task flows and troubleshoot under competition pressure.
Technical environment
STM32G473 / STM32G431 · FreeRTOS · FDCAN / Modbus RTU · 6-DoF Arm · Swerve Chassis · Kinematics · Vacuum System

Implementation

Input and status

The gimbal/arm controller collects VTM and custom-controller inputs, then reports state to the chassis controller through 0xBA frames.

Vehicle decisions

The chassis controller owns operating modes and interlocks, issuing coordinated 0xAA command frames to the arm side.

Redundant link

Modbus 485 is the primary inter-board link, with FDCAN3 retained as a backup path and both represented in timeout logic.

Actuation

A 6-DoF arm, four swerve modules, lift, gimbal, vacuum pumps, and valves are sequenced by explicit states.

System relationship schematic
VTM / custom controllerOperator input
Arm / gimbal controllerInput, arm, vacuum
Chassis controllerModes, interlocks, swerve, lift

0xBA state return → ← 0xAA commands · Modbus 485 primary / FDCAN3 backup

Implementation status

CapabilityStatusEvidence
Joint loops and gravity / static compensationDeployedCalled by the field task path; compensation for joints two and three is enabled in output calculation.
Automatic inverse-kinematics target pathTested, not shippedThe solver and experimental path exist, but the complete automatic IK path was not enabled for final tasks.
Arm workspace limitingTested, not shippedThe limiting function was implemented and tested; its formal task-path call remained disabled.
Dynamic rollover modelAbandoned / disabledNot shipped; speed and steering constraints plus operating procedure managed the field risk.
Teleoperation force feedbackAbandoned / disabledRemoved from formal task modes because link rate and model fidelity were insufficient.

Technical decisions

A deployable model over full inverse dynamics

Context
A full RNE model was highly sensitive to mass, center-of-mass, and friction parameters that were difficult to identify reliably during the season.
Choice
Kept kinematics and joint control, using gravity/static compensation and damping.

Managing a 38 kg robot with explicit constraints

Context
The long arm created substantial inertia and center-of-mass shifts, while a dependable online rollover model was not available.
Choice
Used speed and steering-rate constraints, homing, pose checks, and operating procedures; the dynamic rollover model remained disabled.

Suction detection from available feedback

Context
The weight budget did not allow an independent pump and pressure sensor for every suction cup.
Choice
Used M3508 pump speed/current for the arm suction state and pressure feedback for storage suction cups.

Problem & changes

Force-feedback experiments and the final control approach

Force feedback was explored on the custom controller. Link rate and model accuracy limited its usefulness, and the final competition version used input mapping and compensation.

Fixes

  • Force feedback remained an experiment and was not used for competition operation.
  • The deployed system used joint control, gravity/static compensation, and speed and steering constraints.

Validation & field records

  1. URDF and MATLAB models were used to check arm geometry, coordinate frames, and joint directions.
  2. Development footage records early arm motion and controller experiments; the operator video shows input and arm movement during later full-robot tasks.
  3. One RM2025 All-Star Level-4 exchange was timed at 5.8 seconds. My responsibility was embedded control and field debugging.

Public references