obstacle_collision_checker#
Purpose#
obstacle_collision_checker is a module to check obstacle collision for predicted trajectory and publish diagnostic errors if collision is found.
Inner-workings / Algorithms#
Flow chart#
Algorithms#
Check data#
Check that obstacle_collision_checker receives no ground pointcloud, predicted_trajectory, reference trajectory, and current velocity data.
Diagnostic update#
If any collision is found on predicted path, this module sets ERROR level as diagnostic status else sets OK.
Inputs / Outputs#
Input#
| Name | Type | Description | 
|---|---|---|
~/input/trajectory | 
autoware_planning_msgs::msg::Trajectory | 
Reference trajectory | 
~/input/trajectory | 
autoware_planning_msgs::msg::Trajectory | 
Predicted trajectory | 
/perception/obstacle_segmentation/pointcloud | 
sensor_msgs::msg::PointCloud2 | 
Pointcloud of obstacles which the ego-vehicle should stop or avoid | 
/tf | 
tf2_msgs::msg::TFMessage | 
TF | 
/tf_static | 
tf2_msgs::msg::TFMessage | 
TF static | 
Output#
| Name | Type | Description | 
|---|---|---|
~/debug/marker | 
visualization_msgs::msg::MarkerArray | 
Marker for visualization | 
Parameters#
| Name | Type | Description | Default value | 
|---|---|---|---|
delay_time | 
double | 
Delay time of vehicle [s] | 0.3 | 
footprint_margin | 
double | 
Foot print margin [m] | 0.0 | 
max_deceleration | 
double | 
Max deceleration for ego vehicle to stop [m/s^2] | 2.0 | 
resample_interval | 
double | 
Interval for resampling trajectory [m] | 0.3 | 
search_radius | 
double | 
Search distance from trajectory to point cloud [m] | 5.0 | 
Assumptions / Known limits#
To perform proper collision check, it is necessary to get probably predicted trajectory and obstacle pointclouds without noise.