Skip to content

17.7.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 07:28

Abstract

Currently, the NPC’s forward vehicle following and collision avoidance functions are determined based on the lane coordinates from the map. As a result, in special map situations, the NPC may not behave as expected and continues to collide with vehicles such as Autoware cars ahead.
To solve this issue, we now determine whether the NPC’s future trajectory intersects with Autoware or other NPCs, enabling more intuitive consideration of surrounding entities.

Details

Timeline.1.mov

Algorithm

Trajectory Generation
From the given waypoints, a Catmull–Rom spline is constructed. The spline is then discretely sampled with num_segments to obtain the “centerline of the trajectory.”

Detection Band Construction
Using configurable parameters, offsets are applied laterally along the normal direction of each sampled point, thereby forming a band-shaped detection area along the trajectory’s centerline.

Intersection Search with Other Entities
For each entity in the simulator, their 2D shape is checked for intersections with the constructed band (or its subdivided segments), starting from the closest part of the trajectory.
The first intersection point found determines the trajectory length (s-distance), which is returned together with the name of the detected entity and the distance.

  • If no intersection is found, none is returned.
  • If there is no target entity, std::nullopt is returned.

Computation Time
In the local test environment, the processing time was under 50 µs, meaning it is expected to have little negative impact on SSv2.

Options

This new forward vehicle detection algorithm is disabled by default.
To enable it, add the following parameter to the launch file.

Parameter name Type Default Description
use_trajectory_based_front_entity_detection bool false Enables or disables the new trajectory-based front entity detection algorithm.
- true: Use trajectory-based detection.
- false: Use conventional lane-based detection.
trajectory_based_detection_width double -1.0 Detection band width around the trajectory centerline.
If set to -1.0, the vehicle’s width will be used.

References

N/A

Destructive Changes

N/A

Known Limitations

N/A

Related Issues