carla-0.10.0 矿山地图和autoware联调
下面的操作都是基于已经安装好carla-0.10.0
1.carla-0.10.0中的矿山地图是虚拟地图,没有.osm和.pcd格式的地图。所以首先需要将矿山的地图Mine_01.xodr(/Carla-0.10.0-Linux-Shipping/CarlaUnreal/Content/Carla/Maps/OpenDrive/Mine_01.xodr)转换成.osm地图
2. xdor转换成osm地图的工具(commonroad-scenario-designer),转换过程中会先将xodr文件转换成commonroad.xml文件,然后将.xml文件转换成.osm文件,下面是转换的代码
# General Imports
import os
from pathlib import Path
from crdesigner.config.opendrive_config import open_drive_config
from crdesigner.config.lanelet2_config import lanelet2_config
from commonroad.scenario.scenario import Tag
from commonroad.common.file_writer import CommonRoadFileWriter, OverwriteExistingFile
from commonroad.planning.planning_problem import PlanningProblemSetfrom crdesigner.map_conversion.map_conversion_interface import opendrive_to_commonroad
from crdesigner.map_conversion.map_conversion_interface import commonroad_to_lanelet#opendrive==>>commonroad
input_path = "Mine_01.xodr"
config = open_drive_config
config.lanelet_types_backwards_compatible = Falsescenario = opendrive_to_commonroad(Path(input_path))writer = CommonRoadFileWriter(scenario=scenario,planning_problem_set=PlanningProblemSet(),author="Sebastian Maierhofer",affiliation="Technical University of Munich",source="CommonRoad Scenario Designer",tags={Tag.URBAN},
)writer.write_to_file(os.path.dirname(os.path.realpath(__file__)) + "/" + "commonroad1.xml",OverwriteExistingFile.ALWAYS)#commonroad==>>Lanelet2
configla = lanelet2_config
configla.autoware = Falseoutput_path = "./mine01.osm"
commonroad_to_lanelet("./commonroad1.xml", output_path, configla)
- 转换成osm文件后,可以使用vector Map BUILDER (https://tools.tier4.jp/vector_map_builder_ll2/)看看是否存在问题,我转换出来的xy坐标值都有问题,原因是因为没有导入osm的配置文件(矿山地图是存虚拟地图),后面通过打开.xodr文件,找到原点经纬度
将其写入到osm地图目录下的map_projector_info.yaml(没有就新建一个)
整体目录格式如下, - 新建好map_projector_info.yaml文件后,重新打开vector Map BUILDER (https://tools.tier4.jp/vector_map_builder_ll2/),导入第2步转换好的osm地图,在导入第3步创建好的.yaml文件,导入完成后,我这边就没有出现问题,但是依次连接的两个车道可能同时出现都是红色的情况,大概率是应为连接点没有连接在一起(需要放大后,移开某一条线才能看到),,连接好线后,还是有问题的话,翻转一下方向应该就可以了(有报错的话,删除报错的点),然后导出修改后的osm地图
- 使用autoware打开修改后的osm地图,使用carla打开矿山地图,就可以联合使用了,这里需要注意的是地图对齐的问题, CARLA 使用左手坐标系 (X前, Y右, Z上)
ROS/Autoware 使用右手坐标系 (X前, Y左, Z上),我一开始没注意这个问题,carla下发的位置在autoware中一直不对。