RNDF SimpleCity in Drake

Issue #116 resolved
Agustin Alba Chicar created an issue

Create a sample program in Drake that loads SimpleCity from the RNDF coordinates. It should include also a car that drives it like the video shown here.

We should use ignition-math from this commit or new ones as the PR moves on.

We don't need to implement a RNDF parser for this issue, just an intermidiate representation of the waypoints that can be easily converted into Maliput structures to create the road network.

Comments (7)

  1. Agustin Alba Chicar reporter

    Here are some pictures to show the progress:

    1.png 2.png 3.png 4.png

    I have taken SimpleCity.rndf example and edited so we get all the waypoints, latitude and longitude in the saw row separated by tabs and spaces respectively. This leads to easy parsing the lines and converting this into an intermediate Waypoint class that manages the id, lat-long conversion etc. Another string is used to keep all the connections. I make intensive use of std:tuples to avoid as much as possible use types that can be defined in the future parser in a very similar way. So information is used but not under a class or specific structure.

    On the other hand, I still need to use the updates of ignition::math::Splines of @hidmic to refactor the lanes and connection creations.

    Code can be found here: https://github.com/ekumenlabs/drake/tree/test/simple_city_rndf

  2. Agustin Alba Chicar reporter

    After integrating the code from here I got the same result as the previous comment. However, connections are not being created right now due to the lack of an API that lets the programmer know the heading of a waypoint already loaded into a lane. I need to refactor the Builder class (this is a wrapper that makes it easy to load a complete RoadGeometry) to add this capability. At the beginning the Builder was copied from Monolane but know we need to change the way it works so it's compatible with RNDF needs.

  3. Agustin Alba Chicar reporter

    Current state:

    • ignition-rndf is integrated and working.
    • The tension of the splines is controlled with a parameter.
    • The way the program loads was updated in terms of the recommendations of Drake's developers.
    • Need to solve #119 and #121
    • Working on #118 to solve the interpolator issues. --> @hidmic
    • Working on #122
  4. Agustin Alba Chicar reporter

    This issue was originally intended to be the guide of a concrete implementation of RNDF for Drake. However the scope of this is issue was to broad and there are a lot of details covered by other issues. Although we could create the demo and the demo is working now.

  5. Log in to comment