Soldier Hardware Block Diagram - MatthewMArnold/taproot GitHub Wiki

In aruw-mcb, which is an open source project that utilizes taproot, this project fully supports software targeted for the standard (or soldier) robot, sentry (or sentinel) robot, and hero robot.

The following block diagram shows the hardware setup used for the soldier:

Blue lines indicate signals and red lines indicate power.

Both RoboMaster boards are running taproot with custom control algorithms written on top of it. aruw-mcb is running on the chassis board, and aruw-turret-mcb is running on the turret MCB. Thanks to all the utilities provided by taproot, aruw-turret-mcb is extrememly simple and took less than a day to complete development. Both boards perform time synchronization over CAN to provide the most accurately timestamped world frame turret odometry data, which is critical for accurate compute vision measurements (camera and odometry must be highly synchronized).

The RoboMaster Type C board on the turret side contains much less logic than the chassis side board. The IMU on the turret board is used for world frame turret controller computations. Furthermore, it communicates with any turret-side devices that are not connected to the CAN bus. For the soldier, this is only the laser, but this could include limit switches (in the case of the hero) and servos where required.

The slip ring used on the soldier has a fiberoptic connection capable of passing through USB3.0 such that the jetson and all other compute is done on the chassis side. This reduces the weight of the turret and reduces the chance that the Jetson Xavier will be damaged. The slip ring also passes CAN and power for the gimbal, ammo booster, and mini PC.

Two CAN buses are utilized for communication between various hardware components. The following chart shows the CAN IDs used for various motor controllers.

CAN Bus 1

Motor Number CAN ID Motor Name
1 0x201 Left friction wheel motor
2 0x202 Right friction wheel motor
5 0x205 Yaw gimbal
6 0x206 Pitch gimbal
7 0x207 Agitator motor

CAN Bus 2

Motor Number CAN ID Motor Name
1 0x201 Right front chassis drive motor
2 0x202 Left front chassis drive motor
3 0x203 Left back chassis drive motor
4 0x204 Right back chassis drive motor

Finally, a current sensor is used to improve power measurements and provide improved power limiting. Because the referee system provides power measurements at 10 Hz, the current sensor measurements are used to extrapolate between two referee system power measurements.