0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Apollo导航模式详细教程

YB7m_Apollo_Dev 来源:未知 作者:工程师曾玲 2018-10-02 11:18 次阅读

Apollo

导航模式教程

1

教程简介

无人驾驶系统利用实时感知信息和静态地图信息构建出完整驾驶环境,并在构建的环境中,依据routing数据,规划出行车轨迹,并由控制模块执行完成。Apollo导航模式在上述的框架下,针对高速、乡村道路等简单道路场景,进行了以下的提升:

Apollo导航模式以提高安全性和稳定性为目的,在驾驶环境中加入了静态引导信息,引导在驾驶环境中的轨迹规划,使其更安全更舒适。同时,引导信息也降低了对驾驶环境的完整性的要求 -- 即降低了对地图信息的要求。

Apollo导航模式使用了相对/车身坐标系。减少了sensor数据的转化。同时也支持各种驾驶模式之间的转化,以应对不同的驾驶场景和条件。

Apollo导航模式引入了百度地图的Routing功能,考虑实时路况信息,使得Routing的结果更实用,更精确,更稳定。也使得Apollo系统更易于落地和商用。

在本教程中,你将完成

学习完本教程后,你将能够在导航模式下进行规划模块(planning)的线下调试和开发。

在本教程中,你将掌握

如何设置Apollo导航模式

如何利用云端指引者发送指引线

如何利用录制的ros bag产生指引线并用线下指引者发送

如何进行规划模块的调试

在本教程中,你需要如下准备

下载并编译Apollo最新源码(Howto)

https://github.com/ApolloAuto/apollo/tree/master/docs/demo_guide

下载Apollo2.5 demo bag

2

配置导航模式

在导航模式下,有以下几个参数需要进行配置:

感知方案:目前支持摄像头方案(CAMERA)和基于Mobileye的方案(MOBILEYE)

Apollo UTM Zone

规划模块的Planner:目前支持EM, LATTICE, 和NAVI三种

系统限速:单位为米/秒

在Docker下修改配置文件

配置文件位于:

1 /apollo/modules/tools/navigation/config/default.ini

默认配置为:

12345678910111213 [PerceptionConf]# three perception solutions: MOBILEYE, CAMERA, and VELODYNE64perception = CAMERA[LocalizationConf]utm_zone = 10[PlanningConf]# three planners are available: EM, LATTICE, NAVIplanner_type = EM# highest speed for planning algorithms, unit is meter per secondspeed_limit = 5


该默认配置为Apollo 2.5 Demo bag录制时的配置,在此教程中,我们直接使用。

生效配置信息

为了使配置生效,在Docker内的Apollo根目录下,运行如下命令:

12 in_dev_docker:/apollo$ cd /apollo/modules/tools/navigation/config/in_dev_docker:/apollo/modules/tools/navigation/config$ python navi_config.py default.ini


3

云端指引者的使用

回放Demo bag:

在进入Docker,启动Apollo之前,我们把Apollo2.5 demo bag拷贝到Apollo代码根目录下的data目录中。

在Docker内编译成功后,我们用如下命令启动Dreamview:

1 in_dev_docker:/apollo$ ./scripts/bootstrap.sh start


并在本地浏览器中打开:

1 http://localhost:8888


如下图所示,在模式框中选择“Navigation”。

然后在Docker内的apollo根目录下运行如下命令进行bag播放:

12 in_dev_docker:/apollo$cd datain_dev_docker:/apollo/data$rosbag play demo_2.5.bag


播放开始后,可以看到Dreamview界面如下:

请求云端指引线

在地图中选择一个目的地(沿canada路),点击地图视图中的红色Route按钮,云端指引者会接收到这个请求,并返回指引线,该指引线会被显示在地图视图中。如下图所示。以上就是云端指引者的调用过程。

4

离线指引者工具的使用

目前云端指引者只覆盖了有限的区域。除了云端的服务之外,我们还提供了离线指引者工具来制作和发送线下指引线。在本教程中,我们以Apollo2.5 demo bag为例来生成指引线。

指引线的制作

生成指引线的步骤为:

从bag中提取路径数据

12 in_dev_docker:/apollo$cd modules/tools/navigatorin_dev_docker:/apollo/modules/tools/navigator$python extractor.py /apollo/data/demo_2.5.bag


提取出来的路径数据在路径

1 in_dev_docker:/apollo/modules/tools/navigator$


中的

1 path_demo_2.5.bag.txt


平滑路径数据

1 in_dev_docker:/apollo/modules/tools/navigator$bash smooth.sh path_demo_2.5.bag.txt 200


平滑后的的数据在

1 in_dev_docker:/apollo/modules/tools/navigator$path_demo_2.5.bag.txt.smoothed


指引线的发送

得到平滑后的数据就可以发送到Apollo系统中,作为指引线,步骤为:

1 in_dev_docker:/apollo/modules/tools/navigator$python navigator.py path_demo_2.5.bag.txt.smoothed


发送完成后,Dreamview的地图视图中的红色指引线会更新为如下图所示:

5

规划模块的调试

调试数据准备

利用bag来进行模块调试,首先要把bag中的相应ros message过滤掉。假设我们想要调试规划模块,我们需要把消息

1 /apollo/planning


过滤,使用以下命令

12 in_dev_docker:/apollo$cd datain_dev_docker:/apollo/data$rosbag filter demo_2.5.bag demo_2.5_no_planning.bag "topic != '/apollo/planning'"


过滤后的bag位于

1 in_dev_docker:/apollo/data$demo_2.5_no_planning.bag


规划轨迹的产生

我们播放没有规划的bag,用下面的命令

1 in_dev_docker:/apollo/data$rosbag play demo_2.5_no_planning.bag


在Dreamview中我们会看到车辆的规划轨迹没有输出,如下图

我们在Dreamview中打开Navi Planning模块,如下图

我们看到实时计算的车辆的规划轨迹显示在Dreamview中。这时你可以试着更改一些规划模块的配置

1 in_dev_docker:/apollo/modules/planning/conf$planning_config_navi.pb.txt


去了解,这些参数会对规划结果有什么影响。或者修改规划算法的代码,进行调试。

6

结束

恭喜你完成了本教程。现在你应该了解:

如何设置Apollo导航模式

如何利用云端指引者发送指引线

如何利用录制的ros bag产生指引线并用线下指引者发送

如何进行规划模块的调试

你也可以试着利用Demo bag对其他一些模块进行调试。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 导航
    +关注

    关注

    7

    文章

    502

    浏览量

    41485
  • 无人驾驶
    +关注

    关注

    97

    文章

    3879

    浏览量

    118963

原文标题:技术干货 | Apollo导航模式教程

文章出处:【微信号:Apollo_Developers,微信公众号:Apollo开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ATGM331C第一代北斗+GPS 双模导航模块 ATGM331C

    ATGM331C第一代北斗+GPS 双模导航模详细描述: ATGM331C动能世纪重磅代理推出第一代北斗+GPS 双模导航模块 ATGM331C,其采用双通道射频芯片的高灵敏度双模定位模块,采用
    发表于 11-26 17:12

    GPS北斗卫星+惯性组合导航模块的优势分析

    GPS北斗卫星+惯性组合导航模块有哪些优势呢?普通GPS北斗模块在环境复杂的城市环境中定位没有那么精确,时常出现漂移、定位慢、无法定位等情况,比如在高架桥下,在穿山隧道里面,卫星信号微弱或者完全没有
    发表于 07-15 04:35

    树莓派开发中导航模型SwipeView案例实战

    不知道大家注意过没有,现在很多网站上对于界面的跳转,都更倾向于滑动跳转。这种方式更加柔和,使得人的观感会好一些。一个导航模型SwipeView,它提供一个基于滑动的导航模型,使得用户可以通过侧向滑动来浏览界面。
    发表于 08-12 14:22

    惯性导航模块特征和 优势有哪些?

    SKM-4DX卫星+惯性导航模块基于卡尔曼滤波算法融合两种导航算法,对卫星导航的定位精度进行智能识别,如果卫星导航精度较好,则进行组合导航
    发表于 08-13 01:29

    请问如何实现滑动导航模型SwipeView?

    如何实现滑动导航模型SwipeView
    发表于 11-23 06:56

    智慧物流如何选择合适的SKYLAB定位导航模

    智慧物流怎么选择合适的SKYLAB定位导航模
    发表于 12-28 06:04

    北斗导航模块UM220

    北斗导航模块UM220北斗导航模块UM220北斗导航模块UM220北斗导航模块UM220
    发表于 03-03 11:39 0次下载

    ATGM332D-5N卫星导航模块用户手册

    ATGM332D-5N卫星导航模块用户手册
    发表于 05-23 17:03 165次下载

    北斗+GPS双模定位导航模

    北斗+GPS双模定位导航模块 北斗+GPS双模,是指导航终端既可以支持北斗卫星导航系统,也可以支持GPS卫星导航系统。在更严格的定义上,是可以支持两套系统同时在
    发表于 09-07 15:07 49次下载

    实用指南:组合导航模块SKM-4DX安装使用详解

    ,本篇SKYLAB君将详细介绍下组合导航模块SKM-4DX的安装使用。组合导航模块SKM-4DX前面我们有提到,SKM-4DX导航模块提出了卫星导航
    的头像 发表于 03-20 09:55 4598次阅读
    实用指南:组合<b class='flag-5'>导航模</b>块SKM-4DX安装使用详解

    惯性导航和GPS卫星导航结合的车载组合导航模块资料

    文档介绍了惯性导航和GPS卫星导航结合的组合导航模块,车载组合导航模块相对于单纯的卫星导航模块应用更广泛。尤其在树荫下、高楼群、高架桥、山间
    发表于 03-21 14:10 14次下载

    惯性导航+GPS北斗导航一体的车载组合导航模块规格书

    文档是惯性导航+GPS北斗导航一体的车载组合导航模块规格书,里面详细介绍了车载组合导航模块的模块特征,应用细节,分享出来供产品开发工程师设计
    发表于 03-22 15:39 18次下载

    Apollo 2.5版基于相对地图的新导航模式

    本文对Apollo2.5版的构建、参考线数据采集与制作、Dreamview前端编译配置、导航模式使用等内容进行全面阐述,希望能给各位开发者正常使用Apollo 2.5版新导航模式带来一
    的头像 发表于 04-20 10:37 9433次阅读
    <b class='flag-5'>Apollo</b> 2.5版基于相对地图的新<b class='flag-5'>导航模式</b>

    一文读懂组合导航模

    基于GNSS卫星导航系统和惯性导航系统的组合导航模块。 组合导航 我们日常位置信息服务打交道最多的是GNSS卫星导航系统,因此对惯性
    的头像 发表于 04-23 16:24 3994次阅读

    VD-G102面向车载导航领域的车载组合导航模块数据手册免费下载

    GPS+BDS+INS惯性导航模块,1612封装惯导模块,面向车载导航领域的车载组合导航模块,采用GPS和北斗系统联合定位,GNSS+INS惯性组合导航定位技术,尤其适合无卫星型号环境
    发表于 10-26 08:00 13次下载