Organize hand models and launchers; use linear active joint mapping

This commit is contained in:
2026-09-28 11:05:30 +08:00
parent 325dff6870
commit 01c9aa5c7a
712 changed files with 205077 additions and 6209 deletions
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/env bash
# MuJoCo L6 v3.1 右手仿真桥
# URDF 来源: /home/lxqs/下载/linkerhand_l6v3.1_right_partial_zero_calibrated_L6_RIGHT_001_20260902_142125.urdf
# 默认订阅 /cb_right_hand_control_cmd(6 维 SDK 0~255)
# 发布 /sim/mujoco/l6/right/joint_state
#
# 用法:
# ./hands/L6/scripts/run_l6_right_mujoco_plan.sh
# ./hands/L6/scripts/run_l6_right_mujoco_plan.sh --pd-drive
set -eo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
cd "$ROOT"
set +u
# shellcheck disable=SC1091
source /opt/ros/jazzy/setup.bash
if [[ -f "$ROOT/install/setup.bash" ]]; then
# shellcheck disable=SC1091
source "$ROOT/install/setup.bash"
fi
set -u
VENV_SITE="$ROOT/venv/lib/python3.12/site-packages"
if [[ -d "$VENV_SITE" ]]; then
export PYTHONPATH="$VENV_SITE${PYTHONPATH:+:$PYTHONPATH}"
fi
PKG_SRC="$ROOT/src/linkerhand-sim/linker_hand_mujoco_ros2"
export PYTHONPATH="$PKG_SRC${PYTHONPATH:+:$PYTHONPATH}"
XML="$PKG_SRC/linker_hand_mujoco_ros2/urdf/L6/linker_hand_l6v31_right/linker_hand_l6v31_right.xml"
URDF="$PKG_SRC/linker_hand_mujoco_ros2/urdf/L6/linker_hand_l6v31_right/linkerhand_l6_right.urdf"
if [[ ! -f "$XML" ]]; then
echo "[error] missing L6 MJCF: $XML" >&2
exit 1
fi
echo "[l6-right] urdf=$URDF"
echo "[l6-right] xml=$XML"
echo "[l6-right] cmd-topic=/cb_right_hand_control_cmd"
echo "[l6-right] sim-state=/sim/mujoco/l6/right/joint_state"
echo "[l6-right] SDK 6ch: pitch, roll, index, middle, ring, pinky"
exec python3 -m linker_hand_mujoco_ros2.l6_plan_bridge \
--xml "$XML" \
--node-name l6_mujoco_plan_bridge_right \
--window-title "L6 v3.1 right" \
--cmd-topic /cb_right_hand_control_cmd \
--sim-state-topic /sim/mujoco/l6/right/joint_state \
--nominal-topic /retarget/l6/right/joint_target_nominal \
--mapping g20_urdf \
"$@"