Closed beyzanurkaya closed 2 months ago
I think the problem here is that the lane is bidirectional:
Single Directional Lane:
Bidirectional Lane:
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.
isLeft
function sometimes returns false
even though the NPC is clearly to the left of EGO vehicle
When the road is single direction, it means that the NPC is going in the wrong direction in this video. That's why only a straight predicted path is generated for the NPC in autoware_map_based_prediction
.
https://github.com/user-attachments/assets/c83f03f9-a250-4b93-8aa5-966c9c04c7d4
When the road is bi-directional, there doesn't seem to be any situation where either the EGO or the NPC violates the road rules. Therefore, a predicted path is generated as if both vehicles will move along the centerline. This causes the object's future position to be on the path of the EGO. As a result, the module is trying to remove the wrong part from the drivable area.
In conclusion, If the road is bi-directional, vehicles should drive from the right or left side according to the traffic flow, not from the road's centerline.
I will open an issue for this in autoware_map_based_prediction
.
This pull request has been automatically marked as stale because it has not had recent activity.
I planned to solve this problem by shifting the predicted_paths of the objects to the right or left. With @technolojin -san's PR, the instability in dynamic_obstacle_avoidance
was eliminated. I'm closing the issue.
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
Versions
Possible causes
Additional context