Motion Control
Notes¶
- Safety: Ensure no obstacles around the arm before testing.
- Parameter tuning: Adjust KP/KD carefully; too large values may cause oscillation.
- Concurrency: Do not run multiple control scripts simultaneously.
Multi-motor Random Motion Test¶
Script: test_motor_all_random.py
Function: reciprocal random motion for all motors at the same time.
position_max = 0.3
kp_list = [50, 50, 50, 50, 5, 5, 5, 5]
kd_list = [5, 5, 5, 5, 0.25, 0.25, 0.25, 0.25]
Multi-motor One-by-one Test¶
Script: test_motor_one_by_one.py
position_max = 0.2
kp = 10.0
kd = 1.0
Single Motor Motion Test - MIT¶
Script: test_motor_one_MIT.py
side = 'right'
motor_id = 1
position = 0.3
Single Motor Hold Test - MIT¶
Script: test_motor_one_hold_MIT.py
side = 'right'
motor_id = 1
position = 0.3
Single Motor Motion Test - CSP¶
Script: test_motor_one_CSP.py
side = 'right'
motor_id = 1
position = 0.3
Single Motor Hold Test - CSP¶
Script: test_motor_one_CSP_hold.py
side = 'right'
motor_id = 1
position = 0.3
CSP notes:
- Payload around 3 kg
- Still under development; avoid high-load tests
- Motor damage under unsupported high-load tests is not covered by free maintenance
Arm and Gripper Action Control¶
Script: control_arms_grippers_action.py
Function: controls both arms and grippers using ROS2 actions.
Prerequisite: MoveIt or bringup must be running to receive action commands.
Motor Homing¶
Script: control_motor_gohome.py
python3 ./control_motor_gohome.py
Note: default KP/KD are conservative for safety, so homing may not be perfectly aligned. Increase KP/KD moderately if needed.