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文件
https://github.com/daohu527/imap

具体转换下次介绍。

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的使用

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Apollo-Kotlin 是一个为 Kotlin 开发者提供的用于与 GraphQL 服务进行交互的库。根据引用,在 ApolloClientConfig.kt 文件定义了两个 ApolloClient 实例,分别对应两个不同的 GraphQL 服务端点。这些实例可以用于向服务端发送请求和获取响应的数据。 另外,根据引用,在 GraphqlApi.kt 文件,我们可以看到两个 ApolloClient 实例的注入。这些实例可以在 fetchService1() 和 fetchService2() 方法使用,用于调用相应的 GraphQL 服务端点。fetchService2() 方法还包含了异常处理的代码,以便在发生异常时进行处理。 综上所述,Apollo-Kotlin 是一个用于与 GraphQL 服务进行交互的库,它提供了方便的 API 用于发送请求和获取响应的数据。通过定义 ApolloClient 实例,并将其注入到相关的类,我们可以轻松地使用 Apollo-Kotlin 进行 GraphQL 开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Spring bootapollo-kotlin基本使用(一个客户端使用多个graphql端点)](https://blog.csdn.net/fggdgh/article/details/128089362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Kotlin进阶指南 - Parcelable序列化](https://blog.csdn.net/qq_20451879/article/details/126250953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值