Add URDF and USD collision primitive generation, MeshCat collision visualization, configuration, documentation, and generated Isaac Sim assets for the dual-arm model. |
||
|---|---|---|
| .. | ||
| __pycache__ | ||
| README.md | ||
| requirements.txt | ||
| view_urdf_collisions.py | ||
URDF 碰撞体查看器
view_urdf_collisions.py 使用 MeshCat 显示 URDF 中的碰撞体。默认按 Isaac Sim 风格
原样显示视觉 STL 和 URDF 材质,并用亮绿色线框显示 <collision>。它直接解析 URDF
的 link、joint 和 origin,不依赖 Pinocchio。
安装
当前 cmvr-es Conda 环境已经安装 MeshCat。其他环境可执行:
python -m pip install -r scripts/meshcat/requirements.txt
运行
推荐先激活 cmvr-es 环境,再进入项目根目录:
conda activate cmvr-es
cd /home/lgv/cmvr/0-workspace/cmvr-es
python \
scripts/meshcat/view_urdf_collisions.py \
--input model/xiaoyan_description/dual_arm_collision.urdf
不能在 /home/lgv/Desktop 等其他目录直接使用上述相对路径,否则 Python 会在当前
目录中查找 scripts/ 和 model/。另外,MeshCat 安装在 cmvr-es 环境中,当前提示符
如果是 (base),需要先执行 conda activate cmvr-es。
如果需要从任意目录启动,使用完整绝对路径和 conda run:
conda run -n cmvr-es python \
/home/lgv/cmvr/0-workspace/cmvr-es/scripts/meshcat/view_urdf_collisions.py \
--input /home/lgv/cmvr/0-workspace/cmvr-es/model/xiaoyan_description/dual_arm_collision.urdf
脚本会打开浏览器,并持续运行到按下 Ctrl+C。如果不希望自动打开浏览器,可增加
--no-browser,然后手动打开终端输出的 MeshCat URL。
需要关闭终端后继续查看,或者希望页面刷新后仍然保留场景时,导出独立 HTML:
conda run -n cmvr-es python \
scripts/meshcat/view_urdf_collisions.py \
--input model/xiaoyan_description/dual_arm_collision.urdf \
--export-html /tmp/dual_arm_collision_meshcat.html
独立 HTML 会嵌入视觉 STL 和碰撞体,因此文件较大,但不再依赖后台 Python 进程或 WebSocket 连接。
只显示碰撞体:
conda run -n cmvr-es python \
scripts/meshcat/view_urdf_collisions.py \
--input model/xiaoyan_description/dual_arm_collision.urdf \
--collision-only
设置关节位置,旋转关节的单位为弧度:
conda run -n cmvr-es python \
scripts/meshcat/view_urdf_collisions.py \
--input model/xiaoyan_description/dual_arm_collision.urdf \
--joint L_SHOULDER_P=0.5 \
--joint R_SHOULDER_P=-0.5
其他显示选项:
--solid-collisions:把碰撞体切换为半透明实体--visual-opacity 0.15:需要透视内部时降低视觉模型透明度--collision-opacity 0.8:调整碰撞体线框或实体透明度--collision-color 00ff66:使用十六进制颜色覆盖默认绿色--collision-cylinder-lines 12:默认 12 条轴向母线,每 30° 一条