• ## Running the OpenArm Final Motor Tester
Each motor has two CAN identifiers:
- Command ID: used by the computer to control the motor.
- Feedback ID: used by the motor to report position, velocity, torque, and errors.
For this setup, the feedback ID is the command ID plus hexadecimal 0x10.
Joint Command ID Feedback ID ━━━━━━━ ━━━━━━━━━━━━ ━━━━━━━━━━━━━ R1 1 0x11 ─────── ──────────── ───────────── R2 2 0x12 ─────── ──────────── ───────────── R3 3 0x13 ─────── ──────────── ───────────── R4 4 0x14 ─────── ──────────── ───────────── R5 5 0x15 ─────── ──────────── ───────────── R6 6 0x16 ─────── ──────────── ───────────── R7 7 0x17 ─────── ──────────── ───────────── R8 8 0x18 ─────── ──────────── ───────────── L1 11 0x1B ─────── ──────────── ───────────── L2 12 0x1C ─────── ──────────── ───────────── L3 13 0x1D ─────── ──────────── ───────────── L4 14 0x1E ─────── ──────────── ───────────── L5 15 0x1F ─────── ──────────── ───────────── L6 16 0x20 ─────── ──────────── ───────────── L7 17 0x21 ─────── ──────────── ───────────── L8 18 0x22
R means right arm and L means left arm.
Every motor on the shared CAN bus must have a unique command ID and feedback ID. Duplicate IDs can cause multiple motors to respond to one command. Do not run motion tests if the scan reports an incorrect or duplicate ID.
- Linux
- Python 3.10+
- SocketCAN-compatible CAN-FD adapter
- can-utils
- Complete OpenArm repository
sudo apt install can-utils python3-venv
python3 -m venv venv ./venv/bin/pip install --upgrade pip ./venv/bin/pip install -r requirements.txt
sudo ip link set can0 down sudo ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on sudo ip link set can0 txqueuelen 1000 sudo ip link set can0 up
Verify it:
ip -details link show can0
From the repository root:
./venv/bin/python safe_tester_final/app.py
Open http://127.0.0.1:5004.
- Keep the physical power cutoff ready.
- Clear people and cables from the arm.
- Click Read-only scan.
- Confirm each joint has the command and feedback IDs listed above.
- Confirm there is only one physical motor per CAN ID.
- Test one motor and one direction at a time.
Each test:
- Uses a 60% force ratio
- Moves 0.10 rad (approximately 5.7°)
- Runs at 0.06 rad/s
- Returns to its starting position
- Disables the motor afterward
- Stops early if no movement is detected