zoukankan      html  css  js  c++  java
  • TTC测距算法

    TTC测距算法

    输入输出接口

    Input:(1)人与车(或车与车)的距离

    (2)人与车(或车与车)的相对速度

    Output:TTC collision time

    算法介绍和设计方案

    TTC是Time-To-Collision的缩写,直译为碰撞时间。海沃德(1972)将TTC定义为:“如果两个车辆以现在的速度和相同的路径继续碰撞,则需要碰撞的时间”。在交通冲突技术的研究中,TTC已被证明是衡量交通冲突严重程度和区分关键行为与正常行为的有效手段。一些研究的结果指出直接使用TTC作为交通决策的线索。车辆之间未来相互作用的预测涉及为受试车辆以及所有可能发生相互作用的车辆创建预测轨迹,以查看是否可能发生碰撞。

     

    图1. 轨迹管理中的TTC算法

    在TTC算法中,车辆被视为二维平面。每一辆都由位于平面中特定位置的矩形表示。每辆车都有速度和加速度,速度与加速度都是矢量。

    每辆“主体”车辆与附近的车辆会发生相互作用,不存在先导车辆或跟随车辆。主体车辆的动作遵循三条规则:

    1)   跟随前方的车辆

    2)   避免碰撞

    3)   基于TTC的数值来调整所采取的动作的强度。

    TTC是针对每两辆相互足够接近车辆来计算相互时间步长。根据其老位置、新速度矢量和新加速度矢量计算车辆的新坐标。它的新速度矢量同样是从它的旧速度和新加速度矢量计算出来的。通过对期望轨迹、道路几何形状、交通控制(例如,停止标志、交通信号和速度限制)以及邻近车辆的接近来确定加速度矢量。如果不引起任何碰撞,加速度被认为是可接受的。

    TTC 碰撞时间(TTC是专门针对CIPV,本车会撞上前车的时间)

    Mobileye的后装产品里面,FCW的时间设的是2.7秒

    o   根据科学的统计,当提前2.5秒给予一个车辆警告的话

    o   人的反应时间和刹车的距离,基本上可以做到车子刹停下来

    Mobileye的后装产品(客户以商用车为主)会把这个预值再放大一点,保证司机有足够长的时间把车辆刹停下来

     

    图2. 车辆防撞预警处理流程图

    设A为自车,B为它车,d为两车中心连线的距离,K为两车的横向距离,s1,s2分别为自车与它车到碰撞点的距离。

     

    图3. 各种碰撞算法模型示意图

     

     


    逻辑上

    o   处理算法获取图像,根据图在视野里面的变化的快慢,可计算出这辆车会碰撞的时间

    o   做距离的检测,包括之前更多的是用雷达的手段来做FCW,或者AEB的时候,其实也都是先做了距离的检测,然后再来算出碰撞的时间

    单目的摄像头的计算方式就是直接计算TTC

    o   跟车辆的车速线是直接对接的(知道本车的速度),可反算出来这个距离是多少。

    o   输出TTC这个值,因为这个值才是最终用来做预警或者控制的最有用的一个参数

     

     

    表1. 危险特征参数统计结果

     

    o   在TTC 2秒~2.5秒的范围内,视觉算法检测出TTC和真实的TTC之间是非常的精准的,只有当距离远了之后TTC才会产生一定的偏差。 

    o   AEB一般起作用都是在1秒上下的区间里面起作用,在这个时候我们的TTC已经可以做到非常精准。 

    o   当把TTC设在1.4、1.0和0.6的时候,我们AEB的TTC和实际要求的预值之间的精准度是非常非常高的。 

    在整个过程里面从FCW到AEB是一个过程,在不同的速度区间下,都有个最低的时间,我们根据这个画一根线,对司机来说,到时候就有两个决策。

    o   通过制动解决问题

    o   通过拐出去:经过很多次的货车侧翻和教训,相信现在大量的司机都是不打方向,宁可往前撞的。

    o   FCW的开始时间

    o   驾驶员意识到的时间

    o   驾驶员意识到没动作(刹车)的时间

    o   AEB的启动时间

    • 感知计算传递
    • 刹车执行器(由刹车类型决定)

    §  后面一体化的比较有趣了

    • 开始减速
    • 减速过程

     

    图4. FCW实例

    这个上面所说的2.7秒,看来就是所得出来正常驾驶员所能接受的

    o   TTC设计过长,可能会让开车有侵略性的受不了

    o   TTC设计过短,则让司机觉得FCW无用

    这里就需要运用大量数据和统计的事来了,我相信这个2.7秒是个抽象的值,实际上是个函数。
    根据Toyota在《Study on TTC Distribution when Approaching a Lead Vehicle》一文里面多样的数据,感觉确实乘用车和商用车差异较大,具体在实施过程中,可能具有很大的差距,是需要考虑驾驶员的行为和接受度的。细节还需要对比更多的数据来对实际的设置有相应的考虑,可能以后自己还能调节这个Profile呢,或者进行更深度的学习。


    小结:

    1)主动安全,比我们想象的单个ECU和感知系统的事要复杂得多,因为牵涉了很多驾驶行为(人)和道路&环境(路),变量是比较多的。

    2)以后这块的数据,是比较值钱的。

    开发方案:

    第一,统计连续10帧图像中每两帧图像车辆的图像像素偏移数,行人的图像像素偏移数,再依据帧率分别计算车辆和行人平均像素便宜和图像像素偏移速度。

    第二,将图像坐标系转换成世界坐标系,在世界坐标系下,分别计算行人和车辆的矢量合成速度v12,计算TTC碰撞时间T=s/v12。

    第三,分别计算行人行走的距离s1=v1*T, 车辆行驶的距离s2=v2*T。依据s1,S1,s2,S2的关系,判断行人和车辆是否相撞。

    第四,同样道理,可以判断车辆与车辆的碰撞TTC问题。

     

     

                            图5. 行人与车辆速度距离及TTC

     

    数据集上达到(详细指标在开发过程中逐步修正)

     

     

     

    行人(pedestrain)

    车辆(vehicle)

    TTC

    备注

    准确度

    80%(70米)

    80%(120米)

    90%(70米)

     

    召回率

    50%(70米)

    60%(120米)

    50%(70米)

     

    帧率

    30fps

    30fps

    30fps

     

    表2. 性能指标

     

    集成

    算法开发完成后,将算法集成到嵌入式硬件平台用于路测。

  • 相关阅读:
    Qt5 webview加载本地网页
    pwiz, a model generator
    编译python3
    [转]Centos配置国内yum源
    ubuntu下apt-get update出现hash校验和错误
    《LINUX程序设计 第四版》 阅读笔记:(一)
    [转]https方式使用git保存密码的方式
    用python产生一个好的秘钥
    Ubuntu关闭图形界面
    Numpy中的矩阵计算
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/12481945.html
Copyright © 2011-2022 走看看