智能驾驶操作系统介绍

智能驾驶系统是一种能够自主感知、决策和执行行驶任务的车辆控制系统。常见的智能驾驶系统包括:

  • 自动泊车系统:能够自动控制车辆完成泊车过程,包括寻找车位、转向、加速、制动等操作。

  • 自适应巡航系统:能够根据车速、车距和交通状况等因素自适应调整车速,并自动维持车辆与前车的安全距离。

  • 车道保持辅助系统:能够自动识别车道线并控制车辆保持在车道内行驶,避免偏离车道或发生碰撞。

  • 紧急制动辅助系统:能够自动感知前方障碍物并采取紧急制动措施,以防止碰撞发生。

  • 盲区监测系统:能够监测车辆周围的盲区,并发出警告信号,以避免盲区发生交通事故。

  • 自动驾驶系统:能够完全自主地感知、决策和执行行驶任务,不需要人工干预。

这些智能驾驶系统的功能和性能各异,但都旨在提高车辆的安全性、舒适性和效率,为驾驶员带来更好的驾驶体验。

智能驾驶操作系统发展趋势和特点是纵向分层,以实现层与层之间的解耦,方便快速开发和移植。目前普遍采用的智能驾驶操作系统底层内核主要有Linux、QNX和其他RTOS如FreeRTOS、ThreadX、VxWorks等))。

Linux

Linux最初是作为通用操作系统而设计开发的,但提供了一些实时处理支持,这包括大部分POSIX标准中的实时功能,支持多任务、多线程,具有丰富的通信机制等。除此之外,Linux社区有实时性增强patch在Linux内核原有RT功能上,增加了中断线程化、优先级默认继承等功能。Linux也提供了符合POSIX标准的调度策略,包括FIFO调度策略、时间片轮转调度策略和静态优先级抢占式调度策略。另外,Linux还提供了内存锁定功能,以避免在实时处理中存储页面被换出,同时提供了符合POSIX标准的实时信号机制。

Linux的开发和发布模式是:内核程序由Linus带领的核心组成员负责更新和发布,驱动程序和应用软件由软件开发商、系统集成商、社团组织以及众多Linux爱好者自行开发或移植。因此,Linux的版本也有两类,即Linux内核版本与Linux系统版本。内核版本是指由内核团队维护和发布的内核的版本;系统版本是指以Linux内核为基础构造的、由各发行商或社团组织维护和发布的完整的操作系统的版本,也称为发行版本。

Linux的知名发行版本多达几百种,可谓百花齐放。每种发行版本都是在Linux内核的基础上集成了图形界面、各种系统工具和应用程序。但由于在设计理念、发展策略及面向的目标等方面的差异,发行版本均各具特色,带给用户的体验也各不相同。

Linux 操作系统构成

• 用户空间:所有的用户应用程序都是在用户空间运行,不直接访问内存等硬件资源,间接通过内核来访问。

• 内核空间:内核直接管理着系统的CPU、内存、输入输出设备、网络设备和其它的外围设备,它被分为不同模块来管理系统的不同操作。

内核空间主要子系统

• Process Scheduler,进程管理。负责管理CPU 资源,以便让各个进程可以以尽量公平的方式访问CPU。

• Memory Manager,内存管理。负责管理Memory(内存)资源,以便让各个进程可以安全的共享机器的内存资源。

• VFS(Virtual File System),虚拟文件系统。Linux 内核将不同功能的外部设备可以通过统一的文件操作接口来访问。

• 设备驱动,负责管理第三方设备接入/终端。

• Network,网络子系统。负责管理系统的网络设备,并实现多种多样的网络标准。

QNX

QNX是一种商用的类Unix实时操作系统,遵从POSIX规范,目标市场主要是嵌入式系统。QNX成立于1980年,是加拿大一家知名的嵌入式系统开发商。QNX的应用范围极广,包含了:控制保时捷跑车的音乐和媒体功能、核电站和美国陆军无人驾驶Crusher坦克的控制系统,还有RIM公司的BlackBerry Playbook平板电脑。

在汽车领域,QNX是最大的操作系统供应商。据不完全资料显示,QNX在车用市场占有率达到75%。几乎全球所有的主要汽车品牌目前都采用了基于QNX技术的系统。

QNX采用微内核架构,操作系统中的多数功能是以许多小型的task来执行,它们被称为server。这样的架构使得用户和开发者可以关闭不需要的功能,而不需要改变操作系统本身。QNX是—个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧而且运行速度极快。

QNX的微内核独立自处于一个被保护的地址空间,驱动程序、网络协议和应用程序处于程序空间中。内核可以通过动态地插入提供服务的进程来扩展,如文件系统、网络、POSIX消息队列和设备驱动程序。每个进程都在它自己的内存保护的地址空间中运行。由于内核中导致问题的代码太少,内核错误几乎被消除了。当软件出现故障时,即使是驱动程序和其他关键程序出现故障,基于QNXNeutrino的系统也能智能地恢复--无需重启。嵌入式系统开发人员还能依靠微内核架构的其他增强可靠性的功能,包括支持软件和硬件热交换,以及在网络环境中分布组件的能力。与拥有专有应用程序接口的实时执行程序和操作系统不同,QNX Neutrino实时操作系统是根据最新的POSIX 1003.1标准和草案(包括实时和线程选项)从头设计的。

黑莓QNX还提供了符合IEC61508 SIL3、ISO26262 ASILD和其他功能安全标准(QNX OS for Safety、QNX Hypervisor for Safety)的嵌入式操作系统预认证版本。QNX Neutrino实时操作系统是一种高性能、多线程、适用于SMP的微内核实时操作系统,具有开放系统的POSIX应用程序接口。QNX Neutrino实时操作系统是一种高性能、多线程、适用于SMP的微内核实时操作系统,具有开放系统的POSIX应用程序接口。

VxWorks

风河公司(Wind River System)是一家专业从事嵌入式OS、软件开发工具、解决方案平台及服务的软件公司。2022年安波福以43亿美元收购了嵌入式RTOS专家风河。VxWorks操作系统是风河公司设计开发的一种嵌入式实时操作系统RTOS,是嵌入式开发环境的关键组成部分。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、弹道制导和飞机导航等。

VxWorks操作系统是一个32位的实时操作系统,支持32位以上的嵌入式微处理器,包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等部分。VxWorks只占用了很小的存储空间,并可高度裁剪,保证了系统能以较高的效率运行。VxWorks是一个具有可伸缩、可裁剪、高可靠性,同时适用于所有流行目标CPU平台的实时操作系统。所谓可伸缩性指VxWorks提供了超过1800个应用编程接口API供用户自行选择使用;可裁剪性指用户可以根据自己的应用需求对VxWorks进行配置,产生具有各种不同功能集的操作系统映像;可靠性指能够胜任一些诸如飞行控制这样的关键性任务。

与QNX对比,VxWorks有点像宏内核,但体积比QNX小,只有8kB。VxWorks 7以前只提供系统服务,使用统一地址空间方式,没有用户服务。VxWorks 7之后区分kernel space和user space,只是user space和kernel space一致,类似Linux的monolithic kernel。QNX是只有kernel服务运行在kernel mode下,其他逻辑运行在user mode下。QNX是基于信息传递的操作系统,VxWorks是基于内存的操作系统;QNX是基于线程划拨调度的,VxWorks是基于轮询调度的;QNX是针对算力比较强的系统,VxWorks是偏向于单独MCU或MCU岛应用的小规模系统,核心是任务调度。VxWorks的实时性更强,可靠性更高。VxWorks轻松达到汽车领域最高的ASIL-D级认证,VxWork还通过了更难的DO-178C A级认证。VxWorks针对汽车领域常用的C++和智能驾驶算法领域最常用的Python兼容性良好,对车规级以太网上层协议栈TSN标准兼容性良好,对无人驾驶最常用操作系统ROS 2.0兼容性良好,也兼容自适应Autosar。

从未来发展趋势看,车用操作系统逐步向整车OS演进,合作研发将成为主流。当前操作系统已步入智舱+智驾OS阶段,并将会进一步融合;未来随着中央集成式架构发展,车载OS将向整车OS迈进。开源计划成为智能驾驶操作系统发展趋势。目前,国内企业相继推出开源计划,加速促进智能驾驶操作系统生态的建设,为智能驾驶和整车操作系统的发展注入新的动力。

来源:综合网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值