Skip to content

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#

uml diagram

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.