Benchmarks-Documentation Formats | Parasol Lab

Format Description

Description of the files and formats used for the simulations:

Go back to benchmarks

The environment format (.env)

Description:

The .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:

  • the the number of bodies it has;
  • its color;
  • the names and the types of its bodies (if the bodies aren't in the same folder the path needs to be given before the name);
  • the number of connections.

For every connections in the robot are written:

Then for every passive block there is:

  • the block color;
  • the block position coordinates and angles.

Example:

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:

  • Planar (Translational or Rotational)
  • Volumetric (Translational or Rotational)
  • Fixed
  • Joint

Possible connection types:

  • Revolute
  • Spherical (if spherical it needs the y limits after the x limits of the example)
  • NonActuated

The query format (.query)

Description:

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

Example:

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 (.g)

Description:

The BYU format is an ASCII file format for polygonal meshes. Each file consists of three parts:

  • a header,
  • a vertex list,
  • a polygon list.

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.

Example:

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