Some of the hacks that are challenging with OSM encoding for autonomy are:
- We need a way to provide a vector for certain area like v=parking_space so the autonomous vehicle knows the expected heading of the vehicles once it's stopped inside the parking_space. The current hack is to use the heading of the way that ends or starts in the parking_Space. An other hack is to use the first 2 points of the area to act as the desired heading. This typically works as most are just rectangles, but the heading is not explicit in the encoding, it's just implicit (and not intuitive like area = way with same start and finish) in the standard encoding mechanism. an other way would be to encode it into a new tag <tag k='heading' v='358' />, but this new tag would not be visible like a parking_space on a map and could look "right" while being wrong.
- the OSM format does not model roads down to the lane levels and that especially at intersections. So under the current model, Roads (Ways) are not supposed to overlap, but for autonomy we have "overlapping" roads, especially at intersections where all path combinations are explicitly defined there is a concentration of overlapping roads at all these points.