一种基于软硬件冗余评分模型的嵌入式高可靠自动驾驶控制器的制作方法

文档序号:15183392发布日期:2018-08-17 07:30阅读:196来源:国知局

本发明涉及自动驾驶的技术领域,更具体地,涉及一种基于软硬件冗余评分模型的嵌入式高可靠自动驾驶控制器。



背景技术:

自动驾驶控制器基本基于激光雷达和gps定位模块,得到当前车辆的位置、姿态和速度信息,进而根据给定的目标轨迹输出转向、油门和刹车的控制指令。但是,目前的很多控制器仅关注基本功能的实现,忽视非功能性需求,容错性和舒适性不强,还存在运行平台成本高、可扩展性差的问题。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于软硬件冗余评分模型的嵌入式高可靠自动驾驶控制器,不仅控制精度高,而且运行在低功耗嵌入式硬件上,应用rtos(实时操作系统)技术以保证实时性,采用较完善的错误检测机制和冗余投票设计保证可靠性,还能够根据车辆的实际工况动态调整加速和转向策略保证舒适性,极大改善了实际复杂场景下控制器的综合表现。

本发明的技术方案是:一种基于软硬件冗余评分模型的嵌入式高可靠自动驾驶控制器,其中,包括自动驾驶控制器,分别与自动驾驶控制器连接的输入模块、处理模块、输出模块;

所述的输入模块与上层传感器连接,所述的处理模块分别连接横向控制器和纵向控制器,所述的输出模块连接底层硬件。

进一步的,所述的上层传感器包括位置和姿态传感器,目标轨迹传感器。所述的底层硬件包括油门、刹车、转向角。

在硬件方面,采用n块(n为奇数)低功耗嵌入式计算平台树莓派3modelb实现冗余设计,在这些树莓派平台上独立运行控制器和对应的错误检测程序,然后平台末端实现一个投票器,使用“多数占优-等数取优”的原则选举出当前控制器的输出。

在控制算法方面,设计了一套先进控制算法,将车辆控制解耦和为横向转弯和纵向车速控制:横向控制器根据车辆的速度和轨迹曲率计算前馈控制,根据位置偏差和航向偏差计算反馈控制;纵向控制器则大体采用pid控制,同时考虑车辆俯仰角的影响。通过将横纵向控制分离,保证了每块控制逻辑的高效运行,并在逻辑处理中将上述两种控制的依赖性纳入考虑,从而在实际驾驶测试中完成误差极小的路线拟合,体现出该控制器的高精度性能。结合车辆实际工况,动态优化参数使车辆的位置和姿态控制更加平滑,使车辆的行驶状态更加稳定。

在软件实现方面,重视非功能性需求,通过加入对多种可能发生代码错误的检测和处理,提升控制器的鲁棒性。使用rtos保证控制器中所有进程(和线程)均处于可监控、低延迟、不超时的实时运行状态,提高了系统的可控性。从乘客角度出发,基于乘车体验对车辆的转弯和车速控制作进一步优化,显著提高车辆行驶的稳定,为乘客提供了良好的乘车舒适性。

与现有技术相比,有益效果是:本发明改善了无人驾驶控制器在容错性和功耗上的性能,降低了无人驾驶控制器在实际复杂路况中出现宕机或功能失常的概率,提高了无人驾驶车辆的安全性;使用rtos提高了系统整体的实时可控性,结合完善的控制逻辑显著提高控制器的适应能力。整体体验始终贴近甚至超过优秀驾驶员的驾驶水平。

附图说明

图1是本发明控制器结构框架示意图。

图2是本发明控制算法的任务流程示意图。

图3是本发明冗余设计在输出位置放置的投票器的工作原理示意图。

图4是本发明标识出在横向控制上预定轨迹和车辆的实际轨迹示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。

硬件方面:

传感器将相关数据发送给控制器进行处理。控制器硬件由n块树莓派低功耗平台组成,每块树莓派上运行单独的控制器处理程序,只要保证其中一块树莓派正常工作就能确保整个控制器系统稳定运行。上述硬件层面的冗余设计,提高了在复杂环境中该控制器的可靠性。而每一块低成本微型计算模块树莓派只需要5v电压和0.5a左右的电流,整体功耗较低,保证了冗余设计的可行性。

软件方面:

在软件层面也实现了冗余设计,n块树莓派上可运行m个(m≥n)独立的控制器进程,同样提高了整个系统的可靠性。每一个控制器进程都对应一套单独的检错程序,对控制器程序中可能出现的错误进行监测,检错程序的输出包括:suc(没有错误)、duf(可检测的错误)和sdc(检测不到的错误)。在控制器的输出端实现了一个投票器,通过汇总每个独立控制器程序的输出和错误检测的结果,经合理的投票逻辑选出最终的控制指令发送给底层硬件,减少了随机的软硬件错误对整体系统安全性和可靠性的影响。

将车辆的横向控制与纵向控制分离,具体控制逻辑如下所示:

上述公式为车辆横向控制逻辑,做如下说明:δ表示转向角输出,l表示轴距,k、kp、ki、分别表示前馈权重系数、车道保持权重系数、积分权重系数、阻尼权重系数,ux表示车辆当前速度,r(s)表示轨迹曲线在当前点处的曲率,cf表示前轴轮胎角刚度,a表示前轴到车辆质心的距离,e(t)表示当前位置与最近的轨迹上的点之间的距离,xla表示向前看的距离,ψ表示航向角,δψ表示当前航向角与最近的轨迹上的点的航向角之差。

上述公式为车辆纵向控制逻辑,做如下说明:kp、ki和k1都表示权重系数,ud表示目标车速的模,un表示当前车速的模,g表示重力加速度,θ表示车辆当前的俯仰角。由于刹车的频繁变化会严重影响乘坐体验,所以对于刹车输出还进行了分级处理,共分成6级,从而保证在一定输出范围内的刹车踏板位置不变。

控制器程序运行在rtos上,使用实时系统的相关技术进行编程,确保控制器进程的每一个线程都在低系统延迟和人为可控的环境下运行,实验证明,该方法显著降低了系统线程处理超时的机率,提高了整体驾驶系统的安全性。

通过对车辆工况进行全面的监测,结合总体控制逻辑做到对车辆的高精度控制,进一步提升了控制器的可靠性,减少粗糙控制带来的安全隐患,并从乘车体验的角度出发,将转弯和加速等车辆控制进一步平滑,提高了控制器带来的乘车舒适性。

图1为控制器整体结构框架。其中,输入模块获取上层传感器发送的数据;处理模块对传感器数据进行分析,其中横向控制器负责转弯逻辑(方向盘),纵向控制器负责车速控制(油门、刹车);输出模块负责将处理得到的控制指令发送给底层硬件,分别控制油门踩压、刹车踩压和方向盘转向。

图2为控制算法的任务流程介绍。其中,获取车辆位置姿态由上层传感器完成并通过通信机制发送给控制器进行处理。横向控制和纵向控制存在一定的逻辑依赖关系,所以实际处理以串行的逻辑进行执行。获取目标轨迹并在预处理阶段完成坐标和数据域变换等操作,然后通过反馈控制重新计算部分参数来完成控制逻辑的优化。与传感器通信的控制器部分以100hz的频率进行数据接收和处理;与预设路线拟合的控制器部分以10hz的频率进行处理。

图3演示了冗余设计在输出位置放置的投票器的工作原理。在特定的时间点,投票器会从所有的控制器实例和对应的检错器中收集信号,根据检错器检测错误的统计情况判断当前系统的状态为suc、duf还是sdc,并根据该状态输出相应的控制指令。

图4标识出在横向控制上预定轨迹和车辆的实际轨迹。从上图上半部分可以看出,车辆实际轨迹对预设轨迹的拟合程度非常高,说明该控制器的精度非常高,控制性能优异。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1