Description 使用说明
1. 概述
wuji-description 是 Wuji Hand 及相关硬件的模型描述包,提供 URDF、MuJoCo (MJCF)、Isaac Sim USD 与 STEP/CAD 资源,用于仿真、可视化和机械集成。
覆盖范围
| 模块 | 提供资源 |
|---|---|
| Wuji Hand |
|
| Wuji Hand 软垫变体 |
|
| Wuji Hand 2 |
|
| Hand 适配件 |
|
| Wuji Glove |
|
关联仓库
wuji-description 作为模型仓库,被以下项目作为依赖引用:
| 仓库 | 用途 |
|---|---|
| mujoco-sim | MuJoCo 仿真示例 |
| isaaclab-sim | Isaac Lab 仿真示例 |
| wuji-retargeting | 手势 Retargeting |
这些仓库通过 Git Submodule 机制引用 wuji-description,确保模型文件版本一致。如需更新模型,可在各仓库中执行:
git submodule update --remote2. 系统要求
| 功能 | 要求 |
|---|---|
| MuJoCo 可视化 | Python 3.8+ MuJoCo 2.3+ |
| ROS2 可视化 (RViz) | ROS2 (Kilted Kaiju / Jazzy Jalisco) Ubuntu 24.04+ |
| Isaac Sim USD | Isaac Sim 2024.x+ |
| STEP / CAD | 支持 STEP 格式的 CAD 工具(如 FreeCAD、SolidWorks) |
3. 集成指南
请确保按照 系统要求 完成配置后再进行以下步骤。
3.1 安装
git clone https://github.com/wuji-technology/wuji-description.git
cd wuji-description3.2 仿真与可视化
本仓库为主流仿真/可视化生态提供模型资源,按所用工具选择对应小节。
3.2.1 MuJoCo
Wuji Hand
# 右手
python -m mujoco.viewer --mjcf=hand/body/mjcf/right.xml
# 左手
python -m mujoco.viewer --mjcf=hand/body/mjcf/left.xmlWuji Hand 软垫变体
# 右手
python -m mujoco.viewer --mjcf=hand/body-with-soft/mjcf/right.xml
# 左手
python -m mujoco.viewer --mjcf=hand/body-with-soft/mjcf/left.xml
# 简化碰撞变体(加速接触仿真)
python -m mujoco.viewer --mjcf=hand/body-with-soft/mjcf/right_simplified.xmlWuji Hand 2
# 右手
python -m mujoco.viewer --mjcf=hand2/body/mjcf/right.xml
# 左手
python -m mujoco.viewer --mjcf=hand2/body/mjcf/left.xml抗冲击转接座
python -m mujoco.viewer --mjcf=hand/attachment/impact-resistant-attachment/mjcf/docking.xmlMuJoCo Viewer 操作
| 操作 | 功能 |
|---|---|
| 左键拖拽 | 旋转视角 |
| 右键拖拽 | 平移视角 |
| 滚轮 | 缩放(前进/后退) |
| 双击左键 | 选中物体,视角跟踪该物体 |
| 双击右键 | 取消选中,恢复自由视角 |
| Ctrl + 左键拖拽 | 对选中物体施加力 |
| Ctrl + 右键拖拽 | 对选中物体施加扭矩 |
执行效果
以左手为示例,其他模型按上述命令自行加载查看。

3.2.2 ROS2 / RViz
安装
hand/body/ 是 ROS2 包源(wuji_description),安装时会把 hand/attachment/ 作为兄弟资源一并安装。请把整个仓库克隆到工作空间 src/,不要单独复制 hand/body/。
# 1. 加载 ROS2 环境,替换 <distro> 为实际安装的 ROS2 发行版
source /opt/ros/<distro>/setup.bash
# 2. 创建工作空间(如不存在)
mkdir -p ~/ros2_ws/src
# 3. 克隆仓库
cd ~/ros2_ws/src
git clone https://github.com/wuji-technology/wuji-description.git
# 4. 初始化 rosdep(首次使用,已初始化可跳过)
sudo rosdep init
rosdep update
# 5. 安装依赖
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
# 6. 构建并 source
colcon build --packages-select wuji_description
source install/setup.bash可视化
# 左手(默认)
ros2 launch wuji_description display.launch.py
# 右手
ros2 launch wuji_description display.launch.py hand:=rightRViz 操作
| 操作 | 功能 |
|---|---|
| 左键拖拽 | 旋转视角 |
| 右键拖拽 | 平移视角 |
| 滚轮 | 缩放 |
| Shift + 左键拖拽 | 平移视角(XY 平面) |
| Joint State Publisher GUI | 拖动滑块控制各关节角度 |
执行效果

3.2.3 Isaac Sim USD
仓库提供以下 Isaac Sim USD 资源:
Wuji Hand
- 左手:
hand/body/usd/left/wujihand.usd - 右手:
hand/body/usd/right/wujihand.usd
Wuji Hand 软垫变体
- 左手:
hand/body-with-soft/usd/left/wujihand.usd - 右手:
hand/body-with-soft/usd/right/wujihand.usd - 简化碰撞变体:
hand/body-with-soft/usd/{left,right}_simplified/wujihand.usd
Wuji Hand 2
- 左手:
hand2/body/usd/left/wujihand.usd - 右手:
hand2/body/usd/right/wujihand.usd
在 Isaac Sim 中打开对应 .usd 文件即可加载。完整仿真示例参见 isaaclab-sim。
3.2.4 URDF 预览(非 ROS)
不安装 ROS 时,可用任意 URDF 查看器(如 urdf-viz)直接预览 URDF 模型。
Wuji Hand 软垫变体
urdf-viz hand/body-with-soft/urdf/right.urdfWuji Hand 2
urdf-viz hand2/body/urdf/right.urdf抗冲击转接座
urdf-viz hand/attachment/impact-resistant-attachment/urdf/docking.urdfWuji Glove
glove/body/ 提供用于手部动作追踪的 Wuji Glove 模型。每只手由 URDF 骨架描述(五指共 21 个 revolute 关节),腕部装有 EMF 发射底座(base_link_TX.STL),指尖各装有接收线圈(base_link_RX.STL)。发射器顶盖 STEP 与装配 PDF 在 glove/body/step/。
urdf-viz glove/body/urdf/right.urdf3.3 机械集成
3.3.1 机械臂适配
hand/attachment/step/ 提供两种适配器,用于将 Wuji Hand 安装到机械臂末端法兰:
| 适配器 | STEP 文件 | 结构特点 | 主动分离 | 适用场景 |
|---|---|---|---|---|
| 直连转接座 | Direct-Adapter-Mount.step | 单体高刚性 | 否 | 工作场景平稳、低碰撞风险的工业机械臂 |
| 抗冲击转接座 | Impact-Resistant-Adapter.step | 双模块(机械臂模块 + Wuji Hand 模块) | 是(受外力冲击超过安全阈值时分离) | 高碰撞风险场景,保护手部关节与电机 |
抗冲击转接座的工作原理与组件名称详见 5.3 抗冲击转接座。
集成步骤
- 用 FreeCAD、SolidWorks、Creo 等任意支持 STEP 的 CAD 工具打开 STEP 文件
- 按目标机械臂法兰孔位做适配修改
- 参考装配 PDF 图纸(
wuji-hand&*-assembled-v1.pdf)确认装配关系 - 按 Adapter-Installation-Instructions.md 完成安装
3.3.2 Wuji Hand 2 结构件与适配挂载件
hand2/body/step/ 提供 Wuji Hand 2 的 STEP 源文件,用于机械集成与二次设计:
| STEP 文件 | 用途 |
|---|---|
Wuji-Hand2-Beta1-left.step | 左手结构件装配(Beta1) |
Wuji-Hand2-Beta1-right.step | 右手结构件装配(Beta1) |
Wuji-Hand2-Adapter-Mount-Beta1.step | 将 Wuji Hand 2 安装到机械臂末端法兰的适配挂载件(Beta1) |
当前 STEP 资产为 Beta1 修订版,结构件命名与外形细节后续可能随版本调整。
集成步骤
- 用 FreeCAD、SolidWorks、Creo 等任意支持 STEP 的 CAD 工具打开 STEP 文件
- 参考左右手结构件装配确认安装面与对位关系
- 按目标机械臂法兰孔位修改适配挂载件,完成装配
3.3.3 Unitree G1 适配
hand/attachment/unitree-g1-attachment/unitree-g1-docking-adapter.stl 用于将 Wuji Hand 安装到 Unitree G1 人形机器人末端。
集成说明
文件为 STL 格式,可直接 3D 打印(建议尼龙或 PETG 材质保证刚性)。打印件一端对接 G1 末端法兰,另一端连接 Wuji Hand 标准安装面。
4. 相关仓库
4.1 MuJoCo 仿真示例
mujoco-sim 提供了在 MuJoCo 物理仿真器中加载和控制 Wuji Hand 的最小示例。
运行命令
git clone --recursive https://github.com/wuji-technology/mujoco-sim.git
cd mujoco-sim
pip install -r requirements.txt
python run_sim.py预期效果
脚本启动后将加载右手模型(默认),循环播放 data/wave.npy 中预录制的挥手动作轨迹。如需切换为左手,修改 run_sim.py 中的 side 变量为 "left"。
4.2 Isaac Lab 仿真示例
isaaclab-sim 提供了在 NVIDIA Isaac Lab 环境中使用 Wuji Hand 的仿真示例,支持 GPU 加速的大规模并行仿真,适用于强化学习训练场景。
运行命令
git clone --recurse-submodules https://github.com/wuji-technology/isaaclab-sim.git
cd isaaclab-sim
# 按照 Isaac Lab 官方文档配置环境后执行
python run_sim.py预期效果
脚本启动后将加载右手模型(默认),循环播放 data/wave.npy 中预录制的挥手动作轨迹。如需切换为左手,运行 python run_sim.py --side left。
4.3 手势 Retargeting
wuji-retargeting 是基于自适应解析优化的高精度手势 Retargeting 系统,将人手姿态映射到灵巧手关节位置,支持 Apple Vision Pro 实时手部追踪。
运行命令
git clone --recurse-submodules https://github.com/wuji-technology/wuji-retargeting.git
cd wuji-retargeting
pip install -r requirements.txt
pip install -e .
# 仿真示例(使用预录制数据)
cd example
python teleop_sim.py --play data/avp1.pkl --hand left
# 真机示例(需连接 Vision Pro)
python teleop_real.py --input visionpro --ip <vision-pro-ip> --hand right预期效果
仿真模式下,灵巧手将回放预录制的手势数据。真机模式下,灵巧手将实时跟随 Vision Pro 捕获的手部动作。系统采用 Huber loss + NLopt SLSQP 优化算法,在捏合和张开手势之间自适应切换以提高精度。
5. 故障排查
RViz 不显示模型
确保执行 source install/setup.bash。
rosdep 未初始化
执行 rosdep install 时若提示 rosdep has not been initialized,首次使用前需要初始化 rosdep:
sudo rosdep init
rosdep update