For GNSS localization, Autoware currently parses the
/nmea_sentence, extracts the latitude and longitude and converts them to coordinates in the Japanese rectangular coordinate system. There are 19 planes to chose from for the origin of the coordinate system but they would all chose an origin at or near Japan. Because of this
gnss_localizer can only be used to localize on maps that are near japan.
I’m proposing adding a special plane (as plane 0) with an origin at (0, 0) lat/lon. This would solve the issue for simulated environments where it is convenient/common to place the origin of the map at (0, 0) or simply offset the origin to (0, 0) when publishing the nmea message.
I’ve implemented this locally and changes would need to be made to three of the autoware.ai repositories:
- utilites: to modify the runtime manager to be able to select plane 0.
- common: to add the plane 0 with an origin at (0, 0) lat/lon in
- core_perception: modify
nmea2tfpose_core.cppto allow negative values.
Would love to hear thoughts on this. Make merge requests for the three repositories mentioned above on gitlab as well.