APP下载

基于FSAC赛车的VCU整车控制策略开发

2023-08-27李柯志徐延海李美斌陈芃里李嘉蕤

农业装备与车辆工程 2023年8期
关键词:状态机无人驾驶赛车

李柯志,徐延海,李美斌,陈芃里,李嘉蕤

(610039 四川省 成都市 西华大学 汽车与交通学院)

0 引言

自中国大学生方程式系列大赛(FSC)的燃油车赛于2010 年成功举办以来,大赛的发展趋向汽车行业的新四化(电动化、智能化、网联化、共享化)方向。FSAC 是其中汽车相关技术水平要求最高的赛事,涉及较多的专业学科,包括汽车理论、机械基础、计算机技术等,其本质是一场关于汽车设计与制造的比赛,参赛队伍主要由高等院校的车辆工程或汽车相关专业的在校大学生组成。在纯电动无人赛车中,整车控制器(VCU)是电控系统的核心,可以根据规划决策层的操作指令以及车辆实时状态,实现赛车的运动控制、比赛任务选择、整车能量管理及故障处理等功能。

为使赛车顺利通过赛事电气检查环节,并按照无人系统上层指令进行车辆运动控制,完成无人驾驶比赛任务,按照《2021 中国大学生无人驾驶方程式大赛规则》要求,开发出一套基于FSAC 赛车的VCU 整车控制策略,并按照规则要求将赛车安全系统写入VCU 整车控制策略中。

1 FSAC 赛车概述

FSAC 赛车保留电动赛车的基础机构和电气功能,加入了一套完整的无人驾驶智能控制系统。赛车的无人驾驶系统由环境感知层、规划决策层组成,其中,环境感知层包括差分GPS、高清摄像头和激光雷达。摄像头录入的实时图像数据和激光雷达采集的实时点云数据分别通过USB 和网络的通讯方式到达感知层信息处理系统,并进行数据融合,GPS 数据通过串口到达决策控制系统。规划决策层通过CAN总线把命令发送给车辆底层控制层,FSAC 赛车的无人驾驶系统结构如图1 所示。

图1 无人驾驶系统结构Fig.1 Autonomous system structure

车辆底层控制系统中,硬件与VCU 的信息交互均通过CAN 通信实现,包括转向角度传感器、加速踏板传感器、制动踏板传感器、轮速传感器等底层车载传感器的数据经过处理也通过CAN 总线将实际参数信息发送给VCU,VCU 再按照目标数值分别对转向电机、驱动电机、制动电机进行输出控制与调节。按照赛事规则要求,赛车必须考虑到安全系统的介入,安全系统同样通过CAN 通信与VCU 进行信息交互,包含RES(遥控急停系统)和EBS(紧急制动系统)。

2 整车控制器概述

整车控制器硬件选用了华海科技RapidECU 整车快速控制原型,RapidECU-U2,ECUCoder 是基于MATLAB/Simulink 的全自动代码生成工具,用于配置基础软件模型与ECU 控制算法模型,并实现产品代码的自动生成。支持意法、NXP/飞思卡尔等知名厂商的汽车电控系统主流芯片。

ECUCoder 提供了功能强大的基础软件Simulink 模块库,可以直观地配置基础软件参数并由Simulink 模型自动生成基础软件代码。由于软件可以灵活、深层次地访问并配置基础软件参数,因此模型生成的基础软件代码可以支持控制器快速原型及产品开发2 个阶段。RapidECU 的硬件资源为:主频为80 MHz 的MPC5554 芯片,支持3 路高速CAN 通讯,系统供电电压为9~32 V,支持4 路传感器供电输出;输入部分,支持21 路模拟量输入、10 路高有效开关量输入、9 路低有效输入、16 路频率量输入;输出部分,提供4 路并行控制高端PWM输出、8 路并行控制低端PWM 输出,12 路并行控制低端开关量输出以及4 路并行控制高端开关。

3 整车控制策略开发

VCU 整车控制策略主要由MATLAB/Simulink编写生成。而Simulink 模块支持多种单片机,适合进行嵌入式系统开发。通过其中图形化编程环境,可以按照预先指定的控制逻辑完成程序的编写,并通过ECUCoder 进行自动代码生成,生成的代码可以通过Freescale Codewarrior 烧写至VCU 中。

本文在MATLAB/Simulink 搭建整车控制模型是开发的中心环节,并着重考虑模型架构问题,提高模型的可读性和延展性。如图2 所示,整车控制模型的每个模块布局清晰、分工明确。

图2 整车控制模型Fig.2 Vehicle control model

RapidECUSetting 模块用于CAN 通道的选择、波特率的大小设置等。VCU_KL_Read 模块进行赛车各个传感器数据读取。Controller 模块负责无人系统状态机、转向电机控制、制动电机控制和驱动电机控制。TASK_SCHEDULE 模块为任务调度模块。VCU_CAN_Read 模块用于接收上层CAN 报文指令以及各传感器和各电机之间信息传递。InPut_Process 模块将读取到的传感器数据进行统一的运算处理。DIAG 模块用于诊断整车异常信息。CAN_SEND 模块用于向各个执行机构发送CAN 报文以及向上层反馈当前车辆状态信息。Signal_OutPut 模块主要用于I/O 口的输出,控制蜂鸣器、灯、继电器的通断。

基于FSAC 赛车的VCU 的开发主要采用“V”模式,所有控制策略与仿真模型都使用框图化的基本模块建立,主要包括控制方案的设计、离线仿真、快速控制原型、产品代码自动生成以及集成、硬件在环仿真测试与标定,如图3 所示。

图3 VCU 控制策略开发Fig.3 Control strategy development for VCU

首先充分理解赛事规则,提出需求;在此基础上设计整车控制策略,并实现代码自动生成,烧写至赛车的VCU;利用上位机软件快速标定;通过Simulink 与CarSim 联合仿真评估控制策略可行性;最后通过实车比赛项目实验进行验证。

本文采用的Simulink 版本为R2014a 32 位,编译后自动生成标准的A2L 文件,经过简单设置就可利用各种常见的上位机软件对RapidECU 进行实时在线标定。本文选用的标定软件为MeCa,是通用的VCU 测量标定工具,可以实时采集和显示VCU 内部数据,同时可对VCU 内部参数进行在线调整。此外,MeCa 还提供自动测量与标定功能,VCU 程序刷写与升级功能等。MeCa 支持基于CAN的CCP 协议,以此实现上下位机之间的通信。通过接收并处理各种传感器信号,VCU 可以实现完整的整车控制逻辑。其输出主要包括模拟量、开关量、PWM、CAN 通信等。

按照FSAC 大赛赛事规则编写完成的VCU 程序可以对驱动电机、转向电机、制动电机、电压驱动、指示灯等模块进行控制。在完成程序烧写后,VCU可以自动完成整车的简单控制逻辑。通过CAN 总线以不同速度向各控制部分传输信号,能够实现赛车在有人模式或无人驾驶模式下安全平稳运行。

在有人驾驶模式下,VCU 需要读取APPS(加速踏板传感器)的数据,完成对电机转速以及转矩的控制。同时,制动踏板传感器的数据也需要被读取,以完成有人模式下的起步与制动。在控制逻辑中,必须考虑加速度传感器与制动踏板传感器的顺位与冲突,以保证同时踩下踏板时的安全性。此时,车辆装配的感知模块不发生作用,由车手来控制整车的姿态变化。

在无人驾驶模式下,控制车辆姿态的决策层由车手变为车辆内置的工控机。车辆通过读取摄像头与激光雷达的感知信号,通过工控机完成对场景的识别与扫描,进行环境感知、实时路径规划等任务,如方位角,高、低位转角等指令经由高速CAN-A信道传送至VCU。VCU 再将处理的控制信号分别通过CAN-A 下发传输至转向电机,制动电机,通过CAN-B 下发传输至驱动电机,实现输出目标驱动力、目标制动力、目标转向角度的目的。本文FSAC 赛车的VCU 整车控制逻辑如图4 所示。

图4 整车控制逻辑Fig.4 Vehicle control logic

4 基于FSAC 赛事规则的无人系统状态机

根据FSAC 赛事规则,赛车顺利完成比赛的关键步骤是分析出赛车的控制功能需求,再确定整车控制逻辑,同时,熟知控制需求也是编写整车代码的基础。对无人系统状态机进行整车系统逻辑框架的搭建必须满足《2021 中国大学生无人驾驶方程式大赛规则》的要求。使用Simulink 内置的Stateflow 模块判定当前车辆逻辑状态,且具体功能也可在相应的框架中进行完善,使得赛车无人模式转换逻辑符合赛事规则。状态转换为无人赛车整车控制策略开发的核心部分,赛事规则中的AS(无人系统)状态机转换如图5 所示。

图5 无人系统状态机Fig.5 State of autonomous system

整个无人系统状态机由手动驾驶状态、无人系统关闭状态、无人系统准备状态、无人系统行驶状态、无人系统完成状态、紧急制动状态组成。每一种状态都有关联赛车的具体执行动作和状态转移条件。整车需要有无人驾驶、手动驾驶2 种模式。在处于无人系统准备状态时,会进行相关程序的初始化,检测赛车各传感器数值是否处于正常,再根据目前的状态进入状态机进行切换。

(1)无人驾驶系统关闭状态和无人驾驶准备状态之间转换

①低压开关(LVMS)、高压开关(HVMS)开启,高压激活;②AMI 面板上选择无人模式;③RES遥控端回到初始位置;④EBS 系统使能且无人系统主开关(ASMS)打开(即当前EBS 系统处于可激活状态,若低压电有故障或安全回路断开,会立即发出紧急制动命令)。状态转移的执行动作是制动占用,赛车转向系统从不可用变为可用,状态指示灯由关闭变为黄灯常亮,起到警示作用。相反,从无人系统准备状态转移到关闭状态需要先后满足两个条件,首先是无人系统主开关(ASMS)关闭,然后制动不占用。

(2)无人驾驶准备状态和无人系统行驶状态之间转换

①统需要5 s延迟;②按下RES遥控端上的“GO”按键,待行驶开始,制动立即从占用变为可用,指示灯由黄灯常亮变为黄灯闪烁。如果在行驶状态下触发了紧急制动,则会立即切换到紧急制动状态,此时驱动系统(TS)关闭,指示灯变为蓝灯闪烁。

(3)行驶状态和完成状态之间转换

当车速为0 时则到达完成状态,此时驱动关闭,待行驶关闭,转向不可用且紧急制动激活,指示灯变为蓝色常亮。

(4)完成状态和关闭状态之间转换

当无人主开关关闭,制动手动释放时则切换到关闭状态。

(5)关闭状态和手动驾驶状态之间转换

在AMI 中选择手动模式,EBS 系统不可用,无人系统主开关(ASMS)关闭,同时驱动系统(TS)激活,高压激活则转移发生。

按照赛事规则对AS 状态机的要求,在Simulink/Stateflow 中搭建无人系统状态转换逻辑框图,状态机转换是VCU 整车控制策略的核心部分,如图6 所示。运行搭建的模型后,通过输入条件的改变确定输出的正确性,表明了模型的正确性。通过Simulink 中Embedded Coder 功能生成整车系统框架的C 代码放入VCU 中,生成的代码符合手写代码的习惯,逻辑思路清晰。

图6 Stateflow AS 状态机模型Fig.6 Stateflow AS state machine model

5 FSAC 赛车安全系统

安全是实现无人驾驶赛车能够顺利完成比赛项目的重要前提。保证无人驾驶赛车在行驶过程中的安全性是赛车研发的重要任务。而紧急制动系统是保证赛车安全完赛的重要系统,根据赛事规则规定,每辆参赛的赛车必须存在一个满足大赛规则要求的完整的遥控急停装置,从而避免无人驾驶赛车在出现目标丢失等情况下发生事故。按照FSAC 大赛规则要求,赛车在整车控制逻辑内加入遥控急停系统(RES)和紧急制动系统(EBS),通过CAN总线与VCU 实现信息的接收与发送。RES 接收端如图7 所示。

图7 遥控急停系统接收端Fig.7 Receiver of RES system

5.1 遥控急停系统(RES)

(1)通讯逻辑及硬件响应

赛车车载接收端通过无线通讯接收远程遥控端发送的信号并回复相应的信号。按照FSAC 赛事规则要求,接收的信号类型有待驶、行驶、急停、缓停4 种,通过无线通讯模块、串口与编程逻辑电路实现消息的接收与发送。当整车控制器接收到“急停”信号时,安全回路继电器断开,其指示灯灭,并按照一定的频率回复远程遥控端响应的信号。当接收到“待驶”、“行驶”和“缓停”信号时安全回路继电器闭合,其指示灯亮,并按照一定的频率回复远程遥控端相应的信号。当保持正常通讯时,通讯指示灯处于常亮状态,当由于距离较远等原因导致的通讯不正常,通讯指示灯将熄灭。

(2)CAN 通讯

车载接收端通过整车CAN 系统将接收到的状态信息发布,整车控制系统通过解析相关车载接收端发布的信息控制整车状态。车载接收端接入整车CAN 通讯,当接收到远程控制端的不同信息时,车载接收端按照一定频率将状态信息发送到整车CAN 线上。信号编码如表1—表3 所示。

表1 掉线错误检测Tab.1 Dropped line error detection

表2 运行状态反馈Tab.2 Operation state feedback

表3 安全回路状态Tab.3 Safety loop state

(3)紧急情况下的安全保护

当车载接收端接收到“急停”状态、由于距离或者干扰导致远程遥控端与车载接收端发生干扰时,车载接收端断开整车安全回路,整车高压系统与车辆断开连接,保护失控状态下车辆的安全,车载接收端通过CAN 线发送错误信息,以备后续车辆检查故障使用。车载接收端通过继电器直接接入整车安全回路,通过编程逻辑控制继电器开关,从而控制整车安全回路通断。RES 遥控端如图8 所示。

图8 遥控急停系统遥控端Fig.8 Remote of RES system

5.2 紧急制动系统(EBS)

在进行AS 状态机转换过程中,EBS 系统作为无人系统关键的一环,担任无人系统安全的最后一道防线,所以在开发无人系统整车逻辑的同时,让EBS 状态融入AS 的各个状态中,保证了系统的完整性。

(1)功能描述

当VCU 接收的RES 指令正常时,EBS 不会触发;当RES 掉电时,VCU 就会发送指令断开安全回路即断掉高压,与此同时会触发赛车上面的EBS系统,气瓶中的气体就会拉动制动踏板前进,完成赛车制动,保证安全。动作描述如图9 所示。

图9 EBS 系统工作框图Fig.9 EBS system working block diagram

(2)EBS 激活

当赛事裁判拧开EBS 气瓶时,此时EBS 处于使能状态,ASMS 开关开启后气体会到达安全回路阀处,安全回路阀有安全供电且为常开阀,此时安全回路阀通电闭合,若此时压力传感器1 检测的值大于标定量而压力传感器2 低于标定量,则这时EBS 处于使能状态;当安全回路掉电时安全回路阀会自动打开,管路中的气体会推动EBS 主缸进行制动,此时压力传感器2 的检测值大于标定值,则EBS 处于激活状态。EBS 系统框图如图10 所示。

图10 EBS 系统框图Fig.10 EBS system block diagram

(3)EBS 功能确保

A24 赛车采用EBS 掉电触发机制,安全回路常开电磁阀由安全回路供电且从RES 继电器后方取电,其保证只要安全回路上任意一处断电或者RES 掉电等都会打开安全回路电磁阀,从而保证EBS 能有效触发。同时ECU 会实时监控EBS 是否失效,当EBS 被判定失效时,ECU 会采取行车制动以保证赛车安全。EBS 的状态转换如图11 所示。

图11 EBS 转换描述Fig.11 EBS conversion description

6 实车验证

为验证整车控制策略的有效性和赛车安全系统的可靠性,选择西华大学FSAC 车队的A24 无人赛车为实验验证车辆,该车全面融合了环境感知层、规划决策层、车辆控制层的功能,赛车参数如表4 所示。实验场地为干燥、良好、附着系数正常的水平路面,按照规则要求,赛道宽度为3 m,采用左侧红色锥桶和右侧蓝色锥桶的方式搭建出一条U 型弯赛道。

表4 A24 无人驾驶方程式赛车参数Tab.4 A24 autonomous formula racing car parameters

经过实验可知,赛车在低中速情况下,前轮转角输出线性精准且响应迅速,速度变化线性,制动平顺,轨迹跟踪效果良好,可稳定通过U 型弯赛道;在无人赛车遇到丢失位姿信息的情况时,按下RES 遥控端的触发按钮,能立即实现急停功能,当RES 掉电,VCU 立刻发送指令断开安全回路即断掉高压,同时EBS 及时被触发,实现车辆急停。实验结果验证了控制策略的有效性和安全系统的可靠性,满足参赛设计要求,如图12 所示。

图12 A24 无人赛车U 型弯轨迹跟踪效果Fig.12 A24 driverless racing car U-turn track tracking effect

7 结论

为满足FSAC 赛事规则,基于Simulink 软件进行赛车VCU 控制策略的开发,完善整车控制模型的功能性,保证了对车上传感器信号的读取稳定性,对无人系统状态机控制、转向电机控制、制动电机控制和驱动电机控制的有效性。加入FSAC 赛车安全系统,记录RES 和EBS 的设计流程,自动生成代码,再烧写至FSAC 赛车的整车控制器中,最后,通过搭载完整无人驾驶系统的FSAC 赛车进行实车验证,测试结果验证了控制策略的有效性和赛车安全系统的可靠性。

猜你喜欢

状态机无人驾驶赛车
我们村的无人驾驶公交
无人驾驶车辆
无人驾驶公园
云上赛车
基于有限状态机的交会对接飞行任务规划方法
春季赛车会
加油吧,赛车!
我家的小赛车
沪将建600-800km有轨电车 未来或“无人驾驶”
FPGA设计中状态机安全性研究