maliput / maliput_malidrive

Open-source ready OpenDrive backend for Maliput
BSD 3-Clause "New" or "Revised" License
1 stars 2 forks source link

Verify lane creation after building non-driveables lanes #24

Closed francocipollone closed 3 years ago

francocipollone commented 3 years ago

I found the following difference when running delphyne-mali2 and delphyne-mali app on TShapeRoad.xodr map.

Using OpenDrive implementation(delphyne-mali -n TShapeRoad): image

Using Non-OpenDrive implementation(delphyne-mali2 -n TShapeRoad) image

francocipollone commented 3 years ago

Check the left lanes description for Road 0:

                <left>
                    <lane id="4" type="sidewalk" level="false">
                        <width sOffset="0.0000000000000000e+0" a="2.0000000000000000e+0" b="0.0000000000000000e+0" c="0.0000000000000000e+0" d="0.0000000000000000e+0"/>
                        <roadMark sOffset="0.0000000000000000e+0" type="none" material="standard" color="white"/>
                        <userData>
                            <vectorLane travelDir="undirected"/>
                        </userData>
                    </lane>
                    <lane id="3" type="sidewalk" level="false">
                        <width sOffset="0.0000000000000000e+0" a="6.3499999999999979e-1" b="0.0000000000000000e+0" c="0.0000000000000000e+0" d="0.0000000000000000e+0"/>
                        <roadMark sOffset="0.0000000000000000e+0" type="none" material="standard" color="white"/>
                        <userData>
                            <vectorLane travelDir="undirected"/>
                        </userData>
                    </lane>
                    <lane id="2" type="shoulder" level="false">
                        <width sOffset="0.0000000000000000e+0" a="5.0000000000000000e-1" b="0.0000000000000000e+0" c="0.0000000000000000e+0" d="0.0000000000000000e+0"/>
                        <roadMark sOffset="0.0000000000000000e+0" type="none" material="standard" color="white"/>
                        <userData>
                            <vectorLane travelDir="undirected"/>
                        </userData>
                    </lane>
                    <lane id="1" type="driving" level="false">
                        <width sOffset="0.0000000000000000e+0" a="3.5000000000000000e+0" b="0.0000000000000000e+0" c="0.0000000000000000e+0" d="0.0000000000000000e+0"/>
                        <roadMark sOffset="0.0000000000000000e+0" type="solid" material="standard" color="white" width="1.2500000000000000e-1"/>
                        <userData>
                            <vectorLane travelDir="backward"/>
                        </userData>
                    </lane>
                </left>

I think that the problem is that we are not parsing the roadMark, ergo, the type value which in the shoulder and sidewalk of this map is type=none, that means that won't be showed.

<roadMark sOffset="0.0000000000000000e+0" type="none" material="standard" color="white"/>

When we use the ODRM implementation the lanes exist but in the demo they are invisible.


Checking TShapeRoad using OdrViewer: image

francocipollone commented 3 years ago

After a F2F with @agalbachicar I realized that this mismatch in the visualization isn't related to the roadMark parsing. Given that delphyne-mali and delphyne_mali2 don't care about it.

delphyne-mali isn't creating meshes for the non-driveable lanes while delphyne-mali2 is, so it is expected to see them in the visualization.

The conclusion would be that it is correct to see them in the visualizer when executing delphyne-mali2. Checking the xodr with the OdrViewer, where the shoulder and the sidewalks exist, supports this idea.


Having said that it seems to be an extra lane on the left side of each road, so that is something to check. image

agalbachicar commented 3 years ago

@francocipollone I think it is solved via https://github.com/ToyotaResearchInstitute/maliput_malidrive/pull/73 . Am I right?

francocipollone commented 3 years ago

@francocipollone I think it is solved via #73 . Am I right?

Right! Thanks!