|
如果把汽车比做人,那么ECU就是人的大脑。这里记载了汽车底盘的状态(车速、油门踏板开度、制动踏板状态、方向盘转角等)、汽车车身的状态(车门状态、车窗状态、前照灯状态、转向灯状态、排气阀门开关等)以及发动机的状态(转速,输出扭矩、燃油消耗等)。作为汽车与生俱来的传感器,好好使用这些信号不仅能极好的控制汽车,还能够通过车载信号灯与外界进行交互。本文对汽车ECU的信号做了介绍。
这里主要介绍的是汽车生来就具备的传感器信号,即从汽车控制单元(Electronic Control Unit,简称ECU)中获取的信号。
ECU的另外一个名字是“行车电脑”,它通过CAN总线与汽车的发动机、变速器、油门踏板、制动踏板、车身控制器等各种电子设备通信,读取各个控制单元的工作状态,并在需要时对它们进行控制。如下图所示。
如果把汽车比做人,那么ECU就是人的大脑。这里记载了汽车底盘的状态(车速、油门踏板开度、制动踏板状态、方向盘转角等)、汽车车身的状态(车门状态、车窗状态、前照灯状态、转向灯状态、排气阀门开关等)以及发动机的状态(转速,输出扭矩、燃油消耗等)。
汽车的ECU作为上层算法和底盘控制的接口,不仅承担着控制汽车加减速、转向的工作,还承担着将底盘信息精确且及时传递到算法层的工作。接下来我会从ECU信号的类型和ECU信号的应用两方面进行讲解。
ECU信号的种类
速锐得查找提供的ECU信息(ChassisDetail)如下:
枚举 类型 { |
||
QIRUI_EQ_15 = 0 ; |
||
CHANGAN_RUICHENG = 1 ; |
||
} |
||
可选 类型 car_type = 1 ; //车型 |
||
可选的 BasicInfo basic = 2 ; // 基础信息 |
||
可选 安全 安全 = 3 ; // 安全 |
||
可选 齿轮 齿轮 = 4 ; //齿轮 |
||
可选的 Ems ems = 5 ; //引擎管理系统 |
||
可选 Esp esp = 6 ; //电子稳定程序 |
||
可选 气体 气体 = 7 ; // 油门踏板 |
||
可选的 Epb epb = 8 ; //电子驻车制动器 |
||
可选 制动 闸 = 9 ; // 刹车踏板 |
||
可选 减 速度减速度 = 10 ;
//减速 |
||
可选的 VehicleSpd vehicle_spd = 11 ;
//车速 |
||
可选 Eps eps = 12 ; //电动助力转向系统 |
||
可选 轻 轻 = 13 ; //光 |
||
可选 电池 电池 = 14 ; //电池信息 |
||
可选 制动 闸 = 9 ; // 排气电阀门 |
||
汽车类型 Type
从图中可以直接看出当前速锐得已经能够支持奥迪车型电子控制单元内车型、基础ECU信息、安全、电机速度、、电压引擎、刹车、油门、电子手刹、减速、方向盘转向角度、灯状态、排气阀门控制单元的核心技术。
由于不同车型的动力系统、尺寸、功能配置都不尽相同,而且安装各种传感器的位置、角度也会存在差异,因此需要根据这个Type值向无人驾驶系统中导入不同的参数,这样才能保证计算的准确性。
基本信号包含的信息有当前的车辆驾驶状态、发动机工况、里程数、ACC按钮状态、车身及车载多媒体中排气阀门按钮状态。
车辆驾驶状态是“汽车是否处于无人驾驶状态”的一个标志,由于汽车经常需要在有人驾驶和无人驾驶中进行切换,因此需要设置一个标志位来反映这种状态,这样汽车的ECU才能更正确地对油门、刹车这类影响安全的机构进行控制。GPS的信息与无人车的“定位”问题强相关,虽然自车的GPS信息有时候不太准,但并不能因此动摇了它在无人驾驶系统中的地位。
安全相关 Safety
与安全相关的数据包含车门、引擎盖,后备箱是否关闭,司机和乘客的安全带是否系上、四个轮胎的胎压是否正常、电池是否有电、车辆的驾驶模式。
值得一提的是车辆的驾驶模式。之前的中已经有了车辆驾驶状态,分为自动驾驶和人为驾驶。这里的驾驶模式还有一个中间状态,即半自动驾驶模式,即无人驾驶系统只控制方向盘或只控制油门和刹车踏板。比如自适应巡航(ACC)功能,就是一种半自动驾驶模式。半自动驾驶模式能够将汽车的横向控制(转弯、换道)和纵向控制(加速、减速)解耦,即单独地进行一个维度的调试,这样可以提升工程师的调试效率。
变速箱状态 Gear
变速箱状态直接影响车辆的行驶。例如车辆停车时,需要给变速箱置位P档的消息;当汽车泊车时,需要在D挡、R挡之间来回切换。
发动机管理系统 EMS
EMS用于查看当前发动机的状态,比如发动机的转速。
车辆电子稳定系统 EPS
用于查看和控制车辆电子稳定系统的状态。
油门踏板开度 GAS
通过控制油门踏板的开度,可以实现加减速。同时可以反馈无人驾驶状态下,测试员是否接管了油门踏板。
电子手刹 EPB
用于查看电子手刹的状态。一般会在控制车辆运动时,查看电子手刹是否释放。
制动踏板开度 Brake
用于查看和控制制动踏板的开度。反馈无人驾驶状态下,测试员是否接管了刹车踏板。
制动压力 Deceleration
用于查看当前制动器制动压力的大小。
汽车速度 VehicleSpd
汽车速度信号除了包含速度数值外,还包含当前汽车的行驶方向、四个轮胎的速度、偏航角的变化率(YawRate)等。
电动助力转向 EPS
电动助力转向信号包含了当前方向盘的转角、转角的变化率和驾驶员施加的扭矩。当处于无人驾驶状态时,控制器需要给EPS系统输入转动方向和转动角度。
信号灯 Light
描述车身上某些电器设备的信号,比如前大灯、左右转向灯、雨刮器的档位开关、喇叭开关。特斯拉就是通过读取拨杆(左右转向灯)状态获取驾驶员换道意图的。
电池状态 Battery
用于查看电池电量的百分比,燃油量信息。
排气阀门
在车载多媒体系统上查看排气阀门的开闭状态。
周边环境状态 Surround
某些具备ADAS功能(如盲点辅助预警,偏离车道预警)的车型,会有将部分预警信息存于该信号中。安装在汽车车身上的超声波雷达的消息也存在该信号中。
以上列出了大部分汽车ECU所具有的信号。ECU的信号因车而异,越豪华的汽车,由于其具备的传感器越丰富,所能提供的ECU信号也将越丰富。
ECU信号的应用
无人驾驶中常用的ECU信号有如下几个:汽车车速、汽车方向盘转角、汽车航向角变化率、油门踏板开度、制动踏板开度等。
不同的场景,会对数据有不同的应用方式。这里主要介绍两大类应用方式:障碍物运动状态计算和航位推算。
障碍物运动状态计算
车载传感器(激光雷达、毫米波雷达、摄像机)检测的障碍物速度都是相对速度,因此需要结合自车车速才能确定障碍物的绝对速度,进而根据绝对速度确定障碍物的运动状态(静止、靠近、远离)。
以毫米波雷达的数据为例,在自车坐标系下自车的车速用蓝色的箭头和字母表示,障碍物位置和障碍物速度和速度在x方向与y方向的分量用绿色表示。
将自车车速v和障碍物速度在x方向上的分量进行叠加,即可得到障碍物在x方向上速度量的绝对值。如下图中黑色的Va所示。
接下来可以通过判断Va的大小和方向,进而得到当前的障碍物在实际的交通场景中的运动趋势。
航位推算
航位推算(Dead reckoning,简称DR)是指在丢失定位的情况下,使用自车传感器的信息,推测当前时刻,自车所在位置与上一时刻所在位置的相对关系。
在介绍航位推算时,先需要了解汽车的运动学模型。汽车的运动学模型一般是四轮模型,不过为了计算的方面,很多情况下,工程师会将四轮模型简化成两轮模型,即自行车模型。
借用CSDN博主AdamShan所绘制的自行车模型,如下图所示。
由图可见汽车的车轮转角为δf,但这并不意味着汽车的运动角度为δf。
分别做垂直于后轮和前轮的射线,这两根射线会交于O点,两轮模型会绕O点进行运动,在短时间dt内,可以认为O点不动。连接O点和汽车的质心成一条线段,实际汽车的运动方向v将垂直于该线段。运动方向ψ与车身方向所成的夹角β,这个角度一般称为偏航角。
基于先前的假设可以推到出β和δf的近似关系如下:
假设t时刻的汽车的状态为xt,yt,经过dt时间后的t+1时刻,状态为xt+1,yt+1,则他们之间的关系为:
根据以上理论即可在丢失定位信息后的短时间内,依靠自身的传感器信息,进行位置和位姿估计。
当然ECU信号不止以上两种应用,更多的应用会在后续传感器信号处理时介绍。
以上内容对汽车ECU的信号做了简单介绍。作为汽车与生俱来的传感器,好好使用这些信号不仅能极好的控制汽车,还能够通过车载信号灯与外界进行交互。