文章目录

  • 建立碰撞模型
    • 碰撞场景
    • 碰撞半径
    • 是否会发生碰撞的条件判断
      • 计算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βyrv​​Dcollision_rv​=sinβyrv​​(1)
若hv和rv同时到达C点,那么就会发生碰撞。


图1 交叉路口碰撞模型示意图

碰撞半径

由于在实际中,hv和rv并不是一个点,而是占有一定面积的一个矩形,因此,碰撞会发生在一个区域内。为了简化模型,这里假设碰撞区域是以C点为圆心,以ρ\rhoρ为半径的一个圆形区域,如下图所示:

图2 碰撞半径模型

碰撞半径ρ\rhoρ受hv和rv的车长以及车宽影响,但是为了简化模型,将碰撞半径ρ\rhoρ固定为5m,即一个车长的长度。

是否会发生碰撞的条件判断

考虑到碰撞区域的存在,所以碰撞发生的临界条件可以简化为hv和rv达到和离开碰撞区域的时间。如下描述了碰撞发生的条件:
对于hv:

  1. hv达到碰撞区域时,rv也同时达到碰撞区域边缘;
  2. hv达到碰撞区域时,rv还未离开碰撞区域。
    同理对于rv:
  3. rv达到碰撞区域时,hv也同时达到碰撞区域边缘;
  4. 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​=vhv​Dhv_in​​thv_out​=vhv​Dhv_out​​trv_in​=vrv​Drv_in​​trv_out​=vrv​Drv_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​=vhv​trv_in​+21​ahv_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​=vhv​trv_out​+21​ahv_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)有一个满足,则不会发生碰撞,否则势必会发生碰撞。

交叉路口碰撞预警学习笔记相关推荐

  1. 开发板qt移植和交叉开发环境搭建学习笔记

    tslib移植 准备工作   开发板有uboot 搭建tftp服务器,开发板可通过服务器下载内核并启动: nfs工具,开发板可通过nfs工具加载到主机(电脑)的rootfs: 触摸屏可使用,在cat触 ...

  2. IMX6ULL学习笔记(1)——搭建环境、编译烧写

    一.搭建环境 1.1 安装VMware 官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_ ...

  3. python3 23.keras使用交叉熵代价函数进行MNIST数据集简单分类 学习笔记

    文章目录 前言 一.交叉熵代价函数简介 二.交叉熵代价函数使用 前言 计算机视觉系列之学习笔记主要是本人进行学习人工智能(计算机视觉方向)的代码整理.本系列所有代码是用python3编写,在平台Ana ...

  4. 前车碰撞预警——FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码

    前车碰撞预警--FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码. 单目测距,多目标跟踪. 车辆检测,智能adas,FCW,价格只包括源码及设计文档讲解. 我使用的版本说明: gpu版本: an ...

  5. 基于深度学习和单目摄像头测距的前车碰撞预警源码

    前车碰撞预警--FCW,基于深度学习和单目摄像头测距的前车碰撞预警源码 单目测距,多目标跟踪. 车辆检测,智能adas,FCW,编号只包括源码及设计文档讲解. 我使用的版本说明: gpu版本: ano ...

  6. 基于MATLAB的全工况前向碰撞预警模型学习

    前向碰撞预警是智能汽车和自动驾驶绕不开的一步,很多学校也设置了课程学习相应的内容,这里给出了我自己的课程作业,和大家一起交流. 模型是使用MATLAB开发,基于全工况模型建立的预警系统,具有三级报警和 ...

  7. 立创eda学习笔记二十三:如何将原理图和焊盘关联?(交叉选择)

    这是我在网上看到的一个提问,我对这个提问有两个理解, 1,如何显示原理图符号和PCB封装之间的对应位置关系? 那么可以使用以下的交叉选择功能. 这个功能是用来跳转原理图符号和PCB封装之间的对应位置. ...

  8. unity番外学习笔记-canvas在3d里的设置以及3d物体之间的碰撞

    学习笔记 canvas在3d里的设置 3d物体之间的碰撞 canvas在不同系统中如何做到适配 canvas在3d里的设置 需要在canvas里找到worldspace,canvas才能匹配3d的大小 ...

  9. [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果

    往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...

最新文章

  1. Microsoft Expression Blend 2 密钥,key
  2. php 连接hadoop hdfs,Hadoop HDFS操作
  3. [Leetcode] Permutations 全排列
  4. list1与list2求交集的方法总结!
  5. 多线程—AQS独占锁与共享锁原理
  6. Linux 命令 之查看程序占用内存
  7. Web前端技术趋势:HTML5仍不宜用作生产
  8. python单片机编程软件下载_Python开发例程大全
  9. html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面
  10. IDEA创建JSP项目
  11. matlab 暴雨强度公式,利用MATLAB推导城市暴雨强度公式
  12. Bus Hound数据分析
  13. android 电视安装apk文件损坏,安装电视软件时提示解析包出现问题怎么破?
  14. 不记得是哪部电影里的段子了
  15. EdgeBox_EHub_tx1_tx2_E100 开发板评测
  16. 漫谈程序员系列 软件开发的十八般乐趣
  17. 智能红外遥控器(三):红外学习温湿度读取
  18. 跟着Nature学绘图 水循环图
  19. HTTP编程(Java爬虫-简单爬取网页数据)
  20. [每日100问][2011-9-06]iphone开发笔记,今天你肿了么

热门文章

  1. 服务器管理器正在收集清单数据_数据仓库快速入门教程1简介
  2. 三、histeq的原理和用法
  3. 两种方式推导人口平衡方程(PBE)
  4. 图解Kicad导入元器件封装
  5. dreamware简单HTML网页,Dreamweaver cs6怎么设计一款简单的网页?
  6. Android酷炫实用的开源框架(UI框架),35岁以上程序员求职没市场
  7. 微信小程序WebSocket接口以及在小程序中的使用。
  8. java电商项目_Java电商项目总结(二)
  9. Android GPS学习笔记(三)定位数据如何从GPS芯片到应用层
  10. POJ3322-经典的游戏搜索问题