无人驾驶中整车设计需求及整车控制原理图

2022-12-06  

VCU即汽车的控制单元(Vehicle Control Unit),通过CAN总线与汽车的发动机、变速器、油门踏板、制动踏板、车身控制器等各种电子设备通信,监测车辆状态(车速、温度等)信息,采集各个控制单元的工作状态,向动力系统、动力电池系统、车载附件电力系统发送车辆的运行状态控制指令。


  01什么是VCU

69addec6-626a-11ed-8abf-dac502259ad0.jpg

VCU即汽车的控制单元(Vehicle Control Unit),通过CAN总线与汽车的发动机、变速器、油门踏板、制动踏板、车身控制器等各种电子设备通信,监测车辆状态(车速、温度等)信息,采集各个控制单元的工作状态,向动力系统、动力电池系统、车载附件电力系统发送车辆的运行状态控制指令。VCU是实现整车控制决策。


02组成

结构组成:由金属壳体和一组PCB线路板组成  

69cfac40-626a-11ed-8abf-dac502259ad0.jpg

硬件组成:功能上由主控芯片及其周边的时钟电路、复位电路、预留接口电路和电源模块组成最小系统。   在最小系统以外,一般还配备数字信号处理电路,模拟信号处理电路,频率信号处理电路,通讯接口电路(包括CAN通讯接口和RS232通讯接口)。


03作用

整车控制器(VCU)  

69ea766a-626a-11ed-8abf-dac502259ad0.bmp

整车控制结构图 它主要负责:   

1)接收、处理驾驶员的驾驶操作指令,并向各个部件控制器发送控制指令,使车辆按驾驶员期望行驶;

2)与电机、DC/DC、镍氢蓄电池组等进行可靠通信,以及针对关键信息的模拟量进行状态的采集输入及控制指令量的输出;   

3)整车控制器提供对相应部件进行直接控制的信号通道,包括D/A转换和数字量输出等; 4)接收处理各个零部件信息,结合能源管理单元提供当前的能源状况信息;   5)系统故障的判断和存储,动态检测系统信息,记录出现的故障;   6)对整车具有保护功能,视故障的类别对整车进行分级保护,紧急情况下可以关掉发电机及切断母线高压系统。整车控制器的开发包括软、硬件设计。核心软件一般由整车厂研发,硬件和底层驱动软件可选择由汽车零部件厂商提供。


04开发流程

开发过程中首先明确整车设计需求及整车控制原理图,电气原理确定后,就确定了整车的控制方案,这时就可以确定整车控制器的接口功能,整车控制接口定义确定后,内部功能也就确定,整车硬件部分完成。  

6a27cad8-626a-11ed-8abf-dac502259ad0.jpg

接着进行软件的设计,VCU的开发流程有很多种,但是从软件开发的角度看,主要包括:   1、底层软件的编写,主要是配置时钟、SPI、CAN、PIT、ECT、IO、interrupt等的寄存器。软件开发前要有指导软件开发的资料,主要有:软硬件接口表、整车高低压电气原理图、CAN通讯协议以及详细功能策略文档;


底层软件平台化发展。底层软件进行平台化之后,针对不同的项目,往往我们只需要进行简单的配置就可以适用了。我们这里的做法是:将项目个性化的内容以一定的格式写在EXCEL表格中,然后通过开发脚本来读取这些EXCEL表,脚本会以写文本的方式将代码写出来,开发这些脚本的工具很多:如MATLAB,C#/VB等;   


2、软件开发。有了上述的文档,就可以开始软件开发工作了。软件开发工作分 底层 和 应用层。底层软件工程师的工作主要是写一写硬件驱动(如 DIO /ADC/PWM/CAN/LIN等)、协议栈(如CCP、UDS等)。应用层软件工程师的工作主要是将具体的功能策略在MATLAB软件上模型化,然后自动生成代码;   


3、软件集成及测试。应用程序包括:数据采集、故障诊断、工况判断、辅机管理、通讯控制。底层软件和应用层软件都做好之后,就需要对软件进行集成了,底层软件平台和应用层软件之间交互的接口主要是一些全局变量或者API。经过集成之后就需要对代码进行测试(主要是进行HIL测试);   


4、Bootloader开发。这里不得不说下Bootloader的重要性,在汽车行业,往往需要代码进行不断修正与更新,且VCU在做好之后也不可能通过串口进行程序烧录了(不可能开盖烧录),所以需要利用CAN总线进行代码的烧录。   


5、调试软件:通过CAN总线进行程序下载更新的BootLoader软件。通过Busmaster监控  

05应用

无人驾驶中常用的VCU信号有如下几个:汽车车速、汽车方向盘转角、汽车航向角变化率、油门踏板开度、制动踏板开度等。   不同的场景对数据有不同的应用。   那么怎么利用VCU信号做最常见的航位推算?  


传统的PID是工业生产中最常用的一种反馈控制方法。如果把PID运用到车辆控制中,控制的指令使用当前车辆所处的状态决定的,当执行的时候已经存在一定的延迟,PID算法无法满足无人车控制中的要求。   模型预测控制(MPC)是一种致力于将更长时间跨度、甚至于无穷时间的最优化控制问题,分解为若干个更短时间跨度,或者有限时间跨度的最优化控制问题,并且在一定程度上仍然追求最优解。  


预测模型:预测模型能够在短时间内很好地预测系统状态的变化

在线滚动优化:通过某种最优化算法来优化未来一段短时间的控制输入,使得在这种控制输入下预测模型的输出与参考值的差距最小

反馈校正:到下一个时间点根据新的状态重新进行预测和优化

VCU信号基于运动学车辆模型引入一种新的控制理论—— 模型预测性控制 (Model PredicTIve Control) ,被广泛的应用在无人驾驶领域中的航位推算   为了计算的方面,很多情况下,工程师会将车辆四轮模型简化成两轮模型,即自行车模型。  

6a4f5882-626a-11ed-8abf-dac502259ad0.jpg

汽车的车轮转角为δf   分别做垂直于后轮和前轮的射线,这两根射线会交于O点,两轮模型会绕O点进行运动,在短时间dt内,可以认为O点不动。连接O点和汽车的质心成一条线段,实际汽车的运动方向v将垂直于该线段。运动方向ψ与车身方向所成的夹角β,这个角度一般称为偏航角。   β 可以由如下公式计算求得  

6a6ec230-626a-11ed-8abf-dac502259ad0.png

假设t时刻的汽车的状态为xt,yt,经过dt时间后的t+1时刻,状态为xt+1,yt+1,则他们之间的关系为  

6a8801f0-626a-11ed-8abf-dac502259ad0.png

根据以上理论即可在丢失定位信息后的短时间内,依靠自身的传感器信息,进行位置和位姿估计。  


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。