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. 性能指标
集成
算法开发完成后,将算法集成到嵌入式硬件平台用于路测。
TTC测距算法的更多相关文章
- [自娱自乐] 3、超声波测距模块DIY笔记(三)
前言 上一节我们已经研究了超声波接收模块并自己设计了一个超声波接收模块,在此基础上又尝试用单片机加反相器构成生成40KHz的超声波发射电路,可是发现采用这种设计的发射电路存在严重的发射功率太低问题,对 ...
- [自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇·基于C#上位机软件开发
前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分 ...
- ICP算法使用遇到的问题
这几天在学习数据关联的方法,本来想使用ICP算法进行距离测距数据的配准,但是用的过程中出现问题,配的不准,而且偏差更大了. 红色的和黄色的2维激光点进行ICP配准,但将变换矩阵和黄色进行乘之后偏差更大 ...
- k-近邻(KNN)算法改进约会网站的配对效果[Python]
使用Python实现k-近邻算法的一般流程为: 1.收集数据:提供文本文件 2.准备数据:使用Python解析文本文件,预处理 3.分析数据:可视化处理 4.训练算法:此步骤不适用与k——近邻算法 5 ...
- 海伦去约会——kNN算法
下午于屋中闲居,于是翻开<机器学习实战>一书看了看“k-邻近算法”的内容,并学习了一位很厉害的博主Jack Cui的代码,自己照着码了一遍.在此感谢博主Jack Cui的知识分享. 一.k ...
- BP神经网络算法推导及代码实现笔记zz
一. 前言: 作为AI入门小白,参考了一些文章,想记点笔记加深印象,发出来是给有需求的童鞋学习共勉,大神轻拍! [毒鸡汤]:算法这东西,读完之后的状态多半是 --> “我是谁,我在哪?” 没事的 ...
- 机器学习实战笔记-k-近邻算法
机器学习实战笔记-k-近邻算法 目录 1. k-近邻算法概述 2. 示例:使用k-近邻算法改进约会网站的配对效果 3. 示例:手写识别系统 4. 小结 本章介绍了<机器学习实战>这本书中的 ...
- 一步步教你轻松学KNN模型算法
一步步教你轻松学KNN模型算法( 白宁超 2018年7月24日08:52:16 ) 导读:机器学习算法中KNN属于比较简单的典型算法,既可以做聚类又可以做分类使用.本文通过一个模拟的实际案例进行讲解. ...
- [转]Python3《机器学习实战》学习笔记(一):k-近邻算法(史诗级干货长文)
转自http://blog.csdn.net/c406495762/article/details/75172850 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一 简 ...
随机推荐
- PHP程序员要掌握哪些技术
PHP程序员要掌握哪些技术 第一阶段: (PHP+MySQL核心编程)面向对象编程MySQL数据库,MySQL的优化细节.HTTP协议,http也是我们web开发的基石.对我们了解PHP底层机制有很大 ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- 【apache】使用HttpClient,进行简单网页抓取
1 package com.lw.httpclient.test; 2 import org.apache.http.client.methods.CloseableHttpResponse; 3 i ...
- windows下使用dos命令手工与ntp服务器同步系统时间
管理员模式的命令窗口 net stop w32time &w32tm /unregister &w32tm /register &net start w32time & ...
- Windows bat批处理删除指定N天前的文件
1:新建批处理文件:del_old_file.bat,更改系统时间为7天前,在c盘sql back 目录下新建测试文件,再将系统时间改为正确时间 2:编辑内容: rem 删除C:\sql back目录 ...
- v-bind的使用
v-bind v-bind的引入 内容的绑定可以通过mustache语法,而属性的绑定往往需要通过v-bind 如动态绑定img的src属性 如动态绑定div的class属性 如动态绑定li元素的 ...
- 在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
微信开发包括公众号.企业微信.微信小程序等方面的开发内容,需要对腾信的微信API接口进行封装:包括事件.菜单.订阅用户.多媒体文件.图文消息.消息群发.微信支付和企业红包.摇一摇设备.语义理解.微信小 ...
- Cookie&Session-授课
1 会话技术 1.1 会话管理概述 1.1.1 什么是会话 会话:浏览器和服务器之间的多次请求和响应 为了实现一些功能,浏览器和服务器之间可能会产生多次的请求和响应,从浏览器访问服务器开始,到访问服务 ...
- [bug] Maven:No valid Maven installation found.maven
原因 从别处复制来的项目,maven路径没有改过来 参考 https://blog.csdn.net/qq_40846086/article/details/81252736
- RHCE脚本题目详解
目录 RHCE脚本题目详解 题目一 shell脚本之if语句实现: shell脚本之case语句实现: 题目二 实现 测试 解析 写在后面 RHCE脚本题目详解 题目一 在system1上创建一个名为 ...