自主车辆的两级路径规划的制作方法

文档序号:28206561发布日期:2021-12-28 18:39阅读:91来源:国知局
自主车辆的两级路径规划的制作方法

1.本文献涉及自主驾驶。


背景技术:

2.自主驾驶车辆使用传感器和处理系统以确定自主车辆周围的环境,并做出确保自主车辆和周围车辆的安全的决策。传感器应准确地确定潜在干扰车辆以及其他可移动和不可移动对象的距离和速度。需要新的技术来确定自主车辆在诸如停车场和狭窄道路的环境中应该采用的路径。


技术实现要素:

3.所公开的主题涉及自主驾驶,尤其涉及用于自主牵引式挂车(tractor

trailer)卡车的两级最优路径规划过程,其包括离线规划、在线规划以及利用在线估计和感知结果来使规划的路径适应驾驶环境中的真实世界变化。
4.在第一方面,公开了一种导航自主车辆的方法。该方法包括通过在线服务器确定自主车辆在所绘制的驾驶区域中的当前车辆状态。该方法包括:由在线服务器从离线路径库接收用于自主驾驶车辆通过所绘制的驾驶区域从当前车辆状态到目的地车辆状态的路径,以及接收固定和移动障碍物信息。该方法包括调整路径以生成优化路径,其中,优化路径避开固定和移动障碍物并以最终车辆状态结束,并且基于优化路径导航自主车辆。
5.以下特征可以以各种组合包括在第一方面和其他方面中。当前车辆状态包括当前位置和当前航向角,并且其中,目的地车辆状态包括目的地位置和目的地航向角。调整路径包括迭代地调整路径。离线路径库是通过在导航自主车辆之前计算不与自主车辆共处一地的资源来生成的,并且其中,迭代地调整路径包括估计一个或多个代价函数以确定优化路径。一个或多个代价函数包括指示最终车辆状态与目的地车辆状态之间的接近度的最终状态误差,其中,最终车辆状态越接近目的地车辆状态,最终状态误差越接近最优。离线路径库包括基于离线路径库生成过程计算的可能路径的数据库。离线路径库以压缩格式存储在离线服务器处,其中,在线服务器执行用于接收路径的数据扩展。离线服务器位于自主车辆外部,并且被配置为在驾驶任务正在进行时经由无线通信信道或者在驾驶任务开始之前经由有线通信信道与在线服务器通信。该路径基于多个经调整路径中的每一个的对应的总体性能度量从多个经调整路径中被选择,其中,该路径与多个经调整路径中的其他路径相比具有最优总体性能度量。多个经调整路径中的每一个的总体性能度量包括曲率度量、曲率变化度量和铰接度量、到车道中心的距离度量、航向角跟踪度量、车道中的车身度量、延伸超过所绘制的允许区域的车身度量、到道路上的对象的距离度量中的一个或多个。
6.在第二方面,公开了一种为自主驾驶车辆生成最优路径的方法。该方法包括:从定位系统接收自主驾驶车辆在所绘制的驾驶区域上的当前位置和当前航向角,以及从离线生成的路径库接收自主驾驶车辆从具有当前航向角的当前位置到目的地位置的路径。该方法还包括:从感知系统接收对象信息,对象信息包括关于沿着该路径的一个或多个对象的位
置和大小信息;以及响应于对象信息,调整从路径库接收的路径,以使得自主驾驶车辆通过采用经调整路径来避开一个或多个对象。该方法包括重复调整路径,直到满足预定条件为止,以获得最优路径。
7.以下特征可以以各种组合包括在第二方面和其他方面中。重复调整路径直到满足预定条件包括以下一个或多个:通过组合沿着经调整路径的性能度量的性能度量值,确定代表经调整路径的总体性能度量值,性能度量包括转向角度量、运动学度量和沿着经调整路径的一个或多个车身位置;以及重复调整路径,直到总体性能度量值不再改善或计算时间预算耗尽为止。该方法还包括响应于实际的牵引式挂车车辆移动性变化,调整从路径库接收的路径,该移动性变化来自受牵引座位置设置、挂车车辆差异、最大可行转向速率、轨迹跟踪精度、驾驶机动最优性或安全目的影响的范数(norm)。所绘制的驾驶区域对应于覆盖在地理区域上的网格点的三维阵列,三维阵列包括位置x坐标、位置y坐标和航向角坐标。地理区域包括停车场、狭窄街道、货运枢纽和自主车辆将倒车驾驶的区域中的一个或多个。该方法在自主驾驶车辆处执行,使用不位于自主驾驶车辆处的一些计算资源。从第一位置到第二位置的最优路径提供了碰撞避免、最小化转向改变、防止弯折,并且是平滑的。
8.在第三方面,公开了一种用于确定自主车辆的行驶路径的系统。该系统包括用于存储路径库的数据存储设备,其中,路径库包括多个路径,每个路径从多个起始位置中的一个开始,并且从多个结束位置中的一个结束,其中,多个起始位置和多个结束位置对应于地图上的点。该系统还包括:第一最优路径生成器,用于生成所选起始位置和所选结束位置之间的第一最优路径,其中,一个或多个车辆状态影响第一最优路径;以及第二最优路径生成器,用于基于第一最优路径和由感知系统感测到的干扰第一最优路径的一个或多个障碍物或在线动态确定的一个或多个车辆参数来生成第二最优路径。
9.以下特征可以以各种组合方式包括在第三方面和其他方面中。利用静态车辆和地图参数以及离线计算资源生成第一最优路径。该系统还包括车辆控制器,用于生成至少转向命令、节气门命令和制动命令,以使自主驾驶车辆遵循第二最优路径。
10.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其它方面和特征。
附图说明
11.图1a描绘了根据一些示例性实施例的用于确定自主车辆的最优路径的两级系统的示例;
12.图1b描绘了根据一些示例性实施例的用于确定第二级路径的非线性优化过程的输入和输出的示例。
13.图2描绘了示出根据一些示例性实施例的解耦的空域规划和时域规划的图示;
14.图3描绘了根据一些实施例的过程的示例;
15.图4描绘了根据一些示例性实施例的用于离线路径搜索和估计的过程的示例;
16.图5a描绘了在具有离散分辨率的所绘制的区域中离线搜索从目标结束位置和方位到所有可能的开始位置和方位的弧路径族的示例;
17.图5b描绘了根据一些实施例与通过各种航向角网格仓的路径弧连接的定位网格节点的示例;
18.图6描绘了根据一些实施例的用于在线最优路径库使用的在线读取过程的示例;
19.图7描绘了根据一些实施例的牵引式挂车的转弯的示例,示出了牵引式挂车的各个部件与驾驶空间的车道边界或道路边缘的关系,用于生成性能度量中的至少一个的惩罚或代价,性能度量包括车道中的车身度量,或车身延伸超过所绘制的允许面积度量;
20.图8a描绘了硬件平台的示例;
21.图8b是自主车辆操作的示例方法的流程图;
22.图8c是用于生成可用于自主车辆导航的最优路径库的示例方法的流程图;
23.图8d是用于生成可用于自主车辆导航的最优路径库的另一示例方法的流程图;
24.图9示出了一个示例车辆生态系统的框图,其中可以执行自主驾驶操作;
25.图10示出了用于自主车辆的软件控制操作的示例性流程图;以及
26.图11示出了用于操作自主车辆的计算机系统的示例性框图。
具体实施方式
27.在本文件中使用节标题仅是为了易于理解,并且不将实施例的范围限制在其中描述它们的节中。
28.本发明公开了一种两级路径规划技术和装置,用于通过预先绘制的驾驶空间为自主车辆找到最优驾驶路径,其中当由自主车辆驾驶时,驾驶条件可能变化。由于车辆的尺寸、牵引车的大转弯半径、铰接式车辆(如牵引车牵引挂车)的转向复杂性、必须检查以防止碰撞的车辆周围的各个位置、利用道路空间的特殊策略等等,为牵引式挂车寻找最优路径具有挑战性。确定车辆的驾驶轨迹或路径,特别是需要宽转弯并且特别是在停车或停靠情况下的牵引式挂车,对于车载计算机来说可能是计算上昂贵的。可以针对绘制的位置预先确定驾驶轨迹,然后根据需要基于驾驶时遇到的实时条件进行调整。实时条件可包括与预加载地图或直到在驾驶时遇到才知道的车辆配置不同的驾驶条件,例如道路结构、危险、移动障碍物、挂车差异和/或由可能不能直接用于安全考虑的离线方法生成的驾驶轨迹。
29.所公开的两级最优路径规划包括第一级离线最优路径库生成器和在线路径读取器,以及从第一级结果开始路径搜索的第二级在线最优路径规划器。第一级离线最优路径库生成路径的压缩最优集合,该路径的压缩最优集合在预绘制区域(例如停车场、狭窄街道、货运枢纽等)中对于任何可行的车辆状态都是穷尽的。在线路径读取器根据车辆的实时状态检索和扩展驾驶路径。例如,参见下面标题为“optimal path library for local path planning of an autonomous vehicle”的部分。第一级最优路径库的结果对于离线平均道路和车辆状况是最优的,尽管可能不适合驾驶时的实际道路或车辆状况。然而,在任一情况下,第一级最优路径库作为第二级最优路径在线生成器的搜索空间的一个接近的初始猜测。第二级最优路径生成器进一步针对实时道路和车辆条件优化路径,以及由于自第一级最优路径离线确定以来已经改变的交通和环境条件而进行改变。所公开的两级路径规划技术实现了比单个路径规划器所能实现的更快的计算速度、更高的鲁棒性和更好的路径质量。
30.公开了一种用于诸如牵引式挂车卡车的自主驾驶车辆的两级最优路径规划过程,包括离线规划、用于使规划的路径适应驾驶环境的变化的在线规划。如本文所使用的,离线处理是使用不位于自主驾驶车辆处的计算资源执行的处理,而在线处理是可以由自主驾驶
车辆处的计算资源执行的处理。所公开的技术包括使用离线生成的穷尽最优路径库的第一级路径生成器,以及使用在线车辆路径规划过程的第二级路径生成器,该在线车辆路径规划过程更新来自库的第一级最优路径以适应自最优路径库生成以来环境或车辆中的变化。所公开的技术包括用于牵引式挂车转向几何形状的在线估计器、可包括传感器的感知系统和用于检测和定位潜在干扰对象的计算机系统。通过使用存储在车辆处的离线最优路径库作为基线最优路径,即使在最小的在线资源可用的情况下,所公开的技术也确保了牵引式挂车处的路径规划功能,该基线最优路径可不需要额外的处理。当需要在线计算资源且可用时,可以根据感知系统确定的环境和车辆条件来更新来自所存储路径库的基线第一级路径。第一级路径对于生成库时的条件是最优的。第二级路径规划器根据环境和卡车几何形状的变化对第一级路径进行细化。环境条件可包括当牵引式挂车计划驾驶路径时存在或不存在的车辆交通、道路变化、障碍物变化和/或诸如雨、雪或冰的与天气相关的变化。
31.所公开的最优路径规划技术使用:存储的第一级最优路径库,包含通过驾驶空间的最优路径;定位系统,提供车辆的位置/定位和定向(在此也称为航向角);感知系统,实时识别驾驶空间中的对象(对象可以是新的或从用作最优路径库的映射(mapping)的地图改变的);牵引式挂车车辆移动性估计器,考虑由挂车差异引起的转向几何形状变化;牵引车转向速率估计器,考虑表面摩擦和车辆载荷变化;以及间隙估计器,考虑牵引式挂车的地面间隙和顶部间隙。
32.在接收到对最优路径规划的请求时,路径规划器使用上述第一级和第二级。在第一级,最优路径规划器接收车辆在预绘制的驾驶空间中的位置和方位。最优路径规划器从最优路径库中读取初始最优驾驶路径。第一级最优地图以允许超快速读取第一级最优路径的压缩格式存储最优路径库。最优路径库是之前针对道路拓扑和预绘制区域中的静态障碍物离线计算的。由最优路径库生成的第一级最优路径使用对包括请求中牵引式挂车的位置和方位在内的所有可能初始条件的穷尽式离线搜索结果来生成第一级最优路径。在最优路径规划的第二级,路径规划器从车辆几何估计器接收感知系统识别的地图上可能存在或可能不存在的物体,以及牵引车牵引座(fifth

wheel)位置和挂车轴距长度信息。基于第二级规划,对从第一级最优路径改变的候选路径估计一组代价函数。来自第一级规划器的最优路径被用作由第二级规划器修改的起始路径,以导致更快地收敛到最终最优路径。第二级规划可进一步优化第一级规划的结果以避免碰撞、最小化转向力或转向角、优化平顺性、防止弯折(jackknife)的可能性以及其它预定义的性能因素优化。最终最优路径将通过提供车辆转向和纵向参考速度输入来引导车辆通过空间。
33.与其它在线路径规划系统相比(在其它在线路径规划系统中,路径被离线预记录,这可能导致由于包括车辆以及环境状态的车辆瞬时状态的变化而与车辆实际需要走的路径相差甚远),本文公开的两级最优路径规划过程使用基于车辆的位置和方位状态的最优路径库中的路径初始化,位置和方位状态为最终路径提供高质量的起点,最终路径仅需要由于环境变化而进行修改,因为空间被绘制和最优路径库被确定了。
34.仅使用较早的预记录离线路径的问题包括:1)预记录路径不是从车辆的当前位置和方位开始;和2)预记录的路径可能不适合,因为它没有考虑到由于包括交通的新的或改变的对象引起的变化。相比较而言,本文公开的第一级最优路径规划器提供从所绘制的范围内的任何初始状态开始的最优路径的穷举搜索,具有可在第二级在线路径规划器中对准
的可定制的优化准则。第一级最优路径规划器提供比常规方法更接近最终最优路径的初始路径。
35.第一级最优路径库的初始路径的优点包括:1)由于至少部分地第一级穷举路径库和数据压缩,以及从车载数据库读取第一级最优路径仅需几毫秒,所以更快的总体最终路径规划速度。从库中读取第一级最优路径的好处是总计算时间减少了第二级在线路径优化不必执行的迭代次数,因为第一级路径接近最终的第二级最优路径。2)路径规划器具有较好的收敛鲁棒性。数学上,由于搜索空间形状的复杂性,整体优化问题可能是高度非线性和非凸的,导致局部收敛性差和/或次优路径的可能性。然而,第一级最优路径库中的路径结果在数学上可以证明是全局最优的,而不考虑问题的凸性(convexity)。利用来自第一级最优路径库的初始路径,在线求解器开始从正确区域搜索最优路径,集中于处理仅相对于范数的条件方差。使用所公开的两级技术,由于较差的初始猜测而导致的较差的局部收敛的问题发生的可能性要小得多。
36.使用离线第一级最优路径库的另一个优点是功能安全。由于第二级路径生成器(在接近驾驶时间时在线计算)使用了一个计算强度很大的非线性规划求解器,因此第二级的成功依赖于足够可靠的计算资源的可用性。如果由于任何原因,车辆的计算资源不能支持在线求解器的需求,则来自离线第一级最优路径库的路径仍可用于在空间中导航车辆。第一级路径生成适应于车辆位置和方位,并且从库中读取第一级最优路径只需要在自主车辆处可用的少量计算资源。当没有足够的计算资源可用于执行第二级最优路径规划时,尽管包括对意外障碍物和车辆几何形状变化的适应的功能可能是次优的或丢失的,但是所公开的系统仍然提供引导车辆通过具有最佳成功可能性的区域的轨迹。
37.与仅不包括在线第二级路径生成的离线路径规划相比,所公开的在线路径规划的优点包括:1)自第一级最优路径库生成以来,系统能够处理意外的道路条件变化,包括新的/改变的障碍物、道路建设和/或路面变化;2)系统将规划的路径优化到牵引式挂车卡车转向几何形状,其中牵引座和挂车轴位置由货物重量调整,并提供精确的碰撞避免和转向努力优化。
38.所公开的路径规划技术提供的另一优点是空域和时域问题的解耦。该技术首先针对地图上标注的静态障碍物在空域中规划路径。然后,该技术在时域中进行规划,包括车辆相对于感知系统识别的移动障碍物的速度和相对于由于转弯而引起的牵引式挂车的横向动态极限的速度。该解耦降低了在线优化的复杂度,从而减少了计算时间和内存使用,同时与传统的耦合的空域和时域规划结果相比保持了高质量的路径。将速度依赖与路径规划解耦,从而使问题更容易、更清晰地解决。解耦将计算复杂度从o((m+n)^2)降低到o(m^2)+o(n^2)问题。在本设计中,解耦还将部分计算负载从在线转换到离线。解耦产生与直接规划的速度相同的结果,直到车辆轮胎滑动。此外,解耦后的规划更便于开发人员理解求解器的决策,这提高了算法维护的简易性。
39.图1a描绘了根据一些示例性实施例的两级路径规划系统100。离线最优路径库生成器110基于诸如停车场的特定区域的地图生成最优路径库,该地图包括在该区域中以网格模式获取的数据点。数据点可以包括表示区域的数据,诸如尺寸、坡度、障碍物、指定的行驶区域或车道、指定的停车区域、表面中的不连续性等等。这些数据可以由诸如相机、激光雷达传感器、超声波传感器等传感器捕获。离线最优路径库110使用地图/数据112和车辆特
性114作为输入,车辆特性114可包括诸如转弯半径、车辆高度、离地间隙、挂车尺寸等信息。
40.第一级最优路径生成器120从最优路径库124读取最优路径,输入包括期望的结束位置和车辆状态122,车辆状态122包括牵引车和挂车的位置和方位。
41.第二级最优路径生成器130从第一级最优路径开始,并基于感知系统132对与第一级路径相关的附加或改变的障碍物的检测和/或附加车辆参数134,更新或改变第一级最优路径,附加车辆参数134例如与由于挂车所承载的载荷引起的挂接或挂车后轮调整相关的参数、由于载荷或表面摩擦变化引起的最大牵引车前轮转向速率变化以及车辆状态122。除了空间路径之外,第二级最优路径生成器还确定各种车辆输入的定时,例如转向输入和参考车辆纵向速度,以使牵引式挂车遵循路径。
42.在140处,将第二级最优路径结果提供给专用车辆动态控制器140,该专用车辆动态控制器140导致转向、节气门和制动发生。最优路径生成器能够将相机检测到的车辆障碍物/构造物作为约束条件,并且根据牵引式挂车几何形状调整第一级最优路径。生成的最优路径可以保证在不发生冲突的情况下达到期望的状态。该计算需要车载计算设备,并且可能在计算上很困难,因为可能需要非线性求解器来求解路径生成问题。
43.第二级路径规划器利用凸集的组合来近似已识别的对象,为路径优化求解器制定状态约束。这些约束被用于通过给定的牵引车车辆转向输入序列来调节牵引式挂车车辆车身位置的未来预测,牵引车车辆转向输入是由非线性规划优化求解器优化的变量。将一组性能准则赋予牵引车车辆转向输入序列和牵引式挂车未来车身状态的投影,并将加权组合被用作在线优化问题的代价函数。该优化求解器基于总性能代价变化迭代牵引车车辆转向输入序列的变化。对转向输入序列的初始猜测越好,执行迭代所需的计算时间就越少,并且求解器在总性能代价的坏的局部最小值处终止的可能性就越小。
44.图1b描绘了根据一些示例性实施例的用于确定第二级路径的非线性优化过程的输入和输出的示例。输入包括期望的最终状态152,最终状态152可以包括车辆的最终状态,最终状态包括例如车辆位置、牵引车和挂车的方位等、初始状态156、初始条件154、运动学158(包括例如用于确定车辆对输入的响应的模型)、输入和状态约束160以及障碍物约束162。非线性优化器产生以代价164来估计的解的迭代。代价164可以包括对连续迭代之间的错误代价的估计。可以基于迭代之后的状态与期望的最终状态的比较来为每次迭代生成代价,以生成最终状态误差。可基于连续迭代之间的间隙或差异来生成另一代价。代价可根据由牵引车车辆位置坐标、牵引车车辆航向角(方位)、牵引式挂车铰接角和与每个所识别的障碍物碰撞的距离的双重惩罚变量所定义的决策变量的空间序列的估计而被确定。
45.图2描绘了示出根据一些示例性实施例的解耦空域规划和时域规划的图示。在210处示出的是沿着牵引式挂车从多车道道路213右转到窄的单车道道路217的特定道路场景的路径218的空间路径规划的示例。对于关于静态障碍物的空间规划,使用固定的距离步长。也就是说,沿着路径218的每个计划点212之间的距离等于其他点212之间的距离。以这种方式,在搜索时,车辆纵向速度从每个步进元素处的决策变量中去除。
46.在230处示出的是沿着牵引式挂车从多车道道路213右转到窄的单车道道路217的特定道路场景的路径218的时域速度规划的示例。对于关于移动障碍物的时域规划,使用固定的时间步长。也就是说,沿着路径218的每个计划点232之间的时间等于其他点232之间的时间。在该过程中,决策变量的一个维度是从空域规划的前一阶段确定的沿固定车辆路径
的车辆纵向速度。
47.如上所述,路径规划问题被分离为空域问题和时域问题。
48.在240处示出了示出作为时间的函数的干扰自主牵引式挂车215的车辆216的预测速度245的曲线图的示例。该曲线图对应于当车辆216接近道路213和217的交叉路口时的预测速度。如图所示,自主驾驶系统执行车辆216的速度的预测。该预测显示,车辆216在接近交叉路口时可能会稍微减速,然后加速到其原始速度附近。在240处示出的曲线图是说明性示例,对于不同的交通和道路环境,可以预测速度变化的其它水平。
49.在250处示出的是示出在相邻车道中具有干扰车辆216的自主车辆215的计划速度255的曲线图的示例。自主车辆215必须执行碰撞避免以防止碰撞。该曲线图对应于自主车辆216在其接近、准备和执行从道路213到道路217的转弯时的规划速度。自主驾驶系统确定可能需要在时域规划中进行计算的规划速度,如255所示,以避免与车辆216的碰撞。当自主车辆215如在255处所示接近交叉路口时,自主车辆215将显著地更多地减速,然后在其转弯后加速到其原始速度附近。在250处示出的曲线图是说明性示例,可以针对不同的交通和道路环境规划其它级别的速度变化。
50.图3描绘了根据一些示例性实施例的过程。在310处,该过程包括从定位系统接收自主驾驶车辆的当前位置和当前方位。在320处,该过程包括从路径库接收自主驾驶车辆从当前位置到目的地位置的路径。在330处,该过程包括从感知系统接收对象信息,该对象信息包括关于沿着路径的一个或多个对象的位置和大小信息。在340处,该过程包括响应于对象信息调整从路径库接收的路径,以使得自主驾驶车辆通过采用经调整路径来避开一个或多个对象。在350处,该过程包括重复调整路径直到满足预定条件,以获得最优路径。
51.自主车辆的局部路径规划的最优路径库
52.下面详细介绍离线第一级最优路径库生成器。第一级最优路径库生成器包括有限地理空间中牵引式挂车的路径规划。在第一部分中,使用离线过程来生成可存储在自主车辆处的预绘制驾驶区域的最优驾驶路径的紧凑库。在第二部分中,可以在线读取最优路径库,以生成特定于实时更新的车辆位置和方位的车辆驾驶路径轨迹。
53.在一些示例性实施例中,所公开的主题可用于引导牵引式挂车车辆通过对于给定车辆的尺寸和几何形状操纵车辆具有挑战性的地理空间。例如,具有挑战性的空间包括狭窄的街道、停车区、停靠区、急转弯的十字路口,等等。有些情况也被称为牵引式挂车卡车的“局部宽转弯”。
54.在上述情况下,牵引车的路径规划具有挑战性,因为牵引车是铰接的,这使得路径规划呈现出高阶性和高非线性。现实城市驾驶的复杂形状使得搜索空间高度非凸。所公开的主题将优化搜索问题从自主车辆转移到离线服务器,该离线服务器向车辆的在线计算机提供紧凑的搜索结果。全局最优穷举搜索是可能的,这是由于使用离线计算资源,离线计算资源可能比可用的在线计算资源更强大,并且可以在更大的时间预算上工作。
55.一些实施例使用将驾驶或位置空间离散成由沿驾驶地图上的沿着参考驾驶线的横向和纵向位置节点定义的网格节点图的解决方案。该解决方案进一步将每个网格节点的定向空间离散为定义驾驶轨迹的航向角分辨率的网格仓阵列。网格节点在搜索开始之前定义一个确定性位置坐标集,并且网格仓定义用于一系列方位角的存储空间,在搜索进行时,将动态地确定该方位角的特定值。位置网格节点图和方向网格仓图一起可被称为状态空间
网格图。每个状态向量由包括车辆x坐标值、车辆位置y坐标值和车辆航向角值的车辆位置的三个元素定义。
56.一些实施例执行针对预定义的和离散化的驾驶空间的最优车辆驾驶轨迹的离线穷举搜索。搜索包括状态空间网格地图中所有可行的车辆位置和方位组合集。从自主车辆离线执行搜索,并且可以预先估计离散化状态空间中的每个可能的驾驶状态情况,以准备自主驾驶路径。计算存储器管理使用bellman的最优性原则,通过从期望的终端状态(位置和方向)向后执行搜索,并且只保持累积最优解。因此,总的存储器使用是有限的并且在规模上是合理的。所需的终端状态定义地图区域的可搜索空间的一个余量。
57.搜索过程沿着地图空间的参考驾驶方向估计两层上每两对状态空间网格节点之间的驾驶轨迹连接,以确定导致全局最优完整轨迹的最优驾驶步骤动作。估计首先根据车辆运动学模型在两个网格节点之间构造一个轨迹弧,然后根据存储在下层网格节点的估计网格仓中的最优轨迹的轨迹航向角进行跟踪。随着搜索的进行,动态地确定存储在上层网格节点的网格仓中的轨迹航向角值。可以赋值与车辆运动学相关的动作和状态代价来估计运动平滑度和参考驾驶轨迹跟踪精度性能。
58.每一步骤的搜索估计进一步通过将由自行车模型在每两个可行网格节点之间定义的车辆运动轨迹扩展为考虑牵引车运动状态的牵引式挂车车辆特有的轨迹,以及扩展为可以与在受限空间中驾驶时的运动控制相关的车身拐角和车辆轮胎的轨迹来进行。可以分配与车辆详细位置信息相关的动作和状态代价,以估计驾驶空间使用和碰撞避免性能。
59.在分配到一层网格节点的所有轨迹连接的代价后,该方法只保留到每一个可达的网格节点和网格仓对的最优轨迹连接,如果违反某些准则,则停用网格节点和网格仓对以进行下一层的搜索估计。然后将相关两层网格节点的最优轨迹连接的链接信息保存起来,建立最优路径库。
60.搜索过程可以重复前述的估计驾驶轨迹连接、扩展车辆运动轨迹、以及对于每个未估计的网格节点层仅保持到每个可到达的网格节点对的最优轨迹连接,直到到达地图上的感兴趣区域的与地图区域的可搜索空间的前述余量相对应的另一余量。
61.当在线使用最优路径库时,在自主车辆接近一个绘制的转弯区域时,该方法利用从定位方法报告的车辆当前x、y坐标,在最优路径库的离散化状态空间上找到最近的网格节点,然后利用偏航角测量设备报告的车辆当前航向角值找到最近位置网格节点的最近方位网格仓。然后,可以自主地检索和扩展最优轨迹链接信息。
62.最优轨迹联动信息表示下一层的最优连接网格节点和网格仓,以及由车辆运动学定义的连接之间的路径紧凑解析解,重构物理空间中的连续车辆驾驶轨迹。
63.当每一对网格节点和网格仓被分配了到下一层的最优轨迹链接信息时,整个最优驾驶轨迹从指示车辆当前位置和方位的初始对开始连续和自主地扩展,在由网格节点和网格仓的末端对表示的转弯区域的地图上导致期望的终端驾驶状态。
64.前面所述的寻找最近位置网格节点的最近方向网格仓、层之间的链接和物理路径扩展以及整个轨迹的扩展是超快的和计算量轻的,因为节点最优连接信息已经被离线预定义,而在线过程只需要逐个链路检索这样的信息。不需要进行递归计算来充分扩展轨迹,因此计算时间和存储器使用量可以预先精确地预测。
65.随着车辆向前驾驶,过程包括寻找最近位置网格节点的最近方位网格仓、图层之
间的链接和物理路径扩展,整个轨迹的扩展不断重复。最优的驾驶轨迹被不断地更新以适应在现实世界中发生的轨迹跟踪误差。该过程针对车辆的实时轨迹跟踪驾驶状态制定闭环反馈,增强了系统对干扰和系统性能不完善的鲁棒性。
66.公开了一种用于生成最优路径的紧凑库的技术,最优路径可以存储在自主车辆处并从一个位置取到另一个位置。例如,紧凑库可以包括自主牵引式挂车车辆通过停车场的最优路径,其考虑到牵引式挂车所采取的宽转弯。路径是最优的,因为该路径避免了与固定物体的碰撞、路径最小化转向改变、防止牵引式挂车的弯折,并且确保所采取的路径是平滑的。该路径在遵循车道语义标签所呈现的交通规则的同时,在平衡乘客舒适性和车辆转向力方面达到了最优。通过使用自主车辆的车载计算资源在线读取库以从车辆的瞬时状态获得最优路径,但是最优路径库可以使用其他计算资源而不使用自主车辆的计算资源离线生成。
67.给定地图可以对应于诸如停车场、狭窄街道或其他固定区域的选定区域。在给定地图上,机外计算机在搜索空间内执行最优驾驶轨迹搜索,生成候选轨迹,并估计候选轨迹。所公开的技术使用穷举搜索和数据压缩算法来将2d地图空间处理成地图空间中所有可能的最优驾驶轨迹的集合,并且将所有可能的驾驶轨迹压缩成紧凑的最优路径库,该最优路径库小到足以存储在自主车辆的车载存储器中。最优路径库是离线的,因为它不使用车辆处的计算资源,并且不依赖与远离车辆的另一个系统(例如服务器)的通信。该系统可以包括定位系统,用于提供实时车辆位置,实时车辆位置用于在线读取最优路径库。该系统还可以包括用于存储最优路径库的存储器空间,以及包括数据库读取器的计算机,数据库读取器使用数字密钥将路径的紧凑表示扩展为实际路径。所公开的技术将复杂的牵引式挂车车辆路径规划任务从在线转移到离线。
68.所公开的技术可由牵引式挂车卡车上的自主驾驶系统使用,以使用预生成的离线最优路径库生成通过预绘制空间的最优驾驶路径。空间可以包括对牵引车转弯具有挑战性的区域,例如转弯较紧的区域、停车场、停靠区、狭窄的街道,等等。
69.作为说明性示例,自主车辆可以从一个位置行驶到另一个遥远位置。起始位置可以是预先绘制好的停车场。自主驾驶系统可以从路径库系统请求通过停车场的驾驶路径。请求可包括车辆位置和方位信息,使得最优路径将考虑牵引车和挂车的方位和位置。响应于该请求,从存储在自主车辆上的预先生成和压缩的最优路径库中读取最优驾驶路径,然后以最小的计算量在绘制的物理空间中扩展为高保真路径数据。下面进一步描述扩展过程,并且使用数字密钥。从地图的最优路径库生成的驾驶路径将引导车辆沿着路径行驶,并包括固定物体的碰撞避免、最小的转向力、优化的平顺性、防弯折以及其他预定义的性能因素优化。由于牵引车倒车行驶的不稳定性和折线的倾向,使得必须倒车行驶的牵引车路径规划比较困难。所公开的主题防止了由于离线穷举搜索而造成的弯折。
70.所公开的技术提供的优点包括将自主车辆路径规划(其对于牵引式挂车车辆几何形状而言计算上是昂贵的)从耗费车辆车载计算机的在线计算转移到离线计算,在离线计算中可获得显著更大的计算资源,并且可获得更多的时间。这降低了自主驾驶汽车上计算机的硬件代价。离线路径生成还通过允许数学复杂性来提高路径规划代价函数的灵活性。使用在线路径规划的传统方法必须执行广泛的碰撞避免近似,以保持可解的数学复杂性。所公开的技术允许碰撞避免优化,碰撞避免优化包括准确的车辆位置,以及在乘客的心理
舒适(与物体的接近程度)、车道语义标签、交通规则、操作实践等之间的平衡,而在自主车辆上需要更少的计算资源。部分由于所公开的技术通过反向搜索技术的穷举搜索,所公开的离线路径库生成方法比传统方法有所改进。
71.图4描绘了根据一些示例性实施例的过程400。该过程通过估计所有可行路径连接来生成车辆通过所绘制区域的最优路径。最优路径生成过程可以在车辆的期望结束位置处开始并且在车辆的开始位置处结束。通过穷举搜索从结束位置到开始位置的路径,搜索将导致搜索空间内任何初始状态的全局最优路径。
72.在410处,绘制过程被提供了由i表示的下层位置网格节点和由j表示的航向角网格仓,以及由k表示的上层位置网格节点。上层位置网格节点在搜索方向上对应于沿着最优路径的后一个节点或在时间上对应于前一个节点的方向,下层位置网格节点在搜索方向上对应于沿着最优路径的前一个节点或在时间上对应于后一个节点的方向。与诸如节点i和k的每个节点相关联的是参数值,参数值包括描述车辆定位和位置的参数,包括x坐标、y坐标、航向角、铰接角、转向角、步进动作代价、步进累计代价、以及到相邻层节点的链接信息,参数值标识可达节点的索引范围和导致期望终端状态的最优连接的节点索引。
73.在420处,弧形求解器确定从位置(x0,y0)到车辆将在(x0,y0)之后行进的点(x
t
,y
t
,θ
t
)的具有恒定曲率的连续弧形路径。θ
t
表示牵引车在路径弧形终点处的方位,是路径弧形到达下层位置网格节点时的航向角。弧形求解器确定牵引车驾驶弧形路径的参数值,该参数值将导致牵引式挂车从(x0,y0)移动到点(x
t
,y
t
,θ
t
),其包括弧曲率κ、弧形长度l
arc
和牵引车的初始航向角θ0。
74.在430处,运动学求解器以反向时间求解沿弧形路径的牵引式挂车运动学状态,其包括牵引车航向角、牵引车后轴中心位置、牵引车转向角、挂车航向角、挂车后轴中心位置和挂车铰接角的连续轨迹。
75.在440处,车身坐标求解器确定牵引式挂车沿弧形路径的选定点的位置。例如,牵引式挂车上的选定点可以包括牵引车和挂车的车轮位置、用于避免与固定物体的碰撞的车厢车身拐角、用于验证与固定物体的高度间隙的牵引式挂车的高点的位置、以及用于验证与固定物体的离地间隙的牵引式挂车的低点的位置。
76.在450处,一个或多个代价或性能度量被应用于弧形路径。该度量可包括曲率度量、曲率变化度量、用于防止折线的铰接角度量、到车道中心的距离度量、航向角跟踪度量、车道中的车身度量和/或绘制的允许区域中的车身度量。下面描述一个示例,说明沿弧线行驶牵引式挂车可能会对上述度量的值产生何种影响。例如,曲率度量可生成更高(或更低)值,该值指示与曲率半径较小的弧形路径相比曲率半径较大的弧形路径的更期望路径。在另一示例中,曲率变化度量可生成更高(或更低)值,该值指示与曲率半径变化率较大的弧形路径相比具有较小的转弯曲率半径变化率的弧形路径的更理想路径。在另一示例中,铰接度量可生成更高(或更低)值,该值指示与牵引车和挂车之间的最大角度较大的弧形路径相比,其中牵引车和挂车之间的最大角度较小(更接近牵引车和挂车之间的直线对齐)的弧形路径更希望的路径,特别是当该角度接近可能导致折线的角度时。在另一示例中,到车道中心的距离度量可以生成更高(或更低)的值,该值指示对于保持接近行驶车道中心线的弧形路径的更期望路径。在另一示例中,航向角跟踪度量可生成更高(或更低)值,更高(或更低)值指示对于弧形路径的更理想路径,在弧形路径上车辆的行驶航向角保持接近行驶车
道中心的航向角。在另一示例中,车道中的车身度量可生成指示对于弧形路径的更理想路径的更高(或更低)值,车辆的车身在行驶时尽可能地停留在车道区域内。在另一示例中,所绘制的允许区域度量中的车身可以生成更高(或更低)的值,该值指示对于弧形路径的更期望的路径,弧形路径使得牵引式挂车车身尽可能地停留在所绘制的允许区域内。
77.可以使用“多边形中的点”检查来生成车身移动出所绘制的允许区域的惩罚。为了减少最优路径库离线搜索过程中的计算时间,只评估车辆中心(定义为牵引车后桥中心)半径内的地图边缘点。此外,仅在车辆左侧的地图边缘点处检查车辆左侧的兴趣点(右侧也是如此),该过程针对牵引车和挂车分别进行。如果地图边缘点在车辆定义的多边形内,则根据车辆上的估计点到最近的两个地图边缘点绘制的地图边缘线的距离产生惩罚。如果被估计的点在轮胎上,那么进一步增加一个罚跳。由于车辆形状的多边形是凸的,因此可以通过确定该点是否总是在由车厢定义的矢量圆的同一侧来进行内部检查。使用下式,如果点i相对于四个边缘向量生成的惩罚a
i,j
都具有相同的符号,则地图边缘点在车身多边形内,相应的惩罚生成:
78.a
i,j
=(y
i

y
0,j
)(x
t,j

x
0,j
)

(x
i

x
0,j
)(y
t,j

y
0,j
)
ꢀꢀ
等式1。
79.在等式1中,(x
i
,y
i
)表示地图上的点的坐标,j是与车辆边缘向量(典型地,四个边缘为4)相对应的变量,(x
0,j
,y
0,j
)和(x
t,j
,y
t,j
)表示车辆的起始位置和时间t处的车辆位置。在460处,可以通过将度量的值相加在一起,或者将度量加权得比其他更重以使得某些度量与其他度量相比对总体性能度量具有更大的影响,来确定特定弧路径的总体性能。
80.在470处,可以根据度量值基于整体性能对弧形路径执行估计。任何度量都可以具有可接受值的范围。如果度量值位于范围之外,则可以避免或不选择弧形。
81.所公开的用于离线路径库生成的方法在数学上可证明为给定一组性能度量(也称为代价度量)的全局最优路径。寻找最优路径的方法包括从期望的终端状态点开始,搜索牵引式挂车可以采取的所有可能的动作并估计性能/代价度量。从搜索起始位置(也是终端状态位置)开始,存在路径族,其中每个路径的部分可以由节点表示。每个节点对应于包括x坐标、y坐标和航向角的参数值族。节点一起可以被称为状态空间,并且每个节点被称为状态空间节点。地图区域的每个状态空间节点将先前选择的决策链接到包括累积的历史动作度量值和代价的节点。由于最优性原理,生成的最优路径库在离线搜索过程中,对给定的车辆位置和方位状态在地图中找到全局最优路径和动作,并保持有限的计算内存和时间使用。
82.所公开的离线路径库生成方法可以穷举到所绘制的范围内的任何给定的离散化车辆位置和方位,并且源自车辆起始状态的所有路径都收敛到用于所绘制的区域的一个最优路径。该特性鲁棒地处理所定义的地图区域中的所有潜在的自主驾驶状态,并且所选路径促进了自主车辆对稳定性收敛性能的的运动控制。公共收敛迹线的特性为车辆路径和运动规划提供了可预测性优势,有助于自主驾驶的安全保护。为了在保证路径平滑的同时获得对车辆航向角状态的穷举搜索结果,所公开的方法开发了动态解析技术,该动态解析技术基于在每个位置状态实例处的最优解局部进展动态生成航向角解析网格值。
83.为了将穷举最优路径库压缩到较少的存储器中,最优路径以跨越路径状态的弧形段的解析解形式存储。每个弧片对应从一个路径状态到另一个路径状态的弧。最优路径的枚举由高维的长数值向量通过解析弧形解和节点链接信息压缩为引导的低维紧凑向量库。对于任意离散空间分辨率要求(固定或可变),使用路径库读取秘钥,可以提取给定起始位
置和方位的到端点的最优路径,并将最优路径扩展为笛卡尔空间中的路径阵列。最优路径的查找是超快的(根据总路径长度大约5毫秒),并且使用最小的在线计算资源(仅为n阶,表示为o(n),级存储器,相比之下,在线路径规划器至少需要o(n2)级存储器)。所公开的技术将自主牵引式挂车车辆路径规划的繁重计算负荷从在线过程转移到离线过程。对于在线过程,所需要的只是车辆车载计算机读取最优路径。
84.图5a描绘了在510处始发于自主车辆的结束位置的弧形路径族的图示。在512处示出的是用于自主车辆的结束位置的示例,其也是用于搜索最优路径的起始位置,最优路径导致在相反方向上的状态空间上的所有节点的指定结束位置。从结束位置512扇出的是一系列可能的弧(或路径)段。每个弧段开始于一个节点,结束于另一个节点。对弧形段进行修剪,以去除基于车辆(如牵引式挂车)的限制而无法到达的节点。在510处示出的弧段是在从起始位置选择最优路径之前在512处起始的所有可能的弧段。
85.图5b描绘了在550处具有仓和节点的网格地图中的位置或点的图示。在550处示出了具有相关联的仓和节点的网格点的示例。区域的地图可以由网格地图覆盖,该网格地图包含规则间隔的网格节点,包括网格节点552。每个节点包括网格仓,例如网格仓554。网格节点之间的间距由预定义的分辨率确定。例如,对于给定的地图,较高分辨率的网格地图比具有较低分辨率网格地图的网格地图包括更多的总网格节点。每个网格仓包含车辆从相应网格节点行进的最可行的航向角。对应于较早驾驶位置(和较晚搜索位置)的较高层网格仓(例如网格仓554)进行估计,以基于存储在下一个较低网格仓(例如网格仓556)中的单个航向角来确定可能的路径。
86.图6描绘了根据一些示例性实施例的用于确定最优路径的过程600。在610处,确定车辆/牵引式挂车位置和航向。在620处,牵引式挂车的位置被匹配到所绘制区域中最近的网格节点并被包括在路径库中。在630处,选择具有最接近车辆航向的航向角的仓。在640处,基于匹配的网格节点和选择的车辆航向来读取最优父层节点、仓、弧曲率和弧长。弧曲率可以表示为沿着两个网格节点之间的弯曲路径所需的恒定转向半径的逆,而弧长是沿着弧曲率在相应网格节点之间的弯曲路径的长度。父节点是离端点更远的下一个节点。在650处,父节点位置、弧曲率和弧长被转换为转向命令以发送到自主转向控制器。在660处,如果到达期望的终端位置,则过程停止。如果未到达所需的终端位置,则过程返回到步骤640并重复直到到达所需的终端点。在670处,已读取最优路径。
87.最优路径库的大小影响在线存储器的使用,因为在线地图存储在车辆上。最优地图尺寸m可以通过使用下式来估计:
[0088][0089]
其中
[0090]
w
sp
是离线路径搜索区域的宽度。两车道宽度的搜索路径实际上相当于允许车身占用三车道,因为搜索兴趣点位于车辆纵向中心线。考虑到典型车道宽度为3.7m,搜索路径宽度可估计为7.4m。
[0091]
dw是横向距离分辨率。dw=0.1m已被确定为足够的分辨率精度。
[0092]
dθ是航向角分辨率。dθ=1度已被确定为足够的分辨率精度。
[0093]
l
sp
是离线路径搜索区域沿参考驾驶线的总纵向距离。
[0094]
dl是两个横向搜索层之间的纵向距离分辨率。dl=3m已被确定为足够的分辨率精度,即使是对于经验丰富的人类驾驶员来说极具挑战性的局部转弯。
[0095]
n
u
是每个搜索步骤中最优路径地图中变量的个数,变量包括处理后的网格节点和仓的(1)航向角值,(2)弧连接到父层节点的路径曲率,(3)弧连接到父层节点的路径弧长,(4)路径网格图的父层横向位置网格节点索引,(5)路径网格图的父层航向角仓索引。
[0096]
b是存储每个变量所需的位数。最优路径地图包含3个变量的单精度浮点数据,和2个变量的整数数据。因此,总数n
u
*b为3*4+2*2=16字节。
[0097]
1公里路径的动态规划最优地图大小的一个示例估计约为142兆字节(mb)内存。然而,并不是最优路径网格图中的所有元素都被信息占据,可以应用更聪明的技术使尺寸更小。例如,航向角搜索范围有用的部分比360度要小得多,每一个搜索步骤的可达范围就更小了。作为参考,matlab存储的等效图只占用28mb内存。此外,动态规划路径规划方法只需要应用于具有挑战性的宽转弯。当长直车道驶出时,车辆路径不需要这样细化。因此,“紧凑的1公里路径”作为示例,包含了一条长得多的路线的宽转弯路径信息。
[0098]
图7描绘了牵引车710和挂车720的示例。在724处是挂车后部遵循的示例路径。在712处是牵引车前部遵循的示例路径。所公开的主题确定围绕图7所示曲线(或任何其它曲线)的最优路径。
[0099]
图8a描绘了硬件平台800的示例,其可用于实现在本文献中描述的一些技术、过程和/或功能。例如,硬件平台800可实现上述过程150、300、400、510、550、600、820、830、840或其它过程,和/或可实现本文所述的各种模块。硬件平台800可以包括处理器802,处理器802可以执行代码以实现方法。硬件平台800可包括存储器804,其可用于存储处理器可执行代码和/或存储数据。硬件平台800还可以包括通信接口806。例如,通信接口806可以实现一个或多个有线或无线通信协议(以太网、lte、wi

fi、蓝牙等)。硬件平台800可用于实现本文描述的离线服务器或在线服务器。
[0100]
图8b是用于导航自主车辆的方法820的流程图。该方法包括,在822处,由在线服务器确定包括自主车辆的当前位置和/或当前航向角的当前驾驶信息。在线服务器例如位于自主车辆上。
[0101]
方法820包括在824处,使用当前驾驶信息来基于来自预存储的路径库的路径,来确定用于将自主车辆导航到下一位置的最优路径。在一些实现中,预存储的路径库可以是基于离线路径库生成过程计算的可能路径的数据库。在一些实施例中,预存储的路径库可以以压缩格式存储,使得在线服务器执行用于接收可能路径的数据扩展。
[0102]
方法820包括在826处,基于最优路径将自主车辆导航到下一位置。例如,当前位置和下一位置可以是沿着自主车辆正在其中操作的区域的离散化网格地图的网格节点,如下文所述。
[0103]
方法820还可以包括:基于自主车辆在预存储路径库中的网格地图上的当前航向角,确定匹配当前位置的网格节点和与该网格节点相关联的网格仓;基于网格节点和网格仓,从预存储路径库检索至与下一位置和下一网格仓相对应的下一网格节点的可能路径;以及基于可能路径之一,生成导航自主车辆的转向命令。在一些实施例中,网格可以在自主车辆正在导航通过的整个区域上是均匀的。可选地,在一些实施例中,网格密度(例如网格节点的放置)可以是非均匀的。例如,在拐角附近,网格节点可以彼此放置得更近,而在开放
区域中,网格节点可以放置得更远。与均匀网格化相比,非均匀网格化能够提供围绕诸如拐角的关键区域的更精确的机动,同时保持在与均匀网格大致相同的区域中的总体计算复杂度,甚至降低。
[0104]
方法820还可以包括在线服务器迭代地生成多个转向命令以基于从预存储的路径库检索的多个最优路径在多个当前位置和多个下一个位置之间导航自主车辆,使得前一次迭代的下一个位置被用作下一次迭代的当前位置,直到自主车辆满足结束标准。转向命令可以包括,例如,车辆前轮转向角度命令、或车辆转向手轮角度命令、或以车辆纵轮速度到转向致动器的转向扭矩命令。转向命令还可包括当车辆超过或低于到下一位置的最优路径中的曲线角度时激活或停用转向信号。
[0105]
图8c示出了用于生成用于自主车辆操作的最优路径库的示例方法830的流程图。方法830可以由离线服务器实现。
[0106]
方法830包括在832处,由离线服务器将位置空间离散化为网格节点地图,网格节点地图由沿驾驶地图上的参考驾驶线的横向和纵向位置节点定义。如上所述,在一些实施例中,可以使用均匀网格来执行离散化。可选地,在一些实施例中可以使用非均匀网格。
[0107]
方法830包括在834处,由离线服务器将网格节点地图中的每个网格节点的定向空间离散化为网格仓阵列,网格仓阵列定义驾驶轨迹的航向角分辨率。类似于均匀与非均匀网格化选项的不同策略,航向角分辨率也可以基于地图特征被均匀离散化或非均匀离散化。例如,均匀离散化可以是基于地理分辨率的直接网格化策略(例如,在1米
×
1米网格仓中划分地图区域)。可选地,角离散化可以考虑某些地图特征,例如,角、沿着路径要避免的对象,例如广告牌或灯杆,使得在存在这种地图特征的区域中使用较细的航向角分辨率,而在开放区域中可使用较粗的航向角分辨率。
[0108]
方法830包括在836处,由离线服务器执行针对离散化位置空间的最优车辆驾驶轨迹的穷举搜索,其中穷举搜索包括车辆状态向量,其中穷举搜索包括估计每两对状态空间和沿驾驶空间中的参考行驶方向的两层上的网格节点之间的驾驶轨迹连接,以确定导致全局最优完整轨迹的最优行驶动作。
[0109]
例如,离线服务器可以通过以下方式执行估计操作:通过从存储在下层网格节点的估计网格仓中的最优轨迹的轨迹航向角进行跟踪,在遵循车辆运动学模型的两个网格节点之间构造轨迹弧,其中在生成库的过程中动态地确定存储在上层网格节点的网格仓中的轨迹航向角值,将所有轨迹连接的代价分配给一层网格节点,并将最优轨迹连接保存到每个可到达的网格节点和网格仓对,以及当违反至少一个标准时停用网格节点和网格仓对以用于下一层的搜索估计。这里,通过将由自行车模型在每两个可行网格节点之间定义的车辆运动轨迹扩展为适应挂车运动状态的用于牵引式挂车的轨迹,并且扩展为与在受限空间中行驶时的运动控制相关的车身拐角和车辆轮胎的轨迹,在每个步骤处进一步进行估计。此外,在一些实施例中,用于最优轨迹连接的链接信息被保存到最优路径库。
[0110]
方法830包括在838处,由离线服务器基于估计确定用于存储在最优路径库中的最优路径。
[0111]
在一些实现中,对于方法830的实现,每个网格节点定义一个在搜索开始之前的确定性位置坐标集,并且每个网格仓定义用于一系列方位角的存储器空间,随着生成库进行,将动态地确定方位角的特定值。
[0112]
在方法830的一些实施例中,搜索过程通过重复估计驾驶轨迹连接、扩展车辆运动轨迹、以及对于每个未估计的网格节点层仅保持到每个可达网格节点对的最优轨迹连接直到到达地图上的感兴趣区域的与地图区域的可搜索空间的余量相对应的另一余量来重复。
[0113]
在一些实施例中,位置网格节点地图和网格仓阵列是状态空间网格地图。例如,状态空间网格地图可以相对于彼此的位置逻辑地链接网格节点,例如,对于每个网格节点,状态空间地图可以包括到网格节点可以沿着n条路径到达的其他网格节点的传入链路(n是整数,通常等于1)和到可以在m条路径内到达的其他网格节点的传出链路(m是整数,通常等于1)。
[0114]
在一些实施例中,每个车辆状态向量由车辆x坐标值、车辆位置y坐标值和车辆航向角值定义。如前所述,车辆状态向量的(x,y,角)三元组可以在三轴域(x,y,角)中跨越均匀或非均匀分辨率。
[0115]
在一些实施例中,在从终端状态到起始状态的反向方向上执行穷举搜索,并且对于所搜索区域中的每个可到达的离散化状态空间网格节点仅保存累积最优解。
[0116]
在一些实施例中,终端状态定义地图区域的可搜索空间的余量。
[0117]
在一些实施例中,离线服务器在自主驾驶车辆到达位置空间之前确定并存储最优路径。例如,最优路径库可以在自主车辆开始其行程之前被预加载在车载存储器上。
[0118]
图8d是示例方法840流程图。方法840可由用于生成自主驾驶车辆的最优路径库的离线服务器来实现。最优路径可以是例如避免碰撞和/或最小化转向改变和/或防止弯折和/或平滑且在车道边界内的路径。
[0119]
方法840包括在842处,在离线服务器处接收牵引车终端位置和牵引车终端方位信息。
[0120]
方法840包括在844处,在离线服务器处基于状态空间分辨率要求确定用于最优路径库搜索的状态空间节点网格地图。
[0121]
方法840包括在846处,在离线服务器处确定在相邻上层网格地图中的估计状态空间节点和可到达状态空间节点之间的路径弧。
[0122]
方法840包括在848处,在离线服务器处从多个路径弧中的路径弧确定上层网格节点的至少路径弧长、路径弧曲率和航向角值。
[0123]
方法840包括在850处,在离线服务器处确定自主驾驶车辆对路径弧的运动学响应。
[0124]
方法840包括在852处,在离线服务器处根据运动学响应确定牵引车车辆转向角和自主驾驶车辆沿路径弧的一个或多个车身位置的坐标。
[0125]
方法840包括在854处,通过将性能度量应用于路径弧、转向控制器转向角、运动响应以及沿着路径弧的一个或多个车身位置,在离线服务器处确定代表路径弧的总体性能度量。在各种实施例中,可以使用各种性能度量。例如,性能度量可包括曲率度量、曲率变化度量、铰接度量、到车道中心的距离度量、车道航向角跟踪精度度量、车道中的车身度量、车身延伸超过绘制的允许面积度量中的一个或多个。
[0126]
方法840包括在856处,在离线服务器处基于总体性能度量确定路径弧的有效性,并移除被确定为无效的路径弧。
[0127]
在一些实施例中,方法840包括重复确定路径弧、确定至少路径弧长、路径弧曲率、
航向角值、确定运动学响应以及确定总体性能度量以生成多个弧路径和相应的总体性能度量。
[0128]
在一些实施例中,方法840包括基于总体性能度量从多个弧路径中选择最优路径,其中与多个弧路径中的其他路径相比,最优路径具有最优总体性能度量。
[0129]
在一些实施例中,用于导航自主车辆的系统包括:离线服务器,其被配置为生成用于导航地理区域的最优路径库,其中地理区域被表示为网格节点地图和定向网格仓图,并且其中最优路径对应于基于优化准则的网格节点地图中的网格节点对之间的路径;在自主车辆上的存储设备,用于存储最优路径库,以及位于自主车辆上的在线服务器,在线服务器被配置为基于自主车辆的当前位置和当前航向从存储设备访问来自最优路径库的信息,并且基于该信息导航自主车辆通过地理区域。在线服务器可以被配置为实现本文描述的方法。离线服务器可以被配置为使用本文描述的方法生成最优路径的库。
[0130]
可以使用硬件平台(例如,图8a)来实现本文献中描述的离线服务器,或者可以使用诸如云计算资源的分布式计算资源来实现。为了能够执行可能的最优路径的详尽分析,离线服务器可以使用大于自主车辆中的在线或车载计算机可用的计算资源的计算资源。在驾驶行程开始之前,自主车辆和在线计算机可以经由诸如蜂窝或wi

fi无线通信信道或以太网或usb电缆的通信接口与离线服务器通信。
[0131]
在一些实施例中,路径库表示针对预定义的和离散化的驾驶空间的最优车辆驾驶轨迹的穷举搜索,并且其中穷举搜索包括状态空间节点网格地图中的车辆位置和车辆方位的多个组合。在一些实施例中,库包括用于地理区域中的车辆状态的压缩路径信息。
[0132]
图9示出了其中可以确定自主驾驶操作的示例车辆生态系统900的框图。车辆生态系统900可用于实现在线服务器及其与路径选择和车辆转向相关的操作。
[0133]
如图9所示,车辆905可以是半挂卡车。车辆生态系统900包括多个系统和组件,这些系统和组件可以生成和/或向可位于车辆905中的车内控制计算机950传递一个或多个信息/数据源和相关服务。车载控制计算机950可以与多个车辆子系统940进行数据通信,所有车辆子系统940都可以驻留在车辆905中。提供车辆子系统接口960以促进车内控制计算机950和多个车辆子系统940之间的数据通信。在一些实施例中,车辆子系统接口960可以包括控制器局域网(can)控制器,以与车辆子系统940中的设备通信。
[0134]
车辆905可以包括支持车辆905的操作的各种车辆子系统。车辆子系统可包括车辆驾驶子系统942、车辆传感器子系统944和/或车辆控制子系统946。车辆驾驶子系统942、车辆传感器子系统944和车辆控制子系统946的部件或设备如示例所示。车辆驾驶子系统942可包括可操作以为车辆905提供动力运动的部件。在示例性实施方式中,车辆驾驶子系统942可包括发动机或电动机、车轮/轮胎、变速器、电气子系统和动力源。
[0135]
车辆传感器子系统944可以包括被配置成感测关于车辆905的环境或状况的信息的多个传感器。车辆传感器子系统944可以包括一个或多个相机或图像捕获设备、一个或多个温度传感器、惯性测量单元(imu)、全球定位系统(gps)收发器、激光测距仪/激光雷达(lidar)单元、雷达单元和/或无线通信单元(例如,蜂窝通信收发器)。车辆传感器子系统944还可以包括被配置为监测车辆905的内部系统的传感器(例如,o2监测器、燃料计、发动机油温度等)。
[0136]
imu可以包括传感器(例如,加速度计和陀螺仪)的任何组合,传感器被配置为基于
惯性加速度来感测车辆905的位置和方位变化。gps收发器可以是被配置为估计车辆905的地理位置的任何传感器。为此,gps收发器可包括接收器/发射器,其可操作以提供关于车辆905相对于地球的位置的信息。雷达单元可以表示利用无线电信号来感测车辆905的本地环境内的物体的系统。在一些实施例中,除了感测对象之外,雷达单元还可以被配置为感测接近车辆905的对象的速度和航向。激光测距仪或激光雷达单元可以是被配置为使用激光感测车辆905所处环境中的物体的任何传感器。摄像机可以包括被配置为捕获车辆905的环境的多个图像的一个或多个设备。摄像机可以是静止图像摄像机或运动摄像机。
[0137]
车辆控制子系统946可以被配置为控制车辆905及其部件的操作。因此,车辆控制子系统946可以包括各种元件,例如节气门和齿轮、制动单元、导航单元、转向系统和/或自主控制单元。节气门可以被配置为控制例如发动机的操作速度,并进而控制车辆905的速度。齿轮可以被配置为控制变速器的齿轮选择。制动单元可以包括构造成使车辆905减速的机构的任何组合。制动单元可以使用摩擦以标准方式减慢车轮。制动单元可包括防抱死制动系统(abs),该防抱死制动系统(abs)可在施加制动器时防止制动器抱死。导航单元可以是被配置为确定车辆905的驾驶路径或路线的任何系统。导航单元还可被配置为在车辆905运行时动态更新驾驶路径。在一些实施例中,导航单元可被配置为合并来自gps收发器的数据和一个或多个预定地图,以便确定车辆905的驾驶路径。转向系统可以表示可操作以在自主模式或驾驶员控制模式中调节车辆905的航向的机构的任何组合。
[0138]
自主控制单元可以表示被配置为识别、估计和避免或以其他方式越过车辆905的环境中的潜在障碍物的控制系统。通常,自主控制单元可以被配置为控制车辆905以在没有驾驶员的情况下操作,或者在控制车辆905时提供驾驶员辅助。在一些实施例中,自主控制单元可被配置为合并来自gps收发器、雷达、激光雷达、摄像机和/或其他车辆子系统的数据,以确定车辆905的驾驶路径或轨迹。
[0139]
车辆905的许多或全部功能可以由车内控制计算机950控制。车载控制计算机950可以包括至少一个数据处理器970(其可以包括至少一个微处理器),所述数据处理器970执行存储在诸如数据存储设备975或存储器的非暂时性计算机可读介质中的处理指令。车载控制计算机950还可表示多个计算设备,其可用于以分布式方式控制车辆905的各个部件或子系统。
[0140]
数据存储设备975也可以包含附加指令,包括向车辆驾驶子系统942、车辆传感器子系统944和车辆控制子系统946中的一个或多个发送数据、从车辆驾驶子系统942、车辆传感器子系统944和车辆控制子系统946接收数据、与车辆驾驶子系统942、车辆传感器子系统944和车辆控制子系统946交互或控制其中的一个或多个的指令。车载控制计算机950可以被配置为包括数据处理器970和数据存储设备975。车载控制计算机950可基于从各种车辆子系统(例如,车辆驾驶子系统942、车辆传感器子系统944和车辆控制子系统946)接收的输入来控制车辆905的功能。
[0141]
图10示出了用于更新自主驾驶车辆的基于软件的控制的示例性过程。这个过程可以由在线服务器实现。在更新过程中,置信度检查器模块可以使用从自主车辆的先前操作获得的在线算法结果(1002)和离线算法结果(1004)来执行置信度检查操作1006。在操作1002,计算机(例如,图8中示为425)的置信度检查器模块是已经由车载控制计算机执行以执行自主驾驶相关操作的在线算法的结果。在线算法结果可以包括描述响应于已知场景的
自主驾驶操作的第一组数据。例如,与自主驾驶操作相关的第一组数据可包括当自主车辆到达已知的交叉路口时,车内控制计算机确定方向盘电机需要顺时针转动15度以使自主车辆转向。与自主驾驶操作相关的第一组数据还可以提供当自主车辆正驾驶通过已知场景时自主车辆的各个方面(例如,速度、制动量、变速器档位)的状态信息。
[0142]
在一些实施例中,在线算法结果可以包括在车载控制计算机中操作的各种设备和自主驾驶软件的健康状态信息。健康状态信息可以包括当自主车辆被驾驶时由一个或多个设备和/或自主驾驶软件生成的一个或多个错误代码。在线算法结果可以包括产生错误代码的原因和产生错误代码的时间的附加解释。
[0143]
在操作1004处,计算机的置信度检查器模块接收附加的离线算法,并且可以用附加的离线算法处理已知场景。在一些实施例中,附加离线算法可以是开发人员或工程师已经构建的软件代码,以调试在车载控制计算机中操作的自主驾驶软件的现有版本。利用附加离线算法处理已知场景的结果可以提供第二组数据,该第二组数据描述响应于已知场景的模拟自主驾驶操作。当通过已知场景模拟自主车辆时,第二组数据还可以包括自主车辆的各个方面的状态信息。如本文件所述,离线算法可以通过人工操作者的干预来校正。
[0144]
在操作1006处的置信度检查器模块可以将第一组数据与第二组数据进行比较,以估计自主驾驶软件的两个版本如何以相同场景操作。在一些实施例中,置信度检查器模块可以使用诸如零假设统计测试的技术来比较两组数据。置信度检查器模块可以确定量化两组数据之间的差异的一个或多个度量。如果置信度检查器模块确定一个或多个确定的度量大于一个或多个已知阈值,则置信度检查器模块可以确定两组数据之间的差异是显著的,并且两组数据作为矛盾的结果1008发送到计算机中的硬情况数据集1010数据库(例如,图8中示出为830)。
[0145]
自动校正模块(例如,图8中示出为835)可以通过确定对现有自主驾驶软件的改变来执行自动校正操作1012以改进现有自主驾驶软件。在一些实施例中,所述改变可以包括确定对现有自主驾驶软件中的公式(或等式)和/或机器学习模型的更新,所述公式和/或机器学习模型可能需要被改变以使现有自主驾驶软件产生到已知场景的第二组数据。在一些实施例中,改变可以包括对现有自主驾驶软件使用的机器学习模型的更新或者对图像处理技术的更新,以更好地识别位于围绕自主驾驶车辆的区域中的移动对象(例如,其他汽车、行人)或者静态障碍物(例如,减速带、停止标志等)。
[0146]
人类注释模块(例如,图8中示出为840)可以通过向计算机监视器发送第一组数据、第二组数据、现有的自主驾驶软件和附加的离线算法来执行人类注释操作1014,使得开发者或工程师可以调试或修改现有的自主驾驶软件。从操作1012或1014中的任何一个获得的经修订的自主驾驶软件的公式和/或机器学习模型可以被发送到包括在计算机中的结构数据集数据库(例如,图8中示出为845)。在一些实施例中,人类注释模块可以将图像(对于该图像,语义分割过程产生一个或多个区域)发送给计算机监视器,其中车载控制计算机不能确定一个或多个区域的标识。在这样的实施例中,人可以为车载控制计算机无法识别的一个或多个区域分配身份。
[0147]
返回到操作1006,如果置信度检查器模块确定第一组数据和第二组数据的结果是一致的,则将一致的结果输出发送到结构数据集1016。如果描述两组数据之间的差异的一个或多个度量小于一个或多个已知阈值,则置信度检查器模块可确定第一组数据和第二组
数据是一致的。相干结果输出可以包括现有自主驾驶软件的值、变量、公式和/或机器学习模型。
[0148]
结构数据集1016中包括的(多个)值、(多个)变量和/或(多个)公式可用于分析新任务和数据集1018或执行模拟1020或设置条件基准1024。操作1018

1024可由计算机的数据处理模块(例如,图8中示出为850)执行。作为示例,数据处理模块可以基于存储在结构化数据集1016中的值、变量和/或公式,使用已知场景的图像或点云数据来执行模拟1020。在结构化数据集1016包括用于修订或调试的自主驾驶软件版本的新值、变量和/或公式的实施例中,可以对新值、变量和/或公式执行仿真1020,以估计修订或调试的自主驾驶软件版本的性能。例如,模拟可用于执行软件回归测试。
[0149]
数据处理模块可以使用存储在结构化数据集1016中的值、变量和/或公式,针对第一组数据(针对现有的自主驾驶软件)或针对第二组数据(针对修订的自主驾驶软件)执行条件基准1024。在一些实施例中,可以通过利用先前记录和存储的相机图像和/或激光雷达点云数据模拟自主驾驶软件版本的操作来执行条件基准。条件基准操作可以计算表征自主驾驶软件整体性能的一个或多个度量。如果数据处理模块确定条件基准操作1024的一个或多个度量超过预定阈值,则数据处理模块可以自动更新模型1026。模型可以包括,例如,经修订的自主驾驶软件或可由数据处理模块更新的机器学习模型。
[0150]
图11示出了改进在自主驾驶车辆中操作的软件的计算机的示例性框图。计算机1100包括至少一个处理器1110和其上存储有指令的存储器1105。指令在由处理器1110执行时配置计算机1100和/或计算机1100的各种模块以执行图9至图10和本专利文献中描述的各种实施例中描述的操作。发射器1115和接收器1120可以分别发送和接收信息。
[0151]
应当理解,本文件描述了可由自主车辆使用的各种技术,用于导航车辆通过难以操纵的区域。在一个示例方面中,估计各种车辆路径选项并选择用于导航车辆的选项的计算任务被划分为两个计算平台
‑‑
一个平台在离线环境中操作,该离线环境位于自主车辆外部并远离自主车辆,例如在计算云中,另一个平台位于自主车辆上。离线服务器可以预先执行估计各种导航路径的任务,并向在线服务器提供路径选项库。当在狭窄区域中操纵自主车辆时,整个导航任务可以被离散成沿着网格点的较小路径增量,并且在线服务器可以基于路径库做出关于从一个网格点到下一个网格点的决策。选择下一路径的任务比估计各种路径选择的最优性具有显著的较少的计算负担,从而实现实时车辆导航而不负担车载资源。
[0152]
本专利文献中描述的主题和功能操作的实现可以在各种系统、半导体装置、超声波装置、数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的各方面的实现可以实现为一个或多个计算机程序产品,例如,编码在有形的和非暂态的计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储器设备、影响机器可读传播信号的物质组合物、或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或多个计算机。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、
操作系统或它们中的一个或多个的组合的代码。
[0153]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译的或解释的语言,并且它可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所述程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署为在一台计算机上或位于一个站点或分布在多个站点上并通过通信网络互连的多台计算机上执行。
[0154]
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并产生输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以实现为专用逻辑电路。
[0155]
例如,适用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该大容量存储设备接收数据或将数据传送到该大容量存储设备或两者。然而,一台计算机不需要有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路。
[0156]
尽管本专利文献包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的内容的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文献中在单独实施例的上下文中描述的某些特征也可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上述特征可被描述为在某些组合中起作用,并且甚至最初要求如此,但在一些情况下,来自所要求保护的组合的一个或多个特征可从组合中切除,并且所要求保护的组合可指向子组合或子组合的变型。
[0157]
类似地,虽然在附图中以特定顺序描绘了操作,但这不应理解为要求以所示的特定顺序或顺序来执行这些操作,或要求执行所有示出的操作以获得期望的结果。而且,在本专利文献中描述的实施例中的各种系统部件的分离不应理解为在所有实施例中都要求这种分离。
[0158]
仅描述了几个实施方案和示例,并且可以基于本专利文献中描述和说明的内容进行其它实施方案、增强和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1