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

news2024/9/28 5:25:41
智能车辆操作系统
智能车辆操作系统是智能车辆系统的重要组成部分。现代汽车软件组件通常首
先由不同的供应商开发,然后在有限的资源下由制造商进行集成 [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 智能车辆系统架构
智能车辆系统需要感知行驶的周边环境和车辆状态,通过决策和规划实现对车
辆的横纵向控制,因此,智能车辆系统架构设计是至关重要的部分。经过长期的研
究和发展,智能车辆架构的设计基本采用多传感器融合的方案,其中 Lidar Camera
Radar 是较为常见的融合架构。接下来将对典型的架构进行分析。
百度的智能车 Apollo 的系统架构主要由移动端和云端两个部分组成。通过通信
模块实现数据交互,如图 2.4 所示。移动端采用了分层化和模块化设计思想,包括
车辆平台、硬件平台和软件平台三个部分组成。
硬件平台主要由激光雷达、 GPS + IMU 、摄像头、毫米波雷达、超声波雷达、
人机交互硬件和黑匣子等硬件组件组成,构成了感知子系统、控制子系统、定位子
系统、人机交互子系统和底盘控制接口等。软件平台由实时操作系统、运行环境和
自动驾驶应用软件构成,分别实现感知模块识别、高精度定位、地图搜索引擎、规
划控制和人机交互等功能。云端服务平台通过车联网技术为智能车辆提供高精度地
图、数据平台、安全、 OTA DuerOS 等服务。系统中的各个模块基于 CarOS ROS
节点单独运行,模块节点间通过发布和订阅特定 topic 实现分布式通信,模块间的交
互如图 2.5 所示。

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

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

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

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

相关文章

适当的合同管理有什么积极影响?若管理不善有什么后果?

合同管理将决定合同是主要的风险因素还是业务增长的工具。事实是,如何处理合同会影响企业的底线。据研究显示,糟糕的合同管理使企业每年损失超过9%的收入。实施合同管理最佳实践将帮助企业提高合同签约效率。 什么是合同管理? 合同管理是对合…

玩转CodeQLpy之用友GRP-U8漏洞挖掘

0x01 前言CodeQLpy是作者使用python3实现的基于CodeQL的java代码审计工具,github地址https://github.com/webraybtl/CodeQLpy。通过CodeQLpy可以辅助代码审计人员快速定位代码中的问题,目前支持对SprintBoot的jar包,SpringMVC的war包&#xf…

初探git——版本控制工具git实用教程

文章目录前言基本配置基本操作1.初始化2.查看修改状态(status)3.添加工作区到暂存区4.提交暂存区到本地仓库5.查看提交日志6.版本回退7.添加文件至忽略列表分支1.基本命令2.分支冲突git远程仓库1.创建远程仓库2.配置公钥3.操作远程仓库idea配置git前言 Git是目前世界上最先进的…

九龙证券|业绩增长态势向好 沪市数字产业公司活力迸发

3月8日晚间,中国联通发表年报并举行成绩说明会,年报显现,公司2022年完成经营收入(兼并报表)3549.44亿元,同比增加8.30%;归属于母公司股东净利润72.99亿元,同比增加15.80%&#xff0c…

【计算机视觉】Zero-shot, One-shot和Few-shot的理解

机器学习任务按照对 样本量 的需求可以分为:传统监督式学习、Few-shot Learning、One-shot Learning、Zero-shot Learning。 文章目录一、传统监督式学习二、Zero-shot learning (零样本学习,简称ZSL)三、Few-shot learning3.1 什…

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

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

阿里云服务器使用教程:CentOS 7 安装JDK及Tomcat(以jdk1.8、tomcat9.0.37为例)

目录 1、下载JDK及Tomcat的安装包并上传至服务器 2、安装JDK 3、安装Tomcat 4、Tomcat启动后无法打开Tomcat首页的原因 1、下载JDK及Tomcat的安装包并上传至服务器 (1)下载JDK1.8版本压缩包 官网:Java Downloads | Oracle &#xff08…

C++回顾(十七)—— 类型转换

17.1 static_cast(expr) static_cast强制类型转换 用于基本类型间的转换,但不能用于基本类型指针之间的转换 用于有继承关系类对象之间的转换和类指针之间的转换 static_cast是在编译期间转换的,无法在运行时检测类型 所以类类型之间的转换有可能存在风…

002 第一季SpringBoot2核心技术-核心功能:

三、核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式。 1.1.2 yaml 1) 简介 YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时…

ArcGIS:栅格计算器的运算符和函数详解

01 栅格计算器在哪?02 运算符说明栅格计算器的表达式书写与Python语法一致(由于其为解释型语言并且语言简洁优美,因此简单上手),这里主要简单说明各个运算符即可使用栅格计算器构建地图代数表达式以输出要求的栅格图像…

给力|这是一个专业的开源快速开发框架!

在低代码开发市场,专业的开源快速开发框架可以助力企业提升办公协作效率,实现提质增效的办公自动化的发展目标。 流辰信息低代码技术开发平台服务商,拥有丰富的技术经验和案例合作经验,针对不同的客户需求,提供个性化、…

Docker-数据卷之Dockerfile

dockerfile相当于一个脚本通过该脚本可以生成一个自定义的镜像Dockerfile命令:注意:Dockerfile中的指令必须都是大写#基础镜像,一切从这儿开始构建 FROM #镜像是谁写的,姓名邮箱 MAINTAINER #镜像构建时候需要运行的命令 RUN #步骤&#xff1…

Nginx 文件名逻辑漏洞(CVE-2013-4547)

注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!! 个人博客地址:HJW个人博客 理论基础: 建议提前学习nginx的原理:Nginx服务漏洞详解 - 知乎 漏洞原理&a…

【项目实战】如何使用Postman调用WebSocket程序

一、背景说明 项目中需要使用WebSocket进行通信,开发完了WebSocket接口,总得测试吧,以下是Postman调用WebSocket程序的方法。 二、注意事项 2.1 为啥选Postman? 最近都在用ApiFox做接口调用,但是目前版本的ApiFox&…

新库上线 | CnOpenData注册会计师及事务所数据

注册会计师及事务所数据 一、数据简介 注册会计师是指取得注册会计师证书并在会计师事务所执业的人员,从事审计、咨询、税务等相关业务。事务所是指依法在中国境内设立,由中国公民组成,具有独立法人资格,接受投资者和其他利害关系…

Python之webmagic爬虫优点与使用

一、webmagic的优点它更偏向于java的语法,对于熟悉java的工程师来说学习成本较低提供多种选择器,如css选择器、xpath、正则等有一个模块pipeline:可通过简单地配置,可以将爬虫抽取到的信息,持久化到文件、数据库等。二…

git 提交 多人开发避免冲突

代码正常提交 git add . git commit -m ‘备注信息’ git status 查看本地提交状态 git pull 拉取代码 git push origin master 指定远程仓库名和分支名 ‘’ 如果多人开发 A和B 提交避免冲突 B拉取代码修改内容直接提交后 A也修改了内容在git add / git commit / git pull / g…

新品发布 | 单细胞转录组学

单细胞转录组学测序(Single cell RNA-seq):是对单个细胞的转录组进行研究的一项技术,其原理是将分离的单个细胞中微量的mRNA通过扩增后再进行高通量测序,主要用于研究异质性细胞的独特表型和生物学功能,有助于发现新的稀有细胞类型…

【JavaSE系列】 第九节 —— 多态那些事儿

文章目录 前言 一、多态的概念 二、向上转型和向下转型 2.1 向上转型 2.2 什么是向上转型 2.3 三种常见的向上转型 2.3.1 直接赋值 2.3.2 作为方法的参数 2.3.3 作为方法的返回值 2.4 向下转型(这个了解即可) 三、方法重写 3.1 方法重写的…

启动golang项目编译的exe可执行文件获取windows管理员权限(UAC)

背景: go代码启动以后里面涉及到修改ip地址等操作,需要管理员权限。打包好的exe文件双击执行默认是没有管理员权限的,那么修改ip就会提示需要管理员权限。 解决方法1:右键以管理员权限运行exe文件 解决方法2:编译exe…