版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能网联汽车概论能力模块四掌握决策控制系统在智能网联汽车上的应用方式任务一认知智能网联汽车操作系统导入操作系统承上启下,引领智能汽车发展,操作系统(OperatingSystem,OS)是指控制和管理整系统的硬件和软件资源,并合组织调度计算机的工作和资源,以提供给用户和其他软件方便的接口和环境的程序集合设备发展到一定程度后一般都需要专门的操作系统。作为一名智能网联汽车开发助理,主管要求你就目前市面主流车型的线控底盘进行报告分析,具体包括整理自动驾驶汽车与传统汽车的底盘控制执行系统的不同点与相同点,整理目前投入量产的、可用于自动驾驶汽车的底盘控制系统与车型。新授Newteaching1六、AGL系统目录一、QNX系统二、Android系统三、智能网联汽车的开发平台——ROS系统五、智能网联汽车的学习平台——Gazebo系统四、智能网联汽车的操作系统——Linux系统六、AGL系统七、IOS系统一、QNX系统(一)QNX系统的定义QNX系统是一种商用的遵从POSIX(可移植操作系统接口,PortableOperatingSystemInterface,缩写为POSIX,是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称)规范的商业类UNIX实时操作系统,目标市场主要是面向嵌入式系统。QNX系统是商业类UNIX实时操作系统,主要针对嵌入式系统市场。QNXNeutrino实时操作系统、QNXMomentics工具套件和QNXAviage中间件系列基于组件的架构共同构成业界可靠性和延展性最强的架构,帮助建立高性能的嵌入式系统。QNX采用微内核架构,操作系统中的多数功能是以许多小型的task来执行,它们被称为server。QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程。QNX的微内核独立自处于一个被保护的地址空间,驱动程序、网络协议和应用程序处于程序空间中。一、QNX系统(二)QNX系统的微内核架构1.微内核架构的认识一、QNX系统(二)QNX系统的微内核架构
(1)驱动程序、网络协议、文件系统等操作系统模块和内核相互独立,任何模块的故障都不会导致内核的崩溃;
(2)驱动程序、网络协议、文件系统和应用程序都处于程序空间,都调用相同的内核API,开发与调试和应用程序没有区别;
(3)操作系统功能模块可以根据需要动态地加载或卸载,不需要编译内核。在高可靠性要求的情况下,可以编写监视模块,对可靠性要求高的模块进行监视,必要的时候重新启动或重新加载而无须重启系统。高可靠性的内核结构使QNX具备了高可靠性嵌入式操作系统的本质特征。2.微内核架构的优点一、QNX系统QNXNeutrino实时操作系统架构(二)QNX系统的微内核架构
QNXNeutrino实时操作系统(RTOS)内存受保护的微内核架构,QNXNeutrino实时操作系统架构如下图所示:3.QNXNeutrino实时操作系统(RTOS)(1)所有驱动程序、应用程序、协议栈和文件系统都在内核外部内存受保护的安全的用户空间内运行。几乎所有组件在出现故障时都能自动重启而不会影响其他组件或内核。(2)采用模块化结构,可允许用户动态升级模块、引入新功能或实施问题修复,而无高增加停机时间和系统中断的成本。(3)采用多核技术和内置透明分布处理技术。(4)根据POSIX标准设计,只需通过简单地重新编译,就可移植既存代码、开源UNIX、Linux和因特网代码。通过标准应用程序接口,用户能重新使用应用程序代码。(5)利用自适应分区技术确保系统资源满足应用要求。(6)支持x86、PowerPC和ARM平台。一、QNX系统(二)QNX系统的微内核架构一、QNX系统
4.QNX
Momentics工具套件(ToolSuite)
QNXMomentics工具套件(ToolSuite)是基于Eclipse的灵活集成开发环境。(二)QNX系统的微内核架构工具套件作用包含用户所需的所有工具便于迅速创建和优化用于QNXNeutrino实时操作系统的应用程序。用户可选择喜欢的编程语言、主机和目标机利用QNXMomentics工具套件,用户可使用C、C++、嵌入式C++编程。提供大量的优质高效的分析工具以加快产品交付所有阶段的进展。支持所有QNXNeutrino实时操作系统技术可以包括多核技术、扩展网络、闪存文件系统、高级图形和透明分布处理技术等。二、Android系统(一)Android系统的定义Android系统是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。年份发展内容2015年网络安全公司Zimperium研究人员警告,安卓(Android)存在"致命"安全漏洞,黑客发送一封彩信便能在用户毫不知情的情况下完全控制手机。2018年10月谷歌表示,将于2018年12月6日停止Android系统中的NearbyNotifications(附近通知)服务,因为Android用户收到太多的附近商家推销信息的垃圾邮件。2020年3月谷歌的Android安全公告中提到,新更新已经提供了CVE-2020-0069补丁来解决针对联发科芯片的一个严重安全漏洞。
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。二、Android系统(二)Android系统的体系架构和系统结构1.体系架构二、Android系统(二)Android系统的体系架构和系统结构(1)应用层系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行直接交互,通常都是JAVA进行开发的。(2)应用程序框架
应用框架层是系统的核心部分,一方面向上提供接口给应用层调用,另一方面向下与C/C++程序库以及硬件抽象层等进行衔接。应用框架层为开发人员提供了开发应用程序所需要的API,我们平常开发应用程序都是调用这一层所提供的API,当然也包括系统应用,这一层是由JAVA代码编写的,可以称为JAVAFramework。二、Android系统(二)Android系统的体系架构和系统结构(2)应用程序框架隐藏在每个应用后面的是一系列的服务和系统,其中包括以下五点:服务和系统主要内容丰富而又可扩展的视图这些视图用来构建应用程序,它包括列表、网格、文本框、按钮,甚至可嵌入的web浏览器。内容提供器使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。资源管理器提供非代码资源的访问,如本地字符串、图形和布局文件。通知管理器使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器用来管理应用程序生命周期并提供常用的导航回退功能。二、Android系统
(3)系统运行库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:核心库主要内容系统C库一个从BSD继承来的标准C系统函数库(Libc),它是专门为基于Embeddedlinux的设备定制的。媒体库基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。服务管理库对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。自由网络核心一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。(二)Android系统的体系架构和系统结构二、Android系统(二)Android系统的体系架构和系统结构(4)硬件抽象层
硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化,为了保护硬件厂商的知识产权它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。(5)Linux内核层Android的核心系统服务基于Linux内核层,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于Linux内核层。二、Android系统2.系统结构系统结构主要内容折叠系统内核Android是运行于Linuxkernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android的Linuxkernel控制包括安全、存储器管理、程序管理、网络堆栈、驱动程序模型等。折叠硬件抽象层Android的HAL(硬件抽象层)是能以封闭源码形式提供硬件驱动模块。折叠中介软件是操作系统与应用程序的沟通桥梁,应用分为两层:函数层和虚拟机。折叠安全权限机制Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用、应用与系统隔离开。(二)Android系统的体系架构和系统结构二、Android系统(三)Android系统的应用组件活动01活动(Activity)是指用于表现功能服务02服务(Service)是指后台运行服务,不提供界面呈现。广播接收器03广播接收器(BroadcastReceiver)是指用于接收广播。内容提供商04内容提供商(ContentProvider)是指支持在多个应用中存储和读取数据,相当于数据库。经典四大组件:二、Android系统(三)Android系统的应用组件1.折叠活动在Android中,活动是所有程序的根本,所有程序的流程都运行在活动之中,活动可以算是开发者遇到的最频繁,也是Android当中最基本的模块之一。在活动当中可以添加一些Button、Checkbox等控件。可以看到活动概念和网页的概念相当类似。服务是Android系统中的一种组件,它跟活动的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。服务是没有界面的长生命周期的代码。服务是一种程序,它可以运行很长时间,但是它却没有用户界面。2.折叠服务二、Android系统(三)Android系统的应用组件3.折叠广播接收器在Android中,广播接收器是一种广泛运用的在应用程序之间传输信息的机制。而广播接收器是对发送出来的广播进行过滤接受并响应的一类组件。可以使用广播接收器来让应用对一个外部的事件做出响应。内容提供商是Android提供的第三方应用数据的访问方案。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。Android当然不会真的把每个应用都做成一座孤岛,它为所有应用都准备了一扇窗,这就是内容提供商。4.折叠内容供应商二、Android系统(四)Android系统的平台优势折叠开放性01开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。折叠丰富的硬件02折叠丰富的硬件还是与Android平台的开放性相关,众多的厂商会推出许多功能特色、丰富的产品。各种产品功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。折叠方便开发03Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,但同样具有两面性。折叠Google应用04Google的互联网发展已经有10余年的历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将结合这些优秀的Google服务。三、智能网联汽车的开发平台——ROS系统(一)ROS系统的定义ROS系统是指用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS系统是Robot(机器人)+Operating(操作)+System(系统)的简称,即为机器人操作系统。从严格意义上来讲,ROS系统并不是一个真正的操作系统,而是一款用于机器人或人工智能的应用软件开发平台。ROS系统的主要设计目标是为了尽可能地避免或减少“重复造车轮”的现象出现。共享大量可复用的程序及源代码,便于更多的相关领域人才参与到机器人和人工智能两大领域的学习和研究中。三、智能网联汽车的开发平台——ROS系统ROS计算图级的拓扑结构图
ROS操作系统提供了大量的程序库和工具,而且ROS本身还具有许多功能,如硬件设备驱动、可视化工具、消息传递等。计算图级是ROS为了处理各节点间的数据而建立的一种点对点的拓扑结构图。主要包括:节点、节点管理器、主题、消息、服务、参数服务器和消息记录包,如图所示。(二)ROS系统的结构三、智能网联汽车的开发平台——ROS系统(三)ROS系统的特性特性内容点对点设计ROS系统在处理进程之间的通信时,采用了耦合度相对较低的点对点设计。分布式设计ROS系统是一个分布式设计的框架,不仅可以实现ROS工程之间的集成和发布,还能够移植到其他机器人软件平台上使用。支持多种语言ROS系统可支持多种编程语言,如C++、Java、Python、Lisp、Lua、Ruby等。丰富的功能软件包目前的ROS系统已经可以支持使用的第三方软件包数量达到数千个,从而大大提高了开发与测试的工作效率。免费且开源性ROS系统是一款免费且开源的操作系统。ROS系统中的所有源代码都是公开发布的,因此有利于人们对ROS系统进一步的学习、研究与完善。四、智能网联汽车的操作系统——Linux系统(一)Linux系统的定义Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。目前常用的Linux发行版本主要为Ubuntu、RedHat、CentOS、Debian、FedoraCore、SuSE、Gentoo、Arch、Kali、Slackware等。(二)Linux内核结构Linux内核是Linux操作系统的核心,包括内核的抽象和对硬件资源的间接访问,Linux内核以统一的方式支持多任务处理。Linux内核由进程调度、内存管理、虚拟文件系统、网络接口和进程之间的通信这五个子系统构成。四、智能网联汽车的操作系统——Linux系统进程调度也是其余四个子系统的枢纽,它们之间的关系如图所示。进程是系统在运行程序时,该程序实时所获得的资源分配以及优先级的调度情况。每个程序至少都包含一个进程。1.进程调度(二)Linux内核结构进程调度与其余子系统之间的关系:2.内存管理内存管理就是控制系统中正在运行进程之间的内存共享区域。3.虚拟文件系统
Linux系统有两大基本思想:一切皆文件、要明确各个软件的用途。Linux系统把文件、目录、设备、套接字都定义成文件。它们虽然属于不同的类型,但是Linux系统却为它们提供了同一的文件访问接口。四、智能网联汽车的操作系统——Linux系统4.网络接口5.进程之间的通信
网络接口为Linux系统在网络通信过程中提供了对网络协议标准的存取和网络硬件的支持。
Linux系统支持进程之间的相互通信机制。Linux进程之间的通信机制,主要包括套接字、信号、报文、共享内存等。(二)Linux内核结构四、智能网联汽车的操作系统——Linux系统(三)Linux操作系统特点1.系统源码完全开放,便于进一步研究学习和完善Linux系统。2.免费使用。3.具有较高的稳定性能,可长时间连续运行。4.应用领域较为广泛,Linux不仅可在计算机设备中使用、还可以在路由器、机顶盒、手机、平板电脑以及嵌入式设备中进行安装并使用。5.Linux系统本身消耗的内存相对较少。由于Linux系统具有以上特点,所以人们都将Linux系统作为基础系统,从而开展对汽车自主驾驶或智能网联汽车领域的学习和探索。Linux操作系统是许多顶级汽车制造商首选的汽车开源软件平台,已经取代了无数专有或封闭的操作系统,它不仅用于运行汽车音频或信息娱乐中心,还用于远程信息处理系统、仪表板等。Gazebo系统是一款功能非常强大的虚拟仿真工具,拥有强大的物理引擎和高质量的图形界面。Gazebo仿真测试画面如图所示。在外部真实场景下进行对智能网联汽车的操作、测试与研究是最有效的学习方法,若不具备实际操作设备的条件,可在虚拟仿真环境下学习智能网联汽车技术,从而加深对智能网联相关技术的认知与理解。五、智能网联汽车的学习平台——Gazebo系统Gazebo仿真测试画面(一)Gazebo系统的概述五、智能网联汽车的学习平台——Gazebo系统(二)Gazebo的特点1.模拟动力学,可访问多个高性能物理引擎。2.提供了逼真的环境渲染,包括高质量的照明、阴影和纹理。3.可生成带有噪声的仿真传感器,包括:激光测距仪、2D/3D摄像机、Kinect风格的传感器、触点传感器、力-力矩传感器等。4.有很多基于传感器和环境控制的插件。5.提供了许多仿真模型。6.可以在远程服务器上运行模拟操作,并能使用protobufs结构化数据存储格式进行TCP/IP的消息传输。Gazebo在智能网联汽车中的应用,可以实现以下功能:1.可以帮助智能网联汽车进行传感器设备的模拟调试与选择。2.利用Gazebo提供的仿真环境,可以进行路径规划、实时避障以及相关导航算法的模拟试验。3.配合ROS中的3D数据可视化工具,进行快速算法测试和人工智能学习,如图所示。五、智能网联汽车的学习平台——Gazebo系统ROS、Gazebo和Rviz可视化工具的结合使用(三)Gazebo系统的功能六、AGL系统(一)AGL系统的定义AGL(AutomotiveGradeLinux)系统是Linux基金会推出的一个可定制、开源的开放式车载系统平台,AGL系统全称是车机技术之车规级Linux-AutomotiveGradeLinux(AGL)。AGL系统是一个开源操作系统项目,基于Linux内核基础,汽车厂商、零配件供应商、技术提供商为了加速开发和适配对汽车的连接,一起合作实现该开源项目。六、AGL系统(二)AGL系统的结构AGL系统将汽车制造商、供应商和技术公司聚集在一起,以实现新功能和技术的快速开发,致力于成为行业标准。AGL系统主要应用在车载娱乐信息系统上,未来将涉足包括仪表显示器、车联网、ADAS和自动驾驶等应用领域,右图为AGL的系统架构:AGL的系统架构六、AGL系统(二)AGL系统的结构结构内容底层OS层包括系统bootloader启动、文件管理、任务调度、设备管理、设备驱动(并行设备、图形驱动、视频驱动、音频驱动、车载外设如传感器CAN等等)、资源监控、系统更新等等。服务层在底层OS之上做了一个服务层,支持蓝牙、Wifi、IPC、生命周期管理、位置服务、窗口和图形系统、网络服务、健康监控、电源管理、错误管理、电话、持久化存储、摄像头、音频服务、智能手机连接、车载总线服务等。应用框架层基于服务层提供的服务,在其上形成了一个应用框架,后续开发者们可以基于应用框架开发各种各样丰富多彩的应用。本层包括原生应用框架、应用管理、策略管理、窗口管理、声音管理、输入管理、用户管理、WEB框架。应用层该层已经不属于AGL所负责的部分,用户可以自己开发各类应用,比如主屏定制、收音机、浏览器、天气、手车互联、车载电话、音视频播放、Email收发等。安全层对于车来说,安全是非常重要的,所以安全单独做了一层,但是这层是横跨所有层的,每一层都有安全需要考虑和实现。六、AGL系统(三)AGL系统的功能应用功能应用内容图片AGL直接控制汽车上最基本的需要AGL控制或相关的设备如下,这些都已经在AGL中直接支持,开发者无需花费太多精力即可完成开发。
无缝数据共享AGL收集的车上数据可以支持V2V、V2I、V2X实现无缝共享。Wifi的多种使用模式如果车上人员各自想玩自己,不想成CP玩,可以开启普通的wifi模式,提供上网功能即可。如果想玩多P,在可以设置成Miracast模式,车上所有人共享同一屏幕画面。六、AGL系统(三)AGL系统的功能应用功能应用内容图片手机车机互联通过MirrorLink、HDMI、Miracast、Airplay、DLNA等协议可以实现把手机屏幕投影到车机,也可通过车机操作手机。默认主屏风格和内容启动之后进入的主屏,还是非常有后现代感的默认主屏风格。通风和空调主屏通风和空调主屏可以更好的让车内空气流通顺畅。六、AGL系统(三)AGL系统的功能应用功能应用内容图片电话主屏电话主屏可以让驾驶人更便捷的看到自己电话信息。仪表板主屏仪表板主屏是可以让驾驶人方便看清智能汽车的速度、转速、电池大小等仪表信息。设置功能的主屏设置功能主屏可以让驾驶人更加全面掌握智能汽车的功能。七、IOS系统(一)IOS系统的定义IOS系统是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统最初是设计给iPhone使用的后来陆续套用到iPodtouch、iPad以及AppleTV等苹果产品上。IOS与苹果的MacOSX操作系统一样它也是以Darwin为基础的因此同样属于类Unix的商业操作系统。原本这个系统名为iPhoneIOS直到2010年6月7日WWDC大会上宣布改名为IOS。截止至2011年11月根据Canalys的数据显示IOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。IOS系统的结构分为以下四个层次:可触摸层、媒体层、核心服务层和核心系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理安全教育培训
- 信息化教学培训心得体会
- 雨排水口施工涉河围堰施工方案
- 大学教师新冠肺炎疫情防控知识全员培训及考核工作方案
- 2026春期开学第一课的心理健康教育教案
- 钢筋模板混凝土工程施工方案
- 培训学校教学部与市场部薪酬绩效手册
- 2026年秋季开学第一课主题活动方案
- 筑牢安全防线:昭通市检察信息系统安全方案深度剖析
- 石材幕墙监理细则
- 2026年4月23日四川省宜宾市五方面人员选拔笔试真题及答案深度解析
- 2026秋招:重庆水务环境控股集团笔试题及答案
- 《 资本论 选读》教学大纲
- GB/T 23769-2009无机化工产品水溶液中pH值测定通用方法
- GB 4706.15-2008家用和类似用途电器的安全皮肤及毛发护理器具的特殊要求
- 《眼科学》课件-温医大-视神经及视路疾病
- 四百米障碍完整的教案
- 《材料分析测试技术》全套教学课件
- 天津英华插班生考试卷五年级
- 2021一级消防工程师继续教育考试石油化工类答案
- 小学音乐人教版 六年级下册爱我中华1 课件
评论
0/150
提交评论