[Multilane roads] Vertices simplification

Issue #33 resolved
Agustin Alba Chicar created an issue

Define a visualization behaviour for segments with multilanes, so as to defines highways, avenues, roads, simple streets, etc. This will create more real representations.

As a requirement, we first need to research on:

  • Geometry support for solving the polygons of the lanes
  • Define the requirements of with and decisions on how to proceed when no width is given
  • Figure out how to create the lines that divide the lanes if the texture is not supported yet.

Comments (15)

  1. Agustin Alba Chicar reporter

    @JChoclin, @andres_fortier

    An email to OSRF has been sent asking for suggestions about Geometry libraries. We can use the Characteristic Hull algorithm to solve this issue, but we need support for triangulation and other stuff. Boost Geometry may be useful but we need to code on top of it some algorithms like triangulation and some sorts. Another option I found is CGAL which already has support for Alpha Shapes but I think that it will bring a ton of useless (for us) code this last option.

    For the lines that divide the lanes, I found that markers have the capability of creating line strips but I don't think this is the way to go, we need to apply textures to them.

    As a first approach, I'll try to identify the cases where lanes should be merged or not (with width porperty set or not) and head code for creating the algorithm of alpha shapes.

  2. Andrés Fortier

    About importing a big library, unless OSRF has a strong opinion, I wouldn't care much. We can later re-code that particular algorithm, but we first need to validate the approach. So if there is an implementation out there that we can use, lets go ahead.

    About the lane dividers, I would advise to follow the same idea. We are now exploring a possible implementation and the main goal is to validate it. If we need to apply textures and that works, lets do it and later think on how to improve that.

    +1 on starting on case identification.

  3. Agustin Alba Chicar reporter

    Some improvements with CGAL. This is the result of the computation of the points:

    Comparison.png

    The picture above shows all the points of two lanes and the other the alpha shape computed. This is the roadA with a merge in the two segments.

  4. Agustin Alba Chicar reporter

    Some improvements. There is a problem with the triangulation process at the end that creates triangles for the convex hull and not for the alpha-shape.

    Improvements.png

  5. Agustin Alba Chicar reporter

    We will stop working on this issue for the moment until we get more information from the map file format on how to build roads.

  6. Log in to comment