一种基于物体状态检测碰撞的方法、装置及存储介质与流程

文档序号:31628071发布日期:2022-09-24 01:10阅读:61来源:国知局
一种基于物体状态检测碰撞的方法、装置及存储介质与流程

1.本发明涉及交通工具技术领域,尤其涉及一种基于物体状态检测碰撞的 方法、装置及存储介质。


背景技术:

2.随着技术的发展,无人驾驶汽车发展越来越快。无人驾驶汽车给人们带 来便利和驾驶体验的同时,汽车安全性的问题越显突出。当前无人驾驶通过 自动驾驶感知及规划进行碰撞检测,当前无人驾驶碰撞检测响应速度较慢, 需要花费较长时间才能完成碰撞检测,无法实现主动安全控制功能,导致无 人驾驶车辆安全性和可靠性较低。


技术实现要素:

3.本发明的主要目的在于提供一种基于物体状态检测碰撞的方法、装置及 存储介质,旨在解决现有技术中通过自动驾驶感知及规划进行碰撞检测响应 速度慢导致无人驾驶车辆安全性和可靠性较低的问题。
4.为实现上述目的,本发明提供了一种基于物体状态检测碰撞的方法,所 述方法包括以下步骤:
5.s1:获取第一物体对象的物体状态,所述物体状态包括:静止状态、移动 状态;
6.s2:若所述物体状态为静止状态时,根据车辆运动轨迹和所述第一物体对 象的位置判断是否发生碰撞;
7.s3:若所述物体状态为运动状态时,根据所述第一物体对象的碰撞时间和 逃离时间判断是否发生碰撞。
8.可选地,所述步骤s1,包括以下步骤:
9.获取连续多帧第一点云数据,把所述连续多帧第一点云数据转换到同一 坐标系,得到连续多帧第二点云数据;
10.对所述连续多帧第二点云数据进行处理,得到多个所述第一物体对象的 位置;
11.判断所述多个所述第一物体对象的位置的重合度,如果所述重合度大于 重合阈值,则标识所述第一物体对象的所述物体状态为静止状态;否则标识 所述第一物体对象的所述物体状态为移动状态。
12.可选地,所述步骤s2,包括以下步骤:
13.a1:获取所述物体状态为静止状态的所述第一物体对象;
14.a2:判断所述第一物体对象是否处于末端,如果所述第一物体对象处于 末端,则执行步骤a6;如果所述第一物体对象不处于末端,则执行步骤a3;
15.a3:根据车辆信息,获取二维平面的第一坐标点和第二坐标点;
16.a4:遍历所述第一坐标点和所述第二坐标点之间的网格,如果获取到第 二物体对象,则执行步骤a5;如果没有获取到第二物体对象,则执行步骤a1;
17.a5:获取所述第二物体对象的物体状态,如果所述物体状态为静止状态, 则执行
步骤a6;如果所述物体状态为移动状态,则执行步骤s3;
18.a6:根据车辆运动轨迹,评估所述车辆与所述第一物体对象或所述第二 物体对象是否发生碰撞。
19.可选地,所述步骤a3,包括以下步骤:
20.通过公式(1)获取转弯半径r,
[0021][0022]
其中,l为车轮轴距,δ为方向盘角度,swa2rwal为方向盘转角与轮胎转 角的对应关系的统计表,ci为转换指数,pi为圆周率;
[0023]
通过公式(2)获取所述第一坐标点的坐标,
[0024][0025][0026]
其中,r0为所述转弯半径r加上所述车辆的半个车宽的和,s为轮胎转角 角度的sin值,c:轮胎转角角度的cos值,为所述车辆车身中间位置 x轴坐标值,kgridxcenter为x轴方向的网格数量,kgridycenter为y轴方向网格数量, kgridhalf为网格单位长度的一半,kgridunit为网格单位长度;
[0027]
通过公式(3)获取所述第二坐标点的坐标,
[0028][0029][0030]
其中,r3为所述转弯半径r减去所述车辆的半个车宽的差。
[0031]
可选地,所述步骤s3,包括以下步骤:
[0032]
b1:获取所述物体状态为移动状态和/或属性有效的所述第一物体对象;
[0033]
b2:判断所述第一物体对象在追踪历史中是否存在,如果存在,则执行 步骤b3;如果不存在,则把所述第一物体对象增加到所述追踪历史中,执行 步骤b1;
[0034]
b3:获取所述第一物体对象的速度;
[0035]
b4:判断所述速度是否大于速度阈值,如果所述速度大于所述速度阈值, 则执行步骤b1;如果所述速度小于等于所述速度阈值,则执行步骤b5;
[0036]
b5:计算所述第一物体对象与车辆的碰撞时间和逃离时间;
[0037]
b6:根据所述碰撞时间和所述逃离时间判断是否发生碰撞。
[0038]
可选地,所述计算所述第一物体对象与车辆的碰撞时间,包括以下步骤:
[0039]
根据所述车辆的转角和/或速度和/或加速度计算出所述车辆的行驶轨迹;
[0040]
根据所述第一物体对象的移动方向和/或速度计算所述第一物体对象的 运动轨迹;
[0041]
获取所述行驶轨迹与所述运动轨迹的交叉点;
[0042]
计算所述车辆到达所述交叉点的第一时间,计算所述第一物体对象到达 所述交
叉点的第二时间;
[0043]
获取所述第一时间和所述第二时间中较大的时间作为碰撞时间。
[0044]
可选地,所述步骤b6,包括以下步骤:
[0045]
计算所述第一物体对象第一次进入所述车辆的行驶轨迹的第三时间,计 算所述第一物体对象离开所述车辆的行驶轨迹的第四时间;
[0046]
如果所述第四时间小于所述碰撞时间,则不会发生碰撞;如果所述碰撞 时间小于所述第三时间,则不会发生碰撞;如果所述碰撞时间大于所述第三 时间且小于所述第四时间,则会发送碰撞。
[0047]
此外,为实现上述目的,本发明还提出一种基于物体状态检测碰撞的装 置,所述装置包括:
[0048]
物体状态获取单元,用于获取第一物体对象的物体状态,所述物体状态 包括:静止状态、移动状态;
[0049]
静态物体判断单元,用于所述物体状态为静止状态时,根据车辆运动轨 迹和所述第一物体对象的位置判断是否发生碰撞;
[0050]
移动物体判断单元,用于所述物体状态为运动状态时,根据所述第一物 体对象的碰撞时间和逃离时间判断是否发生碰撞。
[0051]
此外,为实现上述目的,本发明还提出一种交通工具,所述交通工具包 括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于 物体状态检测碰撞程序,所述基于物体状态检测碰撞程序配置为实现如上文 所述基于物体状态检测碰撞方法的步骤。
[0052]
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其上 存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的基于 物体状态检测碰撞方法的步骤。
[0053]
通过本发明,检测移动物体的移动轨迹和静态物体的位置,然后根据车 辆的运动轨迹判断是否发生碰撞。检测到会发送碰撞时,及时调整车辆的运 动方向和速度,避开障碍物,达到一种主动安全控制的效果。从而提高了无 人驾驶车辆安全性和可靠性。
附图说明
[0054]
图1为本发明提供的基于物体状态检测碰撞的方法的一个流程示意图。
[0055]
图2为本发明提供的判断物体状态的一个流程示意图。
[0056]
图3为本发明提供的判断静态物体是否发生碰撞的一个流程示意图。
[0057]
图4为本发明提供的判断移动物体是否发生碰撞的一个流程示意图。
[0058]
图5为本发明提供的计算碰撞时间的一个流程示意图。
[0059]
图6为本发明提供的根据碰撞时间判断是否发生碰撞的一个流程示意图。
[0060]
图7为本发明基于物体状态检测碰撞装置实施例的一个结构框图。
[0061]
图8是本发明实施例方案涉及的硬件运行环境的交通工具结构示意图。
[0062]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
[0063]
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明 白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此 处所描述的具体实施例仅以解释本发明,并不用于限定本发明。
[0064]
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单 元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模 块”、“部件”或“单元”可以混合地使用。
[0065]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先 后次序。
[0066]
在一个实施例中,如图1所示,本发明提供一种基于物体状态检测碰撞 的方法,所述方法包括:
[0067]
步骤s1、获取第一物体对象的物体状态,所述物体状态包括:静止状态、 移动状态。
[0068]
自动驾驶车辆接收激光雷达的一帧点云数据,同时获取该帧点云数据对 应的时间。自动驾驶车辆通过udp数据包传到激光雷达驱动层,激光雷达驱 动层根据协议解析出各个点,组成一帧点云数据。
[0069]
对该帧点云数据进行分割然后进行网格化处理,得到高于地面的点,则 认为一个物体对象。为分析处理后的物体对接分配标识(唯一id)、物体属 性(如高度)。
[0070]
对获取的物体对象进行分析,判断该物体对象是静态物体还是移动物体。 具体流程,参见图2所示流程。
[0071]
步骤s101、获取连续多帧第一点云数据,把所述连续多帧第一点云数据 转换到同一坐标系,得到连续多帧第二点云数据。
[0072]
步骤s102、对所述连续多帧第二点云数据进行处理,得到多个所述第一 物体对象的位置。
[0073]
把当前一帧点云数据与之前几帧点云数据转换到同一个坐标系下,获取 每一帧点云数据中物体对象的坐标位置。在该物体对象中选择几个容易识别 的点,如物体对象的四个角。如下表所示:
[0074][0075]
步骤s103、判断所述多个所述第一物体对象的位置的重合度,如果所述 重合度大于重合阈值,则标识所述第一物体对象的所述物体状态为静止状态; 否则标识所述第一物
体对象的所述物体状态为移动状态。
[0076]
根据每帧点云数据中物体对象的位置判断该物体对象的重合度是否达到 一个重合阈值。如重合度达到90%,则认为该物体对象是静止状态;否则认为 该物体对象是移动状态。具体重合阈值可以根据实际需求进行设置,本技术 方案不进行限制。
[0077]
根据重合度判断该物体对象的物体状态后,把该物体对象状态和物体对 象id进行关联。如下表所示:
[0078][0079][0080]
步骤s2、若所述物体状态为静止状态时,根据车辆运动轨迹和所述第一 物体对象的位置判断是否发生碰撞。
[0081]
当物体对象为静止状态时,根据车辆的移动轨迹和该物体对象的位置来 判断车辆行驶过程是否会和该物体对象发生碰撞。具体参见图3所示流程。
[0082]
步骤a1:获取所述物体状态为静止状态的所述第一物体对象。
[0083]
获取一个物体状态为静止状态的物体对象,如物体对象id为car_001_002 的物体对象进行处理。
[0084]
步骤a2:判断所述第一物体对象是否处于队列末端,如果所述第一物体 对象处于队列末端,则执行步骤a6;如果所述第一物体对象不处于队列末端, 则执行步骤a3。
[0085]
自动驾驶车辆把获取的连续排列在一起的静止物体对象放入一个队列中, 如把车辆右侧停放的汽车放到一个队列中,如下表所示:
[0086]
物体对象id队列中位置car_005_0061car_005_0072car_005_0083car_005_0094
[0087]
具体如何判断哪些物体对象可以放到一个队列中,本技术方案不做限制。
[0088]
根据物体对象id判断该物体对象在队列中是否处于末端,队列末端为离 自动驾驶车辆最近的位置。如果该物体对象处于队列末端,则执行步骤a6, 根据车辆行驶轨迹和物体对象的位置信息判断是否发生碰撞;如果不处于队 列未端,则执行步骤a3。
[0089]
步骤a3、根据车辆信息,获取二维平面的第一坐标点和第二坐标点。
[0090]
根据车辆信息,在二维平面上估算两个终点:x0、y0,和x1、y1。
[0091]
步骤s201、通过公式(1)获取转弯半径r,
[0092][0093]
其中,l为车轮轴距,δ为方向盘角度,swa2rwal为方向盘转角与轮胎转 角的对应关系的统计表,ci为转换指数,pi为圆周率。
[0094]
获取自动驾驶车辆的车辆轴距l、方向盘角度δ、方向盘转角与轮胎转角 的对应关系。如获取的车辆轴距为2.98米,方向盘角度为60度,轮胎转角 为10度。每辆车都有方向盘角度和轮胎角度的对应关系表,根据该对应关系 表可以找到对应的轮胎角度。如下表所示:
[0095]
序号方向盘角度轮胎角度130526010318020436030
[0096]
然后使用公式(1)计算该车辆 的半径r。其中ci为转换指数,pi为圆周率。如计算的半径r为12.8米。
[0097]
步骤s202、通过公式(2)获取所述第一坐标点的坐标,
[0098][0099][0100]
其中,r0为所述转弯半径r加上所述车辆的半个车宽的和,s为轮胎转角 角度的sin值,c:轮胎转角角度的cos值,为所述车辆车身中间位置 x轴坐标值,kgridxcenter为x轴方向的网格数量,kgridycenter为y轴方向网格数量, kgridhalf为网格单位长度的一半,kgridunit为网格单位长度。
[0101]
步骤s203、通过公式(3)获取所述第二坐标点的坐标,
[0102][0103][0104]
其中,r3为所述转弯半径r减去所述车辆的半个车宽的差。
[0105]
获取车辆的转弯半径r(如12.8米)、轮胎转角(如10度)、车辆车身 参数(如:5米*2.2米*1.5米)、网格信息:x轴方向的网格数量(如80)、 y轴方向网格数量(如60)、网格单位长度(5米)等信息。然后使用公式(2)、 公式(3)计算得到两个终点的坐标,如下表所示:
[0106]
终点坐标第一坐标点ax:1.0y:2.2第二坐标点bx:152y:18.6
[0107]
步骤a4、遍历所述第一坐标点和所述第二坐标点之间的网格,判断是否 获取到第二物体对象;如果获取到第二物体对象,则执行步骤a5;如果没有 获取到第二物体对象,则执行步骤a1。
[0108]
获取第一坐标点a和第二坐标点b之间的网格,如下表所示的网格:
[0109]
序号网格
1网格a2网格b3网格c4网格d
[0110]
遍历第一坐标点a和第二坐标点b之间的网格,对每个网格进行分析出 来,获取网格中的物体对象。如果从这些网格中获取的一个以上物体对象则 执行步骤a5;如果没有获取到一个物体对象,则执行步骤a1.
[0111]
步骤a5、获取所述第二物体对象的物体状态,判断物体状态,如果所述 物体状态为静止状态,则执行步骤a6;如果所述物体状态为移动状态,则执行 步骤s3。
[0112]
对获取到的物体对象进行物体状态判断,具体判断过程参见图2所示流 程。然后判断物体对象的物体状态是静止状态还是移动状态。如果该物体对 象为静止状态,则执行步骤a6;如果该物体为移动状态,则执行步骤s3所示 流程。
[0113]
步骤a6、根据车辆运动轨迹,评估所述车辆与所述第一物体对象或所述 第二物体对象是否发生碰撞。
[0114]
根据当前车辆信息获取车辆运动轨迹,然后获取该物体对象的位置。通 过车辆运动轨迹和物体对象的位置判断是否会发送碰撞。如果物体对象的位 置在车辆移动轨迹上,则表示车辆会和该物体对象发生碰撞;如果物体对象 的位置不在车辆移动轨迹上,则表示车辆不会和该物体对象发生碰撞。
[0115]
获取物体对象的位置时,可以获取最近多帧点云数据(如获取最近4帧 点云数据),然后分别获取每帧点云数据中物体对象的位置,如下表所示:
[0116][0117]
然后判断每一帧点云数据的物体对象的位置是否在车辆移动轨迹上,如 果有一帧点云数据的物体对象的位置在车辆移动轨迹上,则表示该车辆会和 物体对象发生碰撞。也可以对多帧点云数据的物体对象的位置求平均或取每 帧点云数据的物体对象的位置重叠后的最大位置信息和车辆移动轨迹进行判 断是否发生碰撞,如果求平均或位置重叠后的最大位置信息在车辆移动轨迹 上,则表示该车辆会和物体对象发生碰撞。
[0118]
同时把该物体对象增加到静态跟踪对象中,通过一个列表来保存静态跟 踪对象。
[0119]
判断自动驾驶车辆和物体对象会发送碰撞后,把该物体对象信息保存到 自动驾驶车辆的aeb决策表中,便于自动驾驶系统执行aeb策略。如自动驾 驶系统根据aeb决策表信息,对车辆进行减速或转向操作,避免和物体对象 发生碰撞。
[0120]
步骤s3、若所述物体状态为运动状态时,根据所述第一物体对象的碰撞 时间和逃离时间判断是否发生碰撞。
[0121]
判断移动物体与无人驾驶车辆是否发生碰撞,参见图4所示流程。
[0122]
步骤b1、获取所述物体状态为移动状态和/或属性有效的所述第一物体对 象。
[0123]
获取一个物体状态为移动状态的物体对象,如物体对象id为car_100_001 的物体对象进行处理。检查该物体对象的属性是否为空,如物体对象id、高 度、宽度是否为空。如果这些信息存在为空的情况,则表明该物体对象是无 效物体对象,需要丢弃该物体对象,重新选择一个物体对象进行处理。
[0124]
步骤b2、判断所述第一物体对象在追踪历史中是否存在,如果存在,则 执行步骤b3;如果不存在,则把所述第一物体对象增加到所述追踪历史中, 执行步骤b1。
[0125]
判断物体对象id为car_100_001的物体对象在追踪历史中是否存在,如 果不存在,则把该物体对象增加到追踪历史中。追踪历史可以使用一个队列 或数据表表进行存储,具体存储方式本技术方案不进行限制。然后执行步骤 b1,重新获取一个物体对象进行处理。
[0126]
如果在追踪历史中存在该物体对象,则执行步骤b3。
[0127]
步骤b3、获取所述第一物体对象的速度。
[0128]
获取物体对象id为car_100_001的物体对象速度,通过以下方式获取该 物体对象的速度:
[0129]
把上一帧点云数据与当前点云数据转换到同一个坐标系下,运动的物体 对象(如物体对象id为car_100_001的物体对象)在同一个坐标系下就会分 别处在两个不同的位置,根据位置计算出距离。分别计算x和y方向的运动 距离,再除去时间0.1s(获取点云数据的频率是10hz)即可计算出物体x和 y方向的速度。
[0130]
步骤b4、判断所述速度是否大于速度阈值,如果所述速度大于所述速度 阈值,则执行步骤b1;如果所述速度小于等于所述速度阈值,则执行步骤b5。
[0131]
判断物体对象在x轴或y轴方向的速度是否大于速度阈值,如果大于速 度阈值,则认为该速度是无效的。如速度阈值设置为90m/s,如果物体对象的 x轴或y轴方向的速度大于90m/s,则认为该物体对象无效(正常移动物体不 可能达到这个移动速度)。速度阈值的具体值,可以根据实际情况进行设置, 本技术方案不进行限制。
[0132]
如果物体对象在x轴或y轴方向的速度大于速度阈值,则丢弃该物体对 象,返回步骤b1重新选择一个物体对象进行处理;如果物体对象在x轴或y 轴方向的速度小于等于速度阈值,则执行步骤b5。
[0133]
步骤b5、计算所述第一物体对象与车辆的碰撞时间和逃离时间。
[0134]
计算自动驾驶车辆和移动物体的碰撞时间,参见图5所述流程。
[0135]
步骤s301、根据所述车辆的转角和/或速度和/或加速度计算出所述车辆 的行驶轨迹。
[0136]
根据自动驾驶车辆的转角、速度、加速度等参数,得到自动驾驶车辆在 未来一段
时间(如5分钟)的行驶轨迹,如行驶轨迹a。如何获取行驶轨迹, 属于现有技术,本技术方案不再详细描述。
[0137]
步骤s302、根据所述第一物体对象的移动方向和/或速度计算所述第一物 体对象的运动轨迹。
[0138]
从追踪历史中获取物体对象的移动方案、速度、加速度等参数,得到移 动物体对象的移动轨迹,如移动轨迹b。如何获取移动轨迹,属于现有技术, 本技术方案不再详细描述。
[0139]
步骤s303、获取所述行驶轨迹与所述运动轨迹的交叉点。
[0140]
根据行驶轨迹a和移动轨迹b,判断这两个轨迹是否存在交叉点。如果不 存在交叉点,则自动驾驶车辆不会和移动物体发生碰撞;如果存在交叉点, 则自动驾驶车辆和移动物体对象可能会发生碰撞,需要进行后续处理。交叉 点为一个二维平面的点,如c点(10,15)。
[0141]
步骤s304、计算所述车辆到达所述交叉点的第一时间,计算所述第一物 体对象到达所述交叉点的第二时间。
[0142]
步骤s305、获取所述第一时间和所述第二时间中较大的时间作为碰撞时 间。
[0143]
根据自动驾驶车辆的行驶轨迹a,得到自动驾驶车辆达到交叉点c的第一 时间(如120秒);根据移动物体的移动轨迹b,得到移动物体到达交叉点c 的第二时间(如130秒)。
[0144]
比较第一时间和第二时间的大小,如第一时间为120秒、第二时间为130 秒,则选择第二时间作为碰撞时间,即碰撞时间为130秒。
[0145]
计算移动物体的逃离自动驾驶的行驶轨迹的逃离时间,通过以下方式进 行计算:
[0146]
逃离时间根据移动物体对象的移动轨迹(如移动轨迹b)、物体对象的大 小(长、宽)和自动驾驶车辆的行驶轨迹(如行驶轨迹a)和车辆宽度(如2.0 米)进行计算得到。
[0147]
移动物体对象第一次进入自动驾驶车辆的行驶轨迹(如行驶轨迹a)的时 间是tfirst,移动物体对象整体完全离开自动驾驶车辆的行驶轨迹(如行驶 轨迹a)的时间为tg,这个tg就是逃离时间。
[0148]
根据物体对象的移动轨迹(如移动轨迹b),计算物体对象上所有的点的 运动后的位置,当所有点离开自动驾驶车辆的行驶轨迹(上一个时间段在轨迹 内,这个时间段不在轨迹内),这个时间就是逃离时间。
[0149]
步骤b6、根据所述碰撞时间和所述逃离时间判断是否发生碰撞。
[0150]
轨迹碰撞时间和逃离时间判断是否发生碰撞,参见图6所述流程。
[0151]
步骤s401、计算所述第一物体对象第一次进入所述车辆的行驶轨迹的第 三时间,计算所述第一物体对象离开所述车辆的行驶轨迹的第四时间。
[0152]
步骤s402、如果所述第四时间小于所述碰撞时间,则不会发生碰撞;如 果所述碰撞时间小于所述第三时间,则不会发生碰撞;如果所述碰撞时间大 于所述第三时间且小于所述第四时间,则会发送碰撞。
[0153]
自动驾驶车辆和移动物体对象会有一个运动轨迹上的交叉处。计算移动 物体对象第一次进入自动驾驶车辆的行驶轨迹的时间是tfirst,离开行驶轨 迹的时间为tend,车辆行驶到交叉处的时间是tarrive,一般把tarrive设置 为碰撞时间。
[0154]
如果移动物体对象离开行驶轨迹的时间tend小于自动驾驶车辆到达交叉 处的时
间tarrive,则自动驾驶车辆和移动物体对象不会发生碰撞;
[0155]
如果自动驾驶车辆到达交叉处的时间tarrive小于移动物体对象第一次 进入自动驾驶车辆的行驶轨迹的时间tfirst,也不会发生碰撞;
[0156]
当自动驾驶车辆到达交叉处的时间tarrive大于移动物体对象第一次进 入自动驾驶车辆的行驶轨迹的时间tfirst又小于移动物体对象离开行驶轨迹 的时间tend时会发生碰撞。
[0157]
判断自动驾驶车辆和移动物体对象会发送碰撞后,把该移动物体对象信 息保存到自动驾驶车辆的aeb决策表中,便于自动驾驶系统执行aeb策略。 如自动驾驶系统根据aeb决策表信息,对车辆进行减速或转向操作,避免和 移动物体对象发生碰撞。
[0158]
通过本发明,检测移动物体的移动轨迹和静态物体的位置,然后根据车 辆的运动轨迹判断是否发生碰撞。检测到会发送碰撞时,及时调整车辆的运 动方向和速度,避开障碍物,达到一种主动安全控制的效果。从而提高了无 人驾驶车辆安全性和可靠性。
[0159]
此外,本发明实施例还提出一种基于物体状态检测碰撞的装置,参照图7, 所述装置包括:物体状态获取单元10、静态物体判断单元20、移动物体判断 单元30;
[0160]
物体状态获取单元10,用于获取第一物体对象的物体状态,所述物体状 态包括:静止状态、移动状态;
[0161]
静态物体判断单元20,用于所述物体状态为静止状态时,根据车辆运动 轨迹和所述第一物体对象的位置判断是否发生碰撞;
[0162]
移动物体判断单元30,用于所述物体状态为运动状态时,根据所述第一 物体对象的碰撞时间和逃离时间判断是否发生碰撞。
[0163]
通过本发明,检测移动物体的移动轨迹和静态物体的位置,然后根据车 辆的运动轨迹判断是否发生碰撞。检测到会发送碰撞时,及时调整车辆的运 动方向和速度,避开障碍物,达到一种主动安全控制的效果。从而提高了无 人驾驶车辆安全性和可靠性。
[0164]
需要说明的是,上述装置中的各单元可用于实现上述方法中的各个步骤, 同时达到相应的技术效果,本实施例在此不再赘述。
[0165]
参照图8,图8为本发明实施例方案涉及的硬件运行环境的交通工具的结 构示意图。
[0166]
如图8所示,该交通工具可以包括:处理器1001,例如cpu,通信总线 1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002 用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、 输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接 口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如 wi-fi、4g、5g接口)。存储器1005可以是高速ram存储器,也可以是稳定的 存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可 以是独立于前述处理器1001的存储装置。
[0167]
本领域技术人员可以理解,图8中示出的结构并不构成对交通工具的限 定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部 件布置。
[0168]
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系 统、网络通信模块、用户接口模块以及基于物体状态检测碰撞程序。
[0169]
在图8所示的交通工具中,网络接口1004主要用于与外部网络进行数据 通信;用
户接口1003主要用于接收用户的输入指令;交通工具通过处理器1001 调用存储器1005中存储的基于物体状态检测碰撞程序,并执行以下操作:
[0170]
s1:获取第一物体对象的物体状态,所述物体状态包括:静止状态、移动 状态;
[0171]
s2:若所述物体状态为静止状态时,根据车辆运动轨迹和所述第一物体对 象的位置判断是否发生碰撞;
[0172]
s3:若所述物体状态为运动状态时,根据所述第一物体对象的碰撞时间和 逃离时间判断是否发生碰撞。
[0173]
可选地,所述步骤s1,包括以下步骤:
[0174]
获取连续多帧第一点云数据,把所述连续多帧第一点云数据转换到同一 坐标系,得到连续多帧第二点云数据;
[0175]
对所述连续多帧第二点云数据进行处理,得到多个所述第一物体对象的 位置;
[0176]
判断所述多个所述第一物体对象的位置的重合度,如果所述重合度大于 重合阈值,则标识所述第一物体对象的所述物体状态为静止状态;否则标识 所述第一物体对象的所述物体状态为移动状态。
[0177]
可选地,所述步骤s2,包括以下步骤:
[0178]
a1:获取所述物体状态为静止状态的所述第一物体对象;
[0179]
a2:判断所述第一物体对象是否处于末端,如果所述第一物体对象处于 末端,则执行步骤a6;如果所述第一物体对象不处于末端,则执行步骤a3;
[0180]
a3:根据车辆信息,获取第一坐标点和第二坐标点;
[0181]
a4:遍历所述第一坐标点和所述第二坐标点之间的网格,如果获取到第 二物体对象,则执行步骤a5;如果没有获取到第二物体对象,则执行步骤a1;
[0182]
a5:获取所述第二物体对象的物体状态,如果所述物体状态为静止状态, 则执行步骤a6;如果所述物体状态为移动状态,则执行步骤s3;
[0183]
a6:根据车辆运动轨迹,评估所述车辆与所述第一物体对象或所述第二 物体对象是否发生碰撞。
[0184]
可选地,所述步骤a3,包括以下步骤:
[0185]
通过公式(1)获取转弯半径r,
[0186][0187]
其中,l为车轮轴距,δ为方向盘角度,swa2rwal为方向盘转角与轮胎转 角的对应关系的统计表,ci为转换指数,pi为圆周率;
[0188]
通过公式(2)获取所述第一坐标点的坐标,
[0189][0190][0191]
其中,r0为所述转弯半径r加上所述车辆的半个车宽的和,s为轮胎转角 角度的sin值,c:轮胎转角角度的cos值,为所述车辆车身中间位置 x轴坐标值,kgridxcenter为x轴方向的网格数量,kgridycenter为y轴方向网格数量, kgridhalf为网
格单位长度的一半,kgridunit为网格单位长度;
[0192]
通过公式(3)获取所述第二坐标点的坐标,
[0193][0194][0195]
其中,r3为所述转弯半径r减去所述车辆的半个车宽的差。
[0196]
可选地,所述步骤s3,包括以下步骤:
[0197]
b1:获取所述物体状态为移动状态和/或属性有效的所述第一物体对象;
[0198]
b2:判断所述第一物体对象在追踪历史中是否存在,如果存在,则执行 步骤b3;如果不存在,则把所述第一物体对象增加到所述追踪历史中,执行 步骤b1;
[0199]
b3:获取所述第一物体对象的速度;
[0200]
b4:判断所述速度是否大于速度阈值,如果所述速度大于所述速度阈值, 则执行步骤b1;如果所述速度小于等于所述速度阈值,则执行步骤b5;
[0201]
b5:计算所述第一物体对象与车辆的碰撞时间和逃离时间;
[0202]
b6:根据所述碰撞时间和所述逃离时间判断是否发生碰撞。
[0203]
可选地,所述计算所述第一物体对象与车辆的碰撞时间,包括以下步骤:
[0204]
根据所述车辆的转角和/或速度和/或加速度计算出所述车辆的行驶轨迹;
[0205]
根据所述第一物体对象的移动方向和/或速度计算所述第一物体对象的 运动轨迹;
[0206]
获取所述行驶轨迹与所述运动轨迹的交叉点;
[0207]
计算所述车辆到达所述交叉点的第一时间,计算所述第一物体对象到达 所述交叉点的第二时间;
[0208]
获取所述第一时间和所述第二时间中较大的时间作为碰撞时间。
[0209]
可选地,所述步骤b6,包括以下步骤:
[0210]
计算所述第一物体对象第一次进入所述车辆的行驶轨迹的第三时间,计 算所述第一物体对象离开所述车辆的行驶轨迹的第四时间;
[0211]
如果所述第四时间小于所述碰撞时间,则不会发生碰撞;如果所述碰撞 时间小于所述第三时间,则不会发生碰撞;如果所述碰撞时间大于所述第三 时间且小于所述第四时间,则会发送碰撞。
[0212]
通过本发明,检测移动物体的移动轨迹和静态物体的位置,然后根据车 辆的运动轨迹判断是否发生碰撞。检测到会发送碰撞时,及时调整车辆的运 动方向和速度,避开障碍物,达到一种主动安全控制的效果。从而提高了无 人驾驶车辆安全性和可靠性。
[0213]
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储 介质上存储有基于物体状态检测碰撞程序,基于物体状态检测碰撞程序被处 理器执行时实现如下操作:
[0214]
s1:获取第一物体对象的物体状态,所述物体状态包括:静止状态、移动 状态;
[0215]
s2:若所述物体状态为静止状态时,根据车辆运动轨迹和所述第一物体对 象的位置判断是否发生碰撞;
[0216]
s3:若所述物体状态为运动状态时,根据所述第一物体对象的碰撞时间和 逃离时间判断是否发生碰撞。
[0217]
可选地,所述步骤s1,包括以下步骤:
[0218]
获取连续多帧第一点云数据,把所述连续多帧第一点云数据转换到同一 坐标系,得到连续多帧第二点云数据;
[0219]
对所述连续多帧第二点云数据进行处理,得到多个所述第一物体对象的 位置;
[0220]
判断所述多个所述第一物体对象的位置的重合度,如果所述重合度大于 重合阈值,则标识所述第一物体对象的所述物体状态为静止状态;否则标识 所述第一物体对象的所述物体状态为移动状态。
[0221]
可选地,所述步骤s2,包括以下步骤:
[0222]
a1:获取所述物体状态为静止状态的所述第一物体对象;
[0223]
a2:判断所述第一物体对象是否处于末端,如果所述第一物体对象处于 末端,则执行步骤a6;如果所述第一物体对象不处于末端,则执行步骤a3;
[0224]
a3:根据车辆信息,获取第一坐标点和第二坐标点;
[0225]
a4:遍历所述第一坐标点和所述第二坐标点之间的网格,如果获取到第 二物体对象,则执行步骤a5;如果没有获取到第二物体对象,则执行步骤a1;
[0226]
a5:获取所述第二物体对象的物体状态,如果所述物体状态为静止状态, 则执行步骤a6;如果所述物体状态为移动状态,则执行步骤s3;
[0227]
a6:根据车辆运动轨迹,评估所述车辆与所述第一物体对象或所述第二 物体对象是否发生碰撞。
[0228]
可选地,所述步骤a3,包括以下步骤:
[0229]
通过公式(1)获取转弯半径r,
[0230][0231]
其中,l为车轮轴距,δ为方向盘角度,swa2rwal为方向盘转角与轮胎转 角的对应关系的统计表,ci为转换指数,pi为圆周率;
[0232]
通过公式(2)获取所述第一坐标点的坐标,
[0233][0234][0235]
其中,r0为所述转弯半径r加上所述车辆的半个车宽的和,s为轮胎转角 角度的sin值,c:轮胎转角角度的cos值,为所述车辆车身中间位置 x轴坐标值,kgridxcenter为x轴方向的网格数量,kgridycenter为y轴方向网格数量, kgridhalf为网格单位长度的一半,kgridunit为网格单位长度;
[0236]
通过公式(3)获取所述第二坐标点的坐标,
[0237]
[0238][0239]
其中,r3为所述转弯半径r减去所述车辆的半个车宽的差。
[0240]
可选地,所述步骤s3,包括以下步骤:
[0241]
b1:获取所述物体状态为移动状态和/或属性有效的所述第一物体对象;
[0242]
b2:判断所述第一物体对象在追踪历史中是否存在,如果存在,则执行 步骤b3;如果不存在,则把所述第一物体对象增加到所述追踪历史中,执行 步骤b1;
[0243]
b3:获取所述第一物体对象的速度;
[0244]
b4:判断所述速度是否大于速度阈值,如果所述速度大于所述速度阈值, 则执行步骤b1;如果所述速度小于等于所述速度阈值,则执行步骤b5;
[0245]
b5:计算所述第一物体对象与车辆的碰撞时间和逃离时间;
[0246]
b6:根据所述碰撞时间和所述逃离时间判断是否发生碰撞。
[0247]
可选地,所述计算所述第一物体对象与车辆的碰撞时间,包括以下步骤:
[0248]
根据所述车辆的转角和/或速度和/或加速度计算出所述车辆的行驶轨迹;
[0249]
根据所述第一物体对象的移动方向和/或速度计算所述第一物体对象的 运动轨迹;
[0250]
获取所述行驶轨迹与所述运动轨迹的交叉点;
[0251]
计算所述车辆到达所述交叉点的第一时间,计算所述第一物体对象到达 所述交叉点的第二时间;
[0252]
获取所述第一时间和所述第二时间中较大的时间作为碰撞时间。
[0253]
可选地,所述步骤b6,包括以下步骤:
[0254]
计算所述第一物体对象第一次进入所述车辆的行驶轨迹的第三时间,计 算所述第一物体对象离开所述车辆的行驶轨迹的第四时间;
[0255]
如果所述第四时间小于所述碰撞时间,则不会发生碰撞;如果所述碰撞 时间小于所述第三时间,则不会发生碰撞;如果所述碰撞时间大于所述第三 时间且小于所述第四时间,则会发送碰撞。
[0256]
通过本发明,检测移动物体的移动轨迹和静态物体的位置,然后根据车 辆的运动轨迹判断是否发生碰撞。检测到会发送碰撞时,及时调整车辆的运 动方向和速度,避开障碍物,达到一种主动安全控制的效果。从而提高了无 人驾驶车辆安全性和可靠性。
[0257]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变 体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品 或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是 还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的 情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过 程、方法、物品或者系统中还存在另外的相同要素。
[0258]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0259]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的
一个存储介质(如rom/ram、磁 碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机, 服务器,控制器,或者网络设备等)执行本发明各个实施例所述的方法。
[0260]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是 利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间 接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1