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.