Description of the files and formats used for the simulations:
Go back to benchmarksThe .env format is used to create the simulation's environment in Vizmo++ and PMPL. First the size of the bounding box/sphere is defined, then there is the number of multibodies. After that the robot is defined:
For every connections in the robot are written:
Then for every passive block there is:
Here is a commented exemple, the values in bold cannot be modified:
Boundary BOX -200:200 -50:50 -100:100 | → | Dimensions of the boundary box ([-x:x], [-y:y], [-z:z]), (1) |
Multibodies | → | Number of bodies in the environment |
4 | ||
Active | → | Start of the robot description |
2 | → | Number of robot's bodies |
VIZMO_COLOR 0 0 0 | → | Color of the robot (RGB) |
robot_base.g Planar Translational | → | Body file name + body type |
link.g Joint | ||
Connections | → | Start of the connections descriptions |
1 | → | Number of connections |
0 1 Revolute -1:1 | → | Connected to bodies numbers/type/x limit |
-0.2 0 0 0 0 45 0 0.4 0 0 0.2 0 0 0 0 0 | → | Go to (2) to see |
Passive | → | Add a new block in the environment |
VIZMO_COLOR 0 0 1 | → | Color of the block (RGB) |
block1.g -27.5 0 0 0 0 90 | → | Block file name + (x,y,z) coordinates + (α,β,γ) angles |
Passive | → | Same for next blocks |
VIZMO_COLOR 1 0.5 0.49 | ||
block2.g 17 -10.5 0 0 0 0 |
(1) if it's a sphere change BOX for SPHERE, then put the center coordinates and the radius
(2) -6 first numbers: Start position from last connection: (x,y,z) coordinates+ (α,β,γ) angles; -4 middle numbers: Denavit-Hartenberg parameters: α,a,d,θ -6 last numbers: End position from last connection: (x,y,z) coordinates+ (α,β,γ) angles;
Possible body types:
Possible connection types:
The .query format is used to create the query for the simulation in Vizmo++. On each line there is the number of the robot, the coordinates and the angle of the robot at the waypoint
Here is a commented exemple:
0 0 0 0 0 0 0 | → | Start position at the origin |
0 8 -8 0.5 0.3 0.8 0 | → | Second waypoint |
0 9 -20 0.5 0.8 0.9 0 | → | Goal |
The BYU format is an ASCII file format for polygonal meshes. Each file consists of three parts:
The header consists of two lines. The first line specifies the number of parts, the number of vertices, the number of polygons, and the number of edges. The second line specifies sequences of beginning and ending polygon numbers for each part. Each field is assumed to be 7 characters wide (i.e., I7 FORTRAN style format, or %7d C format). Typically the number of parts (in a file) is 1, so the second line is the pair (1, number of polygons). The vertex list is a list of all the vertices present in the model. Each vertex is represented by 3 floats giving its x, y, and z-coordinates. Thus, the vertex list consists of of (3 * number of vertices) floats. The list is in free format. (Apparently in the 'true' BYU format, there are two vertices listed per line. We do not enforce that.) The polygon list is a list of the polygons forming the faces of the model. Each polygon consists of a list of three or more vertices, where vertices are identified by their integer indices in the vertex list (one offset). The last vertex of a polygon is indicated by negating its index, i.e., a polygon definition is terminated by a negative number.
The following file example represents a cube in 3-Dimensional space. It contains 8 vertices, 12 polygons, and 36 edges. The polygons for the first (and only) part are numbered 1 through 12.
1 8 12 36 | → | number of parts, number of vertices, number of polygons, number of edges |
1 12 | → | First index/last index |
1.0 1.0 1.0 | ||
1.0 1.0 -1.0 | ||
1.0 -1.0 1.0 | ||
1.0 -1.0 -1.0 | ||
-1.0 1.0 1.0 | ||
-1.0 1.0 -1.0 | ||
-1.0 -1.0 1.0 | ||
-1.0 -1.0 -1.0 | ||
1 5 -7 | ||
1 7 -3 | ||
1 2 -6 | ||
1 6 -5 | ||
1 3 -4 | ||
1 4 -2 | ||
5 6 -8 | ||
5 8 -7 | ||
2 4 -8 | ||
2 8 -6 | ||
3 7 -8 | ||
3 8 -4 |