LiDAR Based Perception
Overview

-
The pointcloud from LiDAR is received by LiDAR CenterPoint for pointcloud object detection, obtaining object classification, position, and size information, and outputting DetectedObjects.
-
Multi Object Tracker receives DetectedObjects and performs object tracking to obtain object classification, position, shape, velocity, and acceleration information. It outputs TrackedObjects.
-
Map Based Prediction receives TrackedObjects, predicts object trajectories based on map information, and outputs PredictedObjects.
How To Use
Launch Perception
LiDAR CenterPoint

Detect objects in pointcloud using CenterPoint, you can see the CAR obejct in the blue box.
Input Topics
| Topic | Type | Description |
|---|---|---|
| /sensing/lidar/concatenated/pointcloud | sensor_msgs/msg/PointCloud2 | realtime pointcloud |
Output Topics
| Topic | Type | Description |
|---|---|---|
| /perception/object_recognition/detection/centerpoint/objects | autoware_auto_perception_msgs/msg/DetectedObjects | Detected Objects |
Multi Object Tracker

multi-frame object association using Data Association, use EKF Tracker to obtain object tracking with a unique uuid. The speed is visualized by the red line.
Data Association
associate the data of the multi-frame perception results, convert it into the Min Cost Max Flow problem, and solve it using mussp to obtain the connection between the multi-frame perception results.
EKF Tracker
Choose different models for different classifications to track the perception results and improve tracking stability and accuracy.
Input Topics
| Topic | Type | Description |
|---|---|---|
| /perception/object_recognition/detection/centerpoint/objects | autoware_auto_perception_msgs::msg::DetectedObjects | detected objects |
Output Topics
| Topic | Type | Description |
|---|---|---|
| /perception/object_recognition/tracking/objects | autoware_auto_perception_msgs/msg/TrackedObjects | Tracked objects without trajectory |
Map Based Prediction
Predict the object's future trajectory based on the map and the tracked object to improve the safety and stability of path planning.
Remove Old Data in History
store the time series data of objects, which includes the position, speed, and time information, to predict if the objects need to lane change or not.
Get Current Lanelet Then Update Objects Data
Detect whether if the object need to change lane or to to do left lane change or right lane change.
Generate predicted Trajectories for objects
According to the lane change information and map information, generate the predicted reference trajectories for objects.
Input Topics
| Topic | Type | Description |
|---|---|---|
| /perception/object_recognition/tracking/objects | autoware_auto_perception_msgs/msg/TrackedObjects | Tracked Objects without trajectory |
| /map/vector_map | autoware_auto_mapping_msgs/msg/HADMapBin | lanelet2 map |
Output Topics
| Topic | Type | Description |
|---|---|---|
| /perception/object_recognition/objects | autoware_auto_perception_msgs::msg::PredictedObjects | objects with predicted trajectories |