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= dirname−−outputdir=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
以上是关于Apollo---实战;加入地图,显示到dreamview中的主要内容,如果未能解决你的问题,请参考以下文章