百度Apollo | 实车自动驾驶:感知、决策、执行的无缝融合

2024-01-22 00:04

本文主要是介绍百度Apollo | 实车自动驾驶:感知、决策、执行的无缝融合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏:《linux深造日志》《粉丝福利》

⛺️生活的理想,就是为了理想的生活!

⛳️ 粉丝福利活动

  • 参与方式:通过连接报名观看课程,即可免费获取精美周边

  • ⛳️活动链接:《自动驾驶新人之旅》

  • 📆 活动时间长期有效 | 课程姓名填写 鸽芷咕 学号 1111

完成后加博主微信填写问卷领取礼品,也可根据《活动步骤》 完成领取

🔥 注:可以拉取进度条观看,超过%50即可领取百度周边
在这里插入图片描述

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送

文章目录

  • ⛳️ 粉丝福利活动
  • 引言
  • 步骤一:自动驾驶准备
  • 步骤二:启动并打开 Dreamview+
    • 2. 启动 Dreamview+
    • 3. 选择模式和操作
    • 4. 选择车辆和地图
    • 5. 打开所需要的模块
    • 6. 查看连接状态
    • 7. 编辑行驶路线
  • 步骤二:启动自动驾驶

引言

近年来,实车自动驾驶技术在汽车行业掀起了一场技术革命,为我们带来了前所未有的驾驶体验。本文将深入探讨实车自动驾驶技术的各个方面,从感知到决策再到执行,揭示这一领域的前沿技术和挑战。在这场技术革命的浪潮中,我们将一同探寻未来驾驶的奇迹。

步骤一:自动驾驶准备

1. 启动 CAN 卡

启动工控机后,在桌面上打开命令行终端(Terminal),进入 CAN 卡目录(默认在 home 路径下),启动 CAN 驱动:

bash ~/socketcan/start.sh

步骤二:启动并打开 Dreamview+

1. 启动 Apollo Docker 环境

如果您使用的是包管理,请您按照以下步骤操作:

2.打开命令行终端,切换路径到 Apollo:

cd ~/apollo

输入以下命令进入 Apollo Docker 环境:

aem start #创建容器aem enter #进入容器buildtool build

‍首次进入容器 build, 如果是只编译更新的模块,使用以下命令buildtool build -p 模块名

如果您的终端如下面所示,说明您成功进入了 Apollo 的运行容器:

docs/工具使用/Dreamview+/实车路测模式/image.png

如果您使用的是源码,请您按照以下步骤进入 docker 环境:

  • 打开命令行终端,切换路径到 Apollo:
cd ~/apollo #切换路径到apollo,注意cd与~/apollo之间有一个空格

输入以下命令启动 Apollo Docker 环境:

bash docker/scripts/dev_start.sh

启动 docker 环境:

bash docker/scripts/dev_into.sh

如果您的终端如下面所示,说明您成功进入了 Apollo 的运行容器:

[user@in-runtime-docker:/apollo]$

2. 启动 Dreamview+

  1. 在 Apollo Docker 环境下,启动 Dreamview+ 交互界面:

如果您使用的是包管理,请您在 docker 环境中执行以下命令执行以下命令启动 Dreamview+:

aem bootstrap start --plus

‍注意:

  • 如果您想要停止 Dreamview+,提示 Fail to start Dreamview,请输入aem bootstrap stop --plus
  • 如果您想要重启 Dreamview+,请输入aem bootstrap restart --plus

如果您使用的是源码,请您在 docker 环境中执行以下命令执行以下命令启动 Dreamview+:

bash scripts/bootstrap.sh start_plus

‍注意:

  • 如果您想要停止 Dreamview+,请输入bash scripts/bootstrap.sh stop_plus
  • 如果您想要重启 Dreamview+,请输入bash scripts/bootstrap.sh restart_plus

打开 Dreamview+。

启动成功后,在浏览器输⼊localhost8888⽹址打开 Dreamview+ 界面。

3. 选择模式和操作

Mode/模式 中,选择 Vehicle Test/实车模式

Operations/操作 中,选择 Auto Drive/自动驾驶

4. 选择车辆和地图

ADS Resources/自动驾驶资源 中,选择实车路测模式的车辆。

  • 如有对应车辆配置,可选择对应配置,

  • 如无对应车辆配置,可用默认配置。

Environment Resources/环境资源 > HD Map/高精地图 中,选择实车路测模式需要的地图。

5. 打开所需要的模块

启动所需要的 CanbusControlExternalCmdGPSLidarLocalizationPlanningPredictionRadarTransform 模块。

![docs/工具使用/Dreamview+/实车路测模式/image.png](https://img-
blog.csdnimg.cn/img_convert/03ca0e9ce81e415350dbb16537f69147.png)

ExternalCmd 是 Planning 模块的一个子模块,循迹会用到这个子模块,实车模式只开 Planning 模块就可以。

6. 查看连接状态

查看 Component 状态。

docs/工具使用/Dreamview+/实车路测模式/image.png

‍说明:

  • Component 中显示绿色 OK 为正常,可以进行下面的操作。 - WARNING 黄色只是信号不好,模块已经启动,只要不是 ERROR 就不影响操作。

查看 cyber_monitor 数据。

进入 docker 环境,输入 cyber_monitor,启动的 cyber_monitor 工具中,可以看到很多 channel 信息,其中 /tf 和 /tf_static 对应 Transform 模块,/apollo/localization/pose 对应 Localization 模块,apollo/sensor/gnss/best_pose 对应 GPS 模块。

docs/工具使用/Dreamview+/实车路测模式/image.png

使用上下方向键选择 channel /apollo/sensor/gnss/best_pose 按右方向键进入此 channel,查看 sol_type 项是否是 NARROW_INT,若为 NARROW_INT,则表示 GPS 信号良好,符合定位要求;若不为 NARROW_INT,则遥控移动下车辆,直到出现 NARROW_INT 为止。

docs/工具使用/Dreamview+/实车路测模式/image.png

检查所有开启模块均正常后可以进行下面的操作。

7. 编辑行驶路线

Vehicle Visualization/车辆可视化面板 中,单击 Routing Editing/路径编辑 按钮进入路由编辑功能。

docs/工具使用/Dreamview+/实车路测模式/image.png

在面板左上角初始位置图标,在地图上单击设定初始位置。

‍注意:长按鼠标右键可以拖转移动地图位置。

单击左上角轨迹点图标,在地图上单击添加途经轨迹点。

docs/工具使用/Dreamview+/实车路测模式/image.png

单击 保存编辑 ,完成轨迹绘制。

单击 Routing/路由 按钮出现红色轨迹线。

docs/工具使用/Dreamview+/实车路测模式/image.png

步骤二:启动自动驾驶

如果各模块正常工作,且规划效果也不错,将遥控器切换到自动驾驶状态。

在 DreamView+ 中,在操作底栏中,单击 START/启动 按钮,启动自动驾驶。

docs/工具使用/Dreamview+/实车路测模式/image.png

这篇关于百度Apollo | 实车自动驾驶:感知、决策、执行的无缝融合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631248

相关文章

基于Python编写一个git自动上传的脚本(打包成exe)

《基于Python编写一个git自动上传的脚本(打包成exe)》这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录前言效果如下源码实现利用pyinstaller打包成exe利用ResourceHacker修改e

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

MyBatis Plus中执行原生SQL语句方法常见方案

《MyBatisPlus中执行原生SQL语句方法常见方案》MyBatisPlus提供了多种执行原生SQL语句的方法,包括使用SqlRunner工具类、@Select注解和XML映射文件,每种方法都有... 目录 如何使用这些方法1. 使用 SqlRunner 工具类2. 使用 @Select 注解3. 使用

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia