autowarefoundation / autoware.universe

https://autowarefoundation.github.io/autoware.universe/
Apache License 2.0
876 stars 566 forks source link

Dynamic_obstacle_avoidance does not work stable #7689

Open beyzanurkaya opened 1 week ago

beyzanurkaya commented 1 week ago

Checklist

Description

A moving object is heading towards the EGO vehicle. The dynamic_obstacle_avoidance module cuts the drivable area based on this object, but in some cases, it becomes confused about which side of the drivable area to cut.

https://github.com/autowarefoundation/autoware.universe/assets/32412808/0eed3525-96c8-4149-8471-e3822c311d7f

Expected behavior

The dynamic_obstacle_avoidance module should stably perform cutting the object from the drivable area without any confusion.

Actual behavior

The dynamic_obstacle_avoidance module is unable to decide from which side to cut the object from the drivable area.

Steps to reproduce

  1. run plan_sim map: LEO-VM-00038.zip
  2. add a dynamic object

Versions

Possible causes

Additional context

beyzanurkaya commented 2 days ago

I think the problem here is that the lane is bidirectional:

Single Directional Lane:

https://github.com/autowarefoundation/autoware.universe/assets/32412808/41270d47-74ca-4e73-ab87-b3171b611740

Bidirectional Lane:

https://github.com/autowarefoundation/autoware.universe/assets/32412808/1d25281e-40c6-47cb-b92d-26ae87258589

I haven't debugged it yet, but my guess is that the module cannot determine which direction the object is on the lane. Therefore, it cannot properly decide which side of the drivable area to cut.

beyzanurkaya commented 13 hours ago

isLeft function sometimes returns false even though the NPC is clearly to the left of EGO vehicle