Skip to content

Motion Control

Notes

  1. Safety: Ensure no obstacles around the arm before testing.
  2. Parameter tuning: Adjust KP/KD carefully; too large values may cause oscillation.
  3. 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.