Maptool_inspection segfaults while loading a test map

I installed DRIVE s/w 10 on Ubuntu 18.04 successfully. I manually constructed a tiny test map which has just one road segment with just 1 lane. I then overwrite the sample map (map_tomtom_280_92_101_85.xml) with this test map, since maptool_inspection does not work with --map cmdline argument (A separate message I posted in this forum). maptool_inspection just crashes when it tries to load the test map:

[01-12-2020 09:25:11] Platform: Detected Generic x86 Platform
[01-12-2020 09:25:11] TimeSource: monotonic epoch time offset is 1606756865703923
[01-12-2020 09:25:11] Platform: number of GPU devices detected 1
[01-12-2020 09:25:11] Platform: currently selected GPU device discrete ID 0
[01-12-2020 09:25:11] SDK: Resources mounted from …/…/data/
[01-12-2020 09:25:11] TimeSource: monotonic epoch time offset is 1606756865703923
[01-12-2020 09:25:11] Initialize DriveWorks SDK v2.2.3136
[01-12-2020 09:25:11] Release build with GNU 7.4.0 from heads/buildbrain-branch-0-gca7b4b26e65
[01-12-2020 09:25:11] Initialize DriveWorks VisualizationSDK v2.2.3136
[01-12-2020 09:25:11] Initialize DriveWorksGL SDK v2.2.3136
[01-12-2020 09:25:11] GL-SDK: initialize OpenGL
[01-12-2020 09:25:11] Maps: Reading map data from “…/…/data/hdmaps/map_tomtom_280_92_101_85.xml” …Segmentation fault (core dumped)

I have attached the test map file. I have to rename it to .txt file in order to bypass the forum upload file extension restriction. Please rename it back to .xml file upon downloading.

test-map.txt (14.7 KB)

Hi @yuzhang,

We will check it and get back to you. Thanks!

Here is the overview of NVIDIA DRIVE Mapping. FYI.

Hi @VickNV,

Have you by any chance heard back from engineering? Is there an official map specification developers can refer to when trying to convert 3rd party map to Driveworks Map? Reverse engineering the sample xml file and trial-and-error are too painful.

May I know what 3rd party map you are trying to convert to DriveWorks map? Thanks!

There are some typos and wrong tag names. I uploaded the fixed one (compressed). FYR.
test-map_fixed.zip (4.6 KB)

1 Like

@VickNV, thanks for the fix. Other than the typos, it looks like the traversability attribute cannot be present if a lane group has just one lane.

I’m trying to convert the map produced by my employer to DriveWorks map.

@VickNV The documentation and header files suggest that a DriveWorks map can also contain features, such as pole, traffic light, and sign. But the sample map xml file included in the release only has lanes. Without a proper example, I don’t know how to convert pole, traffic light and signs to an xml file. Is it possible to share a small sample map to illustrate how these features should be described in an xml file? Thanks!

If only one lane, You need to either remove “traversability” or set a correct value (say “0” as DW_MAPS_LANE_TRAVERSABILITY_NONE)

What’s the 3rd part map format you’re converting? OpenDrive?

You can refer to /usr/local/driveworks/data/hdmaps/dwMaps.xsd on your host system (below is a snippet from it)

                                        <xs:element name="features">

                                            <xs:complexType>

                                                <xs:sequence>

                                                    <xs:element name="feature" maxOccurs="unbounded">

                                                        <xs:complexType>

                                                            <xs:sequence>

                                                                <xs:element name="id" type="xs:int"></xs:element>

                                                                <xs:element name="type" type="xs:int"></xs:element>

                                                                <xs:element name="absGeometry">

                                                                    <xs:complexType>

                                                                        <xs:sequence>

                                                                            <xs:element name="geoPoint" maxOccurs="unbounded" type="xs:string"></xs:element>

                                                                        </xs:sequence>

                                                                    </xs:complexType>

                                                                </xs:element>

                                                                <xs:element name="geometry">

                                                                    <xs:complexType>

                                                                        <xs:sequence>

                                                                            <xs:element name="point" maxOccurs="unbounded" type="xs:string"></xs:element>

                                                                        </xs:sequence>

                                                                    </xs:complexType>

                                                                </xs:element>

                                                            </xs:sequence>

                                                        </xs:complexType>

                                                    </xs:element>

                                                </xs:sequence>

                                            </xs:complexType>

                                        </xs:element>

and here is an example. Thanks!

1 Like

@VickNV thanks for the example. It is really helpful!

1 Like