交叉路口碰撞预警学习笔记
文章目录
- 建立碰撞模型
- 碰撞场景
- 碰撞半径
- 是否会发生碰撞的条件判断
- 计算hv和rv达到和离开碰撞区域的时间
- 若匀速直线运动会发生碰撞,则计算是应该采取加速还是减速措施
- 加速计算
- 减速计算
建立碰撞模型
碰撞场景
下图中,A点和D点分别表示rv和hv的中心质点,向量hv、rv的方向分别表示hv、rv的航向,hv与rv的航向夹角为β\betaβ。以hv为坐标原点,建立载体坐标系,rv在未来的行径轨迹与x轴相交于点C,C点的坐标为(xrv+yrvtanβ,0)(x_{rv}+\frac{y_{rv}}{tan\beta},\text{ }0)(xrv+tanβyrv, 0),hv和rv到碰撞点C点的距离为
Dcollision_hv=xrv+yrvtanβDcollision_rv=yrvsinβ(1)D_{collision\_hv}=x_{rv}+\frac{y_{rv}}{tan\beta}\tag{1} \\ D_{collision\_rv}=\frac{y_{rv}}{sin\beta} Dcollision_hv=xrv+tanβyrvDcollision_rv=sinβyrv(1)
若hv和rv同时到达C点,那么就会发生碰撞。
图1 交叉路口碰撞模型示意图
碰撞半径
由于在实际中,hv和rv并不是一个点,而是占有一定面积的一个矩形,因此,碰撞会发生在一个区域内。为了简化模型,这里假设碰撞区域是以C点为圆心,以ρ\rhoρ为半径的一个圆形区域,如下图所示:
图2 碰撞半径模型
碰撞半径ρ\rhoρ受hv和rv的车长以及车宽影响,但是为了简化模型,将碰撞半径ρ\rhoρ固定为5m,即一个车长的长度。
是否会发生碰撞的条件判断
考虑到碰撞区域的存在,所以碰撞发生的临界条件可以简化为hv和rv达到和离开碰撞区域的时间。如下描述了碰撞发生的条件:
对于hv:
- hv达到碰撞区域时,rv也同时达到碰撞区域边缘;
- hv达到碰撞区域时,rv还未离开碰撞区域。
同理对于rv: - rv达到碰撞区域时,hv也同时达到碰撞区域边缘;
- rv达到碰撞区域时,hv还未离开碰撞区域。
设hv和rv达到和离开碰撞区域的时间分别为thv_in、thv_out、trv_in、trv_outt_{hv\_{in}}、t_{hv\_{out}}、t_{rv\_{in}}、t_{rv\_{out}}thv_in、thv_out、trv_in、trv_out,则若满足如下条件:
trv_in<thv_in<trv_out(2)t_{rv\_{in}}<t_{hv\_{in}}< t_{rv\_{out}}\tag{2}trv_in<thv_in<trv_out(2)
或者:
thv_in<trv_in<thv_out(3)t_{hv\_{in}}<t_{rv\_{in}}< t_{hv\_{out}}\tag{3}thv_in<trv_in<thv_out(3)
时,表示会发生碰撞。
计算hv和rv达到和离开碰撞区域的时间
如上图2所示,hv的轨迹与碰撞区域相较于点H和点J,rv则是点K和点L,则hv、rv达到和离开碰撞区域的距离分别是:
Dhv_in=Dcollision_hv−ρ=(xrv+yrvtanβ)−ρDhv_out=Dcollision_hv+ρ=(xrv+yrvtanβ)+ρDrv_in=Dcollision_rv−ρ=yrvsinβ−ρDrv_out=Dcollision_rv+ρ=yrvsinβ+ρ(4)D_{hv\_{in}}=D_{collision\_hv}-\rho=(x_{rv}+\frac{y_{rv}}{tan\beta})-\rho \\ D_{hv\_{out}}=D_{collision\_hv}+\rho=(x_{rv}+\frac{y_{rv}}{tan\beta})+\rho\tag{4} \\ D_{rv\_{in}}=D_{collision\_rv}-\rho=\frac{y_{rv}}{sin\beta}-\rho \\ D_{rv\_{out}}=D_{collision\_rv}+\rho=\frac{y_{rv}}{sin\beta}+\rho Dhv_in=Dcollision_hv−ρ=(xrv+tanβyrv)−ρDhv_out=Dcollision_hv+ρ=(xrv+tanβyrv)+ρDrv_in=Dcollision_rv−ρ=sinβyrv−ρDrv_out=Dcollision_rv+ρ=sinβyrv+ρ(4)
假设hv和rv都是做匀速直线运动,则他们达到和离开碰撞区域的时间分别是:
thv_in=Dhv_invhvthv_out=Dhv_outvhvtrv_in=Drv_invrvtrv_out=Drv_outvrv(5)t_{hv\_{in}}=\frac{D_{hv\_{in}}}{\Large{v_{hv}}} \\ t_{hv\_{out}}=\frac{D_{hv\_{out}}}{\Large{v_{hv}}} \\ t_{rv\_{in}}=\frac{D_{rv\_{in}}}{\Large{v}_{rv}} \\ t_{rv\_{out}}=\frac{D_{rv\_{out}}}{\Large{v}_{rv}}\tag{5} thv_in=vhvDhv_inthv_out=vhvDhv_outtrv_in=vrvDrv_intrv_out=vrvDrv_out(5)
若满足公式(2)、(3)中的条件,则会发生碰撞。
若匀速直线运动会发生碰撞,则计算是应该采取加速还是减速措施
若根据公式(2)、(3)中的条件发现会发生碰撞,还应该计算加速或者减速的情况下是否可以避免碰撞。
加速计算
加速的最小安全距离是,当rv刚好达到碰撞区域边缘时,hv已经驶离了碰撞区域。由于公式(5)中已经计算出了rv达到碰撞区域的时间trv_int_{rv\_in}trv_in,因此这里不再计算,直接引用。hv加速时,可以认为hv以固定的加速度ahv_accea_{hv\_acce}ahv_acce做匀加速直线运动(实际计算中,加速时加速度可以取2.6m/s2m/s^2m/s2),因此,在trv_int_{rv\_in}trv_in时间内,hv运动的距离是:
Shv_acce=vhvtrv_in+12ahv_acce(trv_in)2(6)S_{hv\_{acce}}=v_{hv}t_{rv\_in}+\frac{1}{2}a_{hv\_acce}(t_{rv\_in})^2\tag{6}Shv_acce=vhvtrv_in+21ahv_acce(trv_in)2(6)
若满足
Shv_acce⩾Dhv_out(7)S_{hv\_{acce}}\geqslant D_{hv\_{out}}\tag{7}Shv_acce⩾Dhv_out(7)
则表明加速后,不会发生碰撞。如不满足,则要进行减速计算。
减速计算
减速的最小安全距离是,当rv已经驶出碰撞区域后,hv还未达到碰撞区域。由于公式(5)中已经计算出了rv离开碰撞区域的时间trv_outt_{rv\_out}trv_out,因此这里不再计算,直接引用。hv减速时,可以认为hv以固定的加速度ahv_deca_{hv\_dec}ahv_dec做匀减速直线运动(实际计算中,加速时加速度可以取6.25m/s2m/s^2m/s2),因此,在trv_outt_{rv\_out}trv_out时间内,hv运动的距离是:
Shv_dec=vhvtrv_out+12ahv_dec(trv_out)2(8)S_{hv\_{dec}}=v_{hv}t_{rv\_out}+\frac{1}{2}a_{hv\_dec}(t_{rv\_out})^2\tag{8}Shv_dec=vhvtrv_out+21ahv_dec(trv_out)2(8)
若满足
Shv_dec⩽Dhv_in(9)S_{hv\_{dec}}\leqslant D_{hv\_{in}}\tag{9}Shv_dec⩽Dhv_in(9)
则表明减速后,不会发生碰撞。
若公式(7)和(9)有一个满足,则不会发生碰撞,否则势必会发生碰撞。
交叉路口碰撞预警学习笔记相关推荐
- 开发板qt移植和交叉开发环境搭建学习笔记
tslib移植 准备工作 开发板有uboot 搭建tftp服务器,开发板可通过服务器下载内核并启动: nfs工具,开发板可通过nfs工具加载到主机(电脑)的rootfs: 触摸屏可使用,在cat触 ...
- IMX6ULL学习笔记(1)——搭建环境、编译烧写
一.搭建环境 1.1 安装VMware 官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_ ...
- python3 23.keras使用交叉熵代价函数进行MNIST数据集简单分类 学习笔记
文章目录 前言 一.交叉熵代价函数简介 二.交叉熵代价函数使用 前言 计算机视觉系列之学习笔记主要是本人进行学习人工智能(计算机视觉方向)的代码整理.本系列所有代码是用python3编写,在平台Ana ...
- 前车碰撞预警——FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码
前车碰撞预警--FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码. 单目测距,多目标跟踪. 车辆检测,智能adas,FCW,价格只包括源码及设计文档讲解. 我使用的版本说明: gpu版本: an ...
- 基于深度学习和单目摄像头测距的前车碰撞预警源码
前车碰撞预警--FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码 单目测距,多目标跟踪. 车辆检测,智能adas,FCW,编号只包括源码及设计文档讲解. 我使用的版本说明: gpu版本: ano ...
- 基于MATLAB的全工况前向碰撞预警模型学习
前向碰撞预警是智能汽车和自动驾驶绕不开的一步,很多学校也设置了课程学习相应的内容,这里给出了我自己的课程作业,和大家一起交流. 模型是使用MATLAB开发,基于全工况模型建立的预警系统,具有三级报警和 ...
- 立创eda学习笔记二十三:如何将原理图和焊盘关联?(交叉选择)
这是我在网上看到的一个提问,我对这个提问有两个理解, 1,如何显示原理图符号和PCB封装之间的对应位置关系? 那么可以使用以下的交叉选择功能. 这个功能是用来跳转原理图符号和PCB封装之间的对应位置. ...
- unity番外学习笔记-canvas在3d里的设置以及3d物体之间的碰撞
学习笔记 canvas在3d里的设置 3d物体之间的碰撞 canvas在不同系统中如何做到适配 canvas在3d里的设置 需要在canvas里找到worldspace,canvas才能匹配3d的大小 ...
- [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果
往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...
最新文章
- Microsoft Expression Blend 2 密钥,key
- php 连接hadoop hdfs,Hadoop HDFS操作
- [Leetcode] Permutations 全排列
- list1与list2求交集的方法总结!
- 多线程—AQS独占锁与共享锁原理
- Linux 命令 之查看程序占用内存
- Web前端技术趋势:HTML5仍不宜用作生产
- python单片机编程软件下载_Python开发例程大全
- html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面
- IDEA创建JSP项目
- matlab 暴雨强度公式,利用MATLAB推导城市暴雨强度公式
- Bus Hound数据分析
- android 电视安装apk文件损坏,安装电视软件时提示解析包出现问题怎么破?
- 不记得是哪部电影里的段子了
- EdgeBox_EHub_tx1_tx2_E100 开发板评测
- 漫谈程序员系列 软件开发的十八般乐趣
- 智能红外遥控器(三):红外学习温湿度读取
- 跟着Nature学绘图 水循环图
- HTTP编程(Java爬虫-简单爬取网页数据)
- [每日100问][2011-9-06]iphone开发笔记,今天你肿了么
热门文章
- 服务器管理器正在收集清单数据_数据仓库快速入门教程1简介
- 三、histeq的原理和用法
- 两种方式推导人口平衡方程(PBE)
- 图解Kicad导入元器件封装
- dreamware简单HTML网页,Dreamweaver cs6怎么设计一款简单的网页?
- Android酷炫实用的开源框架(UI框架),35岁以上程序员求职没市场
- 微信小程序WebSocket接口以及在小程序中的使用。
- java电商项目_Java电商项目总结(二)
- Android GPS学习笔记(三)定位数据如何从GPS芯片到应用层
- POJ3322-经典的游戏搜索问题