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
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
# MuJoCo O12 T3 右手仿真桥(OmniHand Pro 2025 ROS2 接口)
# URDF 来源: /home/lxqs/下载/linkerhand_o12_t3_right-0703_calibrated_O12_RIGHT_001_REVIEW_ONLY_20260909_112041.urdf
# (包内: urdf/O12/linker_hand_o12_right/linkerhand_o12_right.urdf)
# 订阅 /o12/right/joint_cmd(12 路弧度)
# 发布 /o12/right/joint_states(12 路弧度)
#
# 用法:
# ./hands/O12/scripts/run_o12_right_mujoco_plan.sh # 默认 --pd-drive(可见接触力,按 F)
# ./hands/O12/scripts/run_o12_right_mujoco_plan.sh --no-pd-drive # 纯 kinematic,最稳
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/O12/linker_hand_o12_right/linker_hand_o12_right.xml"
URDF="$PKG_SRC/linker_hand_mujoco_ros2/urdf/O12/linker_hand_o12_right/linkerhand_o12_right.urdf"
if [[ ! -f "$XML" ]]; then
echo "[error] missing O12 MJCF: $XML" >&2
exit 1
fi
echo "[o12-right] urdf=$URDF"
echo "[o12-right] xml=$XML"
echo "[o12-right] cmd-topic=/o12/right/joint_cmd (12 rad)"
echo "[o12-right] state-topic=/o12/right/joint_states (12 rad)"
echo "[o12-right] default mode=pd-drive (viewer 按 F 看接触力; 默认 slew=4 rad/s 防穿模)"
echo "[o12-right] order (API_CPP_O12): thumb_roll,yaw,pitch,mcp,idx_roll,idx_pitch,idx_pip,mid_roll,mid_pitch,mid_pip,ring,pinky"
exec python3 -m linker_hand_mujoco_ros2.o12_plan_bridge \
--xml "$XML" \
--node-name o12_mujoco_plan_bridge_right \
--window-title "O12 T3 right" \
--cmd-topic /o12/right/joint_cmd \
--sim-state-topic /o12/right/joint_states \
--no-legacy-sdk \
--mapping g20_urdf \
"$@"