
perception_data_structure.drawio is the draw.io-file if one want to change it
The output from the perception team consists of a list of N "rays" of data. Each ray has all the attributes in the figure above.
Here follows an explanation of each of the attributes of a ray:
- Validity flag: 1 if the data is considered reliable, 0 if the ray was considered as noise by the perception algorithms
- Range: how far away the closest object in this section was.
- Inverse range: inverse of the range
- Angle: the angle of the ray in the body-frame that follows the NED-convention.
- Position covariance: 2x2 matrix of the covariance of the position. Sent as a flat 4x1 matrix
- Object type: what kind of object is detected in this ray? STATIC=static object, PMO=possibly moving object, CMO=certainly moving object, OTHER=other object type
- Object id: All detected moving objects will get an id. If the id=-1, the ray is not part of a moving object. if id = 1,2,...,n the ray is part of the object consisting of all rays with the same object id. All rays in the same object is given the same motion
- Motion: linear velocity vector of the ray in NED-frame. The motion vector is equal for all the rays that has the same object id.
- Motion covariance: 2x2 matrix of the covariance of the velocity. Sent as a flat 4x1 matrix
The message type made in ROS2 is defined in the filesĀ PerceptionRay.msg andĀ PerceptionScan.msg. Where PerceptionRay.msg represents one ray of data, while PerceptionScan.msg consists of a list of all the rays