Apollo---实战;加入地图,显示到dreamview中

Posted 小葵向前冲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apollo---实战;加入地图,显示到dreamview中相关的知识,希望对你有一定的参考价值。

目录

1.新建地图文件夹

Create a new map folder under APOLLO_ROOT/modules/map/data/ and put base_map.bin in the folder.

在modules/map/data下建立一个自己的地图,比如highway101

2. 获取base_map.bin

可以到LGSVL里library库里找到想加载的地图,然后下载对应apollo格式的.bin地图文件,重命名为base_map.bin

如果是其他格式的,比如OpenDrive的文件,则需要转到Apollo支持的格式.bin文件

具体转换下次介绍。

3.生成地图

  • base_map是最完整的地图,包含所有道路和车道几何形状和标识。其他版本的地图均基于base_map生成。
  • routing_map包含base_map中车道的拓扑结构,可以有以下命令生成:
    dir_name=modules/map/data/demo # example map directory
    ./scripts/generate_routing_topo_graph.sh --map_dir $dir_name
  • sim_map是一个适用于Dreamview视觉可视化,基于base_map的轻量版本。减少了数据密度,以获得更好的运行时性能。可以由以下命令生成:
    dir_name=modules/map/data/demo # example map directory
    bazel-bin/modules/map/tools/sim_map_generator --map_dir= d i r n a m e − − o u t p u t d i r = dir_name --output_dir= dirnameoutputdir=dir_name

generate_map.sh如下:

#!/usr/bin/env bash

DIR="$( cd "$( dirname "$BASH_SOURCE[0]" )" && pwd )"

cd "$DIR/.."

source "$DIR/apollo_base.sh"

if [ $# -eq 0 ]; then
  echo "Please specify name of your map directory."
else
  dir_name=modules/map/data/$1
  bazel-bin/modules/map/tools/sim_map_generator --map_dir=$dir_name --output_dir=$dir_name
  bash scripts/generate_routing_topo_graph.sh --map_dir $dir_name
fi

执行下面的命令:

cd /apollo
generate_map.sh YOUR_MAP_FOLDER_NAME

4.重启生效

重启dreamview:

./scripts/bootstrap.sh stop && ./scripts/bootstrap.sh
或
./scripts/bootstrap.sh restart

个人操作步骤:

首先从库里添加一个地图,比如highway101GE 

然后下载对应的base_map.bin

然后docker 环境下,

bash ./scripts/generate_routing_topo_graph.sh --map_dir modules/map/data/highway101
生成routing_map.bin  routing_map.txt

bazel-bin/modules/map/tools/sim_map_generator --map_dir=modules/map/data/highway101 --output_dir=modules/map/data/highway101
生成sim_map.bin  sim_map.txt
最后重启生效:
bash scripts/bootstrap_lgsvl.sh restart


启动加
bash docker/scripts/dev_start.sh --map dgm

--map_dir=/apollo/modules/map/data/dgm

5.mapshow的使用

mapshow

简单来说,就是一个apollo框架中,用python脚本写一个可视化高精地图的工具。

该工具默认在 “/apollo/modules/tools/mapshow” 目录下。
所有可以运行一下命令将库添加到python运行库中。当然你也可以直接在此目录下运行,就不用添加运行环境了。

source scripts/apollo_base.sh
usage: python mapshow.py [-h] -m MAP [-sl] [-l LANEID [LANEID …]]

optional arguments:

-h, --help show this help message and exit

-m MAP, --map MAP Specify the map file in txt or binary format

-sl, --showlaneids Show all lane ids in map

-l LANEID [LANEID …], --laneid LANEID [LANEID …] Show specific lane id(s) in map

显示基本的道路图

python mapshow.py -m /path/to/map/file

6. base_map.txt文件转.bin

(1) txt文件生成

【OpenDrive 转Apollo】

参考这里。

(2)txt 文件转bin

cd modules/tools/create_map$

python3 convert_map_txt2bin.py -i …/…/map/data/dgm/base_map.txt -o …/…/map/data/dgm/base_map.bin

参考:

https://www.svlsimulator.com/docs/system-under-test/apollo-master-instructions/

https://www.svlsimulator.com/docs/system-under-test/apollo5-0-instructions/#adding-an-hd-map

参考LGSVL 高精地图使用教程

apollo 地图可视化工具MapShow的使用

以上是关于Apollo---实战;加入地图,显示到dreamview中的主要内容,如果未能解决你的问题,请参考以下文章

Apollo---实战;加入地图,显示到dreamview中

阿波罗配置中心实战

Apollo - 定位

Apollo 2.5推基于动态的实时相对地图解决方案

Apollo使用方法;map_gen工具使用

Apollo使用方法;map_gen工具使用