一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

安全行驶走廊构建方法和装置、自动驾驶车辆及存储介质与流程

2022-04-25 02:28:38 来源:中国专利 TAG:


1.本技术实施例涉及自动驾驶技术领域,特别地,涉及一种安全行驶走廊构建方法和装置、自动驾驶车辆及存储介质。


背景技术:

2.自动驾驶要求自动驾驶车辆的系统可以完全接管整车控制,使得系统不仅需要能够处理正常理想状态下的行驶工况,还需要能够很好地处理在一些异常甚至极端情况下的行驶工况,例如,当前车道前方有落石或山体滑坡、前方出现车辆碰撞、前方临时施工无法通过等。系统可以通过实时检测或者根据高精度地图预测上述行驶工况,从而定义可安全行驶走廊(可行驶区域)。
3.目前,有人提出根据车辆的宽度、道路边界和障碍物信息将安全行驶走廊边界定义为每个网格点的偏移上/下限,该方法没有考虑车辆航向角的影响,导致构建的安全行驶走廊的准确率较低,存在与自动驾驶车辆周围的障碍物发生碰撞的风险。为了避免上述问题,通常采取的做法是缩小安全行驶走廊边界以防止碰撞,但是与此同时极大地降低了安全行驶走廊的规划成功率,且仅仅依靠缩小安全行驶走廊边界也无法保证不与障碍物发生干涉。


技术实现要素:

4.本技术实施例提供一种安全行驶走廊构建方法和装置、自动驾驶车辆及存储介质,以改善上述问题。
5.第一方面,本技术实施例提供一种安全行驶走廊构建方法。该方法主要包括:基于车辆的当前位置,获取与当前位置对应的决策路径;基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段;确定每组子边界对的中心;基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊。该方法可以根据车辆的尺寸确定安全行驶走廊的临时边界,并基于临时边界构建凸多边形来得到安全行驶走廊,没有将车辆简单地视为一个质点,在考虑了车辆航向角对规划安全行驶走廊的影响的同时提高了安全行驶走廊的规划成功率。
6.在一些示例中,基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊可以包括:基于每组子边界对的中心,分别构建每组子边界对所对应的凸多边形;将每组子边界对所对应的凸多边形的并集作为安全行驶走廊。
7.在一些示例中,基于每组子边界对的中心,分别构建每组子边界对所对应的凸多边形可以包括:在临时边界中查找距离多组子边界对中的目标子边界对的中心最近的线段;基于最近的线段生成半空间,消除临时边界中的位于半空间之外的部分;基于半空间构建目标子边界对所对应的凸多边形。
8.在一些示例中,基于半空间构建目标子边界对所对应的凸多边形可以包括:确定
临时边界中的线段是否均被消除在半空间序列之外,其中,半空间序列包括至少一个半空间;若确定存在临时边界中的线段未被消除在半空间序列之外,返回在所述临时边界中查找距离多组子边界对中的目标子边界对的中心最近的线段的步骤,直到临时边界中的线段均被消除在半空间序列之外;将半空间序列中的所有半空间的交集确定为目标子边界对所对应的凸多边形。
9.在一些示例中,基于最近的线段生成半空间可以包括:确定最近的线段所在的直线,得到由直线划分的两个区域;将两个区域中的包括目标子边界对的中心的区域确定为半空间。
10.在一些示例中,确定每组子边界对的中心可以包括:连接每组子边界对所包括的两条线段的端点,得到四边形;将四边形的对角线的交点确定为与四边形对应的子边界对的中心。
11.在一些示例中,确定每组子边界对的中心还可以包括:将每组子边界对所包括的两条线段的中垂线的交点确定为该组子边界对的中心。
12.在一些示例中,基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界可以包括:沿着决策路径,基于frenet坐标系分别在横向和纵向上进行采样;基于车辆的尺寸以及采样得到的点进行碰撞检测,生成临时边界。
13.在一些示例中,沿着决策路径,基于frenet坐标系分别在横向和纵向上进行采样可以包括:沿着决策路径,基于frenet坐标系分别在横向和纵向上间隔预设距离进行采样。
14.在一些示例中,沿着决策路径,基于frenet坐标系分别在横向和纵向上进行采样可以包括:沿着决策路径,基于frenet坐标系分别在横向和纵向上按照间隔预设时间进行采样。
15.在一些示例中,基于车辆的尺寸以及采样得到的点进行碰撞检测,生成临时边界可以包括:以采样得到的点为圆心,以车辆的长度的一半为半径,得到目标圆;根据目标圆与障碍物进行碰撞检测,确定临时边界的临时边界点;连接临时边界点,得到临时边界。将车辆视为圆与障碍物做碰撞检测,以确定临时边界点,没有简单地将自动驾驶车辆视为一个质点,而是将自动驾驶车辆视为以自动驾驶车辆的长度的一半为半径的圆来执行构建安全行驶走廊的相关步骤,考虑了车辆航向角对构建安全行驶走廊的影响,从而大幅降低了自动驾驶车辆与障碍物碰撞的风险,提高了构建安全行驶走廊的成功率。
16.在一些示例中,根据目标圆与障碍物进行碰撞检测,确定临时边界的临时边界点可以包括:若目标圆的圆心与障碍物之间的距离大于所述半径,继续采样;若目标圆的圆心与障碍物之间的距离不大于半径,确定目标圆的圆心为临时边界点。
17.在一些示例中,安全行驶走廊构建方法还可以包括:若临时边界为两条平行的直线,确定两条直线之间的区域为安全行驶走廊。在确定临时边界为两条平行的直线时,直接将两条直线之间的区域确定为安全行驶走廊,不必执行构建凸多边形的操作,从而可以节省构建安全行驶走廊的时间。
18.在一些示例中,基于车辆的当前位置,获取与当前位置对应的决策路径可以包括:基于车辆的当前位置,从路径决策层中获取当前位置对应的决策路径,其中,路径决策层用于根据车辆的当前位置实时生成与车辆的当前位置对应的决策路径。将决策路径计算过程与安全走廊构建过程分为两个板块,在不同的处理层中进行计算,可以避免其中一个处理
层出现故障时影响另一处理层的正常运行,从而提高系统的鲁棒性。
19.在一些示例中,基于车辆的当前位置,获取与当前位置对应的决策路径还可以包括:基于车辆的当前位置实时生成与车辆的当前位置对应的决策路径。
20.第二方面,本技术实施例提供一种安全行驶走廊构建装置。该装置主要包括:路径获取模块、边界确定模块、中心确定模块以及走廊生成模块。其中,路径获取模块用于基于车辆的当前位置,获取与当前位置对应的决策路径。边界确定模块用于基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段。中心确定模块用于确定每组子边界对的中心。走廊生成模块用于基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊。
21.第三方面,本技术实施例提供一种自动驾驶车辆。该自动驾驶车辆主要包括存储器、一个或多个处理器以及一个或多个应用程序。其中,一个或多个应用程序被存储在存储器中,并被配置为当被一个或多个处理器调用时,使得一个或多个处理器执行本技术实施例提供的安全行驶走廊构建方法。
22.第四方面,本技术实施例提供一种计算机可读取存储介质。该计算机可读取存储介质中存储有程序代码,该程序代码被配置为当被处理器调用时,使得处理器执行本技术实施例提供的安全行驶走廊方法。
23.本技术实施例提供一种安全行驶走廊方法和装置、自动驾驶车辆及存储介质。该方法主要通过基于车辆的当前位置,获取与当前位置对应的决策路径;基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段;确定每组子边界对的中心;基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊,从而可以根据车辆的尺寸确定安全行驶走廊的临时边界,并基于临时边界构建凸多边形来得到安全行驶走廊,没有将车辆简单地视为一个质点,在考虑了车辆航向角对规划安全行驶走廊的影响的同时提高了安全行驶走廊的规划成功率。
附图说明
24.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
25.图1是本技术实施例提供的安全行驶走廊构建方法的应用环境示意图。
26.图2是本技术一实施例提供的安全行驶走廊构建方法的流程示意图。
27.图3是本技术实施例提供的安全行驶走廊构建方法的原理示意图。
28.图4是本技术一示例性实施例提供的自动驾驶车辆绕左侧障碍物的实验场景的示意图。
29.图5是本技术一示例性实施例提供的路径决策层给出的基于图4的实验场景生成的决策路径的示意图。
30.图6是本技术另一实施例提供的安全行驶走廊构建方法的流程示意图。
31.图7是本技术实施例提供的碰撞检测的原理示意图。
32.图8是本技术另一实施例提供的安全行驶走廊构建方法所包括的步骤s240 的流程示意图。
33.图9是本技术一示例性实施例提供的基于图4、采用本技术实施例提供的安全行驶走廊构建方法构建的安全行驶走廊的示意图。
34.图10是本技术实施例提供的安全行驶走廊构建装置的结构框图。
35.图11是本技术实施例提供的电子设备的结构框图。
36.图12是本技术实施例提供的计算机可读取存储介质的结构框图。
具体实施方式
37.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
38.请参阅图1,图1是本技术实施例提供的安全行驶走廊构建方法的应用环境示意图。安全行驶走廊构建系统10包括车辆11和处理设备12。车辆11与处理设备12连接,相互之间可以进行数据交换。车辆11可以是自动驾驶车辆。其中,自动驾驶车辆可以是汽油车或电动车等,其中,电动车可以是纯电动车、混合动力车、或燃料电池车等,在此不作具体限制。处理设备12可以是服务器,也可以是其他具有计算能力的电子设备,其中,服务器可以是传统服务器或云服务器,在此不作具体限制。在一些示例中,车辆11可以包括处理设备12,即处理设备12可以设置于车辆11。
39.在一些示例中,车辆11可以通过设置其上的摄像头采集行驶道路上的车道线、障碍物等信息,并将采集到的信息上报给处理设备12,处理设备12可以依据这些信息构建安全行驶走廊。在一些示例中,处理设备12也可以通过高精度地图预测行驶工况,并依据预测的行驶工况构建安全行驶走廊。
40.请参阅图2,图2是本技术一实施例提供的安全行驶走廊构建方法的流程示意图。该安全行驶走廊构建方法可以应用于上述安全行驶走廊构建系统10,具体地,可以应用于处理设备12。该安全行驶走廊构建方法可以包括以下步骤s110~s140。
41.为了便于理解本技术实施例中的技术方案,请先参阅图3,图3是本技术实施例提供的安全行驶走廊构建方法的原理示意图。其中,折线0表示决策路径;折线1和2表示临时边界;加粗的实线3和4表示道路边界;虚线l0表示道路的中心线(参考线);虚线l1表示折线1中的加粗的线段所在的直线;虚线l2 表示折线1中的加粗的线段所在的直线;离线点q表示采样点;圆圈o表示折线1和折线2中的加粗的两条线段的中心;凸多边形abcd表示折线1和折线 2中的加粗的两条线段对应的凸多边形。
42.步骤s110,基于车辆的当前位置,获取与当前位置对应的决策路径。
43.在本技术实施例中,在自动驾驶过程中,控制车辆行驶至任一位置时,可以为车辆规划一条从当前位置到前方某一位置的路径,以便后续可以按照该条路径控制车辆行驶至前方的该位置,其中,该条路径即为本技术实施例提到的决策路径(如图3所示的折线0)。需要说明的是,决策路径并不总是折线,决策路径也可以是直线或者弧线等,即决策路径具体可以根据车辆当前的实际位置确定,本技术实施例在此不作具体限制。
44.在一些示例中,决策路径可以直接从路径决策层中获取,其中,路径决策层可以设
置于服务器中,用于根据车辆的当前位置实时生成与车辆的当前位置对应的决策路径。将决策路径计算过程与安全走廊构建过程分为两个板块,在不同的处理层中进行计算,可以避免其中一个处理层出现故障时影响另一处理层的正常运行,从而提高系统的鲁棒性。例如,请一并参阅图4和图5,图4是本技术一示例性实施例提供的自动驾驶车辆绕左侧障碍物的实验场景的示意图,图5是本技术一示例性实施例提供的路径决策层给出的基于图4的实验场景生成的决策路径的示意图。在图4中,车辆g为自动驾驶车辆。在图5中,折线0对应决策路径;实线3和4对应道路边界;实线l0对应道路的中心线(参考线);凸多边形g对应图4中的车辆g;位于参考线l0附近的点f为在构建决策路径的过程中生成的点;位于实线3和4附近的点e为根据自动驾驶车辆周围的障碍物生成的栅格点;点o为下文将提到的子边界对所对应的中心。
45.在另一些实施例中,决策路径也可以根据高精度地图实时生成,具体可参考现有技术中的相关手段,本技术实施例在此不展开描述。
46.步骤s120,基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段。
47.考虑到自动驾驶车辆的车身可能会覆盖即将构建的安全行驶走廊的多个局部区域,本技术实施例在构建安全行驶走廊的过程中,没有简单地将自动驾驶车辆视为一个质点,而是将自动驾驶车辆视为以自动驾驶车辆的长度的一半(或略大于自动驾驶车辆的长度的一半,在此不作具体限制)为半径的圆来执行构建安全行驶走廊的相关步骤,考虑了车辆航向角对构建安全行驶走廊的影响,从而大幅降低了自动驾驶车辆与障碍物碰撞的风险,提高了构建安全行驶走廊的成功率。
48.在一些示例中,可以在frenet坐标系下,沿着决策路径分别在横向和纵向上按照预设采样间隔采样,得到多个采样点(如图3所示的离散点q)。其中,横向采样间隔和纵向采样间隔可以根据实际情况进行设置,可以是间隔预设距离或者间隔预设时间等,例如,横向采样间隔可以是6米或者1秒,纵向采样间隔可以是1米或0.25秒,本技术实施例在此不作具体限制。可以将每个采样点视为圆心,以自动驾驶车辆的长度的一半(或略大于自动驾驶车辆的长度的一半)为半径,将每个采样点对应的圆与障碍物进行碰撞检测来确定临时边界的临时边界点(如图3所示的折线1上的点和折线2上的点),将这些临时边界点连接起来,可以得到安全行驶走廊两侧的临时边界(如图3所示的折线1和折线2)。示例性地,在图3中,折线1和折线2包括5组子边界对,例如,折线1和折线2中加粗的两条线段为一组子边界对。
49.需要说明的是,临时边界并不总是如图3所示的折线1和折线2,临时边界也可以是直线或者弧线等,即临时边界具体可以根据车辆当前的实际位置确定,本技术实施例在此不作具体限制。
50.步骤s130,确定每组子边界对的中心。
51.在一些示例中,如图3所示,以折线1和折线2中加粗的两条线段为例,可以连接两条线段的端点,形成四边形。将四边形的对角线的交点确定为该组子边界对的中心(如图3所示的圆圈o)。
52.在另一些示例中,也可以将这两条线段的中垂线的交点确定为该组子边界对的中心,具体可参考现有技术中的相关手段,本技术实施例在此不展开描述。
53.步骤s140,基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶
走廊。
54.在一些示例中,如图3所示,可以计算临时边界中距离中心(圆圈o)最近的点p0,确定点p0所在的线段所在的直线(虚线l1),该直线l1(虚线l1) 将平面划分为以直线l1(虚线l1)为界限的上下两个区域,将包括中心(圆圈 o)的区域确定为半空间h0(图中未示出),从临时边界中删除位于半空间h0之外的部分,例如,折线1。重复上述步骤,继续计算剩余的临时边界中距离中心点o最近的点p1,确定点p1所在的线段所在的直线(虚线l2),该直线(虚线 l2)将平面划分为以直线(虚线l2)为界限的上下两个区域,将包括中心(圆圈o)的区域确定为半空间h1(图中未示出),从剩余的临时边界中删除位于半空间h1之外的部分,例如,折线2中位于直线(虚线l2)上的线段bc。经过上述多次迭代,直到所有临时边界中的线段被半空间序列(h0,h1,
……
,hm) 排除在外,其中,m为大于1的整数。将半空间序列(h0,h1,
……
,hm)中的所有半空间的交集确定为中心(圆圈o)对应的一组子边界对所对应的凸多边形(凸多边形abcd)。按照上述方法,可以分别计算每组子边界对所对应的凸多边形,得到多个凸多边形,将多个凸多边形的并集确定为安全行驶走廊。
55.特别地,若临时边界为两条平行的直线,可以直接确定这两条直线之间的区域为安全行驶走廊。在确定临时边界为两条平行的直线时,直接将两条直线之间的区域确定为安全行驶走廊,不必执行构建凸多边形的操作,从而可以节省构建安全行驶走廊的时间。
56.在本技术实施例提供的安全行驶走廊构建方法中,主要通过基于车辆的当前位置,获取与当前位置对应的决策路径;基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段;确定每组子边界对的中心;基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊,从而可以根据车辆的尺寸确定安全行驶走廊的临时边界,并基于临时边界构建凸多边形来得到安全行驶走廊,没有将车辆简单地视为一个质点,在考虑了车辆航向角对规划安全行驶走廊的影响的同时提高了安全行驶走廊的规划成功率。
57.请参阅图6,图6是本技术另一实施例提供的安全行驶走廊构建方法的流程示意图。该安全行驶走廊构建方法可以应用于上述安全行驶走廊构建系统10,具体地,可以应用于处理设备12。该安全行驶走廊构建方法可以包括以下步骤 s210~s250。
58.步骤s210,基于车辆的当前位置,获取与所述当前位置对应的决策路径。
59.步骤s210请参阅步骤s110,在此不再赘述。
60.步骤s220,基于所述车辆的尺寸以及所述决策路径,确定安全行驶走廊两侧的临时边界,其中,所述临时边界包括多组子边界对,一组子边界对包括分别位于所述决策路径两侧的两条线段。
61.在一些示例中,步骤s220可以包括以下步骤:沿着决策路径,基于frenet 坐标系下,分别在横向和纵向上进行采样;基于车辆的尺寸以及采样得到的点进行碰撞检测,生成临时边界。其中,采样的具体描述请参阅步骤s120,在此不再赘述。
62.在一些示例中,基于车辆的尺寸以及采样得到的点进行碰撞检测,生成临时边界的实施方式可以包括以下步骤:分别将采样得到的点作为圆心,将车辆的长度的一半(或略大于车辆的长度的一半)作为半径,得到目标圆;若目标圆的圆心与障碍物之间的距离大于目标圆的半径,继续采样;若目标圆的圆心与障碍物之间的距离不大于目标圆的半径,确定目标圆的圆心为临时边界点;连接临时边界点,生成临时边界。
63.在一些示例中,请参阅图7,图7是本技术实施例提供的碰撞检测的原理示意图。可以将采样点q作为圆心,半径r取略大于车辆的长度的一半的数值,得到圆w。计算圆w与障碍物v之间的距离,若圆w与障碍物v之间的距离大于半径r,说明车辆与障碍物不会发生干涉,继续采样。若圆w与障碍物v 之间的距离小于或等于半径r,说明车辆与障碍物可能会发生干涉,则将采样点 q确定为临时边界点(如图3所示的折线1和2上的点)。重复上述步骤,直到遍历所有采样点,得到多个临时边界点。连接多个临时边界点,生成临时边界(如图3所示的折线1和2)。
64.步骤s230,确定每组子边界对的中心。
65.其中,步骤s230可以包括以下步骤:连接每组子边界对所包括的两条线段的端点,得到四边形;将四边形的对角线的交点确定为与四边形对应的子边界对的中心。
66.步骤s240,基于每组子边界对的中心,分别构建每组子边界对所对应的凸多边形。
67.在一些示例中,请参阅图8,图8是本技术另一实施例提供的安全行驶走廊构建方法所包括的步骤s240的流程示意图。步骤s240可以包括以下步骤 s241~s243。
68.步骤s241,在临时边界中查找距离多组子边界对中的目标子边界对的中心最近的线段。
69.其中,目标子边界对为多组子边界对中的任一组子边界对。本技术实施例中的目标子边界对是一个相对的概念,即构建某一组子边界对所对应的凸多边形时,该组子边界对为目标子边界对。例如,构建图3所示的折线1和折线2中加粗的两条线段对应的凸多边形abcd时,这两条加粗的线段为目标子边界对。
70.作为一种示例,如图3所示,可以计算临时边界中距离中心(圆圈o)最近的点p0,点p0所在的线段为距离多组子边界对中的目标子边界对的中心最近的线段。
71.步骤s242,基于最近的线段生成半空间,消除临时边界中的位于半空间之外的部分。
72.在一些示例中,步骤s242可以包括以下步骤:确定最近的线段所在的直线,得到由直线划分的两个区域;将两个区域中的包括目标子边界对的中心的区域确定为半空间,消除临时边界中的位于半空间之外的部分。
73.作为一种示例,如图3所示,可以根据点p0所在的线段,确定点p0所在的线段所在的直线l1,该直线l1将平面划分为以直线l1为界限的上下两个区域。将包括目标子边界对的中心(圆圈o)的区域确定为半空间h0(图中未示出),消除临时边界中的位于半空间h0之外的部分,例如,折线1。
74.步骤s243,基于半空间构建目标子边界对所对应的凸多边形。
75.在一些示例中,步骤s243可以包括以下步骤:确定临时边界中的线段是否均被消除在半空间序列之外,其中,半空间序列包括至少一个半空间;若确定存在临时边界中的线段未被消除在半空间序列之外,返回步骤s241,直到临时边界中的线段均被消除在半空间序列之外;将半空间序列中的所有半空间的交集确定为目标子边界对所对应的凸多边形。
76.作为一种示例,如图3所示,消除临时边界中的位于半空间h0之外的部分之后,可以确定临时边界中的线段是否均被消除在半空间序列(此时半空间序列为仅包括半空间h0的序列(h0))之外。在图3中,存在临时边界中的线段(折线2包括的5条线段)未被消除在半空间序列(h0)之外,返回步骤s241,直到临时边界中的所有线段均被消除在半空间序列之
外。将半空间序列中的所有半空间的交集确定为目标子边界对所对应的凸多边形。
77.步骤s241~s243未详细描述的部分请参阅上述步骤s140,在此不再赘述。
78.步骤s250,将每组子边界对所对应的凸多边形的并集作为所述安全行驶走廊。
79.通过执行步骤s240,可以得到每组子边界对所对应的凸多边形,将这些凸多边形的并集确定为安全行驶走廊。
80.在本技术实施例提供的安全行驶走廊构建方法中,主要通过基于车辆的当前位置,获取与当前位置对应的决策路径;基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段;确定每组子边界对的中心;基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊,从而可以根据车辆的尺寸确定安全行驶走廊的临时边界,并基于临时边界构建凸多边形来得到安全行驶走廊,没有将车辆简单地视为一个质点,在考虑了车辆航向角对规划安全行驶走廊的影响的同时提高了安全行驶走廊的规划成功率。
81.请参阅图9,图9是本技术一示例性实施例提供的基于图4、采用本技术实施例提供的安全行驶走廊构建方法构建的安全行驶走廊的示意图。其中,折线0 为决策路线;折线1和2分别为安全行驶走廊的临时边界;实线3和4为道路边界;实线l1为道路的中心线(也称为参考线或指引线);离散点e为障碍物生成的栅格点;离散点h为包含车辆轮廓的边界;点o为一组子边界对的中心;凸多边形t为点o对应的一组子边界对所对应的凸多边形;多边形g表示自动驾驶车辆。需要说明的是,图8仅示出了部分凸多边形,并非完整的安全行驶走廊。
82.请参阅图10,图10是本技术实施例提供的安全行驶走廊构建装置的结构框图。安全行驶走廊构建装置300可以应用于上述安全行驶走廊构建系统10,具体地,可以应用于上述处理设备12。安全行驶走廊构建装置300可以包括相互通信连接的路径获取模块310、边界确定模块320、中心确定模块330以及走廊生成模块340。其中,路径获取模块310用于基于车辆的当前位置,获取与当前位置对应的决策路径。边界确定模块320用于基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段。中心确定模块330用于确定每组子边界对的中心。走廊生成模块340用于基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊。
83.在一些示例中,走廊生成模块340可以包括凸多边形构建子模块和走廊生成子模块。其中,凸多边形构建子模块用于基于每组子边界对的中心,分别构建每组子边界对所对应的凸多边形。走廊生成子模块用于将每组子边界对所对应的凸多边形的并集作为安全行驶走廊。
84.在一些示例中,凸多边形构建子模块可以包括线段查找单元、半空间生成单元以及凸多边形构建单元。其中,线段查找单元用于在临时边界中查找距离多组子边界对中的目标子边界对的中心最近的线段。半空间生成单元用于基于最近的线段生成半空间,消除临时边界中的位于半空间之外的部分。凸多边形构建单元用于基于半空间构建目标子边界对所对应的凸多边形。
85.在一些示例中,凸多边形构建单元可以包括确定子单元、线段删除子单元、控制子单元以及凸多边形构建子单元。其中,确定子单元用于确定临时边界中的线段是否均被消除在半空间序列之外,其中,半空间序列包括至少两个所述半空间。线段删除子单元用于若
确定存在临时边界中的线段未被消除在半空间序列之外,将距离目标子边界对的中心最近的线段从临时边界删除。控制子单元用于返回在临时边界中查找距离多组子边界对中的目标子边界对的中心最近的线段的步骤,直到临时边界中的线段均被消除在半空间序列之外。凸多边形构建子单元用于将半空间序列中的所有半空间的交集确定为目标子边界对所对应的凸多边形。
86.在一些示例中,半空间生成单元可以包括区域划分子单元和半空间生成子单元。其中,区域划分子单元用于确定最近的线段所在的直线,得到由直线划分的两个区域。半空间生成子单元用于将两个区域中的包括目标子边界对的中心的区域确定为半空间。
87.在一些示例中,中心确定模块330可以包括端点连接子模块和中心确定子模块。其中,端点连接子模块用于连接每组子边界对所包括的两条线段的端点,得到四边形。中心确定子模块用于将四边形的对角线的交点确定为与四边形对应的子边界对的中心。
88.在一些示例中,边界确定模块320可以包括采样子模块和边界确定子模块。其中,采样子模块用于沿着决策路径,基于frenet坐标系分别在横向和纵向上进行采样。边界确定子模块用于基于车辆的尺寸以及采样得到的点进行碰撞检测,生成临时边界。
89.本领域技术人员可以清楚地了解到,本技术实施例提供的安全行驶走廊构建装置300可以实现本技术实施例提供的安全行驶走廊构建方法。上述装置和模块的具体工作过程,请参阅本技术实施例中的安全行驶走廊构建方法对应的过程,在此不再赘述。
90.本技术提供的实施例中,所显示或讨论的模块相互之间的耦合、直接耦合或者通信连接,可以是通过一些接口、装置或模块的间接耦合或通信耦合,可以是电性、机械或其他形式,本技术实施例对此不作限制。
91.另外,在本技术实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件的功能模块的形式实现,本技术实施例对此不作限制。
92.请参阅图11,图11是本技术实施例提供的自动驾驶车辆的结构框图。自动驾驶车辆400可以包括一个或多个如下部件:存储器410、一个或多个处理器420 以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器410中并被配置为当被一个或多个处理器420调用时,使得一个或多个处理器420执行本技术实施例提供的上述安全行驶走廊构建方法。
93.处理器420可以包括一个或多个处理核。处理器420利用各种接口和线路连接整个电子设备400内各个部分,用于运行或执行存储在存储器410内的指令、程序、代码集或指令集,以及调用运行或执行存储在存储器410内的数据,执行电子设备400的各种功能和处理数据。可选地,处理器420可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gatearray,fpga)、可编辑逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器420可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成于处理器420中,单独通过一块通信芯片进行实现。
94.存储器410可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。存储器410可以用于存储指令、程序、代码、代码集或指令集。存储器410可以包括存储程序区和存储数据区。其中,存储程序区可以存储用于实现操作系统的指令、用于实现至少一个功能的指令、用于实现上述各个方法实施例的指令等。存储数据区可以存储电子设备 400在使用中所创建的数据等。
95.请参阅图12,图12是本技术实施例提供的计算机可读取存储介质的结构框图。该计算机可读取存储介质500中存储有程序代码510,该程序代码510被配置为当被处理器调用时,使得处理器执行本技术实施例提供的上述安全行驶走廊构建方法。
96.计算机可读取存储介质500可以是诸如闪存、电可擦除可编辑只读存储器 (electrically-erasable programmable read-only memory,eeprom)、可擦除可编辑只读存储器(erasable programmable read-only memory,eprom)、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质500包括非易失性计算机可读介质(non-transitory computer-readable storage medium,non
‑ꢀ
tcrsm)。计算机可读取存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码510可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以以适当的形式进行压缩。
97.综上所述,在本技术实施例提供的安全行驶走廊方法和装置、自动驾驶车辆及存储介质中,主要通过基于车辆的当前位置,获取与当前位置对应的决策路径;基于车辆的尺寸以及决策路径,确定安全行驶走廊两侧的临时边界,其中,临时边界包括多组子边界对,一组子边界对包括分别位于决策路径两侧的两条线段;确定每组子边界对的中心;基于每组子边界对的中心以及临时边界构建凸多边形,得到安全行驶走廊,从而可以根据车辆的尺寸确定安全行驶走廊的临时边界,并基于临时边界构建凸多边形来得到安全行驶走廊,没有将车辆简单地视为一个质点,在考虑了车辆航向角对规划安全行驶走廊的影响的同时提高了安全行驶走廊的规划成功率。
98.最后应说明的是:以上实施例仅用于说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献