Apollo详解之地图模块———制作高精地图

前言

Apollo自带了一些工具能够制作简单的高精地图

Lgsvl仿真环境下制作高精地图

在没有实车的情况下,我们可以通过Lgsvl仿真器使用相对地图模块。
本文使用的Apollo版本:6.0

  1. 打开Lgsvl仿真器,选择Cube Town地图,进入仿真环境
    在这里插入图片描述

2.打开Dreamview,并确认Apollo与仿真器连接

bash scripts/bootstrap_lgsvl.sh 
 bash scripts/bridge.sh

打开Localization模块
4.录制数据包
开始录制

cyber_recorder record -a -o map_gen_test.record

操控车辆沿着地图行驶一圈后,停止录制。得到数据包map_gen_test.record
2. 提取路径

/apollo/bazel-bin/modules/tools/map_gen/extract_path test.csv map_gen_test.record.00000

生成test.csv路径文件
3. 生成地图

bash /apollo/scripts/create_map_from_xy.sh --xy  test.csv --map_name test
/apollo/bazel-bin/modules/map/tools/bin_map_generator --map_dir=/apollo/modules/map/data/test --output_dir=/apollo/modules/map/data/test

然后在modules/map/data/test路径下生成了对应的地图文件。
在这里插入图片描述
至此完成了高精地图的制作。
4. 打开dreamview,选择地图文件test
打开ControlLocalizationPredictionPlanningRouting模块,选择test高精地图,即可加载制作好的高精地图,可以完成导航功能。
在这里插入图片描述
此外,modules/tools/map_gen文件夹下还有两个脚本map_gen.pymap_gen_two_lanes_right_ext.py,前者可以额外生成左边的两个车道,后者可以额外生成右边的一个车道。

为高精地图添加信号灯

Apollo还提供了一个工具add_signal.py,可以向高精地图中添加信号灯。
首先准备map_signal.pb.txt文件,一个简单的示例:

stop_line{
    segment{
        line_segment{
            point{
                x: 592668.26
                y: 4134482.99
            }
            point{
                x: 592671.56
                y: 4134482.99
            }
        }
    }
}
id{
    id: "5"
}
type: MIX_2_HORIZONTAL

然后运行

/apollo/bazel-bin/modules/tools/map_gen/add_signal base_map.txt map_signal.pb.txt

会生成一个处理后的高精地图文件,进行查看
在这里插入图片描述
可以看到,信号灯被添加到了指定的位置

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值