那些被自动驾驶所关注的ODD边界怎么测(二)

发布于 2023-3-28 14:53
浏览
0收藏

接着前文聊,对于自动驾驶所设置的设计运行范围ODD而言,需要重点考虑其是否能够满足系统运行要求,其设置的边界是否合理。这里就需要注意,ODD的设置本身应该是可测的、合理的。因此,在前期设置ODD过程中,我们充分考虑其是否能够与实际的功能相匹配,同时,是否能够做到后期对功能是可测的。


本文将从另外一些环境设置条件(路面情况、环境光、环境风力等)出发考虑如何通过最大化的利用自车配置的软硬件单元模块进行有效的ODD设置和检测。

涉水路面检测

无论对于手动驾驶还是自动驾驶来说,当前最常规的积水深度大多数直接通过目测得知,这样受天气及水体条件的影响巨大。所以很难获得有效的信息(如大雨对视线的遮挡及污水浑浊等)而无法判断涉水深度,这样贸然进入积水区,很容易导致汽车熄火,将乘员困入深水区造成严重的汽车损害和人身伤亡事故。


这里的路面情况包括涉水路面、坑洼路面、带坡度路面这几种类型。从智驾传感器的检测角度分析,以上几种路面检测需求会有所不同,且使用相应的算法结构也会有所差异。这里我们需要单独进行区分和说明。


对于行驶路面积水的产生,一般是由于汽车行驶前方非水平的路面,存在着一定的坡度,这样大大的提高了目测法判断积水深度的难度。而目前存在的测量方法,大多专注于汽车前方或者正下方的水深,这对汽车涉水预警来说用处并不大,因为没有考虑到坡度对水深测量的影响。还有部分汽车涉水装置与汽车的电源开关连接在一起,当汽车水深到达一定深度时,就自动关闭汽车电源,这种处理方式并没有达到预警的效果,反而将汽车停留在积水区,对交通安全的影响极大。因此,对于智能汽车来说,最优的控制方式是提前预警和控制两种方式才显得整个控制非常重要。


为解决上述问题,针对智能驾驶汽车可以采取的解决技术方案可以是利用车载超声波雷达这种设备进行汽车涉水预警检测装置。其中,超声波雷达的布置方式可以完全参照智驾系统所设置的12个超声波搭载方式进行(主要检测端集中于前置超声波)。汽车涉水经过积水路面时一般车速较慢,一般时速为5-10km/h,在汽车行驶过程中设置在前车轮的高度测距传感器将持续检测路面情況。图中,超声波传感器发射端发出的20000Hz以上超声波,并经过地面反射由传感器接收。由于超声波波束在水面反射和自然传递下的距离返回时间有所不同,可根据对应的反射时间来判断是否存在水坑,并计算水坑深度。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

如图,假设超声波传感器发射端发出的超声波波束以夹角为a的倾角射向地面(水坑)后以相同的角度为a反射回接收端,s为超声波波束所经历的路径。则根据速度与距离的数学计算如下:


理论上s = ct/2 (c为声波传播速度320-350m/s)。如果考虑时间延迟t’和车辆移动速度u,则s = [c *t/2 +u t’/2]。实际上由于s很短,通常延时t’可忽略不计,此时传感器发射/接收端相隔距离L很小。


可以导出,实际检测的涉水深度h0 = H-h。


经智驾域控制器计算得出传感器距离地面的距离h,处理器中通常需要保存有标准距离作为參照值H0,此參照值数据与实际测试距离的数据进行比较即可判定是否存在涉水,并由此得出涉水深度值。当系统监测到测试距离大于參照值(即H>H0)时,则说明积水路面可能出现低洼、水坑、排水沟、路面裂缝、塌陷等路面特殊情况。此时,可以控制升举汽车悬架(若涉水深度较小)或提前进行报警提示(若涉水深度较大)。


此外,如果仅考虑对地面检测是否存在涉水区域,也可以直接利用视觉传感器检测的视频图像提前进行神经网络训练得到对应的涉水训练图像。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

如上图中,摄像头检测范围FOV内,可以识别到相应的涉水路面,类似这类路面可以如果输入给到神经网络进行匹配训练。由于镜面的纹理信息不够丰富,因此,在识别算法选择上需要综合考虑对识别效果是否能满足要求。考查了典型的图像处理算法Haar Like、SIFT、LBP、HOG等算法。Haar Like多用于人脸识别,LBP多用于基于纹理特征的监测,所以不是很适合,Sift算法的前提也是需要一定的角点检测为前提。因此,可以考虑HOG算法进行检测。一个朴素贝叶斯分类器(NBC)被训练来学习有向梯度(HOG)特征的直方图。然后利用这些 HOG 特征训练道路图像分类器。一旦一幅图像被认为包含路面信息(如坑洼、水面等),就使用归一化图切分(NGCS)算法对其进行分割,以产生像素级的路面检测结果。


此外,由于水面本身波动会存在一些纹理信息,但是这些纹理信息相对较弱,因此依靠检测的涉水面旁边环境(如水泥路面、路岩或草地等),所以可以额外加入了这些素材作为负样本输入进行训练,可以起到很好的训练效果。

基于车载摄像头的环境光强度识别

车在摄像头对环境光的识别过程如下:外部光线照射在物体上,经过反射、折射后穿过镜头(Lens),再经过滤光片滤波投射到图像传感器(Sensor)感光面上。


Sensor将Lens上传导过来的光线转换为电信号,经过内部图像处理器(ISP)转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的GRB、YUV等格式图像信号。同时,在DSP处理模块中配置环境光强度检测算法检测出环境光的光强。


DSP对图像的加工处理手段主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行显像处理,并把处理后的信号传送给智驾域控模块中的ISP处理模块。若Sensor内部未集成ISP,则可以通过DVP的方式传输到图像处理器,此时的数据格式为RAW RGB(原始数据)。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

对于自动驾驶系统来说,其设计运行范围ODD上所设置的光照強度E大小范围,简称照度。是指单位面积上所接受可见光的能量,单位勒克斯(Lux或Lx)。1勒克斯=1流明的光通量均匀分布在1平方米面积上的照度。


E=Φ/S,Φ-光通量(Lm),S-受照面积(㎡)


光通量:光源在单位时间内发出的光量称为光源的光通量(F)。光通量的单位是流明(lm)。这种光通量通常是需要通过专业的设备(如光功率计或照度计)来进行检测的。


标准的光通量测试原理是通过光强度检测算法通过对环境标志物及其表面进行光照特性分析;从而模拟计算点光源的位置;同时对环境光与点光源的光照强度进行计算。可以利用两个理想朗伯表面球作为标志物进行图像处理和分析,并通过图形学的光照模型进行逆推计算,从而实现了让虚拟物体具有与真实场景相同的光照效果,由此推算出实际场景中的初始光照强度信息。


当然,考虑智能驾驶汽车可用的设备而言,我们是希望通过车载摄像头实现对光强度的实际照度的实时检测。因为摄像头只能实现对环境光强下的灰度识别。其识别的结果实际是一种灰阶。比如RGB图像而言,灰度阶数实际是0-255之间。那么如何应用这些灰度阶数转化为光照强度,就是我们需要研究的课题。


如下图表示了相应的检测方法。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

如上图,表示了通过一定的方法手段找到光功率计和车载摄像头拍摄的环境光图像在相同环境光输入下的对应关系,通常这种对应关系是线性的。即摄像头的RGB灰阶对应的光通量实际可以用标准的光功率计来进行测量,从标定测量的各个点中找到光通量-灰阶-光照度的关系函数就可以提前将该函数写入摄像头的内部参数表中。当然做的精细一些的方式可以通过建立表格的方式进行存储。


后续通过车载摄像头检测到的环境光信息,通过ISP处理模块对光强数据进行有效的数字滤波处理,就可以得出准确的光强数据。针对滤波后的光强度信息,直接通过函数变换或者查表的方式可以实现光照度的结果计算。


最后从应用的角度上讲,中央处理芯片SOC可以根据光强数据可以设置几阶标准线,通过比较可以有效的输出环境光等级,并利用其作为进一步车身控制的基础输入(如开启自动大灯、功能降级设置等)。

风力大小检测逻辑

对于自动驾驶系统而言,通常也会将环境边界中的风力大小作为设计运行范围ODD边界。比如,自动驾驶系统要求风力边界条件设置大小应小于6级;然而,诸如这类环境条件在检测手段上是十分抽象的。如果不依靠专业设备,几乎是无法测量的。然而,针对自动驾驶系统而言,这类边界条件的测试输入又是必须的。因此,是否能够通过车载设备有效的检测环境风力大小,就是我们必须要研究的课题。


本文我们将分享一种简单的风力大小检测方法。


这种检测方法没有固定的模式,通常是通过检测车辆的实际行驶状态是否跑偏来间接识别是否有影响系统跑偏的因素存在。当然,车辆跑偏这一逻辑实际的影像因素包括了侧偏风力、路面滑移、执行电机性能等。但是路面滑移、执行电机等这类要素实际是可以在前期车辆做控制闭环时提前进行标定测试,并将影响因子提前写入到车辆存储单元的。因此,实测过程中的车辆跑偏基本都是源自于环境侧偏风力的影响。


因此,可以考虑从标准的实验入手进行仿真+部分实车检测。由于从实车环境角度上讲,要构造一种典型的不同风力大小的测试环境不是特别容易,因此可以考虑通过搭建仿真环境的角度出发对车辆在手动驾驶和自动驾驶两种状态下测试车辆行驶轨迹,从仿真环境车辆行驶轨迹的偏离程度构造与风力大小的相关性函数或矩阵信息。通常这类跑偏轨迹信息和风力大小是非线性关系,且相应的构造函数相对来说并不认识很容易获得。因此,也可以构造相应的对应矩阵来进行查表获得风力值。这里为了规避不同速度、道路曲率、附着力等对在相同风力情况下对跑偏程度的差异化影响,一般会在风力测试阶段设置一个标准速度、路面条件作为前置条件,单独测试横向偏离量(即跑偏轨迹)与风力的关系。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

对于自动驾驶系统而言,在一个回环周期内其转向控制是完全由系统发送的制动速度和转向角进行的。如果环境无风,正常情况下的驾驶状态是参照指令“直线”/“拟直线”行驶的。当然如果有侧向或具体到自动驾驶系统激活过程中进行风力模拟检测时,需要通过检测汽车行驶过程中的方向盘转角、车速、方向盘扭矩、扭矩持续时间来判定车辆是否产生跑偏现象。如果上述行驶过程中方向盘转角偏差和方向盘力矩偏差小于设定的阈值,则判断所述方向盘的控制状态为无驾驶员主动控制下的直线行驶状态。获取车辆的行驶数据,可以有效的确定车辆跑偏检测参数,通过对横向偏离参数进行累计计算,可以得到行驶横向偏离累计值作为车辆跑偏检测参数。本方案中需要应用到域控模块中的处理芯片SOC和存储器单元,存储器可以用于存储方向盘的控制状态,如果方向盘控制状态为无驾驶员主动控制下的直线行驶状态,则获取车辆行驶数据,根据车辆行驶数据,确定车辆跑偏检测参数,并通过预设阈值切分出跑偏等级,从而可以间接映射出侧偏风力等级。

那些被自动驾驶所关注的ODD边界怎么测(二)-汽车开发者社区

总结

整个自动驾驶系统而言,要能对设置的设计运行范围ODD进行有效的检测,除了利用专门的仪器和设备外,还可以利用本身智驾系统搭载的传感器进行环境信息的识别和检测。并且,通常情况需要要求这些传感器的感知和处理过程是自适应的、实时的、较为精准的。因此,从算法的角度上讲,我们需要考虑设置实时监测的感知算法进行环境检测。当然,如果是为了获得更加准确地环境目标数据,则需要提前设置一些实验进行对等分析,深化下去将是一个比较大的课题需要研究。


那些被自动驾驶所关注的ODD边界怎么测(一):基于视觉的降雨量预测、降雨/降雪检测算法


文章转载自公众号:焉知智能汽车

分类
收藏
回复
举报
回复
相关推荐