原文http://www.mujoco.org/book/XMLreference.html
前言:想要修改gym里面的xml文档,所以阅读了一下官方文档。仅交流学习使用。
一、每个元素的属性顺序无关;父元素下子元素顺序可以任意,除了:
i.body元素下的关节元素的顺序
ii.spatial tendon元素下的元素顺序
iii.重复属性的顺序,以最后一次设置为整个模型参数
iv.快捷键设置的顺序,后者覆盖前者
二、element§ion
(模板:
i、元素名称
属性:参数
-解释)
1、mujoco
属性-model: 类型-string
可以定义这个模型的名称,也是xml必要开头
2、compiler
这个元素是用于设置内置解析器和编译器选项。解析和编译后不再有任 何影响。这里的设置是全局性的,适用于整个模型。
boundmass: real , "0"
-提供一个比body更低的边界限制,以解决模型建立不准确问题。注意mujoco没有dummy(虚拟实体)设置。
coordinate[坐标系]:[local , global] "local" for MJCF, always "local" for URDF
-该属性用于指定文档撰写模型的位置方向是在local还是global的。URDF解析器将属性内部设置为loacl,无法修改。
angle:[radian, degree]
-指定弧度制和角度值。MJCF默认弧度制,urdf默认角度制。
meshdir: string, optional
-string是定位mesh或高度场文件路径。
texturedir:string , optional
-用于搜寻文档
3、optional
timestep:real , "0.002"(实数类型)
-以秒为单位的仿真步长,必须长于CPU时长。
apirate:real , "100"
-套接字API的更新速度。不影响物理仿真。
impratio:real , "1"
-定义较为复杂的摩擦力
gravity:real(3),"0 0 -9.81"
-自然是定义重力的。默认z轴向上。
还有wind、density、viscosity、magnetic风、密度、粘度、磁力等物理性质;
collision : [all , predefined , dynamic] , "all"
-检测几何碰撞。括号内表示检测对象的选择。
4、optional/flag
性质的enable和disable
5、asset
texture、hfield、mesh、skin/bone、material
6、(world)body
name:string,optional
-命名
childclass: string, optional
-继承设置
mocap:[false , true],"false"
-仅为世界实体下属且没有关节才设置为真。
pos: real(3),optional
-默认(0,0,0)
7、body/inertial
pos:real(3),required
-惯性坐标系的位置
quat,axisangle,xyaxes,zaxis,euler
-惯性坐标系方向
mass:real,required
-实体质量。
diainertia:real(3),optional
-对角惯性矩阵,表达相对于惯性坐标系实体的惯性。如果省略则fullinertia必须。
fullinertia:real(6),optional
-3x3的对称阵M,因此只需要六个变量。
8、body/joint 在该元素下创建关节,如若没有定义关节,那么实体就是焊接于母体之上的
name:string,optional
class:string,optional
type:[free , ball , slide , hinge],"hinge"
-定义关节类型。
-free-即六自由度关节,就是可以使实体漂浮。
-ball-就是球形关节
-slide-滑动关节
-hinge-铰接关节,有一个转动自由度,并且是默认关节类型
group:int,"0"
-整合关节组,方便调用
pose:real(3),"0 0 0"
-关节位置
axis:real(3)," 0 0 1"
-指定旋转轴铰链关节旋转方向;滑动关节的滑动方向。
range:reeal(2),"0 0"
-可以限制所有关节,除了自由关节
damping:real, "0"
-阻尼设置
9、body/geom 碰撞的必要条件
name:string,optional
class:string,optional
type: [plane,hfield,sphere,capsule,cylinder,box,mesh],"sphere"
-参数代表了几何形状。
rgba:real(4),"0.5 0.5 0.5 1"
-设置颜色和透明度
mesh:string,optional
-应该指的是,设置为网格时,会参考字符串指定形状生成几何形状。