apollo简易高精度地图制作

本文介绍了一种基于Apollo平台的高精度地图简易制作方法。主要步骤包括:从bag文件提取经纬高信息,利用Apollo 3.0的map_gen工具生成地图文件,并最终使用mapshow工具查看地图。适用于初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:本文参考知乎王方浩apollo简易制图过程(二十)https://zhuanlan.zhihu.com/p/358796415进行实践操作


update:2023.3.13
将apollo的制图部分剥离后的代码下载链接如下:

git@github.com:YEJIANAN/apollo_hdmap_addnodever.git

可直接使用python命令实现制图过程,xml格式的地图未更新。
同时,如果需要转换hdmap 格式以及show your own map,please check this link 王方浩imap


本文目的:通过已有的开源模型实现高精度地图的制作,格式不限

初学高精度地图,对于其中有很多知识还尚未摸清楚,如有错误,请大佬指正.

需要准备的材料:
1.包含rtk或imu数据(经纬高信息)的bag文件/wgs84坐标系坐标txt
2.将bag中信息读取出来并转换为wgs84坐标系的坐标的txt/csv文件的py脚本
3.apollo3.0(注意,这里最好使用该版本,因为3.0之后的版本对map_gen文件进行了删减)
apollo安装可以参考此处

由于本人的目的是制作简单的高精度地图,所以没有在地图中实现添加红绿灯信息.

第一步

:提取经纬高信息txt/csv文本(github上有脚本可以参考,这里就不赘述了),下面是我使用脚本将bag文件转换的csv,第一行为x,第二行为y
在这里插入图片描述

第二步

在apollo3.0文件当中按照

python modules/tools/map_gen/plot_path.py  yourtxtname.txt

查看轨迹(注意文本文件存放的路径放在apollo3.0/下)

第三步

进入容器docker,编译地图生成工具

bazel build modules/tools/map_gen:all
./bazel-bin/modules/tools/map_gen/map_gen yourtxtname.txt   //如果需要使用xml的可以在map_gen.py第107行修改生成的文件格式为xml,fmap = open("map_" + fpath.split("/")[-1] + ".xml", 'w'),内容和txt是一样的,只不过在使用的时候可能没有map的header,

此时会在与你存放txt文本同样的路径下,也就是apollo3.0/下出现名为map_yourtxtname.csv.txt文件,点开这个文件,就是生成好的地图;
生成好的地图格式如下:
在这里插入图片描述

第四步

查看生成好的地图:
再次打开apollo的容器,如果上一部没关就不要打开了;
编译mapshow(下面两部先在docker里尝试,再在apollo3.0目录下终端尝试)

bazel build modules/tools/mapshow:all
python modules/tools/mapshow/mapshow.py -m map_points.txt

出现如图所示的高精度地图:
在这里插入图片描述
至此,简单的高精度地图制作完毕。

如果生成的文件为xml格式,使用请参考:https://github.com/daohu527/dig-into-apollo/tree/main/modules/map其中的opendrive_adapter.cc,可以实现地图的加载,使用目前应该是在planning里。

在这里插入图片描述

另推荐几个在高精度地图学习过程中可以参考的博主:
知乎-王方浩
知乎-xchu

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值