osi3::BaseMoving Struct Reference

The base attributes of an object that is moving. More...

Collaboration diagram for osi3::BaseMoving:

Public Attributes

optional Dimension3d dimension = 1
 The 3D dimension of the moving object (its bounding box). More...
 
optional Vector3d position = 2
 The reference point for position and orientation: the center (x,y,z) of the bounding box. More...
 
optional Orientation3d orientation = 3
 The relative orientation of the moving object w.r.t. More...
 
optional Vector3d velocity = 4
 The relative velocity of the moving object w.r.t. More...
 
optional Vector3d acceleration = 5
 The relative acceleration of the moving object w.r.t. More...
 
optional Orientation3d orientation_rate = 6
 The relative orientation rate of the moving object w.r.t. More...
 
optional Orientation3d orientation_acceleration = 8
 The relative orientation acceleration of the moving object w.r.t. More...
 
repeated Vector2d base_polygon = 7
 Usage as ground truth: The two dimensional (flat) contour of the object. More...
 
repeated BoundingBox bounding_box_section = 9
 Sub-divisions of the overall bounding box of the BaseMoving object. More...
 

Detailed Description

The base attributes of an object that is moving.

This includes the MovingObject messages.

OSI_BaseMoving.svg
OSI_BaseMoving_Top.svg

E.g. a vehicle is a base moving object.

All coordinates and orientations from ground truth objects are relative to the global ground truth frame. All coordinates and orientations from detected objects are relative to the host vehicle frame (see: MovingObject vehicle reference point).

Member Data Documentation

◆ dimension

optional Dimension3d osi3::BaseMoving::dimension = 1

The 3D dimension of the moving object (its bounding box).

Note
The dimension must completely enclose the geometry of the BaseMoving with the exception of the side mirrors for vehicles.
The bounding box does NOT include side mirrors for vehicles.

◆ position

optional Vector3d osi3::BaseMoving::position = 2

The reference point for position and orientation: the center (x,y,z) of the bounding box.

◆ orientation

optional Orientation3d osi3::BaseMoving::orientation = 3

The relative orientation of the moving object w.r.t.

its parent frame, noted in the parent frame. The orientation becomes global/absolute if the parent frame is inertial (all parent frames up to ground truth).

\( Origin_{\text{base moving entity}} := Rotation_{yaw,pitch,roll}( \) orientation \( )* (Origin_{\text{parent coord system}} - \) position \( ) \)

Note
There may be some constraints how to align the orientation w.r.t. to some stationary object's or entity's definition.

◆ velocity

optional Vector3d osi3::BaseMoving::velocity = 4

The relative velocity of the moving object w.r.t.

the parent frame, noted in the parent frame. The velocity becomes global/absolute if the parent frame does is inertial (all parent frames up to ground truth).

position \( (t) := \) position \( (t-dt)+ \) velocity \( *dt \)

◆ acceleration

optional Vector3d osi3::BaseMoving::acceleration = 5

The relative acceleration of the moving object w.r.t.

its parent frame, noted in the parent frame. The acceleration becomes global/absolute if the parent frame is inertial (all parent frames up to ground truth).

position \( (t) := \) position \( (t-dt)+ \) velocity \( *dt+ \) acceleration \( /2*dt^2\)

velocity \( (t) := \) velocity \( (t-dt)+ \) acceleration \( *dt \)

◆ orientation_rate

optional Orientation3d osi3::BaseMoving::orientation_rate = 6

The relative orientation rate of the moving object w.r.t.

its parent frame and parent orientation rate in the center point of the bounding box (origin of the bounding box frame), noted in the parent frame. The orientation becomes global/absolute if the parent frame is inertial (all parent frames up to ground truth).

orientation \( .yaw(t) := \) orientation_rate \( .yaw(t) * dt + \) orientation \( .yaw(t-dt) \)

orientation \( .pitch(t) := \) orientation_rate \( .pitch(t) * dt + \) orientation \( .pitch(t-dt) \)

orientation \( .roll(t) := \) orientation_rate \( .roll(t) * dt + \) orientation \( .roll(t-dt)\)

◆ orientation_acceleration

optional Orientation3d osi3::BaseMoving::orientation_acceleration = 8

The relative orientation acceleration of the moving object w.r.t.

its parent frame and parent orientation acceleration in the center point of the bounding box (origin of the bounding box frame), noted in the parent frame. The orientation becomes global/absolute if the parent frame is inertial (all parent frames up to ground truth).

orientation_rate \( .yaw(t) := \) orientation_acceleration \( .yaw(t) * dt + \) orientation_rate \( .yaw(t-dt) \)

orientation_rate \( .pitch(t) := \) orientation_acceleration \( .pitch(t) * dt + \) orientation_rate \( .pitch(t-dt) \)

orientation_rate \( .roll(t) := \) orientation_acceleration \( .roll(t) * dt + \) orientation_rate \( .roll(t-dt) \)

◆ base_polygon

repeated Vector2d osi3::BaseMoving::base_polygon = 7

Usage as ground truth: The two dimensional (flat) contour of the object.

This is an extension of the concept of a bounding box as defined by Dimension3d. The contour is the projection of the object's outline onto the z-plane in the object frame (independent of its current position and orientation). The height is the same as the height of the bounding box.

Usage as sensor data: The polygon describes the visible part of the object's contour.

General definitions: The polygon is defined in the local object frame: x pointing forward and y to the left. The origin is the center of the bounding box. As ground truth, the polygon is closed by connecting the last with the first point. Therefore these two points must be different. The polygon must consist of at least three points. As sensor data, however, the polygon is open. The polygon is defined counter-clockwise.

◆ bounding_box_section

repeated BoundingBox osi3::BaseMoving::bounding_box_section = 9

Sub-divisions of the overall bounding box of the BaseMoving object.

The bounding box sections can include side mirrors, cargo, etc. for vehicles, as well as body-part sections for pedestrians. Note that for more precise pedestrian information PedestrianAttributes can be used.

Note
The bounding box sub-divisions can extend beyond the overall bounding box, however no actual geometry must reside outside of the overall bounding box, with the specific exception of the side mirrors.
If any sub-divisions are provided, then they must cover all occupied space of the overall bounding box. In other words, a consumer of this data is guaranteed that any part of the overall bounding box that is not covered by any sub-division is free of physical objects, and thus no collisions can occur there.

  • osi_common.proto