跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Mujoco 足式机器人 URDF 转 XML 及配置详解

综述由AI生成URDF 转 XML 配置指南 安装 MuJoCo Playground 后,涉及三维模型导入。SolidWorks 导出的文件多为 URDF 格式,但 MuJoCo 仿真主要支持 XML 文件。 MuJoCo 官方提供了转换脚本,需下载 MuJoCo 工程文件(注意与 MuJoCo Playground 不同)。 MuJoCo 工程文件下载 在 URDF 文件中添加配置 meshdir: STL…

氛围发布于 2026/4/6更新于 2026/5/2339K 浏览
Mujoco 足式机器人 URDF 转 XML 及配置详解

URDF 转 XML 配置指南

安装 MuJoCo Playground 后,涉及三维模型导入。SolidWorks 导出的文件多为 URDF 格式,但 MuJoCo 仿真主要支持 XML 文件。

MuJoCo 官方提供了转换脚本,需下载 MuJoCo 工程文件(注意与 MuJoCo Playground 不同)。

1. MuJoCo 工程文件下载

https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/.mujoco/mujoco210/bin

2. 在 URDF 文件中添加配置

<mujoco><compiler meshdir="../meshes/" balanceinertia="true" discardvisual="false"/></mujoco>
  • meshdir: STL 网格文件存放地址
  • balanceinertia="true": 启用惯量平衡(仿真更真实)
  • discardvisual="false": 保留视觉几何体(可视化更好)

注意: 需与 <link> 平级,直接写在最上面。

3. 转换命令

cd ~/.mujoco/mujoco210/bin
./compile /path/to/model.urdf /path/to/model.xml

可直接写 URDF 文件的绝对地址,以及保存 XML 文件存放的绝对地址。

若需仿真验证 XML 文件转化是否成功,可执行:

./simulate /path/to/model.xml

4. 在 XML 文件中添加执行器(Actuator)

Actuator 可理解为电机。MuJoCo 较为严谨,每一个关节都需要指定 Actuator 才能有动力,而非像 Legged Gym 封装的一样直接输入活动关节数目。

Actuator 有多种格式,可设置位置模式、力矩模式、速度模式以及 General 通用格式等。此处仅介绍 Position 设置方法。

<actuator>
    <position class="hexapod" name="RF_HAA" joint="RF_HAA"/>
    <position class="hexapod" name="RF_HFE" joint="RF_HFE"/>
    <position class="hexapod" name="RF_KFE" joint="RF_KFE"/>
    <position class="hexapod" name="RM_HAA" joint="RM_HAA"/>
    <position class="hexapod" name="RM_HFE" joint="RM_HFE"/>
    <position class="hexapod" name="RM_KFE" joint="RM_KFE"/>
    <position class="hexapod" name="RB_HAA" joint="RB_HAA"/>
    <position class="hexapod" name="RB_HFE" joint="RB_HFE"/>
    <position class="hexapod" name="RB_KFE" joint="RB_KFE"/>
    <position class="hexapod" name="LF_HAA" joint="LF_HAA"/>
    <position class="hexapod" name="LF_HFE" joint="LF_HFE"/>
    <position class="hexapod" name="LF_KFE" joint="LF_KFE"/>
    <position class="hexapod" name="LM_HAA" joint="LM_HAA"/>
    <position class="hexapod" name="LM_HFE" joint="LM_HFE"/>
    <position class="hexapod" name="LM_KFE" joint="LM_KFE"/>
    <position class="hexapod" name="LB_HAA" joint="LB_HAA"/>
    <position class="hexapod" name="LB_HFE" joint="LB_HFE"/>
    <position class="hexapod" name="LB_KFE" joint="LB_KFE"/>
</actuator>

示例使用的是六足机器人,具有 18 个活动关节,因此添加了 18 个位置模式的电机。

注:由于这 18 个关节高度重复,此处运用了 class 的概念(用来设置 kp 和 damping,以及 forcerange 等参数),class 的具体用法可参考 MuJoCo 官方 XML 文档说明。

5. 在 XML 文件中添加传感器(Sensor)

MuJoCo 的传感器及其他功能的添加主要在 XML 文件中实现。

目前使用到的传感器,一般是监控某一个点的数据。

Site 的定义:

<site name="imu" pos="0 0 0" group="5"/>

传感器定义:

<sensor>
    <gyro site="imu" name="gyro"/>
    <velocimeter site="imu" name="local_linvel"/>
    <accelerometer site="imu" name="accelerometer"/>
    <framezaxis objtype="site" objname="imu" name="upvector"/>
    <framelinvel objtype="site" objname="imu" name="global_linvel"/>
    <frameangvel objtype="site" objname="imu" name="global_angvel"/>
</sensor>

如果想替换进自己的 XML 文件,只需要在 XML 中创建这个点即可。

6. 在 XML 文件中添加碰撞体

注意:虽然 MuJoCo 支持直接使用 STL 网格文件作为碰撞体,但在强化学习训练过程中,如果没有将 Mesh 文件简化,训练过程中会一直报错,且运算量显著增大。建议简化碰撞体。

<geom condim="1" contype="0" conaffinity="0"/>

如果想添加碰撞体,只需要在后面设置 contype 和 conaffinity 即可,此处二者都写 0 代表不参与碰撞。

目录

  1. URDF 转 XML 配置指南
  2. 1. MuJoCo 工程文件下载
  3. 2. 在 URDF 文件中添加配置
  4. 3. 转换命令
  5. 4. 在 XML 文件中添加执行器(Actuator)
  6. 5. 在 XML 文件中添加传感器(Sensor)
  7. 6. 在 XML 文件中添加碰撞体
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • CentOS 6.8 部署 Zabbix 3.2 监控服务完整流程
  • Python 金融数据获取指南:使用 mootdx 读取通达信数据
  • 循环神经网络(RNN)与序列数据处理实战
  • ESP32 驱动 OV7670 摄像头实现简易照相机系统
  • OpenClaw 接入自定义模型并通过 WebUI 配置
  • Python+AI 入门学习指南
  • Python IDLE 汉化方法
  • 程序员寻找国外远程工作的途径与准备指南
  • 零基础也能做网页?PyWebIO表单快速构建指南(新手必看)
  • 大模型幻觉问题深度治理:技术体系、工程实践与未来演进
  • Web 开发者构建多模态 Agent 图像识别技能的全栈实战
  • Python 换源完整指南:加速 PyPI 与 CPython 下载
  • 基于 ChatGPT 学术版的智能学术写作全流程解决方案
  • 绿联云 NAS 配置 WebDAV 实现公网文献同步
  • LangChain4j 集成国产大模型:通义千问、文心一言与智谱 AI 实践
  • TimeGPT 首个时间序列基础模型介绍与实践
  • Consistency Model 重塑图像生成范式:100 倍提速技术解析
  • Rust WebAssembly 与 Three.js 结合的 3D 数据可视化实战:高性能粒子系统
  • 谷歌 Gemini API 快速入门与 LangChain 调用指南
  • 1Panel 服务器管理面板安装与实战运维指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online