将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。但是机器人模型过于复杂,如果手动转换,不仅容易出错,还耗时耗力,所以我们需要安装mujoco下的工具进行自动转换:

(PS:这里放上我使用的开源项目的地址,只需要简单配置环境和运行脚本即可开始人形的站立训练)

https://gymnasium.farama.org/environments/mujoco/humanoid/

首先需要创建一个新的 Python 3.11 或更高版本的环境(mujoco的依赖包colorlogging 包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境和依赖不被干扰

以下是我的创建命令:

conda create -n mujocopy311 python=3.11
conda activate mujocopy311

接下来安装urdf转mjcf的工具,如果使用pip命令安装urdf_to_micf工具,会碰见比较尴尬的情况如下,安装之后找不到相关的模组和碰到找不到对应版本的问题(不知道是不是只有我这样):

所以按照我的探索,建议还是从源码安装urdf2mjcf工具并进行源码构建比较好

运行:

git clone https://github.com/kscalelabs/urdf2mjcf.git
cd urdf2mjcf
pip install -e .

安装完成后,如果安装不完全,可能会碰见缺少colorlogging依赖包的情况,这是因为 colorlogging 并不是一个标准的 Python 包

所以接下来只能单独从源码安装该模块:

git clone https://github.com/kscalelabs/colorlogging.git
cd colorlogging
pip install -e .

然后再次尝试安装 urdf2mjcf

cd ~/OpenLoongROS-master/azureloong_description/urdf/urdf2mjcf
pip install -e .

等待安装完成后,在conda环境中机器人urdf模型目录下运行:

cp -r /home/user/OpenLoongROS-master/azureloong_description/meshes/*  /path/to/output/directory
python -m urdf2mjcf.convert AzureLoong.urdf --output custom_robot.xml --copy-meshes

首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。

其中,-urdf2mjcf.convert是转换命令;-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字和格式;--copy-meshes,复制机器人meshes文件。

最后就可以成功输出了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值