优化自主车辆的轨迹的方法和装置与流程

文档序号:14950119发布日期:2018-07-17 22:21阅读:176来源:国知局

本文描述的主题的实施例一般涉及确定车辆轨迹。更具体地,本主题的实施例涉及计算和优化用于自主车辆车载用途的车辆轨迹。



背景技术:

自主车辆是一种能够感测其环境并以很少或不需要用户输入进行导航的车辆。在操作期间,自主车辆遵循基于预期目的地和整个路线上的车辆周围环境计算的车辆轨迹。由于从路线起点到终点的周围环境的变化性质,可能需要自主车辆在每次计算轨迹时进行不同的操纵。为了适应这种情况,可能需要一种能够调整这种动态变化的稳固系统。

因此,期望为自主车辆提供考虑车辆周围环境的车辆轨迹信息。另外,期望提供结合这种技术的方法、系统和车辆。此外,结合附图和前述技术领域和背景技术,从随后的具体实施方式和所附权利要求中,其它期望的特征和特性将变得显而易见。



技术实现要素:

本发明的一些实施例提供了一种用于执行车辆的自主操作的方法。该方法由多个车载传感器获得对象数据;由车辆上的一个或多个摄像机获得道路数据;由至少一个处理器基于对象数据和道路数据确定初始车辆轨迹;由至少一个处理器识别与初始车辆轨迹相关联的一组约束条件;基于潜在的车辆轨迹和该组约束条件确定最终车辆轨迹;以及将最终车辆轨迹传输到车辆上的转向机构。

本发明的一些实施例提供了一种用于执行车辆的自主操作的系统。该系统包括:系统存储器元件;多个车载传感器,其被配置为获得与车辆周围的对象相关联的对象数据;一个或多个摄像机,其被配置为获得与车辆正在行驶的道路相关联的道路数据;车辆的转向机构,该转向机构被配置成根据一组优化的车辆轨迹数据自主地操纵车辆;以及至少一个处理器,其通信地耦合到系统存储器元件、多个车辆传感器、一个或多个摄像机以及转向机构,该至少一个处理器被配置为:基于对象数据和道路数据确定初始车辆轨迹;识别与初始车辆轨迹相关联的一组约束条件;以及基于初始车辆轨迹和该组约束条件计算最终车辆轨迹;以及将最终车辆轨迹传输到转向机构,其中优化的车辆轨迹数据包括最终车辆轨迹。

本发明的一些实施例提供了一种在其上包含指令的非暂时性计算机可读介质,所述指令在由处理器执行时执行一种方法。该方法基于初始车辆轨迹和自主车辆周围的一组约束条件来确定自主车辆的车辆轨迹;以及将车辆轨迹传输到自主车辆上的转向机构。

提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的选出的概念。本发明内容不旨在识别要求保护的主题的关键特征或必要特征,也不旨在用来辅助确定所要求保护的主题的范围。

附图说明

当结合以下附图考虑时,通过参考具体实施方式和权利要求,可以得到对主题的更完整的理解,其中在所有附图中相同的附图标记指代相似的元件。

图1是根据所公开的实施例的自主车辆轨迹优化系统的功能方框图;

图2是根据所公开的实施例的潜在的自主车辆轨迹和优化的自主车辆轨迹的图;

图3是示出用于执行车辆的自主操作的过程的实施例的流程图;

图4是根据所公开的实施例的使用软约束条件的自主车辆轨迹优化的图;

图5是根据所公开的实施例的使用硬约束条件的自主车辆轨迹优化的图;

图6是示出用于确定最终车辆轨迹的过程的实施例的流程图;以及

图7是用于确定最终车辆轨迹的概念框架的示例性实施例的流程图。

具体实施方式

以下具体实施方式在本质上仅仅是说明性的,并不意图限制主题的实施例或这些实施例的应用和使用。如本文所使用,词语“示例性”意指“用作示例、实例或说明”。本文描述为示例性的任何实施方式不一定被解释为比其它实施方式优选或有利。此外,并不意欲受到在前述技术领域、背景技术、发明内容或以下具体实施方式中呈现的任何表达或暗示的理论的限制。

本文呈现的主题涉及用于优化供自主车辆使用的初始车辆轨迹的装置和方法。更具体地,本主题涉及基于“软”约束条件(例如,车道边界)和/或“硬”约束条件(例如,对象、道路边界)来调整初始车辆轨迹。

关于本发明的各种实施例使用特定术语。自主车辆是一种能够感测其环境并以很少或不需要用户输入进行导航的车辆。自主车辆使用诸如雷达、激光雷达、图像传感器等感测设备感测其环境。自主车辆系统进一步使用来自诸如全球定位系统(gps)的系统的信息来导航。转向机构是用于根据预定轨迹自主操纵车辆的任何设备、硬件或其它仪器。转向机构可以使用后转向机构、前转向机构、差速制动机构或可操作以自主操纵车辆的任何其它部件或系统来实施。

现在转到附图,图1是根据所公开的实施例的包括车辆轨迹优化系统102的自主车辆100的功能方框图。自主车辆100可以是多种不同类型的汽车(轿车、货车、卡车、摩托车、运动型多用途车辆、货车等)、航空交通工具(例如飞机、直升机等)、船舶(船只、轮船、水上摩托艇等)、火车、全地形车辆(雪地摩托车、四轮车等)、军用车(悍马、坦克、卡车等)、救援车辆(消防车、云梯车、警车、急救医疗服务车和救护车等)、航天器、气垫船等中的任何一种。

车辆轨迹优化系统102可以使用任何车载计算系统或平台来实现。车辆轨迹优化系统102通常包括但不限于:至少一个处理器104;系统存储器元件106;导航系统108;一个或多个摄像机110;多个车载传感器112;车辆轨迹优化模块114;以及转向机构116。车辆轨迹优化系统102的这些元件和特征可以彼此可操作地相关联,彼此耦合,或者以其它方式被配置为根据需要彼此协作以支持期望的功能—特别是车辆100的自主操作,如本文所述。为了便于说明和清楚起见,图1中未示出用于这些元件和特征的各种物理的、电的和逻辑的耦合和互连。此外,应该理解,车辆轨迹优化系统102的实施例将包括协作以支持期望的功能的其它元件、模块和特征。为了简单起见,图1仅描绘了与下面更详细描述的自主车辆100操作技术有关的某些元件。

至少一个处理器104可以用一个或多个通用处理器、内容可寻址存储器、数字信号处理器、专用集成电路、现场可编程门阵列、任何合适的可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或被设计为执行本文描述的功能的任何组合来实施或执行。具体地,至少一个处理器104可以以一个或多个微处理器、控制器、微控制器或状态机的形式来实现。此外,至少一个处理器104可以实现为计算设备的组合,例如数字信号处理器和微处理器的组合、多个微处理器、一个或多个微处理器与数字信号处理器内核的结合,或者任何其它这样的配置。

至少一个处理器104与系统存储器元件106通信。系统存储器元件106可以使用任何数量的适用于实施例的设备、部件或模块来实现。此外,车辆轨迹优化系统102可以适应于特定实施例包括集成在其中的系统存储器元件106和/或可操作地与其耦合的系统存储器元件106。实际上,系统存储器元件106可以被实现为ram存储器、闪存、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘或本领域已知的任何其它形式的存储介质。在某些实施例中,系统存储器元件106包括硬盘,硬盘还可以用于支持车辆轨迹优化系统102的功能。系统存储器元件106可以耦合到至少一个处理器104,使得至少一个处理器104可以从系统存储器元件106读取信息并且将信息写入到系统存储器元件106。或者,系统存储器元件106可以集成到至少一个处理器104。作为示例,至少一个处理器104和系统存储器元件106可以驻留在设计得当的专用集成电路(asic)中。

导航系统108被部署在主车辆100上。实际上,导航系统108可以被实施为车载车辆娱乐系统、车载显示系统、车载仪表板等的一部分。在一个实际的实施例中,导航系统108被实现为,包括车载全球定位系统(gps),或者与车载全球定位系统(gps)协作,其实时或基本上实时地导出车辆的预测地理位置。导航系统108被配置为向车辆100的车辆轨迹优化系统102提供位置数据。当车辆100正被驾驶时,导航系统108用于周期性地检测和/或测量车辆100的预测位置。导航系统108可经由数据传输将该位置数据提供给车辆100的车辆轨迹优化系统102。车辆100的预测位置可以是三角测量位置、纬度/经度位置、x和y坐标或指示车辆100的地理位置的任何其它指示符。

在某些实施例中,导航系统108被实施为包括存储道路曲率和曲率变化率数据的地图模块的gps。在某些实施例中,地图模块可以包括整个高速公路的高分辨率地图。在这种情况下,当gps位置被提供给地图模块时,导航系统108提供自主车辆100前方的道路的曲率数据。地图模块还提供了各种静态车道性质。车辆轨迹优化系统102被配置为使用gps将车辆100定位在地图上(由地图模块提供)并提取预测的前方信息。地图模块被配置为接收gps信息并提供车道曲率和弯曲率、车道数量等。

一个或多个摄像机110适当地配置成捕获车辆100外部的图像,并且车辆轨迹优化系统102用该图像数据来确定车辆的初始路径和车辆100的期望轨迹,并使车辆100保持定位在车辆行驶的道路上的车道标志内。一个或多个摄像机110中的每一个都可以具有捕获静止帧和/或视频图像的能力。一个或多个摄像机110将左右车道标记作为两个多项式进行识别并报告。一个或多个摄像机110还识别和报告在一个或多个摄像机110的视野内的对象(例如,其它汽车)。一旦由摄像机获得图像,则可以存储或传输图像。

多个车载传感器112可以包括速度传感器、横摆率传感器、雷达传感器、惯性测量传感器、前轮角度传感器、后轮角度传感器以及车辆100上的任何其它传感器,其可以用于提供与车辆100的自主控制相关联的数据。在一些实施例中,长距离雷达传感器(lrr)和短距离雷达传感器(srr)主要用于检测与自主车辆100接近的传感器检测范围内的对象。

车辆轨迹优化模块114被适当地配置成接收车辆轨迹数据并且确定考虑到与车辆100正在行驶的路线相关联的各种约束条件的“优化”的车辆轨迹。在车辆轨迹优化系统102的示例性实施例中,车辆轨迹优化模块114使用一组约束条件来优化预先计算的和预定义的初始轨迹,以生成用于自主车辆100的优化的车辆轨迹。

实际上,车辆轨迹优化模块114可以与至少一个处理器104一起实施(或与之协作),以执行本文更详细描述的至少一些功能和操作。就这一点而言,车辆轨迹优化模块114可以被实现为适当写入的处理逻辑、应用程序代码等。

转向机构116被配置成根据由车辆轨迹优化模块114生成的优化的车辆轨迹自主操纵车辆。转向机构116可以使用前转向机构、后转向机构、差速制动器机构或车辆100上作为车辆100的自主功能的一部分的可操作以转向或操纵车辆100的任何其它仪器来实施。

图2是根据所公开的实施例的潜在的自主车辆轨迹208和优化的自主车辆轨迹210的图。边界202可以是车道边界(即软约束条件)或道路边界(即,硬约束条件)。车辆由垂直矩形204表示,而水平矩形206表示用于计算转向命令的期望轨迹的一部分。在此,不使用整个轨迹来计算自主车辆204的转向命令,因为这可能距离太长。系统考虑短时间段的轨迹(例如,接下来的两秒、接下来的五秒)来计算期望的转向角。

潜在的自主车辆轨迹208是自主车辆204的预先计算的、预定义的初始路径。优化的自主车辆轨迹210是潜在的自主车辆轨迹208的改进版本,其考虑检测到的软约束条件和硬约束条件,以便为自主车辆行驶生成更准确和最优的路线。

可以使用以下等式来计算车道208的虚拟中心线:fbl(x)=c0+c1x+c2x2+c3x3。理想地,车辆204保持在虚拟中心线208上,用于车道居中控制目的。然而,实际上,车辆204可能保持在虚拟中心线208上还可能因为其他原因,诸如控制误差、定位误差等。

可以使用以下等式来计算右侧约束条件(例如,当前车道的右车道标记):fr(x)=c0r+c1x+c2x2+c3x3。可以使用以下等式来计算左侧约束条件(例如,当前车道的左车道标记):fl(x)=c0l+c1x+c2x2+c3x3。可以使用以下等式来计算自主车辆的期望路径(即,优化的自主车辆轨迹210):fd(x)=a0+a1x+a2x2+a3x3+a4x4+a5x5。期望的路径系数是使用自主车辆的初始条件和最终条件获得的。

作为示例,可以使用以下初始条件:fd(0)=0,其表示期望的轨迹从车辆的当前位置开始,因为这是有意义的;f′d(0)=0,其表示在当前车辆位置期望的轨迹的一阶导数为零;以及f″d(0)=f″bl(0),其表示期望轨迹的二阶导数与车道虚拟中心线的二阶导数相同。作为同一示例的一部分,可以使用以下最终条件:fd(1)=fbl(1),其中‘1’表示‘常规’前视距离,其表示在终点处期望的轨迹应该在车道虚拟中心线上;f'd(1)=f'bl(1),其表示期望的轨迹应该具有与虚拟车道中心线相同的一阶导数;以及f"d(1)=f"bl(1),其表示期望的轨迹应该具有与虚拟车道中心线相同的二阶导数。这三个所述条件(例如,fd(1)=fbl(1);f'd(1)=f'bl(1);f"d(1)=f"bl(1))的组合表示在终点处期望的轨迹应该平滑地与虚拟中心线相混合。对于这个特定的示例,重要的是应注意使用常规约定。如此处使用,数字(1)表示终点。终点距离是校准值,其可以是恒定的或者是车辆速度的函数。

当期望的路径延伸到一个或多个约束条件之外时,可以使用迭代优化来使期望的路径更接近约束条件内的位置。迭代优化可以通过使轨迹成形在约束条件内来完成。在当前文献中,通过改变初始条件和最终条件来实现轨迹成形。

使用偏移函数和有效的数值算法,可以确定何时交叉约束条件。期望路径的偏移函数g(x)可以使用以下约束条件来构造:gl(x)=fl(x)-fd(x),其表示期望的轨迹与左车道边界的偏移;以及gr(x)=fr(x)-fd(x),其表示期望的轨迹与右车道边界的偏移。当期望的路径被确定存在于约束条件内的位置时,则增量优化结束。

图3是示出用于执行车辆的自主操作的过程300的实施例的流程图。结合过程300执行的各种任务可以由软件、硬件、固件或其任何组合来执行。为了说明的目的,过程300的以下描述可以涉及上面结合图1至图2提到的元件。实际上,过程300的部分可以由所描述的系统的不同元件执行。应当理解,过程300可以包括任何数量的附加或替代任务,图3中所示的任务不必按所示顺序执行,并且过程300可以被并入到具有本文没有详细描述的附加功能的更全面的程序或过程中。此外,只要预期的整体功能保持完整无缺,则图3中所示的一个或多个任务可以从过程300的实施例中省略。

为了便于描述和清楚起见,假定过程300通过由多个车载传感器获得对象数据开始(步骤302)。对象数据包括车辆附近的对象的位置和与其相关联的其它细节,并且该对象可能妨碍车辆行驶路线。对象可以是其它车辆、路障、路锥或位于车辆外部的任何其它物理驾驶障碍物。对象是阻碍车辆行驶路线的物理障碍物,并且对象数据也可以被称为对自主车辆轨迹的“硬约束条件”。道路边界也被认为是硬约束条件,因为假定在道路的尽头有路缘或护栏,这也是物理障碍。对象和对象数据可能被一个或多个摄像机、雷达传感器,以及可用于提供与车辆100的自主控制相关联的数据的车辆100上的任何其它传感器所检测到。在一些实施例中,长距离雷达传感器(lrr)和短距离雷达传感器(srr)用于检测接近自主车辆的传感器检测范围内的对象。

接下来,过程300由车辆上的一个或多个摄像机获得道路数据(步骤304)。道路数据可以包括由车载摄像机获得的道路曲率和道路朝向。摄像机将根据以下等式给出右车道标记和左车道标记的所有4车道系数:对于右车道标记,fr(x)=cor+c1x+c2x2+c3x3,并且对于左车道标记,fl(x)=c0l+c1x+c2x2+c3x3,其中c0是车辆的车道标记的偏移量,c1是车道标记的朝向,c2是车道标记的曲率,c3是车道标记的弯曲率。此处,c1,c2和c3系数被假定为左右标记平行或接近平行,因此是相同的。这种近似用于简化轨迹优化计算。然而,对于右标记和左标记,c0系数是不同的,并且如果车辆位于车道的中心,则c0系数具有不同的符号。

在某些实施例中,道路数据还可以包括与车辆的当前位置相关联的gps和地图数据等。在一些实施例中,道路数据还可以包括道路的附加性质,诸如车道的数量、速度限制、车道标记类型、道路坡度和坡度角等。

过程300接着通过至少一个处理器基于对象数据和道路数据确定初始车辆轨迹(步骤306)。初始车辆轨迹是针对自主车辆计算的车辆轨迹,如前面关于图2所述。

接下来,过程300通过至少一个处理器识别与初始车辆轨迹相关联的一组约束条件(步骤308)。该组约束条件是与限制车辆定位和行驶的可能选项的车辆轨迹相关联的任何物理条件,并且可以包括软约束条件和/或硬约束条件。图4中示出了与初始车辆轨迹相关联的软约束条件的一个特定示例,并且图5中示出了与初始车辆轨迹相关联的硬约束条件的示例。“软约束条件”是对自主车辆的计算出的驾驶路线的无害限制。理想地,自主车辆在行驶期间不应违反软约束条件,但违反软约束条件通常不会对车辆造成直接损害或破坏。“硬约束条件”是对自主车辆的计算出的驾驶路线的有害限制。自主车辆在行驶期间不能违反硬约束条件才不会对自主车辆造成损害,包括可能破坏自主车辆。

接下来,过程300基于初始车辆轨迹和该组约束条件来确定最终车辆轨迹(步骤310)。关于图6描述了用于确定最终车辆轨迹的一个特定实施例。此处,过程300通过调整初始车辆轨迹的位置来考虑软约束条件和硬约束条件而迭代地优化预先计算的初始车辆轨迹。

过程300接着将最终车辆轨迹传输到车辆上的转向机构(步骤312)。一旦被传输,最终车辆轨迹用于使车辆自主转向。

图4是根据所公开的实施例的使用软约束条件的自主车辆轨迹优化的图。车辆轨迹优化系统(参见图1,标号102)接收初始车辆轨迹406,接着针对一组约束条件来分析该初始车辆轨迹。系统确定包括在轨迹中的预测车辆位置是否满足该组约束条件,并且当不满足该组约束条件时,系统“优化”以满足约束条件。用于路线的该组调整(即,优化的)车辆位置可以被称为优化的车辆轨迹408。通常针对所限定的路线的基于时间的或基于距离的路段来计算优化的车辆轨迹408。系统以基于时间或基于距离的间隔确定预测的车辆位置,或者换言之,预测的车辆位置是在特定的时间段过去之后或者已经行驶特定的距离之后确定的。

例如,如图4中所示,车辆402被示出为行驶路线的路段400。此处,车辆402正在行驶延伸到车道边界404之外的初始轨迹406。车道边界404是对道路的可驾驶宽度的限制,并且还可以被称为对自主车辆402的计算出的驾驶路线的“软约束条件”或有害限制。理想地,自主车辆402在行驶期间不应违反软约束条件,但违反软约束条件通常不会对车辆造成直接损害或破坏。为了清楚起见,如果在侧向车道中存在另一个车辆,则将会对轨迹施加硬约束条件。在那种情况下,车辆402将不被允许移动到相邻车道。

如图所示,自主车辆402沿着延伸超出车道边界404的预先计算的初始车辆轨迹406行驶。此处,车道边界404是软约束条件。自主车辆402的车辆轨迹优化系统分析并优化初始车辆轨迹406以生成优化车辆轨迹408,其考虑一组软约束条件(例如车道边界404)。

图5是根据所公开的实施例的使用硬约束条件的自主车辆轨迹优化的图。如图所示,车辆轨迹优化系统(参见图1,标号102)接收初始车辆轨迹506,接着使用一组约束条件来分析该初始车辆轨迹。系统确定包括在轨迹506中的预测车辆位置是否满足该组约束条件,并且当不满足约束条件组时,系统通过调整车辆预测位置来“优化”适用车辆位置以满足约束条件。车辆轨迹的调整通过改变初始和最终条件约束条件来获得。用于路线的该组调整(即,优化的)车辆位置可以被称为优化的车辆轨迹508。类似于图4中所示的实施例,通常针对所限定的路线的基于时间或基于距离的路段来计算优化的车辆轨迹508。

如图5中所示,示出了车辆502行驶在路线的路段500。此处,计算延伸到道路边界504之外的车辆502的初始轨迹506。换言之,初始轨迹506延伸出道路,由此自动引导自主车辆502的驱动机构将自主车辆502驶离道路。道路边界504是不可通行的边界,并且可以被称为对自主车辆502的计算出的驾驶路线的“硬约束条件”或有害限制。自主车辆502在行驶期间不能违反硬约束条件才不会对自主车辆502造成损害,包括可能破坏自主车辆502。

如图所示,自主车辆502沿着延伸超过道路边界504的预先计算的初始车辆轨迹506行驶。此处,道路边界504是硬约束条件。自主车辆502的车辆轨迹优化系统分析并优化预先计算的初始车辆轨迹506以生成优化的车辆轨迹508,其考虑该组硬约束条件(例如,道路边界504),并且提供轨迹使自主车辆502返回到道路边界504之间的道路。

图6是示出用于确定最终车辆轨迹的过程600的实施例的流程图。应该理解,过程600是用于执行图3的步骤310(先前所述)的示例性实施例,包括附加的细节。首先,过程600确定初始车辆轨迹是否满足一组软约束条件(决策602)。如先前关于图3所述,“软约束条件”是对自主车辆的计算出的驾驶路线的无害限制。理想地,自主车辆在行驶期间不应违反软约束条件,但违反软约束条件通常不会对车辆造成直接损害或破坏。软约束条件通常与“道路规则”有关。“硬约束条件”是对自主车辆的计算出的驾驶路线的有害限制。自主车辆在行驶期间不能违反硬约束条件才不会对自主车辆造成损害,包括可能破坏自主车辆。重要的是应注意满足软该组软约束条件的轨迹自动地满足该组硬约束条件。换言之,该组硬约束条件要么是软约束条件的子集,要么比该软约束条件的条款更为宽松。例如,如果车辆处于三车道路段的最左侧车道中,则左车道边界(例如,软约束条件)和左道路边界(例如,硬约束条件)是相同的。在这种情况下,右车道边界(例如,软约束条件)和右道路边界(例如,硬约束条件)不相同,但是软约束条件比硬约束条件更具禁止性。虽然这是示例,但应该理解,这个规则可以通用。

当初始车辆轨迹确实满足该组软约束条件时(604的“是”分支),过程600对初始车辆轨迹执行硬约束条件的策略性施加,以计算最终轨迹(步骤608)。

当初始车辆轨迹不满足该组软约束条件时(604的“否”分支),过程600计算策略优化的车辆轨迹(步骤604)。策略优化的车辆轨迹是使用实际车辆位置和初始车辆轨迹来计算的。实际车辆位置是车辆当前实体所处的位置。初始车辆轨迹是预先计算的初始轨迹(参见标号406,图4;标号506,图5)。此处,过程600“知道”实际车辆位置和初始车辆轨迹,并且计算可能与初始车辆轨迹相同或不同的车辆的优化轨迹。

在计算策略优化的车辆轨迹(步骤604)之后,过程600确定策略优化的车辆轨迹是否满足该组软约束条件或已经达到优化极限(决策606)。作为违反软约束条件(即,不满足软约束条件)的一个示例,如果车道偏移多项式gl(x)和gr(x)在其任何预测位置改变了符号,则预测到违反了相应的车道边界约束条件。在已经超过优化迭代极限的示例中,迭代终止,而没有发现满足所有约束条件的轨迹。当策略优化的轨迹满足软约束条件或已经达到优化极限时(606的“是”分支),过程600对策略优化的轨迹执行硬约束条件的策略性施加,以计算最终轨迹(步骤608)。

当策略优化的轨迹不满足软约束条件时(606的“否”分支),过程600计算新的车辆轨迹、新的初始车辆条件和新的最终车辆条件(步骤610),接着返回步骤606以确定新的车辆轨迹是否满足软约束条件。通过改变初始二阶导数和最终位置以影响轨迹来计算新的车辆轨迹。通过使用‘k’迭代步骤来改变条件,其中‘k’是优化迭代极限,以下该组初始条件和最终条件将导致更先进的期望轨迹。此处,其中amax是初始条件下在时域中允许的最大横向加速度,并且使用作为校准参数。另外,fd(1)=fbl(1)+offset不违反约束条件,是另一个校准处理。

然而,在其它实施例中,也可以使用任何其它优化技术来影响期望的轨迹。例如,可以使用贝塞尔曲线代替多项式计算或者与多项式计算结合使用。在这种情况下,贝塞尔曲线使用虚拟控制点来影响轨迹,而不是初始轨迹点和最终轨迹点。

图7是图3的过程的概念框架的示例性实施例的流程图。应该理解,图7描绘了图3的过程300的简化实施例,并且流程图700的一些实施方式可以包括附加元件或部件。流程图700的第一子过程702获得输入对象数据704、道路数据706和预先计算的初始车辆轨迹708。如前所述,对象数据可以包括其它车辆、路障、树木或阻碍自主车辆沿特定方向驾驶或驾驶通过特定位置的任何其它实体对象。道路数据可以包括导航数据、道路曲率、交通信息等。在某些实施例中,道路数据还可以包括与车辆的预测位置相关联的gps和地图数据等。在一些实施例中,道路数据还可以包括道路的附加性质,诸如车道的数量、速度限制、车道标记类型、道路坡度和坡度角等等。在使用流程图700进行优化之前计算初始车辆轨迹708,并且优化结果产生自主车辆的最终期望路径730。

第一子过程702评估软约束条件712和硬约束条件710,并且将道路特征和对象分类为软约束条件712或硬约束条件710。与初始车辆轨迹708相关联的软约束条件712和硬约束条件710接着用作流程图700的第二子过程716的输入。在某些实施例中,该组硬约束条件710是该组软约束条件712的子集。作为一个示例,道路边界是车道边界的子集,因为左道路边界是最左侧车道的左车道边界,而右道路边界是最右侧车道的右车道边界。此处,硬约束条件(例如,左道路边界和右道路边界)包含在该组软约束条件(例如,左车道边界和右车道边界)内。作为另一个示例,由对象施加的约束条件是硬约束条件,但是也包括在该组软约束条件中。

第二子过程716执行期望路径的策略评估和计算。第二子过程716计算使用初始条件(即,当前车辆条件)和最终条件(即,初始车辆轨迹708位置)来计算期望路径多项式参数。另外,第二子过程716基于道路曲率和其它参数来计算动态偏移。

第三子过程722评估由第二子过程716计算的策略优化的期望路径720,以确定是否满足硬约束条件710和软约束条件712,并且确定是否已经达到优化极限。当通过第二子过程716计算的期望路径不满足硬约束条件710和软约束条件712时,则流程图700回到第二子过程716,该第二子过程执行附加的迭代计算以用于优化轨迹。此处,初始条件和最终条件被优化,以致力于约束条件内的期望轨迹。

当通过第二子过程716计算的期望路径满足硬约束条件710和软约束条件712时,则策略优化的期望路径720被提供作为第四子过程728的输入,其执行期望路径的策略评估和计算。第四子过程728使用初始条件(即,当前车辆条件)和最终条件(即,预测的车辆轨迹708位置)评估期望的路径多项式参数以生成最终期望路径730。最终期望路径730是初始车辆轨迹708的“优化”版本,其考虑硬约束条件710和软约束条件712来产生使自主车辆更精确附着于道路并在行驶期间避免障碍物的指令。

在执行期望路径的策略评估和计算期间,第四子过程728施加硬约束条件710。第四子过程728可以在涉及一个或多个对象或者防护栏(如果防护栏的位置可以从地图数据中获得)的情况下盲目地施加硬约束条件710。在该示例中,期望的轨迹(即,最终期望路径730)完全或部分地位于硬约束条件710上。

在其中硬约束条件710由道路边界施加的情况下,但是存在可用空间并且车辆轨迹和速度使得车辆已经以跨越道路边界的方向的轨迹驾驶并且驶离道路,快速改变驾驶方向是不切实际的。这种情况在图5中示出。在这种情况下,第四子过程728使用一组校准将硬约束条件710道路边界修改成类似于图5的修改的右车道边界510的形状,来代替原始道路边界504。使用修改的右车道边界510,最终期望路径被计算为优化的车辆轨迹508。转到图7,因此,第四子过程728通过施加硬约束条件710并且潜在地在某些条件下稍微操纵硬约束条件710来计算最终期望轨迹730。这种操纵仅仅是为了操纵与道路规则(例如,道路边界)有关的特定硬约束条件,而不是与碰撞风险(例如,在交叉车道或平行车道中的另一车辆的预测轨迹)有关的硬约束条件。

技术和工业技术在本文可以根据功能块和/或逻辑块部件并且参考可以由各种计算部件或设备执行的操作、处理任务和功能的符号表示来描述。这类操作、任务和功能有时被称为计算机执行、计算机化、软件实施或计算机实施。实际上,一个或多个处理器设备可以通过操纵表示系统存储器中的存储器位置处的数据位的电信号以及信号的其它处理来执行所描述的操作、任务和功能。保存有数据位的存储器位置是具有对应于数据位的特定电性质、磁性质、光性质或有机性质的物理位置。应该理解,附图中所示的各种块部件可以通过被配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实现。例如,系统或部件的实施例可以使用各种集成电路部件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其它控制设备的控制下执行各种功能。

当在软件或固件中实施时,本文中所述的系统的各种元件实质上是执行各种任务的代码段或指令。程序或代码段可以存储在处理器可读介质中,或者由传输介质或通信路径上的载波实现的计算机数据信号来传输。“计算机可读介质”、“处理器可读介质”或“机器可读介质”可以包括可以存储或传送信息的任何介质。处理器可读介质的例子包括电子电路、半导体存储设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤光学介质、射频(rf)链路等。计算机数据信号可以包括可以通过诸如电子网络信道、光纤、空气、电磁路径或rf链路之类的传输介质进行传播的任何信号。代码段可以经由诸如互联网、内联网、lan等计算机网络下载。

以下描述涉及“连接”或“耦合”在一起的元件或节点或特征。如本文所使用,除非另有明确说明,否则“耦合”意味着一个元件、节点和/或特征直接或间接地连接到另一个元件(或直接或间接与另一个元件、节点或特征通信),而不一定机械地连接。同样,除非另有明确说明,否则“连接”意味着一个元件、节点或特征直接连接到另一个元件(或直接与另一个元件、节点或特征通信),而不一定机械地连接。因此,虽然图1中所示的示意图描绘了元件的一个示例性布置,但是在所描绘的主题的实施例中可以存在附加的居间元件、设备、特征或部件。

为了简洁起见,与信号处理、数据传输、发送信号、网络控制以及系统的其它功能方面(以及系统的各个操作部件)有关的常规技术在本文可能不进行详细描述。此外,本文包含的各个附图中所示的连接线旨在表示各个元件之间的示例性功能关系和/或物理耦合。应该注意,在本主题的实施例中可以存在许多替代的或附加的功能关系或物理连接。

本说明书中描述的一些功能单元已经被称为“模块”,以便更加具体地强调它们的实施独立性。例如,本文称为模块的功能可以完全或部分地实施为硬件电路,其包括定制vlsi电路或门阵列、现成半导体,诸如逻辑芯片、晶体管或其它分立部件。模块也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等的可编程硬件设备中实施。模块还可以用软件来实施以供各种类型的处理器执行。例如,识别的可执行代码模块可以包括计算机指令的一个或多个物理或逻辑模块,所述计算机指令例如可以被组织为对象、程序或功能。尽管如此,识别的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同的指令,这些不同的指令在逻辑上连接在一起时组成模块并实现模块的所述目的。实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以分布在多个不同的代码段,不同的程序之间以及在多个存储器设备上。类似地,操作数据可以以任何合适的形式来具体实施并且被组织在任何适当类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同位置,包括在不同存储设备上,并且可以至少部分地仅作为系统或网络上的电子信号存在。

虽然在前面的具体实施方式中已经呈现了至少一个示例性实施例,但是应该理解,存在大量的变型。还应该理解,本文描述的一个或多个示例性实施例并不旨在以任何方式限制所要求保护的主题的范围、适用性或配置。更确切地说,前面的具体实施方式将为本领域技术人员提供用于实施所描述的一个或多个实施例的便利的道路地图。应该理解,在不脱离权利要求限定的范围的情况下,可以对元件的功能和布置进行各种改变,包括在提交本专利申请时已知的等效物和可预见的等效物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1