Mujoco足式机器人强化学习训练02(URDF转XML)

Mujoco足式机器人强化学习训练02(URDF转XML)

URDF文件转XML文件

在安装完成mujoco playground以后,设计到三维模型的导入,在sw转出的文件大多为URDF格式,但是mujoco仿真的时候大多支持xml文件

xml文件官方地提供了转换脚本,需要下载mujoco工程文件,注意和上节下载的mujoco playground不是一个工程文件

1. mujoco工程文件下载

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

2. 在URDF文件中添加代码

<mujoco><compilermeshdir="../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才能有动力,而不是像leggedgym封装的一样,直接输入活动关节数目进行自动对应

actuator有多种格式,即可以设置位置模式、力矩模式、速度模式、以及general通用格式等
此处只介绍position设置方法

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

笔者使用的是六足机器人,所以具有18个活动关节,所以此添加了18个位置模式的电机

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

5. 在xml文件中添加传感器(sensor)

根据笔者这段时间对mujoco的使用,mujoco的传感器以及其他功能的添加,主要在xml文件中进行实现,(个人认为十分方便、主打一个什么都开放🐶)

目前笔者使用到的传感器,一般都是监控某一个点的数据
site的定义:

<sitename="imu"pos="0 0 0"group="5"/>

传感器定义:

<sensor><gyrosite="imu"name="gyro"/><velocimetersite="imu"name="local_linvel"/><accelerometersite="imu"name="accelerometer"/><framezaxisobjtype="site"objname="imu"name="upvector"/><framelinvelobjtype="site"objname="imu"name="global_linvel"/><frameangvelobjtype="site"objname="imu"name="global_angvel"/></sensor>

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

5. 在xml文件中添加碰撞体

此处需要注意,虽然mujoco支持直接使用stl网格文件作为碰撞体,但是在强化学习训练的过程中,如果没有将mesh文件简化,在训练的过程中会一直报错,并且运算量会显著增大,所以此处建议简化碰撞体!!!

<geomcondim="1"contype="0"conaffinity="0"/>

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

参考文献
1.https://zhuanlan.zhihu.com/p/699075829
2.https://www.bilibili.com/video/BV1tDxAzTEFM/?spm_id_from=333.1391.0.0

Read more

2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家

2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家

前言 题解 2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 睿抗一如既往的码量大,喜欢阅读理解挖坑,T_T。 T3 应该是最简单,如果去掉匹配串 2 字节的限制,感觉会是一道有趣的题。 RC-u1 谁拿冠军了? 分值: 15分 考察点:hash表的使用 注意点:明明某一天里,可能存在多个相同操作,需要求其总和,在除 2。 #include<bits/stdc++.h>usingnamespace std;intmain(){int n, m; cin >> n >> m;int A1, A2, B1,

告别复杂配置!NewBie-image-Exp0.1让AI绘画简单上手

告别复杂配置!NewBie-image-Exp0.1让AI绘画简单上手 你是不是也曾经被AI绘画的环境配置劝退?安装依赖报错、模型权重下载缓慢、代码Bug频出……明明只想画张图,却像在做一场系统工程。今天,这一切都结束了。 NewBie-image-Exp0.1 镜像的出现,彻底改变了这一局面。它不是简单的打包,而是真正实现了“开箱即用”的动漫图像生成体验。无需折腾环境、不用手动修复Bug、不必担心显存溢出——只要一键部署,你就能立刻开始创作高质量的动漫角色图像。 本文将带你全面了解这个神奇的镜像:从快速上手的第一步,到核心功能的深度解析,再到实用技巧和避坑指南。无论你是AI绘画的新手,还是想提升效率的老手,都能在这里找到属于你的创作捷径。 1. 为什么你需要NewBie-image-Exp0.1? 在介绍怎么用之前,先说清楚它到底解决了什么问题。 1.1 传统AI绘画部署的三大痛点 我们先来回顾一下,如果你自己从零开始部署一个类似3.5B参数量级的动漫生成模型,通常会遇到哪些麻烦: * 环境地狱:Python版本、PyTorch与CUDA的兼容性、各种库的依赖冲突

Stable Diffusion WebUI完全攻略:从零基础到AI绘画大师

Stable Diffusion WebUI完全攻略:从零基础到AI绘画大师 【免费下载链接】stable-diffusion-webuiAUTOMATIC1111/stable-diffusion-webui - 一个为Stable Diffusion模型提供的Web界面,使用Gradio库实现,允许用户通过Web界面使用Stable Diffusion进行图像生成。 项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion-webui 想要用文字创造精美图像吗?Stable Diffusion WebUI 作为基于Gradio库构建的Web界面,让任何人都能轻松使用Stable Diffusion进行AI绘画创作。本文将带你从基础操作到高级技巧,全面掌握这个强大的AI绘画工具。 基础入门:发现AI绘画的无限可能 创意生成模块:文字到图像的魔法转换 Stable Diffusion WebUI 的核心功能分为两大创意模块: 界面探索之旅:认识你的创作工作室 从界面布局可以看出,整个创作环境分为三大功

即插即用系列 | 2024 SOTA LAM-YOLO : 无人机小目标检测模型

即插即用系列 | 2024 SOTA LAM-YOLO : 无人机小目标检测模型

论文名称:LAM-YOLO: Drones-based Small Object Detection on Lighting-Occlusion Attention Mechanism YOLO 论文原文 (Paper):https://arxiv.org/abs/2411.00485 GitHub 仓库链接:https://github.com/AITricks/AITricks 哔哩哔哩视频讲解:https://space.bilibili.com/57394501?spm_id_from=333.337.0.0 目录 * 1. 核心思想 * 2. 背景与动机 * 3. 主要贡献点 * 4. 方法细节 * 5. 即插即用模块的作用