Use canonical calibration from the repo config/calibration/ (recommended): e.g. --config ../../config/calibration/r_hand_team_julia.toml when running from Demo/AHControl. See canonical_hand_config_design.md. Finger order is read from config/hand_geometry.toml when using a calibration file under config/calibration/. Alternatively, a legacy TOML under AHControl config/ (e.g. r_hand.toml) is still supported for motor IDs and angle offsets.
- change_id: to help you change the id of a motor.
cargo run --bin=change_id -- -hfor a list of parameters - goto: to move a single motor to a given position.
cargo run --bin=goto -- -hfor a list of parameters - get_zeros: to help you set the motor zeros, it sets the motors in the compliant mode and write the TOML file to the console.
cargo run --bin=get_zeros -- -hfor a list of parameters - set_zeros: to move the hand in the "zero" position according to the config file.
cargo run --bin=set_zeros -- -hfor a list of parameters
Full procedure (verify IDs, create calibration file, get_zeros, set_zeros, run with profile) is in docs/canonical_hand_config_design.md under "Calibration procedures".
Run from the project root. If you use pixi for Rust, run pixi shell first. Set PORT to your serial device (e.g. /dev/ttyACM0 on Linux, COM3 on Windows). For canonical calibration use a file under config/calibration/ (e.g. config/calibration/r_hand_team_julia.toml).
Linux:
export PORT=/dev/ttyACM0
export CFG="config/calibration/r_hand_team_julia.toml"
cargo run --manifest-path Demo/Cargo.toml --bin=set_zeros -- --serialport $PORT --config $CFG
cargo run --manifest-path Demo/Cargo.toml --bin=goto -- --serialport $PORT --id 1 --pos 0.0
cargo run --manifest-path Demo/Cargo.toml --bin=change_id -- --serialport $PORT --old-id 1 --new-id 2
cargo run --manifest-path Demo/Cargo.toml --bin=get_zeros -- --serialport $PORT --config $CFGWindows (PowerShell):
$PORT = "COM3"
$CFG = "config/calibration/r_hand_team_krishan.toml"
cargo run --manifest-path Demo/Cargo.toml --bin=set_zeros -- --serialport $PORT --config $CFG
cargo run --manifest-path Demo/Cargo.toml --bin=goto -- --serialport $PORT --id 1 --pos 0.0
cargo run --manifest-path Demo/Cargo.toml --bin=change_id -- --serialport $PORT --old-id 1 --new-id 2
cargo run --manifest-path Demo/Cargo.toml --bin=get_zeros -- --serialport $PORT --config $CFG