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

在这里插入图片描述

🎬 鸽芷咕:个人主页

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

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

⛳️ 推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

文章目录

  • ⛳️ 推荐
  • 引言
  • 步骤一:自动驾驶准备
  • 步骤二:启动并打开 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/647449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测

多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现DBO-BiLSTM多变量时间序…

Ubuntu 申请 SSL证书并搭建邮件服务器

文章目录 Log 一、域名连接到泰坦(Titan)电子邮件二、NameSilo Hosting 避坑三、Ubuntu 搭建邮件服务器1. 环境准备2. 域名配置3. 配置 Postfix 和 Dovecot① 安装 Nginx② 安装 Tomcat③ 申请 SSL 证书(Lets Encrypt)④ 配置 pos…

链表分割(新的错误:开头赋值)

1.单向链表:含有链表内容和下个链表的指针 2.双向链表:含有链表内容和上下两个链表的指针 3.带头和不带头:哨兵位的头结点(不存储有效数据),主要区别在于链表为空时会存在一个哨兵位节点,优点…

【C#】基础巩固

最近写代码的时候各种灵感勃发,有了灵感,就该实现了,可是,实现起来有些不流畅,总是有这样,那样的卡壳,总结下来发现了几个问题。 1、C#基础内容不是特别牢靠,理解的不到位&#xff…

WebSocket实现HTML+SpringBoot聊天功能,小程序+SpringBoot聊天功能

目录 一、认识WebSocket 二、HTML实现聊天 三、微信小程序实现聊天 一、认识WebSocket 1.首先博主在初学Java时自我感觉走了很多弯路,因为以前见识短,在接触聊天功能时根本就没能想到有WebSocket这个聊天框架,就只能用底层的UDP或TCP实现聊…

2.Kubernetes基础-1

Kubernetes基础-1 掌握Kubernetes,需要我们有扎实的docker基础。 深入了解pods之前,我们需要: 应用程序已经开发并打包成Docker镜像,并且在Docker存储库(如Docker Hub)中可用,可下载Kubernet…

【GPU】深入理解GPU硬件架构及运行机制

深入理解GPU硬件架构及运行机制 作者:Tim在路上​ 曾看到有一篇名为《The evolution of a GPU: from gaming to computing》的文章。 这篇文章非常热烈的讨论了这些年GPU的进步,这引发了我们的一些思考: 为什么我们总说GPU比CPU要强大,既然…

unity学习笔记----游戏练习07

一、僵尸攻击和植物的掉血和销毁 当僵尸接触到植物开始攻击时会持续削减植物的血量,当植物血量为零时就销毁当前植物。 在plantManager中, 为植物添加一个血量HP 100, public int HP 100; 在写一个减少血量的方法,来减少血…

心理学大纲

简介 psychology,“psyche”(ψυχή):意为"soul"(灵魂),即对我们灵魂的研究 我的学习的目的 了解人精神世界的模型,人格的形成],作为观察分析他人内心的理论指导,便于我实践了解情绪的机理,…

Java面试题(6)

28.创建线程池有哪几种方式 newFixedThreadPool(int nThreads) :创建一个固定长度的线程池,如果有线程发生错误而结束, 线程池会补充一个新线程。 newCachedThreadPool() :创建一个可缓存的线程池,会自动回收和创建空…

OpenHarmony—TypeScript到ArkTS约束说明

对象的属性名必须是合法的标识符 规则:arkts-identifiers-as-prop-names 级别:错误 在ArkTS中,对象的属性名不能为数字或字符串。通过属性名访问类的属性,通过数值索引访问数组元素。 TypeScript var x { name: x, 2: 3 };c…

WWDG喂狗

3F 是0111111 40 是1000000 0X7F 127 0X5F 95 127-9532 注意:中断是在0x40,在0x40喂狗则程序不会复位 在0x5F之前喂狗会复位,减小到63以下也会复位 在0x5F与0x3F之间喂狗会继续执行,不会复位 WWDG_HandleTypeDef WWDG_Handler; //窗口看门狗句柄//初始化窗口看门狗…

项目解决方案:非执法视频监控系统项目设计方案

目 录 一、概述 (一)前言 (二)设计思路 (三)设计原则 1、实用性 2、可靠性 3、安全性 4、先进性 5、开放性 6、易管理、易维护 (四)设计依据 二、方案总…

【MySQL】阿里云服务器卸载MySQL流程

使用该命令查询当前安装的MySQL rpm -qa | grep mysql使用rpm -ev接上相应名称删除这些项目,推荐从下往上逐个卸载 接下来使用find / -name mysql查询系统内剩余的MySQL文件 最后使用rm -rf接对应文件目录删除 收尾再次使用find / -name mysql查询,No…

关于鸿蒙系统开源和技术细节的一些探讨

1月18日在深圳举办了“鸿蒙生态千帆启航仪式”,这也是华为鸿蒙开启生态进阶的信号。在政策的叠加下,鸿蒙未来必定是势不可挡的。我们这些程序员也得与时俱进,熟悉鸿蒙的技术和细节,别在经济寒冬里被淘汰了。 官方称 Harmony OS N…

HarmonyOS鸿蒙学习笔记(23)监听Wifi状态变化

监听Wifi状态变化 前言创建接收状态变化的Bean对象创建订阅者和订阅事件参考资料: 前言 本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念,官网有详细说明,再次就不在赘述。博文相关项目…

[GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备

基于labelme的无人机语义分割数据集制备 文章目录 基于labelme的无人机语义分割数据集制备1. 数据获取2. 安装labelme3.利用labelme进行标注 1. 数据获取 数据集制备需要利用无人机飞行并采集标注。使用录制模式,镜头垂直向下进行拍摄,得到DJI_XXXX.MP4…

研发日记,Matlab/Simulink避坑指南(四)——transpose()转置函数Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结 前言 见《研发日记,Matlab/Simulink避坑指南(一)——Data Store Memory模块执行时序Bug》 见《研发日记,Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》 见《…

32人联机自建服务器攻略【幻兽帕鲁多人游玩】

创建幻兽帕鲁服务器1分钟部署教程,阿里云和腾讯云均推出幻兽帕鲁服务器服务器和部署教程,4核16G和4核32G配置可选,阿腾云atengyun.com分享1分钟自建幻兽帕鲁Palworld服务器教程: 幻兽帕鲁服务器创建教程 幻兽帕鲁服务器官方推荐…

使用 Redis 的 List 数据结构实现分页查询的思路

假设有一个存储数据的 List,每个元素代表一个记录,例如 recordsList。 按页存储数据: 每页存储一定数量的记录。例如,第一页存储索引 0 到 N-1 的记录,第二页存储索引 N 到 2N-1 的记录,以此类推。 分页查…