Handling invalid / out of ODD areas #3275
-
AbstractMotivationThe motivation behind this idea came from a specific situation in Bus ODD project in Gebze map. The idea came out of part of Gebza campus is under-pass a bridge of railway. The development team would like the bus will not drive autonomously in this under-pass area and the human driver would fully take over the driving task responsibility and may engage autonomy mode again after passing it. The bus will not drive in this area being marked/annotated as invalid or out of ODD that the bus must not operate autonomously herein. The following screenshots shows the problem of the mentioned situation in Gebze map : GeneralizationThis situation can be expanded to lots of examples based on business needs, different requirements, technical limitations, ... etc that may mark some areas as out of ODD that vehicle must not drive in autonomous mode within these areas. Proposed SolutionHD Map side
Planning side
Inputs
Output
Advanced
Next Steps
Conclusion
|
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 3 replies
-
Hi @ahmeddesokyebrahim , Thank you for your proposal on how to handle disabled areas for a Lanelet2 map for the planning stack. I appreciate your creativity and effort in finding a solution for this challenge. Your idea of generating artificial stop lines at the boundaries of the ODD-excluded areas is interesting and could potentially prevent vehicles from entering those areas. However, If the vehicle is already inside a disabled area, it might not see the virtual stop lines and could move. In order to prevent this scenario, we could add a new "odd_excluded" tag to the Lanelet2 map and a new |
Beta Was this translation helpful? Give feedback.
-
Following up the discussion ...
Next Steps ...
|
Beta Was this translation helpful? Give feedback.
-
Hi @ahmeddesokyebrahim, thank you for your nice work for out of ODD handling. And sorry to comment on the discussion posted a month ago, but please let me post this as a memo. I agree with the concept of stopping at the virtual stop line when deviating from ODD. And as @xmfcx suggested in the comment above, the tag "virtual_stop_line" alone may not clearly show what it means. It would be better to add more explicit information indicating that it is outside ODD. Alternatively, it could be a good idea to use something like a geofence, which is frequently used in drone applications. In the HDMap, define a geofence area (or a prohibited area) and when crossing it, stop at the corresponding (or automatically generated) stop line and notify the driver. It may be easier for developers to design by enclosing drivable or non-drivable areas with polygons, rather than tagging all lanelets. Moreover, this approach can be used when autonomous vehicle drives in areas where lanes are not defined in the future. This is an advanced option, so I would appreciate if we can continue discussing this. |
Beta Was this translation helpful? Give feedback.
-
The following PRs in these mentioned repos will be intended for review after today's ASWG 21st March meeting :
❗ Merge sequence must follow this order ❗ |
Beta Was this translation helpful? Give feedback.
-
The following videos show the current progress with invalid lanelet :
|
Beta Was this translation helpful? Give feedback.
-
The following video shows a working demo after changing the module name from As well, the following map file can be used for testing after changing the tag name. https://drive.google.com/file/d/1oH9Q0Sk9pm-ttF34Vx-bceQCx9Ja-xmS/view?usp=share_link |
Beta Was this translation helpful? Give feedback.
Hi @ahmeddesokyebrahim ,
Thank you for your proposal on how to handle disabled areas for a Lanelet2 map for the planning stack. I appreciate your creativity and effort in finding a solution for this challenge.
Your idea of generating artificial stop lines at the boundaries of the ODD-excluded areas is interesting and could potentially prevent vehicles from entering those areas. However, If the vehicle is already inside a disabled area, it might not see the virtual stop lines and could move.
In order to prevent this scenario, we could add a new "odd_excluded" tag to the Lanelet2 map and a new
scene_module
for thebehavior_velocity_planner
package that would stop the vehicle in the areas ma…