Initialize FFG left-glove L20 teleoperation workspace with guarded trial modes
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
source /opt/ros/jazzy/setup.bash
|
||||
source install/setup.bash
|
||||
export ROS_DOMAIN_ID=74
|
||||
export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST
|
||||
case "${1:-}" in
|
||||
glove)
|
||||
exec ros2 run linkerhand_retarget handretarget --ros-args \
|
||||
-p calibration:=false -p ports:='["/dev/ttyUSB0"]' -p baudrate:=2000000 \
|
||||
-r /cb_left_hand_control_cmd:=/ffg_trial/left_cmd \
|
||||
-r /cb_left_hand_matrix_touch:=/ffg_trial/unused_left_touch \
|
||||
-r /cb_right_hand_matrix_touch:=/ffg_trial/unused_right_touch \
|
||||
-r /hand_teleop_param:=/ffg_trial/unused_params
|
||||
;;
|
||||
hand|half|full|follow)
|
||||
scale=0.0
|
||||
slew=10.0
|
||||
speed=30
|
||||
confirmation=ARM
|
||||
case "$1" in
|
||||
hand) echo '相对当前位置 +/-10 SDK单位小幅测试。' ;;
|
||||
half) scale=0.5; confirmation=ARM50; echo '50%位置映射:目标=启动时机械手位置+0.5*(手套映射位置-启动时机械手位置)。' ;;
|
||||
full) scale=1.0; confirmation=ARM100; echo '100%标定位置映射。必须先完成50%空载检查;不是满速/满力。' ;;
|
||||
follow) scale=1.0; slew=60.0; speed=60; confirmation=FOLLOW; echo '完整位置跟随档:仅在慢速全范围已验证正常后使用。' ;;
|
||||
esac
|
||||
echo "空载测试,速度${speed}、目标缓变${slew}单位/秒。收到手套数据后可能立即开始运动。不是急停保护。"
|
||||
read -r -p "确认周围无人、无夹持物且可立即断电,输入 $confirmation:" answer
|
||||
[[ "$answer" == "$confirmation" ]] || exit 1
|
||||
exec ros2 run linker_hand_ros2_sdk linker_hand_sdk --ros-args \
|
||||
-p hand_type:=left -p hand_joint:=G20 -p can:=can0 \
|
||||
-p is_touch:=false -p modbus:=None -p safe_trial:=true \
|
||||
-p trial_motion_scale:="$scale" \
|
||||
-p trial_slew_rate:="$slew" -p trial_motor_speed:="$speed" \
|
||||
-p state_poll_rate:=10.0 -p velocity_poll_rate:=2.0 \
|
||||
-r /cb_left_hand_control_cmd:=/ffg_trial/left_cmd
|
||||
;;
|
||||
*) echo "用法:bash tools/ffg_trial.sh glove|hand|half|full|follow"; exit 2 ;;
|
||||
esac
|
||||
Reference in New Issue
Block a user