参考
mujoco210及mujoco-py安装
-
下载适用于Linux或 OSX的 MuJoCo 2.1 版二进制文件 。
-
将mujoco210的下载的目录解压到
~/.mujoco/mujoco210
路径下.注意:如果要为包指定非标准位置,请使用环境变量
MUJOCO_PY_MUJOCO_PATH
。验证是否安装成功(运行下面代码,出现小人证明安装成功)
cd ~/.mujoco/mujoco210/bin ./simulate ../model/humanoid.xml
-
安装python接口mujoco-py
1)使用如下命令安装可能的依赖包
sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3
2)采用如下命令安装mujoco-py
pip3 install -U 'mujoco-py<2.2,>=2.1'
3)在
.bashrc
文件中中添加环境变量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/.mujoco/mujoco210/bin
4)测试是否安装完成
$ python3 >>> import mujoco_py >>> import os >>> mj_path = mujoco_py.utils.discover_mujoco() >>> xml_path = os.path.join(mj_path, 'model', 'humanoid.xml') >>> model = mujoco_py.load_model_from_path(xml_path) >>> sim = mujoco_py.MjSim(model) >>> print(sim.data.qpos) [0. 0. 1.4 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ] >>> sim.step() >>> print(sim.data.qpos) [-1.12164337e-05 7.29847036e-22 1.39975300e+00 9.99999999e-01 1.80085466e-21 4.45933954e-05 -2.70143345e-20 1.30126513e-19 -4.63561234e-05 -1.88020744e-20 -2.24492958e-06 4.79357124e-05 -6.38208396e-04 -1.61130312e-03 -1.37554006e-03 5.54173825e-05 -2.24492958e-06 4.79357124e-05 -6.38208396e-04 -1.61130312e-03 -1.37554006e-03 -5.54173825e-05 -5.73572648e-05 7.63833991e-05 -2.12765194e-05 5.73572648e-05 -7.63833991e-05 -2.12765194e-05] >>>
4、安装mujoco、gym
pip install mujoco
pip install gym
urdf转换成xml导入mujoco
1、urdf文件中的mesh文件需要转化为stl格式
可以使用MeshLab等软件进行转换
2、在xacro/urdf文件添加一些必要的MuJoCo的tag用于控制编译选项。
<mujoco>
<compiler
meshdir="../meshes_mujoco/"
balanceinertia="true"
discardvisual="false" />
</mujoco>
discardvisual
这个tag
默认是true
,也就是丢掉视觉效果部分,保留碰撞部分。如果模型很复杂,它会把很多mesh
文件进行简化,变成球、圆柱、立方体等,视觉效果会差很多,因此建议设为false
,具体参考。另外,在MuJoCo的界面,可以通过按键盘数字键0和1进行视觉上的切换(视觉mesh与碰撞mesh)。
3、mesh路径的修改
4、从xacro文件生成urdf文件的命令(如果有urdf文件则不需要此步):
rosrun xacro xacro --inorder model.xacro > model.urdf
5、检查urdf文件(可选):
check_urdf model.urdf
6、在RViz中可视化(可选):
roslaunch urdf_tutorial display.launch model:=path/to/your/urdf/file
7、生成基本模型
在确认URDF模型没有问题后,进入MuJoCo的可执行文件夹内执行命令进行转换(如默认的~/mujoco/mujoco200/bin):
$./compile /path/to/model.urdf /path/to/model.mjb
$./compile /path/to/model.urdf /path/to/model.txt
$./compile /path/to/model.urdf /path/to/model.xml
官方说明可以转换成三种模型,我们一般用xml的格式。
$./compile
Usage: compile infile outfile
infile can be in mjcf, urdf, mjb format
outfile can be in mjcf, mjb, txt format
8、测试生成的基本模型:
cd ~/.mujoco/mujoco210/bin
./simulate /path/to/model.xml
https://github.com/openai/mujoco-py
MuJoCo的机器人建模