当前位置: 首页 > news >正文

基于nvidia xavier智能车辆自动驾驶域控制器设计与实现-百度Apollo架构(二)

智能车辆操作系统
智能车辆操作系统是智能车辆系统的重要组成部分。现代汽车软件组件通常首
先由不同的供应商开发,然后在有限的资源下由制造商进行集成[42]。智能车辆操作
系统需要采用模块化和分层化设计思想来兼容传感器、分布式通信和自动驾驶通用
框架等模块,实现环境感知、运动规划、任务决策、车辆控制等自动驾驶功能。
智能车辆操作系统主要包含异构分布系统的多内核设计及优化、Hypervisor
拟化技术、POSIX API、分布式通信机制、管理平面和数据平面等,如图 2.2 所示。

智能车辆域控制器是基于异构芯片架构的硬件方案。智能车辆操作系统需要采
用安全性高、实时性强的多内核设计思想。智能车辆操作系统需要根据异构芯片架
构的具体功能单元加载不同安全等级的内核系统,同时满足差异化安全要求和性能
要求。目前应用在汽车或嵌入式系统中的 RTOS 内核类型如表 2.3 所示。

Hypervisor 虚拟化技术有效的实现资源整合和隔离,基于异构分布硬件平台上,
应用程序分别依赖不同的内核环境和驱动,但在物理层面共享 CPU [43,44]
Hypervisor 是实现跨平台应用、提高硬件利用率的重要途径,通过加强时间隔离,
使具有不同临界级别的实时系统能够在单一硬件平台上得到整合[45]
智能车辆操作系统是基于实时嵌入式软件单元架构,在不同内核系统采用
POSIX API 与应用软件、功能软件交互,以适应自动驾驶所需要的高性能计算和高
带宽通信等需求。
实时系统数据分发服务(DDS)为开发人员提供了高度可配置的中间件,通过广
泛的属性来控制应用程序的端到端服务质量(QoS) [46]。基于异构分布硬件平台的智能
车辆操作系统需要建立实时、高效、通用性强的分布式实时通信机制。ROS 是基于
Linux 内核的中间件,用于分布式系统数据分发服务,通过“节点”间数据传递服
务,如图 2.3 所示。“节点”间数据的实时性、持续性和可靠性都能满足现阶段的
技术研究需求,但是,ROS 依托于 Linux 系统,其效率、安全等方面都存在着缺陷,
无法满足车规级和嵌入式系统要求。
管理平面和数据平面是智能车辆操作系统中重要的功能模块。管理平面主要实
现日志管理、系统配置、状态监控等功能。数据平面主要实现数据收集和处理处理
功能。
综上所述,Linux 系统具有源代码公开,资源占用率较低、性能稳定等特点,
可长时间连续运行。ROS 中间件提供了操作系统应有的服务,包括硬件抽象,底层
设备控制,常用函数的实现,进程间消息传递,以及包管理,提供用于获取、编译、
编写、和跨计算机运行代码所需的工具和库函数。本文设计的智能车辆域控制器将
Linux 系统和 ROS 系统为基础,构建分层化、模块化的智能车辆域控制器软件架
构。
2.1.3 智能车辆系统架构
智能车辆系统需要感知行驶的周边环境和车辆状态,通过决策和规划实现对车
辆的横纵向控制,因此,智能车辆系统架构设计是至关重要的部分。经过长期的研
究和发展,智能车辆架构的设计基本采用多传感器融合的方案,其中 LidarCamera
Radar 是较为常见的融合架构。接下来将对典型的架构进行分析。
百度的智能车 Apollo 的系统架构主要由移动端和云端两个部分组成。通过通信
模块实现数据交互,如图 2.4 所示。移动端采用了分层化和模块化设计思想,包括
车辆平台、硬件平台和软件平台三个部分组成。
硬件平台主要由激光雷达、GPS + IMU、摄像头、毫米波雷达、超声波雷达、
人机交互硬件和黑匣子等硬件组件组成,构成了感知子系统、控制子系统、定位子
系统、人机交互子系统和底盘控制接口等。软件平台由实时操作系统、运行环境和
自动驾驶应用软件构成,分别实现感知模块识别、高精度定位、地图搜索引擎、规
划控制和人机交互等功能。云端服务平台通过车联网技术为智能车辆提供高精度地
图、数据平台、安全、OTADuerOS 等服务。系统中的各个模块基于 CarOS ROS
节点单独运行,模块节点间通过发布和订阅特定 topic 实现分布式通信,模块间的交
互如图 2.5 所示。

基于 Autoware 系统架构的智能车辆系统主要包括定位模块,检测模块,预测和
规划模块和控制模块组成,如图 2.6 所示。定位模块使用高精度地图和 SLAM 算法
来实现,辅助以 GPS + IMU 传感器。检测模块使用摄像头和激光雷达,结合传感器
融合算法和深度学习网络进行目标检测。预测模块使用定位和检测的结果来预测跟
踪目标。规划模块主要是基于感知的输出结果,进行全局路径规划和局部路径规划。
控制模块向车辆输出的是速度和角速度的扭曲量作用于智能车辆线控平台。系统通
过以上四个模块实现感知层、预测及规划层、控制层的功能。
综合上述的智能车辆系统架构的分析结果,智能车辆系统架构主要由多传感器
数据融合的环境感知、高精度地图、高精度定位、规划与决策和车辆控制等部分构
成。环境感知用于检测识别障碍物和行驶道路环境;高精度定位用于获取车辆的实
时姿态;根据由障碍物信息以及道路信息构建出的局部地图和车辆实时姿态,规划
与决策子系统进行路径规划和决策,最终由控制系统执行控制行为,从而完成自动
驾驶任务。

 信迈提供自动驾驶控制器软硬一体方案。

相关文章:

基于nvidia xavier智能车辆自动驾驶域控制器设计与实现-百度Apollo架构(二)

智能车辆操作系统 智能车辆操作系统是智能车辆系统的重要组成部分。现代汽车软件组件通常首 先由不同的供应商开发,然后在有限的资源下由制造商进行集成[42]。智能车辆操作 系统需要采用模块化和分层化设计思想来兼容传感器、分布式通信和自动驾驶通用 框架等模块&a…...

考研408 王道计算机考研 (初试/复试) 网课笔记总结

计算机初试、复试笔记总结(导航栏)📝 一、初试 408 408 - 1. 数据结构与算法 数据结构与算法 笔记导航🚥🚥🚥 🥬 第一章 绪论(无)🥕 第二章 线性表🥪 第三章 栈和队列&…...

[Java·算法·中等]LeetCode34. 在排序数组中查找元素的第一个和最后一个位置

每天一题,防止痴呆题目示例分析思路1题解1👉️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1,…...

SAP BTEs的简介及实现

一、认识BTE BTE(Business Transaction Event)也称之为“业务交易事件”,一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP进行二次开发,然而BTE则提供了RFC调用其它产品的可能(Tcode:FIBF)。BTE的设计思路更加简单,和BADI有点类似。在标准程序中留有…...

如何利用海外主机服务提高网站速度?

网站速度是任何在线业务成功的关键。快速的网站速度可以让用户更快地访问您的网站,增加页面浏览量。对于拥有全球用户的网站而言,选择一个海外主机服务商是提高网站速度的有效方法之一。下面是一些利用海外主机服务(如美国主机、香港主机)提高网站速度的…...

【SpringMVC】 一文掌握 》》》 @RequestMapping注解

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ RequestMapping注解一、SpringMVC环境准备1.相…...

高三应该怎么复习

高三是学生们备战高考的重要一年,正确有序的复习可以有效地提高复习效率,下面是一些高效复习的方法和建议:1. 制定合理的学习计划和目标高三的学生要制定合理的学习计划和目标,适当的计划和目标可以使学习更有针对性和效率。建议根…...

如何通过C++ 将数据写入 Excel 工作表

直观的界面、出色的计算功能和图表工具,使Excel成为了最流行的个人计算机数据处理软件。在独立的数据包含的信息量太少,而过多的数据又难以理清头绪时,制作成表格是数据管理的最有效手段之一。这样不仅可以方便整理数据,还可以方便…...

Kalman Filter in SLAM (6) ——Error-state Kalman Filter (EsKF, 误差状态卡尔曼滤波)

文章目录0.前言1. IMU的误差状态空间方程2. 误差状态观测方程3. 误差状态卡尔曼滤波4. 误差状态卡尔曼滤波方程细节问题0.前言 这里先说一句:什么误差状态卡尔曼?完全就是在扯淡! 回想上面我们推导的IMU的误差状态空间方程,其实…...

centos7部署KVM虚拟化

目录 centos7部署KVM虚拟化平台 1、新建一台虚拟机 2、系统内的操作 1、修改主机名 2、挂载镜像光盘 3、ssh优化 4、设置本地yum仓库 5、关闭防火墙,selinux 3、安装KVM 4、设置KVM网络 5、KVM部署与管理 6、使用虚拟系统管理器管理虚拟机 创建存储池 …...

【华为机试真题详解 Python实现】最小施肥机能效【2023 Q1 | 100分】

文章目录 前言题目描述输入描述输出描述示例 1输入:输出:示例 2输入:输出:题目解析参考代码暴力解法二分法前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可…...

SpringBoot - 什么是跨域?如何解决跨域?

什么是跨域? 在浏览器上当前访问的网站,向另一个网站发送请求,用于获取数据的过程就是跨域请求。 跨域,是浏览器的同源策略决定的,是一个重要的浏览器安全策略,用于限制一个 origin 的文档或者它加载的脚本…...

Astra pro相机使用说明

奥比中光的Astra pro这款相机,目前官网已经搜不到相关信息,应该是停产了。但是很多机器人设备上或者淘宝上还能买到。使用起来经常会出现不同的问题。问题1: 这款相机据网友描述,就是乐视相机LeTMC-520,换了外壳&#…...

扬帆优配|数字经济刮起“东风”,龙头晋级7连板

今日两市共40只涨停股,主要集中于数字经济、6G板块,上一个交易日涨停股为29股;除掉18只ST股及3只一字板新股,共19股涨停。另外,4股封板未遂,整体封板率为83%。 6股封单金额超亿元 从收盘涨停板封单量来看&…...

Day911.DTO和DO为什么要互转 -SpringBoot与K8s云原生微服务实践

DTO和DO为什么要互转 Hi,我是阿昌,今天学习记录的是关于DTO和DO为什么要互转的内容。 一、什么是DTO DTO ,数据传输对象,全称 (Data transfer object),用于网络之间传输通讯的对象模型&#x…...

查找、排序、二叉树的算法,统统记录于此。

文章目录一、查找1. 无序表的顺序查找2. 折半查找3. 分块查找4. 二叉排序树BST5. 哈希表查找二、排序1. 不带哨兵的直接插入排序2. 带哨兵的直接插入排序3. 带哨兵、折半查找的直接插入排序4. 希尔排序5. 冒泡排序6. 快速排序7. 选择排序8. 堆排序9. 归并排序二叉树1. 递归先序…...

如何用Python实现在网页中嵌入YouTube的视频?

要在网页中嵌入YouTube视频,可以使用HTML代码,在Python中使用字符串拼接的方式生成HTML代码。下面是一个示例代码,可以生成嵌入YouTube视频的HTML代码: def embed_youtube_video(video_id, width560, height315): """ 生成嵌…...

Easy Deep Learning——PyTorch中的自动微分

目录 什么是深度学习?它的实现原理是怎么样的呢? 什么是梯度下降?梯度下降是怎么计算出最优解的? 什么是导数?求导对于深度学习来说有何意义? PyTorch 自动微分(自动求导) 为什么…...

【生物信息】利用ChatGPT解释GO分析中的关于Biological Processes的问题

利用ChatGPT解释GO分析中的一些问题 如何理解GO中的evidence:ISS,这是什么?qualifier:involved_in是什么意思?evidence:TAS是什么?evidence: IBA是什么?evidence: IMP是什么?evidence:IDA是什么?evidence: IEA是什么?GO分析中,evidence: NAS是什么意思?GO分析中…...

2018年MathorCup数学建模C题陆基导弹打击航母的数学建模与算法设计解题全过程文档及程序

2018年第八届MathorCup高校数学建模挑战赛 C题 陆基导弹打击航母的数学建模与算法设计 原题再现: 火箭军是保卫海疆主权的战略力量,导弹是国之利器。保家卫国,匹夫有责。为此,请参赛者认真阅读"陆基反舰导弹打击航母的建模示意图"。(附图 1 )参考图中的…...

打怪升级之CFile类

CFile类 信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?viewmsvc-170。 CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与…...

[css]通过网站实例学习以最简单的方式构造三元素布局

文章目录二元素布局纵向布局横向布局三元素布局b站直播布局实例左右-下 布局左-上下 布局上下-右 布局方案一方案二后言二元素布局 在学习三元素布局之前,让我们先简单了解一下只有两个元素的布局吧 两个元素的相对关系非常简单,不是上下就是左右 纵向布…...

【冲刺蓝桥杯的最后30天】day6

大家好😃,我是想要慢慢变得优秀的向阳🌞同学👨‍💻,断更了整整一年,又开始恢复CSDN更新,从今天开始更新备战蓝桥30天系列,一共30天,如果对你有帮助或者正在备…...

ssm框架之spring:浅聊IOC

IOC 前面体验了spring,不过其运用了IOC,至于IOC( Inverse Of Controll—控制反转 ) 看一下百度百科解释: 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则&#x…...

pytest初识

一、单元测试框架 (1)什么是单元测试框架? 单元测试是指在软件开发中,针对软件的最小单元(函数、方法)进行正确性的检查测试 (2)单元测试框架 java:junit和testng pytho…...

设计模式~责任链模式(Chain of Responsibility)-12

目录 (1)优点 (2)缺点 (3)使用场景 (4)注意事项: (5)应用实例: (6)经典案例 代码 责任链, …...

【ElasticSearch】(一)—— 初识ES

文章目录1. 了解ES1.1 elasticsearch的作用1.2 ELK技术栈1.3 elasticsearch和lucene1.4 为什么不是其他搜索技术?1.5 总结2. 倒排索引2.1 正向索引2.2 倒排索引2.3 正向和倒排3. ES的一些概念3.1 文档和字段3.2 索引和映射3.3 mysql与elasticsearch1. 了解ES Elasti…...

MySQL 事务隔离

MySQL 事务隔离事务隔离实现事务的启动ACID : 原子(Atomicity)、一致(Consistency)、隔离(Isolation)、永久(Durability) 多个事务可能出现问题 : 脏读 (dirty read) , 不可重复读 (non-repeatable read) , 幻读 (phantom read) 事务隔离级别 : 读未提交 (read uncommitted)…...

基础06-JS中for-in和for-of有什么区别

for…in 和 for…of 的区别 题目 for…in 和 for…of 的区别 key 和 value for…in 遍历 key , for…of 遍历 value const arr [10, 20, 30] for (let n of arr) {console.log(n) }const str abc for (let s of str) {console.log(s) }function fn() {for (let argument…...

AI视频智能分析EasyCVR视频融合平台录像计划模块搜索框细节优化

EasyCVR支持海量视频汇聚管理,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。在录像功能上,平台可支持: 根据业务场景自定义录像计划,可支持7*24H不间断录像,支持…...