RaiSim World Configuration File¶
We provide a few examples here.
The following describes the RaiSim world configuration xml convention. The (optional) tag means that the element is optional given the parent. If the element is not marked (optional), it must exist given that the parent exist. The (multiple) tag means that there can be multiple elements for the same parent.
- raisim: Top most node.
<attribute>
version
: Describes the version of RaiSim that created the configuration file. The file might be read by different version.- <child> (optional)
material
For more information and examples, check out here. - <child> (optional)
default
If it doesn’t exist, the default parameters are as described here. <attribute>
friction
[double]<attribute>
restitution
[double]<attribute>
restitution_threshold
[double]
- <child> (optional)
- <child> (optional, multiple)
pair_prop
<attribute>
name1
[string]<attribute>
name2
[string]<attribute>
friction
[double]<attribute>
restitution
[double]<attribute>
restitution_threshold
[double]
- <child> (optional, multiple)
- <child> (optional)
- <child> (optional)
gravity
<attribute>
value
[Vec<3>]: default={0, 0, -9.81}
- <child> (optional)
- <child> (optional)
timestep
<attribute>
value
[double]: default = 0.005
- <child> (optional)
- <child> (optional)
erp
For experts only. It is a spring and damper term to the error dynamics. <attribute>
erp
: spring term [double]<attribute>
erp2
: damping term [double]
- <child> (optional)
<child>
objects
: described in “Object XML Description”- <child>
wire
DESCRIPTION, EXAMPLES <attribute>
name
[string]: wire name<attribute>
type
[string]: wire type. “stiff”, “compliant”, or “custom”<attribute>
stretch_type
[string]: stretch type- <child>
object1
andobject2
the object to which the wire is attached First option 1. <attribute>
local_index
[int]: The body index for the wire attachment. 0 for singleBodyObject. 2. <attribute>pos
[Vec<3>]: The position in the local body frame to where the wire is attached. Second option, for articulated system only 1. <attribute>frame
[string]: The name of the frame to where the wire is attached.
- <child>
- <child>
Object XML Description¶
sphere¶
attributes: (optional, default=1) collision_group
[uint64_t], (optional, default=-1) collision_mask
[uint64_t], (optional) appearance
[string], (optional) body_type
[string]: one of {dynamic, kinematic, static}, (optional) name
[string], mass
[double]
<child> (optional, default=From geometry assuming uniform density)
inertia
: <attribute>xx
[double],xy
[double],xz
[double],yy
[double],yz
[double],zz
[double]<child> dim: <attribute> radius[double]
<child> state: <attribute>
pos
[Vec<3>], (optional, default=1,0,0,0)quat
[Vec<4>], (optional, default=0,0,0)lin_vel
[Vec<3>], (optional, default=0,0,0)ang_vel
[Vec<3>]
capsule and cylinder¶
attributes: (optional, default=1) collision_group[uint64_t], (optional, default=-1) collision_mask[uint64_t], (optional) appearance[string], (optional) body_type[string]: one of {dynamic, kinematic, static}, (optional) name[string], mass[double]
<child> (optional, default=From geometry assuming uniform density)
inertia
: <attribute>xx
[double],xy
[double],xz
[double],yy
[double],yz
[double],zz
[double]<child> dim: <attribute>
radius
[double],height
[double]<child> state: <attribute>
pos
[Vec<3>], (optional, default=1,0,0,0)quat
[Vec<4>], (optional, default=0,0,0)lin_vel
[Vec<3>], (optional, default=0,0,0)ang_vel
[Vec<3>]
box¶
attributes: (optional, default=1) collision_group
[uint64_t], (optional, default=-1) collision_mask
[uint64_t], (optional) appearance
[string], (optional) body_type
[string]: one of {dynamic, kinematic, static}, (optional) name
[string], mass
[double]
<child> (optional, default=From geometry assuming uniform density)
inertia
: <attribute>xx
[double],xy
[double],xz
[double],yy
[double],yz
[double],zz
[double]<child> dim: <attribute>
x
[double],y
[double],z
[double]<child> state: <attribute>
pos
[Vec<3>], (optional, default=1,0,0,0)quat
[Vec<4>], (optional, default=0,0,0)lin_vel
[Vec<3>], (optional, default=0,0,0)ang_vel
[Vec<3>]
compound¶
attributes: (optional, default=1) collision_group
[uint64_t], (optional, default=-1) collision_mask
[uint64_t], (optional) appearance
[string], (optional) body_type
[string]: one of {dynamic, kinematic, static}, (optional) name
[string], com
[Vec<3>], mass
[double]
- <child> (optional, default=From geometry assuming uniform density)
inertia
attributes:
xx
[double],xy
[double],xz
[double],yy
[double],yz
[double],zz
[double]
- <child> (optional, default=From geometry assuming uniform density)
- <child>
children
Common attributes of the children:
appearance
[string]- <child> (optional, multiple)
sphere
- <child> dim
<attribute>
radius
[double]
<attribute> (optional, default=default)
material
- <child> (optional, multiple)
- <child> (optional, multiple)
cylinder
- <child>
dim
<attribute> radius[double]
<attribute> height[double]
- <child>
<attribute> (optional, default=default)
material
- <child> (optional, multiple)
- <child> (optional, multiple)
capsule
- <child>
dim
<attribute>
radius
[double]<attribute>
height
[double]
- <child>
<attribute> (optional, default=default)
material
- <child> (optional, multiple)
- <child> (optional, multiple)
box
- <child>
dim
<attribute>
x
[double]<attribute>
y
[double]<attribute>
z
[double]
- <child>
<attribute> (optional, default=default)
material
- <child> (optional, multiple)
- <child>
- <child> state
attributes:
pos
[Vec<3>], (optional, default=1,0,0,0)quat
[Vec<4>], (optional, default=0,0,0)lin_vel
[Vec<3>], (optional, default=0,0,0)ang_vel
[Vec<3>]
mesh¶
attributes: (optional, default=1) collision_group
[uint64_t], (optional, default=-1) collision_mask
[uint64_t], (optional) appearance
[string], (optional) body_type
[string]: one of {dynamic, kinematic, static}, (optional) name
[string], mass
[double], file_name
[string], com
[Vec<3>], scale
[Vec<3>]
- <child> (optional, default=From geometry assuming uniform density)
inertia
attributes:
xx
[double],xy
[double],xz
[double],yy
[double],yz
[double],zz
[double]
- <child> (optional, default=From geometry assuming uniform density)
- <child>
state
attributes:
pos
[Vec<3>], (optional, default=1,0,0,0)quat
[Vec<4>], (optional, default=0,0,0)lin_vel
[Vec<3>], (optional, default=0,0,0)ang_vel
[Vec<3>]
- <child>
ground¶
attributes: (optional, default=-1) collision_mask
[uint64_t], (optional) appearance
[string], (optional) name
[string], (optional, default=0) height
[double]
heightmap¶
Options
attributes: (optional, default=-1)
collision_mask
[uint64_t], (optional)appearance
[string], (optional, default=default)material
[string], (optional)name
[string],x_sample
[size_t],y_sample
[size_t],x_size
[double],y_size
[double],center_x
[double],center_y
[double],height
[std::vector<double>]attributes: (optional, default=-1)
collision_mask
[uint64_t], (optional)appearance
[string], (optional, default=default)material
[string], (optional)name
[string],x_sample
[size_t],y_sample
[size_t],x_size
[double],y_size
[double],center_x
[double],center_y
[double],z_scale
[double],z_offset
[double],png
[string]attributes: (optional, default=-1)
collision_mask
[uint64_t], (optional)appearance
[string], (optional, default=default)material
[string], (optional)name
[string],center_x
[double],center_y
[double],text
[string]- attributes: (optional, default=-1)
collision_mask
[uint64_t], (optional)appearance
[string], (optional, default=default)material
[string], (optional)name
[string],x_sample
[size_t],y_sample
[size_t],x_size
[double],y_size
[double],center_x
[double],center_y
[double] - <child>
terrain_properties
attributes:
z_scale
[double],fractal_octaves
[size_t],fractal_lacunarity
[double],fractal_gain
[double],step_size
[double],frequency
[double],seed
[size_t]
- <child>
- attributes: (optional, default=-1)
articulated_system¶
attributes: (optional, default=1) collision_group
[uint64_t], (optional, default=-1) collision_mask
[uint64_t], (optional) name
[string], (optional, default=the URDF directory) res_dir
[string], urdf_path
[string]
- <child>
state
attributes:
qpos
[VecDyn], (optional, default=zeros)qvel
[VecDyn]
- <child>