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

Stable-Diffusion-v1-5-archive效果一致性保障:跨平台(Linux/Windows/Docker)复现验证

Stable-Diffusion-v1-5-archive效果一致性保障:跨平台(Linux/Windows/Docker)复现验证 你有没有遇到过这样的烦恼?在公司的Linux服务器上用Stable Diffusion生成了一张特别满意的图片,兴冲冲地想在家里Windows电脑上复现出来,结果参数一模一样,出来的图却“面目全非”。或者,团队里不同成员用不同环境跑同一个模型,得到的输出五花八门,根本没法协作。 如果你也为此头疼,那今天这篇文章就是为你准备的。我们将深入探讨Stable Diffusion v1.5 Archive这个经典模型,并手把手教你如何实现跨平台、跨环境的效果一致性复现。无论你是个人创作者、团队开发者,还是需要稳定输出的商业项目,掌握这套方法都能让你告别“玄学出图”,拥抱“确定性生成”。 1. 为什么效果一致性如此重要? 在深入技术细节之前,我们先聊聊为什么要在意“一致性”这件事。 想象一下,你是一个游戏美术设计师,用AI生成了几十张角色概念图,客户选中了其中三张。一周后,客户说:“能不能把第一张图的色调调整得和第二张更接近一些?” 如果你无法复现最初

Lostlife2.0下载官网整合LLama-Factory引擎,增强NPC对话逻辑

Lostlife2.0整合LLama-Factory引擎,重塑NPC对话逻辑 在文字冒险游戏的世界里,玩家最怕什么?不是任务太难,也不是剧情平淡——而是和一个“话术机械、反应呆板”的NPC对话时,那种瞬间出戏的割裂感。明明世界观设定是末世废土,结果NPC张口就是“绝绝子”“破防了”,这种语言风格的崩塌足以让沉浸感荡然无存。 《Lostlife2.0》作为一款以深度叙事和角色互动为核心卖点的文字冒险游戏,在开发过程中就直面了这一难题。早期版本中,NPC的对话依赖传统的决策树系统:每句台词都由编剧手动编写,每个分支都需要精确配置。这不仅导致内容维护成本极高,更带来了“选项爆炸”问题——新增一条剧情线,往往要额外添加数十个节点,最终形成一张难以管理的复杂网络。 真正的转机出现在团队引入 LLama-Factory 之后。这个开源的大模型微调框架,原本主要用于科研与企业级AI定制,但《Lostlife2.0》团队敏锐地意识到:它或许能成为解决NPC智能瓶颈的关键工具。通过将LLama-Factory深度集成到开发流程中,他们成功构建了一套动态、可进化、风格一致的对话生成系统,彻底改变了传

高效实验:用LLaMA Factory快速测试不同数据集的微调效果

高效实验:用LLaMA Factory快速测试不同数据集的微调效果 作为一名数据工程师,你是否遇到过这样的困扰:需要评估不同数据集对模型性能的影响,但手动切换数据集和重新训练的过程既耗时又繁琐?今天我要分享的LLaMA Factory工具,正是解决这一痛点的利器。它是一款开源的低代码大模型微调框架,能够帮助我们快速搭建自动化实验环境,显著提升模型评估效率。这类任务通常需要GPU环境,目前ZEEKLOG算力平台提供了包含该镜像的预置环境,可快速部署验证。 LLaMA Factory是什么?为什么选择它? LLaMA Factory是一个全栈大模型微调框架,集成了业界广泛使用的微调技术。它的核心优势在于: * 低代码操作:提供Web UI界面,无需编写复杂代码即可完成微调 * 多模型支持:兼容LLaMA、Mistral、Qwen、ChatGLM等主流大模型 * 高效实验管理:支持快速切换数据集和训练配置 * 丰富的微调方法:包括指令监督微调、奖励模型训练、PPO训练等 对于需要频繁测试不同数据集效果的数据工程师来说,LLaMA Factory的自动化流程可以节省大量重复

机器也能写诗?AIGC诗歌创作实战指南(附踩坑避雷手册)

机器也能写诗?AIGC诗歌创作实战指南(附踩坑避雷手册)

机器也能写诗?AIGC诗歌创作实战指南(附踩坑避雷手册) * 机器也能写诗?AIGC诗歌创作实战指南(附踩坑避雷手册) * 当AI开始押韵,人类诗人慌不慌? * AIGC写诗到底是个啥玩意儿?——先扒掉技术的底裤 * 中文诗的特殊debuff * 主流模型怎么“学会”写诗?——Transformer不是变形金刚,但确实会变 * 训练数据黑幕 * loss函数里的小心机 * 实操上手:三行代码让AI给你写情诗 * 你以为AI写诗就是复制粘贴?——错,它背后全是套路 * Token预测视角下的“创作” * 前端视角看“生成” * 优点吹爆,缺点扎心——AI诗歌的AB面 * A面:快、多、不要版权费 * B面:机器味一眼识破 * 前端怎么把AI诗歌玩出花?——不止调接口那么简单 * 1. 古风UI + 毛笔字动画 * 2. AI vs 人类 擂台赛 * 翻车现场复盘:为什么我的AI写出了“火锅煮月亮”? * 1.