自动驾驶软件中,除了大家经常听到的感知、规划、机器学习、车辆控制等外,还有一部分,虽然听起来没有算法那些高大上,但是对整车功能的体验,至关重要,那就是应用层软件,主要负责功能状态机和与整车的人机交互。
01.
功能状态机
功能状态机是指各项自动驾驶功能的运行状态机,比如车道偏离预警 lane departure warning (ldw)、自适应巡航 automated adapt cruise (acc)、高速智能领航辅助navigation on hipilot(noh)等等。
这些看起来仅仅是一些逻辑跳转,但是这些是感知、规划炫酷的前提,也就是说只有应用层检查相关的条件ok,才会启用相关功能,而且这一部分也非常复杂,因为每个功能都有一个状态机,而自动驾驶通常有十几个功能,意味着十几个状态机,有些还耦合。
下面以acc功能的状态机来讲讲,图1就是acc的状态机。
▲图1 acc功能的状态机
从图中可以看出acc功能分三个大的状态,分别为acc off、acc on、acc active。这个状态机仅仅是从acc的功能标准中摘取出来,各家主机厂考虑的点不同,会存在差异,但是整体框架肯定是一样的。
acc off到acc on
acc功能在初始化阶段,状态机是处于acc off状态,当软件完成初始化,各个模块完成就绪,并且没有任何异常,状态机会切到acc stand-by,意味着acc功能就绪,可以激活。
acc stand-by到acc active
这个状态的跳转是驾驶员按下了方向盘上的激活按键,按键信号通过网关透传到自动驾驶控制器,控制器在收到激活信号之后,检查当前条件是否满足,比如是不是相关的故障、关联件状态是否ok等,当跳转条件检测ok之后,状态就会条状到acc active,这会儿也就是进入了acc,车辆开始受控了,在acc active内部又有几种状态,包括速度控制和距离控制,这些是根据当前环境来自动切换的。
acc active到acc on
这个状态很好理解,就是驾驶员按了退出按键,或者是有一些功能抑制条件满足,比如:
1.作用在方向盘上的手力矩过大; 2.方向盘转角速率过大;
3.踩了制动踏板;
acc active到acc off或者acc on到acc off
这两种状态机的跳转,通常是由于软件检测到异常,导致功能不可用,比如有故障发生,或者是驾驶员突然解开安全带等等。
02.
人机交互
当前,大部分对比谁家自动驾驶更加厉害,通常是对比谁家的功能更牛逼,这是无可厚非的,但是人机交互也很重要,这关系到人们的驾驶体验,愿不愿意用这个功能,别用着用着就功能推出了,也没有任何提示。 人机交互主要包括仪表显示和语音提示。 仪表显示主要是包括道路、车模的显示,这里主要比的是谁家的更炫酷点,谁家的显示的更加准确,更有意思。
语音提示就更加好理解,比如当功能激活的时候,需要报acc功能已激活,当退出时,需要报功能已退出。当双目遮挡时,报当前双目遮挡,等等,这里也主要是一些逻辑性的东西,很繁琐,各种各样的语音提示。
03.
脱手检测
下面来看看大众id.4x的脱手检测功能是怎么设计的,首先从硬件上,方向盘配备了三区电容式传感器,可以探测接触在方向盘的位置,是手抓还是膝盖碰触,是左侧还是右侧,如下图所示。
▲图3大众id4的方向盘结构
方向盘脱手识别(hand off decetion)传感器检测电容值并发给e-box,j1158分析电容值信号得到驾驶员手握状态评估信号,并通过lin发送给网关,网关将hod电容值信号和手握状态评估信号发送给mfk/acc,mfk综合分析hod手握状态信号、方向盘扭矩信号和是否偏离车道等信号,判断是否发送报警信号“请接管方向盘”给仪表。
▲图4 大众id4的脱手检测逻辑
现代汽车和起亚汽车在美国市场持续增长
一款新型移动医疗生物传感器,可用于癌症和病毒感染的快速诊断测试和检测
MS9332 HDMI分配器开发板概述及特性说明
优步计划购买2.4万辆沃尔沃无人驾驶汽车,组建第一个商业车队
又一半导体大厂入局,GaN市场一片光明,可广泛用于传感器
自动驾驶软件中应用层软件的开发设计分析
工业路由器为什么可以实现永久在线,它是如何做到的
如何利用大幅面打印机输出Word文档?
浅谈高精度晶振频率误差及应用
怎样用NFC芯片解锁PC
模拟电源与数字电源之间的区别
真空接触器的调试
土壤远程墒情监测仪用处
三极管放大电路的性能指标是什么?
荷兰正在试图利用人类的能源来给加密货币采矿计算机供电
这款耳机可给手机充电 总续航超过100小时
IoT已逐步改变现有商业模式
智能移动电源支持高电压充电
Linux应用开发-LCD显示BMP图片
国内首个大板级扇出型封装示范线建设推进