maliput_object
Maliput Object YAML specification
Author
Agustin Alba Chicar
Franco Cipollone
Date
May 12, 2022

YAML format specification for objects

The maliput::object API provides two functions to load a concrete maliput::object::api::ObjectBook implementation from a YAML description:

The only supported type of coordinate is maliput::math::Vector3 , meaning that concrete BoundingRegions are limited to BoundingBox.

YAML format

See the following code snippet that shows an example of a YAML ObjectBook:

maliput_objects:
my_awesome_object:
bounding_region:
position: [1.2, 3.4, 4.5]
rotation: [0.1745329, 0.3490659, 0.5235988]
type: box
box_size: [1.1, 2.2, 3.3]
properties:
- user_defined_prop_1: my_value_1
...
...
- user_defined_prop_n: my_value_n
...

Entities

maliput_objects

maliput_object is a dictionary of objects. Every first level key identifies a new maliput::object::api::Object :

maliput_object:
object_1:
...
object_2:
...
object_n:
...

bounding_region

A mapping describing a bounding region. For boxes:

bounding_region:
position: [X, Y, Z]
rotation: [R, P, Y]
type: box
box_size: [L, D, H]

Where:

  • position: is the Inertial Frame position described as a 3D Vector: \([X, Y, Z]\).
  • rotation: is the Inertial Frame rotation described as a 3D Vector of Euler angles \([R, P, Y]\) (roll, pitch, yaw).
  • type: must be box.
  • box_size: the size of the bounding box expressed as if the box is at the origin of the Inertial Frame and aligned with it. Each coordinate means \([Length, Depth, Height]\).

properties

A listing of user defined properties. The listing is flat, meaning that it is a collection of key-value pairs with no depth. Keys and values will be read as strings.

properties:
- user_defined_prop_1: my_value_1
...
- user_defined_prop_n: my_value_n

Where:

  • user_defined_prop_1 and user_defined_prop_n are examples of keys.
  • my_value_1 and my_value_n are examples of values.