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

Llama-3.2-3B部署优化:Ollama配置context window与token限制详解

Llama-3.2-3B部署优化:Ollama配置context window与token限制详解 如果你正在使用Ollama运行Llama-3.2-3B,可能会遇到这样的问题:对话聊着聊着,模型好像“失忆”了,不记得之前说了什么;或者当你输入一段稍长的文本时,直接被截断,只处理了前面一小部分。 这通常不是模型本身的问题,而是默认的上下文长度(context window)和token限制设置不够用。今天,我就来手把手教你如何调整这些关键参数,让你的Llama-3.2-3B真正“火力全开”,处理更长的对话和文档。 1. 核心概念:为什么需要调整Context Window和Token限制? 在深入操作之前,我们先花两分钟搞懂两个关键名词,这能帮你更好地理解为什么要调整,以及调整到什么程度合适。 1.1 什么是Context Window(上下文窗口)? 你可以把Context Window想象成模型的工作记忆区或“短期记忆”。它决定了模型在生成下一个词时,能“看到”并参考之前多长的文本。 * 默认情况:很多模型,包括Ollama默认拉取的Llama-3.2-3B,

LLaMA-Factory安装教程(详细版)

LLaMA-Factory安装教程(详细版)

本机显卡双3090 使用wsl中ubuntu torch==2.6.0 conda==24.5.0 cuda==12.4 python==3.12.4(python安装不做赘述,有需要我会另开一篇文章) 一、准备工作 首先,在 https://developer.nvidia.com/cuda-gpus 查看您的 GPU 是否支持CUDA。 保证当前 Linux 版本支持CUDA. 在命令行中输入  uname -m && cat /etc/*release 输出如下,不一定完全一样,类似即可 检查是否安装了 gcc . 在命令行中输入 gcc --version

3步轻松部署Stable Diffusion:Docker一键安装完整指南

3步轻松部署Stable Diffusion:Docker一键安装完整指南 【免费下载链接】stable-diffusion-webui-dockerEasy Docker setup for Stable Diffusion with user-friendly UI 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion-webui-docker 想要体验强大的AI图像生成功能,但被复杂的安装配置吓退?现在通过Stable Diffusion WebUI Docker项目,只需简单几步就能在本地运行专业的Stable Diffusion系统。这个项目使用Docker容器技术,让AI图像生成变得触手可及。 🚀 为什么选择Docker部署Stable Diffusion Docker部署的优势: * ✅ 环境隔离:避免依赖冲突,保持系统干净 * ✅ 一键启动:无需手动安装Python、CUDA等复杂环境 * ✅ 跨平台兼容:支持Windows、macOS、Linux系统 * ✅ 快速更新:轻松升级到最新版本

GitHub Copilot Pro 学生认证免费订阅及VS Code集成完整教程

GitHub Copilot Pro 学生认证免费订阅及VS Code集成完整教程

GitHub Copilot Pro 学生认证免费订阅及VS Code集成完整教程 一、学生认证资格与前期准备 1.1 认证资格要求 GitHub Copilot Pro 为经官方验证的全日制学生、在职教师及热门开源项目维护者提供免费订阅权限。认证需满足以下核心条件: * 学生需提供有效学籍证明(学生卡/学信网认证) * 教师需提供工作证/教师资格证 * 使用学校官方邮箱(以.edu或.edu.cn结尾) * 账户需通过双重身份认证(2FA) 1.2 账户设置准备 1. 绑定教育邮箱 在GitHub账户设置中添加学校邮箱,并完成验证: * 进入Settings → Emails → Add email address * 输入形如[email protected]的邮箱 * 登录学校邮箱查收验证邮件并确认 2. 完善个人信息 在Profile → Edit profile中填写: