百度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

相关文章

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur