本申请要求于2020年9月11日提交的美国临时专利申请号63/077,285和于2020年10月9日提交的美国非临时专利申请号17/067,141的优先权和权益,这两个申请的全部内容通过引用并入本文。
具体实施方式
通常,本公开涉及在自主交通工具生成用于在其环境中导航的运动规划时生成基本路径以由自主交通工具使用。能够在路径规划过程的初始部分期间生成基本路径。基本路径能够是能够用于生成和评估候选轨迹的初始路径。为了生成基本路径,与自主交通工具相关联的交通工具计算系统能够访问与自主交通工具相关联的地点的标称路径(例如,通过诸如车道中心线的区域的预定路径)。交通工具计算系统能够识别自主交通工具的当前位置和姿态。基于自主交通工具的当前位置和姿态,交通工具计算系统能够生成从当前位置到沿着标称路径的点的基本路径。然后,基本路径能够表示从自主交通工具的当前位置到沿着预定标称路径的位置的特定路线。
在一些示例中,交通工具计算系统能够生成从第一车道变更到第二车道的基本路径。为此,交通工具计算系统能够访问与目标车道相关联的目标标称路径。在一些示例中,交通工具计算系统能够识别多个潜在的目标标称路径。例如,如果自主交通工具确定其需要变更车道以避免障碍物,则自主交通工具能够评估多个潜在目标车道,每个潜在目标车道具有相关联的标称路径。交通工具计算系统能够访问描述自主交通工具的当前航向、速度和位置的信息。交通工具计算系统能够识别沿着与自主交通工具相关联的当前车道边界(例如,与自主交通工具当前所处的车道相关联的车道边界)的至少一个车道变更区。
交通工具计算系统能够至少部分地基于车道变更区来识别沿着目标标称路径(或多个目标标称路径)的一个或多个潜在合并点。合并点能够表示沿着目标标称路径的特定地点,在该特定地点自主交通工具可以加入目标标称路径。交通工具计算系统能够生成多个候选基本路径,每个候选基本路径表示从自主交通工具的当前位置到所识别的合并点之一的潜在路径。能够评估每个候选路径以确定它是否满足一个或多个驾驶性约束。驾驶性约束能够包括最大允许加速度和转弯速率以及其它可能的标准。交通工具计算系统能够从多个候选基本路径中选择候选基本路径。
在所公开的系统和方法的示例中,自主交通工具能够使用交通工具计算系统从第一车道转换到第二车道。作为该过程的一部分,交通工具计算系统能够确定自主交通工具将从自主交通工具的当前车道移动到另一车道。该确定能够基于来自远程服务系统的指令和/或基于与交通工具计算系统相关联的路径规划模块/系统的分析做出。交通工具计算系统能够从地图数据库访问与目标车道相关联的标称路径。交通工具计算系统能够基于自主交通工具的当前位置、速度和姿态来识别车道变更区。车道变更区能够是交通工具计算系统规划从当前车道变更到目标车道的区域。车道变更区距交通工具的距离和总尺寸能够基于多个因素来确定,多个因素包括但不限于自主交通工具的当前速度、行进路线中的其它对象的密度(例如,密集道路将导致更大的车道变更区以允许围绕其它行动者/对象导航的更大灵活性)、与环境本身相关联的因素(例如,如果当前车道结束,则将车道变更区放置在当前车道结束之前)等。
交通工具计算系统能够变更其内部存储的当前车道与目标车道之间的车道边界的表示以移除车道变更区内的车道边界。以这种方式,交通工具计算系统能够规划在车道变更区的同时横穿实际车道边界的路径。交通工具计算系统能够确定沿着目标标称路径的多个合并点。交通工具计算系统能够规划多个候选基本路径,每个候选基本路径表示从自主交通工具的当前位置到所确定的合并点之一的路线。
交通工具计算系统能够通过生成用于每个候选基本路径的成本值来评估每个候选基本路径。当生成与每个候选基本路径相关联的成本时,交通工具计算系统能够考虑的一个因素是候选基本路径的驾驶性。因此,交通工具计算系统能够分析每个候选基本路径以确定用于候选基本路径的最大加速度、速度、加加速度和/或转弯速率值。能够将这些值与针对这些值中的每一个的预定阈值进行比较,并且交通工具计算系统能够增加超过阈值的候选基本路径的成本。交通工具计算系统能够基于与多个候选基本路径相关联的成本来选择特定候选基本路径。交通工具计算系统然后能够使用该选择的基本路径来生成用于自主交通工具的运动规划。
在一些示例中,交通工具计算系统能够包括几何规划器。几何规划器能够访问用于自主交通工具周围区域的地图几何图形,包括但不限于标称路径和车道边界。几何规划器可以修改标称路径以在自主交通工具的当前位置和姿态与自主交通工具的目标路径或目的地之间转换。
更具体地,上述交通工具计算系统能够包括在自主交通工具(例如,基于地面的交通工具、航空交通工具等)中。例如,自主交通工具能够包括交通工具计算系统。交通工具计算系统能够负责创建有效控制自主交通工具所需的控制信号等其它功能。交通工具计算系统能够包括自主计算系统。自主计算系统能够包括一个或多个系统,其使得自主交通工具能够规划和/或遵循给定路线,接收关于环境的传感器数据,感知交通工具周围环境内的对象(例如,其它交通工具),预测周围环境内的对象的运动,并且基于路线/感知的对象/预测的对象运动来生成交通工具要遵循的轨迹。自主系统能够输出指示所生成的轨迹的数据,并且能够将对应的控制信号发送到(多个)交通工具控制系统(例如,加速,转向,制动等系统),以使自主交通工具能够自主地导航(例如,到其目标目的地)。
为了实现这些操作,自主计算系统能够包括例如感知系统、预测系统和运动规划系统。由感知系统、预测系统和运动规划系统执行的许多功能能够全部或部分地由一个或多个机器学习模型执行。此外,感知系统、预测系统、和/或运动规划系统(或与其相关联的功能)中的一个或多个能够被组合成单个系统和/或共享计算资源。
为了帮助维持对交通工具周围环境的意识,交通工具计算系统能够从一个或多个传感器(例如,LIDAR、RADAR、相机等)访问传感器数据以识别自主交通工具环境中的静态对象和/或动态对象(行动者)。为了帮助确定其在环境内(以及相对于这些对象)的位置,交通工具计算系统能够向(多个)结构化机器学习模型提供传感器数据。附加地或可替换地,自主交通工具能够访问地图数据(例如,高清晰度地图数据等)以确定自主交通工具相对于世界中的其它对象(例如,自行车、行人、其它交通工具、建筑物等)的当前位置,以及地图特征(诸如,例如,车道边界、路缘石等)。
自主交通工具的计算系统能够包括实现自主交通工具的软件图形架构的多个设备(例如,物理连接的设备、无线连接的设备、在物理机器上运行的虚拟设备等)。例如,计算设备能够实现帮助允许交通工具在其环境内自主地操作的交通工具的自主软件。每个设备能够包括被配置为运行一个或多个过程的计算节点。过程能够包括通过一个或多个有向边缘连接的多个功能节点(例如,软件功能),这些有向边缘指示多个功能节点之间的数据流。设备能够(例如,经由一个或多个处理器等)执行相应的多个功能节点以运行相应的过程。多个过程能够被共同地配置为执行计算系统的一个或多个任务或服务。为此,多个过程能够被配置为通过一个或多个通信信道(例如,有线和/或无线网络)彼此通信(例如,发送/接收消息)。作为示例,相对于交通工具的车载的计算系统,能够将其过程(以及它们各自的功能节点)组织成定向软件图形架构(例如,包括子图),能够执行该定向软件图形架构以通信和执行自主交通工具的操作(例如,用于自主地感测交通工具的环境,规划交通工具的运动等)。
交通工具计算系统能够利用传感器数据来识别自主交通工具的本地环境中的一个或多个对象。使用该传感器数据,交通工具计算系统能够生成描述自主交通工具附近的一个或多个对象的感知数据(例如,当前位置、速度、航向、形状/尺寸等)。
所生成的感知数据能够用于预测(多个)对象的未来运动。例如,交通工具计算系统能够使用感知数据来生成用于一个或多个对象的移动作为包括一个或多个未来坐标/点的对象轨迹的预测。在一些实施方式中,交通工具计算系统的感知和预测功能能够被包括在同一系统内。
交通工具计算系统能够使用感知数据、预测数据、地图数据和/或其它数据来生成交通工具的运动规划。如上所述,生成运动规划的一部分能够包括生成自主交通工具从当前位置到沿着目标标称路径的点的基本路径。标称路径能够表示通过环境或行进路而不考虑环境中的任何其他行动者的理想路径(例如,沿着车道中心往下行进的路径)。
基本路径能够描述针对自主交通工具从当前地点行进到目的地地点的特定路径。基本路径能够在远离自主交通工具并且通信到自主交通工具的系统处生成和/或自主交通工具能够车载地生成基本路径。交通工具计算系统能够生成自主交通工具在它经过基本路径时所遵循的潜在轨迹。每个潜在轨迹能够表示基本路径的变体,使得它能够沿着基本路径横向移位并且被指派特定速度曲线。能够生成多个潜在轨迹,使得基本路径的大量横向变体被考虑。每个潜在轨迹能够由自主交通工具可执行(例如,对于交通工具控制系统实现是可行的)。能够生成每个轨迹以包括特定量的行进时间(例如,8秒等)。
自主交通工具能够选择和实现用于自主交通工具导航路线的特定段的轨迹。例如,轨迹能够被平移并且提供给(多个)交通工具控制系统(例如,经由交通工具接口/控制器),该交通工具控制系统能够生成用于自主交通工具的特定控制信号(例如,改变转向、制动、速度等)。特定控制信号能够使自主交通工具根据所选择的轨迹移动。
自主交通工具的交通工具计算系统能够使用多步过程来生成自主交通工具的轨迹。在一些示例中,能够在周期外(例如,不是实时路径生成周期的一部分)执行该过程的一些步骤,并且在实时路径生成周期期间执行该过程的一些步骤。
周期外步骤能够包括生成用于多个潜在车道的车道几何形状,包括但不限于用于一个或多个车道的车道边界,确定用于每个车道的标称路径或中心线,和/或确定用于特别区域的任何其它相关因素。在一些示例中,生成车道几何形状可以由几何形状规划器来实现或辅助。除了生成车道几何形状之外,作为另一个周期外步骤,交通工具计算系统能够生成相关地理区域中的静态对象的列表,包括但不限于建筑物、标志、邮箱、其它半永久性固定设备等。当执行周期内路径规划时,交通工具计算系统能够访问车道几何形状(包括一个或多个标称路径)。
交通工具计算系统能够使用由交通工具计算系统的周期外部件提供的信息(例如,车道几何形状和静态障碍物信息)来生成用于自主交通工具的基本路径。
基本路径能够由基本路径生成系统生成。基本路径生成系统能够包括交通工具状态分析系统、合并点选择系统、几何形状修改系统和候选分析系统。
交通工具状态分析系统能够确定自主交通工具的当前状态。例如,交通工具状态分析系统能够确定自主交通工具的当前位置(例如,使用x,y坐标)、速度、航向、加速度和转弯半径。
一旦确定了自主交通工具的状态,合并点选择系统就能够生成多个候选合并点,在这些候选合并点处自主交通工具能够加入(或重新加入)目标标称路径。在一些示例中,合并点选择系统能够确定与加入目标标称路径相关联的车道变更区(例如,在自主交通工具正在变更车道的情况下)。在一些示例中,车道变更区是表示其中车道变更是可能的区域的车道几何形状的预定特征。在其它示例中,能够基于自主交通工具的位置和速度以及车道的几何形状来动态地确定车道变更区。因此,如果自主交通工具正在更快地行进,则合并点选择系统能够选择更大的车道变更区以向自主交通工具提供附加的灵活性。
在一些示例中,合并点能够是车道几何形状的现有特征。在这种情况下,合并点选择系统能够识别在所选择的车道变更区(或其附近)内的所有合并点。附加地或可替换地,合并点选择系统能够通过以下来生成合并点:识别沿着在车道变更区内的标称路径的初始点,并且然后通过递增地增加沿着标称路径的间隔距离来识别多个候选合并点,直到已经到达车道变更区的末端或者已经生成一定数量的合并点为止。
合并点选择系统能够过滤多个候选合并点以移除任何直接不合适的合并点。为此,合并点选择系统能够基于沿着标称路径的纵向距离来对候选合并点进行排序/优先化。合并点选择系统能够使用分类器来直接消除一些合并点。分类器能够将自主交通工具的速度(v)、自主交通工具的曲率(c)、到目标标称车道的横向距离(d)、和/或自主交通工具的当前航向与候选合并点处的目标航向之间的航向距离(dth)作为输入。合并点选择系统能够拟合函数回归器(F),使得s=F(d,v,c,dth)。如果候选合并点沿着标称路径的纵向距离大于s,则能够保留合并点。如果不是,则合并点选择系统能够根据考虑消除该点,因为太弯曲(例如,不太可能导致可驾驶的基本路径)。
一旦过滤了多个候选合并点,合并点选择系统能够生成用于每个剩余候选合并点的拟合多项式。生成拟合多项式在计算意义上相对便宜,正因如此,这样做的成本可以相对较小。针对每个拟合多项式,合并点选择系统能够确定相关联的拟合多项式是否与当前车道和目标车道确定的车道变更区之间的车道边界相交。如果不相交,则能够根据考虑消除合并点。
在一些示例中,能够选择与所确定的车道变更区内的车道边界相交的每个候选合并点以用于生成基本路径。这样,基本路径生成系统能够生成多个潜在基本路径。在其它示例中,合并点选择系统能够将一个或少量固定数量的候选合并点识别为最可能的候选。注意,如果基本路径生成不包括车道变更(例如,基本路径将自主交通工具校正回其已经遵循的标称路径),则不生成合并点。相反,合并点选择系统能够选择沿着标称路径(s)的点,其中s=s0+向上舍入(F(d,v,c,dth),1.0),其中S0是沿着当前标称路径的自主交通工具被预测要到的点。
一旦选择了一个或多个合并点,几何形状修改系统就能够确定自主交通工具是否将变更车道。在一些示例中,已经明确地指示基本路径生成系统通过交通工具计算系统或远程服务系统的另一部件来变更车道(例如,准备转弯或避免障碍物)。在其它示例中,基本路径生成系统能够基于对自主交通工具的当前位置和目标标称路径的地点的分析来确定车道变更是必需的。
在自主交通工具不变更车道的情况下,几何形状修改系统能够改变所存储的车道边界数据(例如,车道边界偏移)以遵循新路径返回到标称路径(例如,车道的中心线)。几何形状修改系统能够确定沿着从自主交通工具到沿着标称路径的点的所提议的基本路径的一系列点。对于每个点,几何形状修改系统能够通过从新路径上的点垂直地延伸出射线直到它与现有车道边界相交为止来计算新车道边界偏移值。该距离能够被设置为新车道边界偏移。
在自主交通工具正在变更车道的情况下,几何形状修改系统能够改变所存储的关于车道边界的信息以移除车道变更区内的车道边界。通过插入沿着每个所生成的基本路径所遵循的具有固定距离(例如,2.5米)的新车道偏移值,能够沿着一个或多个基本路径来确定新车道偏移。
一旦基本路径生成系统已经生成了一个或多个基本路径,则候选分析系统能够评估每个候选基本路径以确定候选基本路径是否满足一个或多个驾驶性标准。驾驶性标准能够包括速度、加速度、转弯半径等的限制。候选分析能够选择满足驾驶性标准的一个或多个基本路径。
一个或多个基本路径能够被传送到空间路径生成器。空间路径生成器能够生成多个横向偏移曲线。每个横向偏移曲线表示从一个或多个基本路径改变的距离。因此,每个基本路径能够具有基于横向偏移曲线中的值从原始基本路径横向改变的多个相关联的候选轨迹。此外,能够生成多个速度曲线(其描述自主交通工具在沿着基本路径的每个点处的目标速度)。能够基于基本路径、偏移曲线和/或速度曲线的不同组合来生成多个候选轨迹。
一旦已经生成了多个候选轨迹,就能够基于多个成本确定函数为每个轨迹指派成本。交通工具计算系统能够选择具有最低总成本的候选轨迹并且将其实现为控制自主交通工具的交通工具控制命令。
下面提供了本文描述的技术的端到端示例。自主交通工具能够包括交通工具计算系统。交通工具计算系统能够获得目标标称路径。在一些示例中,能够从与自主交通工具相关联的远程服务器系统接收目标标称路径。交通工具计算系统能够确定自主交通工具的当前姿态。自主交通工具的当前姿态能够包括当前位置和当前航向。自主交通工具的当前位置能够与第一车道相关联并且目标标称路径可以与第二车道相关联。例如,如果自主交通工具正在变更车道以进行转弯,则当前车道和目标车道能够是两条不同的车道。在一些示例中,车道边界将第一车道和第二车道分开。
交通工具计算系统能够基于自主交通工具的当前姿态和目标标称路径来确定车道变更区。在一些示例中,交通工具计算系统能够通过生成与自主交通工具和目标标称路径相关联的速度数据来确定车道变更区。交通工具计算系统能够基于速度数据来确定纵向规划。在一些示例中,能够至少部分地基于纵向规划来确定车道变更区。
交通工具计算系统能够确定在目标标称路径上的一个或多个合并点。交通工具计算系统能够识别沿着车道变更区内的目标标称路径的初始点。交通工具计算系统能够识别在沿着目标标称路径距初始点的预定距离处的第一合并点。
交通工具计算系统能够通过从第一合并点开始并且识别沿着目标标称路径的附加合并点来识别附加合并点。在一些示例中,一个或多个合并点之间的距离间隔保持恒定。交通工具计算系统能够对一个或多个合并点进行过滤以移除落在距车道变更区的预定阈值距离之外的任何合并点。
交通工具计算系统能够针对一个或多个合并点中的每个相应合并点来生成从自主交通工具的当前姿态到相应合并点的候选基本路径。交通工具计算系统能够生成用于每个候选基本路径的适合性分类。
交通工具计算系统能够针对每个候选基本路径来确定与候选基本路径相关联的加速度率是否超过预定加速度阈值。适合性分类能够至少部分地基于加速度率是否超过预定加速度阈值。针对每个候选基本路径,交通工具计算系统确定候选基本路径的最大转弯速率是否超过预定转弯阈值。适合性分类能够至少部分地基于最大转弯速率是否超过预定转弯阈值。在一些示例中,能够通过确定候选基本路径的曲率来测量候选基本路径的转弯速率。为此,交通工具计算系统能够生成多项式,该多项式遵循由多项式描述的线路的至少一部分的候选基本路径。能够对多项式(例如,拟合多项式)进行评估以确定其曲率并且确定一阶导数、二阶导数、三阶导数和其它阶导数。因此,如果到该路径的多项式拟合表示自主交通工具位置的变化,则一阶导数能够表示其速度,二阶导数能够表示其加速度,等等。转弯速率阈值能够表示拟合多项式的曲率的最大值或其任何导数。在一些示例中,预定转弯阈值或曲率阈值能够基于自主交通工具(例如方向盘)的转向机构能够旋转的最大速率。
交通工具计算系统能够至少部分地基于一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择一个或多个候选基本路径。交通工具计算系统能够基于所选择的候选基本路径来生成用于自主交通工具的多个候选轨迹。
交通工具计算系统能够确定与自主交通工具的多个候选轨迹中的每个候选轨迹相关联的成本。交通工具计算系统能够基于与自主交通工具的多个候选轨迹相关联的成本来选择候选轨迹。交通工具计算系统能够将所选择的候选轨迹转换成由自主交通工具实现的一个或多个交通工具控制。
各种装置能够被配置为执行本文中所描述的方法和过程。例如,计算系统能够包括(多个)路径获得单元、(多个)姿态确定单元、(多个)区识别单元、(多个)合并点确定单元、(多个)路径生成单元、(多个)分类单元、(多个)选择单元、和/或用于执行本文描述的操作和功能的其它装置。在一些实施方式中,单元中的一个或多个可以单独地实施。在一些实施方式中,一个或多个单元可以是一个或多个其它单元的一部分或被包括在一个或多个其它单元中。这些装置能够包括(多个)处理器、(多个)微处理器、(多个)图形处理单元、(多个)逻辑电路、(多个)专用电路、(多个)专用集成电路、可编程阵列逻辑、(多个)现场可编程门阵列、(多个)控制器、(多个)微控制器、和/或其他合适的硬件。装置还能够或可替代地包括例如用处理器或逻辑电路系统实现的软件控制装置。装置能够包括或以其它方式能够访问存储器,诸如,例如一个或多个非暂时性计算机可读存储介质,诸如随机存取存储器、只读存储器、电可擦除可编程只读存储器、(多个)可擦除可编程只读存储器、(多个)闪存/其它存储器设备、(多个)数据寄存器、(多个)数据库、和/或其它合适硬件。
装置能够被编程以执行用于执行本文描述的操作和功能的一个或多个算法。例如,装置能够被配置为获得目标标称路径。例如,交通工具计算系统能够从存储在可访问计算系统中的地图数据库访问目标标称路径数据。路径获得单元是用于获得目标标称路径的装置的一个示例。
装置能够被配置为确定自主交通工具的当前姿态。例如,交通工具计算系统能够确定自主交通工具的地点、速度和航向。姿态确定单元是用于确定自主交通工具的当前姿态的装置的一个示例。
装置能够被配置为基于自主交通工具的当前姿态和目标标称路径来确定车道变更区。例如,交通工具计算系统能够基于车道的特性和自主交通工具的速度和姿态来确定沿着车道变更区开始和结束处的车道的特定距离。区识别单元是用于基于自主交通工具的当前姿态和目标标称路径来确定车道变更区的装置的一个示例。
装置能够被配置为确定在目标标称路径上的一个或多个合并点。例如,交通工具计算系统能够识别构成标称路径的一系列坐标。交通工具计算系统能够从落在车道变更区内的标称路径中识别每个坐标作为潜在合并点。能够对潜在合并点进行过滤以移除任何不合适的合并点。合并点确定单元是用于确定在目标标称路径上的一个或多个合并点的装置的一个示例。
装置能够被配置为,针对一个或多个合并点中的每个相应合并点,生成从自主交通工具的当前姿态到相应合并点的候选基本路径。例如,交通工具计算系统能够规划从自主交通工具到每个候选合并点的路径。路径生成单元是用于针对一个或多个合并点中的每个相应合并点来生成从自主交通工具的当前姿态到相应合并点的候选基本路径的装置的一个示例。
装置能够被配置为生成用于每个候选基本路径的适合性分类。例如,交通工具计算系统能够评估候选基本路径的最大加速度率、速度和/或转弯速率。分类单元是用于生成用于每个候选基本路径的适合性分类的装置的一个示例。
装置能够被配置为基于一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择候选基本路径。例如,交通工具计算系统能够选择最适于到达在目标标称路径上的点的基本路径。选择单元是用于基于在一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择候选基本路径的装置的一个示例。
本文描述的系统和方法提供了许多技术效果和益处。更具体地,本公开的系统和方法提供了用于执行与自主交通工具相关联的路径规划功能的改进的技术。具体地,生成用在如上所述的路径规划系统中的基本路径的基本路径生成系统能够允许自主交通工具更有效地行进通过环境并且安全地对事件和/或障碍物作出反应。结果,路径规划系统能够更有效地规划路径并且选择适当轨迹。这导致必需的处理周期数减少,所需的数据存储量减少,以及系统所使用的能量减少。减少能量消耗还增加了包括在自主交通工具中的任何电池系统的有用电池寿命。
参考附图,将更详细地讨论本公开的示例实施例。
图1描绘了根据本公开的示例方面的用于控制交通工具并且与交通工具通信的示例系统100的框图。如图所示,图1示出了能够包括交通工具105和与交通工具105相关联的交通工具计算系统110的系统100。交通工具计算系统100能够车载地位于交通工具105(例如,它能够包括在交通工具105上和/或交通工具105内)。
包含交通工具计算系统100的交通工具105能够是各种类型的交通工具。例如,交通工具105能够是自主交通工具。交通工具105能够是基于地面的自主交通工具(例如,汽车、卡车、公共汽车等)。交通工具105能够是基于空气的自主交通工具(例如,飞机、直升机、垂直起飞和升降(VTOL)飞机等)。交通工具105能够是轻型的可选交通工具(例如,自行车、滑板车等)。交通工具105能够是另一种类型的交通工具(例如,船只等)。交通工具105能够以来自人类操作员(例如,驾驶员、飞行员等)的最小交互和/或没有交互来驾驶,导航,操作等。在一些实施方式中,能够从交通工具105中省略(和/或从交通工具105的远程控制中省略)人类操作员。在一些实施方式中,能够在交通工具105中包括人类操作员。
交通工具105能够被配置为在多个操作模式下操作。交通工具105能够被配置为在完全自主(例如,自驾驶)操作模式下操作,在该模式下,交通工具105在没有用户输入的情况下是可控的(例如,能够在没有来自交通工具105中存在和/或远离交通工具105的人类操作员的输入的情况下驾驶和导航)。交通工具105能够在半自主操作模式下操作,在该模式下,交通工具105能够利用来自交通工具105中存在的人类操作员(和/或远离交通工具105的操作员)的一些输入来操作。交通工具105能够进入手动操作模式,在手动操作模式中,交通工具105可以由人类操作员(例如,人类驾驶员、飞行员等)完全控制,并且能够(例如,临时,永久等)禁止和/或禁用执行自主导航(例如,自主驾驶、飞行等)。交通工具105能够被配置为以其它模式(诸如,例如,停车和/或睡眠模式(例如,用于诸如等待提供交通工具服务、再充电等任务/动作之间的使用))操作。在一些实施方式中,交通工具105能够实现交通工具操作辅助技术(例如,碰撞减轻系统、助力转向等),例如,以帮助交通工具105的人类操作员(例如,在手动模式下等)。
为了帮助维护和在操作模式之间切换,交通工具计算系统110能够将指示交通工具105的操作模式的数据存储在交通工具105车载的存储器中。例如,操作模式能够由指示交通工具105的一个或多个操作参数的操作模式数据结构(例如,规则、列表、表等)来定义,同时处于特定操作模式。例如,操作模式数据结构能够指示当处于完全自主操作模式时交通工具105将自主地规划其运动。当实现操作模式时,交通工具计算系统110能够访问存储器。
能够以多种方式调整交通工具105的操作模式。例如,交通工具105的操作模式能够在交通工具105之外被远程地选择。例如,(与交通工具105相关联的交通工具提供商和/或服务实体的)远程计算系统能够将数据通信到交通工具105以指示交通工具105对操作模式进入,退出,维护等。作为示例,这种数据能够指示交通工具105进入完全自主操作模式。
在一些实施方式中,交通工具105的操作模式能够被车载地设置和/或被设置在交通工具105附近。例如,交通工具计算系统110能够自动地确定交通工具105何时和从何处对特定操作模式进入,改变,维护等(例如,没有用户输入)。附加地或可替换地,交通工具105的操作模式能够经由车载地位于交通工具105的一个或多个接口(例如,键开关、按钮等)和/或与靠近交通工具105的计算设备(例如,由位于交通工具105附近的授权人员操作的平板)相关联来手动选择。在一些实施方式中,能够通过按照特定顺序操纵一系列接口来调整交通工具105的操作模式以使交通工具105进入特定操作模式。
交通工具计算系统110能够包括车载地位于交通工具105上的一个或多个计算设备。例如,(多个)计算设备能够位于交通工具105上和/或交通工具105内。(多个)计算设备能够包括用于执行各种操作和功能的各种部件。例如,(多个)计算设备能够包括一个或多个处理器以及一个或多个有形的非暂时性的计算机可读介质(例如,存储器设备等)。一个或多个有形的非暂时性的计算机可读介质能够存储指令,该指令在由一个或多个处理器执行时使交通工具105(例如,其计算系统、一个或多个处理器等)执行操作和功能,诸如本文所述的用于控制自主交通工具,与其它计算系统通信等的那些操作和功能。
交通工具105能够包括被配置为允许交通工具计算系统110(及其(多个)计算设备)与其它计算设备通信的通信系统115。通信系统115能够包括用于与一个或多个网络120对接的任何合适的部件,包括例如发射器、接收器、端口、控制器、天线、和/或能够帮助促进通信的其它合适的部件。在一些实施方式中,通信系统115能够包括允许其实现和利用多输入多输出(MIMO)技术和通信技术的多个部件(例如,天线、发射器和/或接收器)。
交通工具计算系统110能够使用通信系统115通过一个或多个网络120(例如,经由一个或多个无线信号连接)与远离交通工具105的一个或多个计算设备通信。(多个)网络120能够交换(发送或接收)信号(例如,电子信号)、数据(例如,来自计算设备的数据)、和/或其它信息,并且包括各种有线(例如,双绞线线缆)和/或无线通信机制(例如,蜂窝、无线、卫星、微波和射频)、和/或任何期望的网络拓扑(或多种拓扑)的任何组合。例如,(多个)网络120能够包括局域网(例如,内联网)、广域网(例如,因特网)、无线LAN网络(例如,经由Wi-Fi)、蜂窝网络、SATCOM网络、VHF网络、HF网络、基于WiMAX的网络、和/或用于向交通工具105和/或从交通工具105和/或在计算系统之间传送数据的任何其它合适的通信网络(或其组合)。
在一些实施方式中,通信系统115还能够被配置为使交通工具105能够与关联于用户125和/或项目(例如,要拾取的用于客服服务的项目)的远程计算设备通信和/或向该远程计算设备提供数据和/或信号和/或从该远程计算设备接收数据和/或信号。例如,通信系统115能够允许交通工具105定位用户125的用户设备130和/或与用户125的用户设备130交换通信。在一些实施方式中,通信系统115能够允许在交通工具105上的一个或多个系统之间进行通信。
如图1所示,交通工具105能够包括一个或多个传感器135、自主计算系统140、交通工具接口145、一个或多个交通工具控制系统150和其它系统,如本文所述。这些系统中的一个或多个能够被配置为经由一个或多个通信信道彼此通信。(多个)通信信道能够包括一个或多个数据总线(例如,控制器局域网(CAN))、车载诊断连接器(例如,OBD-II)、和/或有线和/或无线通信链路的组合。车载系统能够经由(多个)通信信道在彼此之间发送和/或接收数据、消息、信号等。
(多个)传感器135能够被配置为获取传感器数据155。(多个)传感器135能够是被配置为获取外部传感器数据的外部传感器。这能够包括与交通工具105的周围环境相关联的传感器数据。交通工具105的周围环境能够包括/表示在(多个)传感器135的视场中。例如,(多个)传感器135能够在交通工具105外部并且在一个或多个传感器135的范围和/或视场内获取环境的图像和/或其它数据。(多个)传感器135能够包括一个或多个光检测和测距(LIDAR)系统、一个或多个无线电检测和测距(RADAR)系统、一个或多个相机(例如,可见光谱相机、红外相机等)、一个或多个运动传感器、一个或多个音频传感器(例如,麦克风等)、和/或其它类型的成像捕获设备和/或传感器。一个或多个传感器能够位于交通工具105的各个部位上,其包括交通工具105的前侧、后侧、左侧、右侧、顶部和/或底部。传感器数据155能够包括图像数据(例如,2D相机数据、视频数据等)、RADAR数据、LIDAR数据(例如,3D点云数据等)、音频数据、和/或其它类型的数据。交通工具105还能够包括被配置为获取与交通工具105相关联的数据的其它传感器。例如,交通工具105能够包括(多个)惯性测量单元、车轮里程计设备、和/或其它传感器。
在一些实施方式中,(多个)传感器135能够包括一个或多个内部传感器。(多个)内部传感器能够被配置为获取与交通工具105的内部相关联的传感器数据155。例如,(多个)内部传感器能够包括一个或多个相机、一个或多个红外传感器、一个或多个运动传感器、一个或多个重量传感器(例如,在座位中、在行李箱中等),和/或其它类型的传感器。经由(多个)内部传感器获取的传感器数据155能够包括例如指示乘客或位于交通工具105的内部(例如,机舱、行李箱等)内的物品的位置的图像数据。该信息能够用于,例如,确保乘客的安全、防止乘客遗留物品、确认交通工具105的清洁,远程辅助乘客等。
在一些实施方式中,传感器数据155能够指示交通工具105的周围环境内的一个或多个对象。(多个)对象能够包括,例如,交通工具、行人、自行车和/或其它对象。(多个)对象能够位于交通工具105的前面、后面、侧面、上方、下方等。传感器数据155能够指示在一个或多个时间与交通工具105的周围环境内的(多个)对象相关联的位置。(多个)对象能够是交通工具的环境中的静态对象(例如,不在运动中)和/或动态对象/行动者(例如,在运动中或可能在运动中)。(多个)传感器135能够向自主计算系统140提供传感器数据155。
除了传感器数据155之外,自主计算系统140能够获得地图数据160。地图数据160能够提供关于交通工具105的周围环境和/或交通工具过去所在、现在所在和/或将来所在的地理区域的详细信息。例如,地图数据160能够提供关于以下的信息:不同道路、路段、建筑物或其它物品或对象(例如,灯柱、人行道和/或路缘石)的标识和位置;交通车道的位置和方向(例如,停车道、转弯车道、自行车道或特定道路内的其它车道或其它行进路和/或与其相关联的一个或多个边界标记的位置和方向);交通控制数据(例如,标志牌、交通灯和/或其它交通控制设备的位置和指令);阻碍信息(例如,临时或永久阻塞等);事件数据(例如,由于旁观者、音乐会、体育事件等引起的道路闭合/交通规则变更);标称交通工具路径数据(例如,指示诸如沿着某一车道的中心等的理想交通工具路径);和/或提供帮助交通工具计算系统110处理,分析和感知其周围环境及其关系的信息的任何其它地图数据。在一些实施方式中,地图数据160能够包括高清晰度地图数据。在一些实施方式中,地图数据160能够包括指示有限数量的环境特征(例如,车道边界等)的稀疏地图数据。在一些实施方式中,地图数据能够被限制到交通工具105(或通常自主交通工具)可以在其中行进的(多个)地理区域和/或操作域(例如,由于法律/管理约束、自主能力和/或其它因素)。
交通工具105能够包括定位系统165。定位系统165能够确定交通工具105的当前位置。这能够帮助交通工具105将其自身定位在其环境内。定位系统165能够是用于分析交通工具105的位置的任何设备或电路系统。例如,定位系统165能够通过使用惯性传感器(例如,(多个)惯性测量单元等)、卫星定位系统、基于IP地址、通过使用三角测量和/或与网络接入点或其它网络部件(例如,蜂窝塔、WIFI接入点等)接近度中的一个或多个和/或其它合适的技术来确定位置。交通工具105的位置能够由交通工具计算系统110的各种系统使用和/或提供给远程计算系统。例如,地图数据160能够向交通工具105提供交通工具105的周围环境的元素的相对位置。交通工具105能够至少部分地基于地图数据160来识别其在周围环境内(例如,跨六个轴等)的位置。例如,交通工具计算系统110能够处理传感器数据155(例如,LIDAR数据、相机数据等)以将其与周围环境的地图进行匹配,从而获得对交通工具在该环境内的位置的理解。指示交通工具的位置的数据能够由自主计算系统140存储,通信和/或以其它方式获得。
自主计算系统140能够执行用于自主地操作交通工具105的各种功能。例如,自主计算系统140能够执行以下功能:感知170A、预测170B和运动规划170C。例如,自主计算系统140能够经由(多个)传感器135获得传感器数据155,处理传感器数据155(和/或其它数据)以感知其周围环境,预测周围环境内的对象的运动,并且通过这种周围环境来生成适当的运动规划。在一些实施方式中,这些自主功能能够由一个或多个子系统(诸如,例如感知系统、预测系统、运动规划系统,和/或其它系统)来执行,这些系统协作以感知交通工具105的周围环境并且相应地确定用于控制交通工具105的运动的运动规划。在一些实施方式中,感知、预测和/或运动规划功能170A,170B,170C中的一个或多个能够由同一系统和/或经由共享计算资源来执行(和/或组合到其中)。在一些实施方式中,能够经由不同的子系统来执行这些功能中的一个或多个。如本文进一步描述的,自主计算系统140能够与一个或多个交通工具控制系统150通信以根据运动规划(例如,经由交通工具接口145等)来操作交通工具105。
交通工具计算系统110(例如,自主计算系统140)能够至少部分地基于来自传感器135的传感器数据和/或地图数据160来识别交通工具105的周围环境内的一个或多个对象。在周围环境内感知的对象能够是在(多个)传感器135的视场内和/或被预测为从(多个)传感器135遮挡的那些对象。这能够包括不在运动中或被预测不移动的(多个)对象(静态对象)和/或在运动中或被预测在运动中的(多个)对象(动态对象/行动者)。交通工具计算系统110(例如,使用感知系统等来执行感知功能170C)能够处理传感器数据155、地图数据160等以获得感知数据175A。交通工具计算系统110能够生成感知数据175A,该感知数据175A指示交通工具105的周围环境内的一个或多个对象的一个或多个状态(例如,当前和/或过去(多个)状态)。例如,每个对象的感知数据175A能够描述(例如,针对给定时间、时间段)对象的以下各项的估计:当前和/或过去地点(也称为位置);当前和/或过去速度(speed)/速度(velocity);当前和/或过去加速度;当前和/或过去航向;当前和/或过去定向;尺寸/占用面积(例如,由边界形状、对象突显等表示);类别(例如,行人类别对比交通工具类别对比自行车类别等),与其相关联的不确定性、和/或其它状态信息。交通工具计算系统110能够利用一个或多个算法和/或(多个)机器学习模型,其被配置为至少部分地基于传感器数据155来识别(多个)对象。这能够包括,例如,一个或多个被训练为识别交通工具105的周围环境内的(多个)对象和与其相关联的状态数据的神经网络。感知数据175A能够用于自主计算系统140的预测功能170B。
交通工具计算系统110能够被配置为预测交通工具105的周围环境内的(多个)对象的运动。例如,交通工具计算系统110能够生成与这种(多个)对象相关联的预测数据175B。预测数据175B能够指示每个相应对象的一个或多个预测未来地点。例如,预测系统170B能够确定预测相应对象随时间行进所沿着的预测运动轨迹。预测运动轨迹能够指示对象被预测要穿过的路径以及对象被预测要沿着该路径行进的相关联定时。预测路径能够包括多个路点和/或由多个路点组成。在一些实施方式中,预测数据175B能够指示相应对象被预测为沿着其相关联的预测运动轨迹行进的速度和/或加速度。交通工具计算系统110能够利用一个或多个算法和/或(多个)机器学习模型,这些算法和/或(多个)机器学习模型被配置为至少部分地基于传感器数据155、感知数据175A、地图数据160、和/或其它数据来预测(多个)对象的未来运动。这能够包括,例如,一个或多个神经网络,其被训练以至少部分地基于那些对象的过去和/或当前(多个)状态以及对象所处的环境(例如,其行进的车道边界等)来预测(多个)对象在交通工具105的周围环境内的运动。预测数据175B能够用于自主计算系统140的运动规划功能170C。
交通工具计算系统110能够至少部分地基于感知数据175A、预测数据175B、和/或其它数据来确定交通工具105的运动规划。例如,交通工具计算系统110能够生成指示运动规划的运动规划数据175C。运动规划能够包括相对于交通工具105的周围环境内的一个或多个对象的交通工具动作(例如,(多个)速度、(多个)加速度、其它动作等)以及对象的预测运动。运动规划能够包括指示交通工具105所遵循的路径的一个或多个交通工具运动轨迹。交通工具运动轨迹可以是一定长度和/或时间范围。交通工具运动轨迹能够由一个或多个路点(具有相关联坐标)来定义。所规划的交通工具运动轨迹能够指示交通工具105在其穿过从一个地点到另一个地点的路线时要遵循的路径。因此,当执行运动规划功能170C时,交通工具计算系统110能够考虑路线/路线数据。
运动规划功能170C能够实现优化算法、机器学习模型等,其考虑与交通工具动作相关联的成本数据以及其它目标函数(例如,基于速度限制、交通灯等的成本函数)(如果有的话),以确定组成运动规划的优化变量。交通工具计算系统110能够确定交通工具105能够执行某种动作(例如,通过对象等),而不增加交通工具105的潜在风险和/或违反任何交通法规(例如,速度限制、车道边界、标志牌等)。例如,交通工具计算系统110能够在其成本数据分析期间评估一个或多个对象的预测运动轨迹以帮助确定通过周围环境的优化交通工具轨迹。运动规划功能170C能够生成与这种轨迹相关联的成本数据。在一些实施方式中,预测运动轨迹和/或感知对象中的一个或多个可能最终不改变交通工具105的运动(例如,由于决定性因素)。在一些实施方式中,运动规划可以定义交通工具的运动,使得交通工具105避开(多个)对象,降低速度以向一个或多个对象提供更多余地,谨慎地进行,执行停止动作,通过对象,在对象之后/之前排队等。
交通工具计算系统110能够被配置为连续地更新交通工具的运动规划和对应的规划交通工具运动轨迹。例如,在一些实施方式中,交通工具计算系统110能够针对交通工具105生成新运动规划数据175C/(多个)运动规划(例如,每秒多次等)。每个新运动规划能够描述交通工具105在下一个规划时段(例如,下一个几秒等)内的运动。此外,新运动规划可以包括新规划的交通工具运动轨迹。因此,在一些实施方式中,交通工具计算系统110能够基于当前可用的数据连续地操作以修改或以其它方式生成短期运动规划。一旦优化规划器已经识别最优运动规划(或发生一些其它迭代中断),则能够由交通工具105选择和执行最优运动规划(和所规划的运动轨迹)。
交通工具计算系统110能够使交通工具105根据运动规划数据175C的至少一部分来发起运动控制。运动控制能够是与控制交通工具105的运动相关的操作、动作等。例如,运动规划数据175C能够提供给交通工具105的(多个)交通工具控制系统150。(多个)交通工具控制系统150能够与被配置为实现运动规划的交通工具接口145相关联。交通工具接口145能够用作交通工具105的自主计算系统140和交通工具控制系统150以及与其相关联的任何电气/机械控制器之间的接口/管道。例如,交通工具接口145能够将运动规划转换为用于适当交通工具控制部件(例如,加速度控制、制动控制、转向控制等)的指令。作为示例,交通工具接口145能够将所确定的运动规划转换成用于将交通工具105的转向调整“X”度、施加一定大小的制动力、增速/降速等指令。交通工具接口145能够帮助促进可靠的交通工具控制(例如,制动控制系统、转向控制系统、加速度控制系统等)以执行指令并且实现运动规划(例如,通过发送(多个)控制信号,使转换后的规划可用等)。这能够允许交通工具105在交通工具的周围环境内自主行进。
交通工具计算系统110能够存储其它类型的数据。例如,指示交通工具的状态(例如,其地点、运动轨迹健康信息等)、交通工具的一个或多个用户(例如,乘客、操作员等)的状态、和/或包括一个或多个对象的环境的状态(例如,一个或多个对象的物理维度和/或外观、地点、预测运动等)的指示、记录和/或其它数据能够本地存储在交通工具105的一个或多个存储器设备中。附加地,交通工具105能够将指示交通工具状态,交通工具的一个或多个乘客的状态、和/或环境的状态的数据通信到远离交通工具105的计算系统,该计算系统能够将这种信息存储在远离交通工具105的一个或多个存储器中。此外,交通工具105能够向另一交通工具提供在交通工具105上车载地创建和/或存储的任何数据。
交通工具计算系统110能够包括一个或多个交通工具用户设备180。例如,交通工具计算系统110能够包括具有车载地位于交通工具105的一个或多个显示设备的一个或多个用户设备。显示设备(例如,平板计算机、膝上型计算机和/或智能电话的屏幕)能够由位于交通工具105前面(例如,驾驶员座位、前乘客座位)的交通工具105的用户可观看。附加地或可替换地,显示设备能够由位于交通工具105后面(例如,后排乘客座位)的交通工具105的用户可观看。与显示设备相关联的(多个)用户设备能够是任何类型的用户设备,例如平板计算机、移动电话、膝上型计算机等。(多个)交通工具用户设备180能够被配置为用作人机接口。例如,(多个)交通工具用户设备180能够被配置为获得用户输入,该用户输入然后能够被交通工具计算系统110和/或另一计算系统(例如,远程计算系统等)利用。例如,交通工具105的用户(例如,用于运输服务的乘客、交通工具操作员等)能够提供用户输入以调整交通工具105的目的地地点。交通工具计算系统110和/或另一计算系统能够更新交通工具105的目的地地点和与其相关联的路线以反映由用户输入指示的变化。
交通工具105能够被配置为针对一个或多个不同的服务实体185执行交通工具服务。交通工具105能够通过例如并且如本文进一步描述的那样行进(例如自主地行进)到与所请求的交通工具服务相关联的地点来执行交通工具服务,从而允许(多个)用户和/或(多个)物品登机或以其他方式进入交通工具105,运输(多个)用户和/或(多个)物品,允许(多个)用户和/或(多个)物品下机或以其他方式离开交通工具105等。这样,交通工具105能够向用户提供用于服务实体的(多个)交通工具服务。
服务实体185能够与一个或多个交通工具服务的提供相关联。例如,服务实体能够是个人、个人群组、公司(例如,商业实体、组织等)、实体群组(例如,附属公司)、和/或向一个或多个用户提供和/或协调一个或多个交通工具服务的提供的另一类型的实体。例如,服务实体能够经由一个或多个软件应用(例如,下载到用户计算设备上),经由网站和/或经由允许用户请求交通工具服务的其它类型的接口向用户提供(多个)交通工具服务。如本文所述,交通工具服务能够包括运输服务(例如,交通工具通过其将(多个)用户从一个地点运输到另一个地点)、递送服务(例如,交通工具通过其将(多个)物品运输/递送到所请求的目的地地点)、客运服务(例如,交通工具通过其从所请求的原始地点检索(多个)物品并且将物品运输/递送到所请求的目的地地点)、和/或其它类型的服务。交通工具服务能够全部地由交通工具105执行(例如,从用户/物品起点行进到最终目的地等)或由一个或多个交通工具和/或运输模式执行(例如,在中间转移点转移用户/物品等)。
服务实体185的操作计算系统190A能够帮助协调由自主交通工具执行的交通工具服务。操作计算系统190A能够包括和/或实现服务实体的一个或多个服务平台。操作计算系统190A能够包括一个或多个计算设备。(多个)计算设备能够包括用于执行各种操作和功能的各种部件。例如,(多个)计算设备能够包括一个或多个处理器以及一个或多个有形的非暂时性的计算机可读介质(例如,存储器设备等)。一个或多个有形的非暂时性的计算机可读介质能够存储指令,该指令在由一个或多个处理器执行时使得操作计算系统190A(例如,它是一个或多个处理器等)执行操作和功能,诸如本文描述的匹配用户和交通工具/交通工具车队,部署交通工具,促进经由自主交通工具提供交通工具服务等的那些操作和功能。
用户125能够从服务实体185请求交通工具服务。例如,用户125能够向用户设备130提供用户输入以请求交通工具服务(例如,经由与在用户设备130上运行的服务实体185的移动软件应用相关联的用户接口)。用户设备130能够将指示交通工具服务请求195的数据通信到与服务实体185相关联的操作计算系统190A(和/或然后能够将数据通信到操作计算系统190A的另一个相关联的计算系统)。交通工具服务请求195能够与用户相关联。相关联的用户能够是提交交通工具服务请求(例如,经由用户设备130上的应用)的用户。在一些实施方式中,用户可以不是提交交通工具服务请求的用户。交通工具服务请求能够指示用户。例如,交通工具服务请求能够包括与用户和/或用户与服务实体185的简档/帐户相关联的标识符。交通工具服务请求195能够以避免使用个人可识别信息和/或允许用户控制包括在交通工具服务请求195中的信息类型的方式生成。交通工具服务请求195也能够以安全方式生成、通信、存储等以保护信息。
交通工具服务请求195能够指示各种类型的信息。例如,交通工具服务请求195能够指示期望的交通工具服务的类型(例如,运输服务、递送服务、客运服务等)、一个或多个地点(例如,原始地点、目的地地点等)、定时约束(例如,上车时间、下车时间、截止时间等)、和/或地理约束(例如,要停留在某个区域内等等)。服务请求195能够指示交通工具的类型/尺寸/类别,例如轿车、SUV、豪华交通工具、标准交通工具等。服务请求195能够指示服务实体185的产品。例如,服务请求195能够指示用户正在请求运输池产品,通过该运输池产品用户将潜在地与其他用户/项目共享交通工具(和成本)。在一些实施方式中,服务请求195能够明确地请求由自主交通工具或人驾驶的交通工具提供的交通工具服务。在一些实施方式中,服务请求195能够指示将在交通工具中乘坐/利用交通工具服务的多个用户。在一些实施方式中,服务请求195能够指示相关联的用户的偏好/特殊适应(例如,音乐偏好、气候偏好、轮椅可访问性等)和/或其它信息。
服务实体185的操作计算系统190A能够处理指示交通工具服务请求195的数据并且生成与交通工具服务请求相关联的交通工具服务指派。操作计算系统能够识别可以能够向用户195执行所请求的交通工具服务的一个或多个交通工具。操作计算系统190A能够针对所请求的交通工具服务(例如,轻型电动交通工具、人驾驶的交通工具、自主交通工具、航空交通工具等)和/或用户完成交通工具服务的潜在行程的运输模式/一段行程的数量(例如,单个或多个模式,单个或多段行程等)来识别哪些运输模式可以用于用户。例如,操作计算系统190A能够确定哪个(哪些)自主交通工具与服务实体185在线(例如,可以用于交通工具服务指派,寻址交通工具服务指派等)以帮助识别哪个(哪些)自主交通工具能够提供交通工具服务。
操作计算系统190A和/或交通工具计算系统110能够与远离交通工具105的一个或多个其它计算系统190B通信。这能够包括,例如,与政府功能(例如,紧急服务、管理机构等)相关联的计算系统、与除了服务实体之外的交通工具提供商相关联的计算系统、其它交通工具(例如,其它自主交通工具、航空交通工具等)的计算系统。与其它计算系统190B的通信能够经由(多个)网络120发生。
图2A描绘了包括本公开的计算系统的多个设备(例如,多个设备205A-N)中的一个或多个的示例计算系统200的图。多个设备205A-N能够包括被配置为通过一个或多个有线和/或无线通信信道(例如,有线和/或无线网络)进行通信的一个或多个设备。每个设备(例如,205A)能够与类型、操作系统250和/或一个或多个指定任务相关联。例如,类型能够包括对相应设备205A的一个或多个指定任务的指示。例如,一个或多个指定任务能够包括执行计算系统200的一个或多个过程220A-N和/或服务。
多个设备205A-N中的每个设备205A能够包括和/或访问一个或多个处理器255和/或一个或多个存储器260(例如,RAM存储器、ROM存储器、高速缓冲存储器、闪存等)。一个或多个存储器260能够包括一个或多个有形的非暂时性的计算机可读指令,其在由一个或多个处理器255执行时使设备205A执行一个或多个操作。操作能够包括,例如,执行计算系统200的多个过程中的一个或多个。例如,每个设备205A能够包括被配置为运行多个过程中的一个或多个过程220A-N的计算节点。
例如,设备205A能够包括编排服务210。编排服务210能够包括设备205A的启动过程。编排服务210例如能够包括操作系统服务(例如,作为操作系统250的一部分运行的服务)。附加地或者可替换地,编排服务能够包括gRPC服务。设备205A能够运行编排服务210以配置和启动设备205A的过程220A-220N。在一些实施方式中,编排服务210能够包括主编排器和/或多个次编排器中的至少一个。例如,多个设备中的每个相应设备能够包括多个次编排器中的至少一个。主编排器能够被配置为接收全局配置数据并且将全局配置数据提供给多个次编排器。全局配置数据例如能够包括指示用于每个相应设备205A-N的一个或多个指定任务的一个或多个指令、在其上运行计算系统200的多个过程(例如,设备205A的220A-220N)的软件版本和/或环境等。用于每个相应设备的次编排器能够接收全局配置数据,并且基于全局配置数据在相应设备处配置和启动一个或多个过程。
例如,每个过程(例如,过程220A、220B)能够包括多个功能节点235(例如,纯功能),这些功能节点235通过一个或多个指示多个功能节点235之间的数据流的有向边缘连接。每个设备205A能够(例如,经由一个或多个处理器等)执行相应多个功能节点235以运行相应过程220A、220B。例如,多个功能节点235能够排列在一个或多个功能图形225中。功能图形225能够包括在流水线、图形架构等中(例如,通过一个或多个有向边缘)排列的多个(例如,一系列)功能节点235。
例如,参考图2B,图2B描绘了根据本公开的示例实施方式的示例功能图形225的图。功能图形225能够包括多个功能节点235A-F、一个或多个注入器节点230A-B、一个或多个喷射器节点240A-B,和/或一个或多个有向边缘245。功能节点235能够包括具有(例如,一个或多个数据类型的)一个或多个输入和(例如,一个或多个数据类型的)一个或多个输出的一个或多个计算功能。例如,能够实现功能节点235A-F使得它们定义一个或多个接受输入和一个或多个输出。在一些实施方式中,每个功能节点235A-F能够被配置为获得单个数据类型的一个或多个输入,对一个或多个输入执行一个或多个功能,并且输出单个数据类型的一个或多个输出。
多个功能节点235A-F的每个功能节点能够排列在有向图形架构(例如,包括多个功能图形)中并且能够被配置为基于(例如,有向图形225的)一个或多个有向边缘245来获得与自主交通工具相关联的功能输入数据。例如,功能节点235A-F能够通过功能图形225(和/或参考图2A的功能图形225的子图225A,225B)的一个或多个有向边缘245连接。一个或多个有向边缘245能够指示数据如何流过功能图形225(和/或图2A的子图225A、225B)。例如,一个或多个有向边缘245能够基于功能图形225的功能节点235A-F中的每一个的所定义的输入和输出而形成。功能节点235A-F能够基于功能输入数据来生成功能输出数据。例如,功能节点235A-F能够对功能输入数据执行自主交通工具的一个或多个功能以获得功能输出数据。功能节点235A-F能够基于有向图形225的一个或多个有向边缘245将功能输出数据通信到多个功能节点235A-F中的一个或多个其它功能节点。
另外或者可替换地,每个功能图形225能够包括一个或多个注入器节点230A-B和一个或多个喷射器节点220A-B,其被配置为与功能图形225之外的一个或多个远程设备和/或过程(例如,图2A的过程220C-220N)通信。例如,注入器节点230A-B能够被配置为与功能图形225之外的一个或多个设备和/或过程(例如,图2A的过程220C-220N)通信以获得功能图形225的输入数据。作为示例,一个或多个注入器节点230A-B中的每一个能够包括被配置为从图2A中所示的相应传感器280(例如,图1的(多个)传感器135)获得和/或处理传感器数据的功能。喷射器节点240A-B能够被配置为与功能图形225之外的一个或多个设备205B-N和/或过程220C-220N通信以向一个或多个设备205B-N和/或过程220C-220N提供功能图形225的功能输出数据。
回到图2A,每个设备205A-N能够被配置为执行一个或多个功能图形225以运行相应设备205A的多个过程220A-N中的一个或多个过程220A、220B。例如,如本文所述,每个相应设备能够被配置为基于全局配置数据来运行相应过程集合。每个过程220A-N能够包括功能图形和/或功能图形的子图的执行实例。例如,在一些实施方式中,功能图形225能够跨多个过程220A、220B分离。每个过程220A、220B能够包括功能图形225的子图225A、225B(例如,过程220A包括子图225A,过程220B包括子图225B等)。在这种情况下,功能图形225的每个过程220A、220B能够通过功能图形225的一个或多个功能节点235通信地连接。以这种方式,每个相应设备205A-N能够被配置为通过执行相应功能图形和/或相应功能图形的子图来运行相应过程。因此,每个功能图形能够被实现为单个过程或多个过程。例如,在专用于自主交通工具的运动规划的子图的节点之间通信的消息能够帮助在给定交通工具正在操作的区域/环境、运动约束、成本、交通工具轨迹等的情况下识别交通工具的基本路径。
在一些实施方式中,多个过程220A-N中的一个或多个能够包括容器化服务(应用容器等)。例如,每个过程220A-N能够被实现为容器(例如,docker容器等)。例如,多个过程220A-N能够包括从与每个相应设备205A相关联的操作系统250中提取的一个或多个容器化过程。作为示例,容器化过程能够在docker容器中运行,使得每个过程被单独运行和授权。例如,每个相应容器能够包括专用于被配置为在相应容器内运行的过程的一个或多个指定计算资源(例如,处理能力、存储器地点等)。此外,在一些实施方式中,每个容器能够包括隔离的运行时配置(例如,软件模型等)。以这种方式,每个容器能够在容器特定运行时环境内独立地运行过程。
计算系统200的多个设备205A-N、传感器280、过程220A-N等(例如,交通工具计算系统110的多个过程、一个或多个远程设备的多个过程等)能够通过一个或多个无线和/或有线网络120通信地连接。例如,多个设备205A-N(和/或设备205A的过程220A-N)能够通过一个或多个通信信道进行通信。每个设备和/或过程能够使用消息交换格式(例如,JSON、IDL等)在一个或多个通信信道上交换消息。作为示例,相应过程能够利用一个或多个通信协议(例如,HTTP、REST、gRPC等)来提供和/或接收来自一个或多个相应设备过程(例如,在同一设备上运行的其它过程)和/或远程过程(例如,在计算系统的一个或多个其它设备上运行的过程)的消息。以此方式,设备能够被配置为在一个或多个设备、服务和/或其它过程之间通信消息以执行一个或多个任务。例如,消息能够包括与相应功能节点(例如,235)相关联的功能输出数据。
图3A描绘了根据本公开的示例实施例的示例运动规划系统的框图300。自主交通工具的交通工具计算系统(例如,图1中的交通工具计算系统110)能够使用多步过程来生成自主交通工具(例如,图1中的自主交通工具105)的轨迹。在一些示例中,能够在周期外(例如,不是实时路径生成周期的一部分)302执行过程的一些步骤并且在实时路径生成周期期间执行过程的一些步骤。
周期外规划系统302能够包括车道几何形状生成器304,该车道几何形状生成器304被配置为生成用于多个潜在车道的车道几何形状,包括但不限于用于一个或多个车道的车道边界,确定用于每个车道的标称路径或中心线,和/或确定用于特别区域的任何其它相关因素。在一些示例中,生成车道几何形状可以由几何形状规划器来实现或辅助。例如,车道几何形状生成器能够确定通过一个区域(例如,遵循目标车道的中心线)的标称路径的地点而不需要当前阻塞路径的任何瞬态障碍物的特定知识。
除了车道几何形状生成器304之外,障碍物识别系统306能够生成相关地理区域中的静态对象的列表,包括但不限于建筑物、标志、邮箱、其它半永久性固定设备等作为另一个周期外步骤。能够由交通工具计算系统(例如,图1中的交通工具计算系统110)访问由周期外规划系统302生成的车道几何形状(包括一个或多个标称路径)和障碍物的列表,以便在执行周期内路径规划时由轨迹生成系统310使用。
交通工具计算系统(例如,图1中的交通工具计算系统110)能够采用周期内规划系统330来基于由周期外规划系统302产生的数据来生成特定轨迹。周期内规划系统330能够包括轨迹生成系统310。轨迹生成系统310能够包括基本路径生成器312、横向偏移生成器314、空间路径生成器316、速度曲线生成器318、轨迹生成器320和成本计算系统322。
基本路径生成器312能够生成从自主交通工具(例如图1中的自主交通工具105)的当前位置到目标标称路径上的点的一个或多个路径。一旦生成了一个或多个基本路径,就能够将它们传送到空间路径生成器316。空间路径生成器316能够访问横向偏移生成器314以生成多个偏移曲线。能够生成每个偏移曲线以包括多个偏移值。偏移值能够表示相应轨迹根据基本路径在一个或多个时间与初始行进路径不同的距离和方向。例如,特别偏移值可以指示在进入基本路径的时间3秒时,相应候选轨迹将自主交通工具放置在基本路径的左边0.7米。在一些实施方式中,偏移曲线能够表示为图形上的线路,其中图形上的一个轴表示距初始行进路径的横向变体的程度和方向,而另一个轴表示时间。因此,每个基本路径能够具有基于横向偏移曲线中的值而从原始基本路径横向变化的多个相关联的候选轨迹。
此外,速度曲线生成器318能够生成多个速度曲线(其描述自主交通工具(例如图1中的自主交通工具105)在沿着基本路径的每个点处的目标速度)。在一些示例中,能够生成速度曲线以包括指示一个或多个加速度值的数据,以及对于每个加速度值将实现该加速度值的时间。例如,速度曲线能够包括在一个或多个时间点的规划加速度的表示。基于该加速度,能够在加速度中的任何点处确定当前速度。附加地或可替换地,速度曲线能够包括一个或多个速度以及自主交通工具(例如图1中的自主交通工具105)将达到这些速度的时间。速度曲线还能够包括交通工具加加速度和/或里程表位置。
附加地或者可替换地,能够基于给定基本路径的特定特性来使用和/或生成不同类型的速度曲线。例如,第一类型的速度曲线能够与紧急制动是必需的情况相关联。第一类型的速度曲线的速度曲线能够使用分段恒定的加加速度段来构造(例如,速度曲线能够包括三次多项式的序列)。
第二类型的速度曲线能够与特定速度是目标的情况(例如,自主交通工具旨在实现特定速度,然后在该速度下滑行)相关联。能够生成第二类型的速度曲线以使用分段恒定的弹性计算(例如,速度曲线能够包括四次多项式函数的序列)。
第三类型的速度曲线能够与自主交通工具是针对用于特别距离(例如,停车标志、交通灯、网格锁、或环境内其他行动者的预测运动)的速度的情况相关联。能够生成第三类型的速度曲线以使用分段恒定的裂纹计算(例如,速度曲线能够包括五次多项式函数的序列)。
在一些示例中,能够至少部分地基于地图数据来生成速度曲线,该地图数据包括停止地点,例如停车标志、交通灯和/或交通网格锁。速度曲线还能够基于与合法速度限制相关联的速度目标或与一个或多个其它因素(例如,针对特别区域所测量的平均交通速度)相关联的速度目标来生成。此外,速度曲线能够至少部分地基于与自主交通工具相关联的地点中的行动者的位置和速度来生成。在一些示例中,交通工具计算系统能够预测在生成速度曲线期间使用的一个或多个行动者的未来移动。以这种方式,自主交通工具(例如图1中的自主交通工具105)能够自适应地调整其运动/行为,使得其能够在另一行动之后或之前(例如,以安全缓冲距离)行进。
轨迹生成器320能够基于基本路径、偏移曲线和/或速度曲线的不同组合来生成多个候选轨迹。为了生成轨迹,能够将偏移曲线映射到基本路径上并且与特别速度曲线相匹配。因此,使用一个或多个横向调整以及使用由速度曲线指定的速度和/或加速度值,每个轨迹遵循基本路径的一般路径。交通工具计算系统能够生成用于自主交通工具(例如图1中的自主交通工具105)的大量候选轨迹。这允许快速和有效地考虑许多附加替代方案,同时仍然保持自主交通工具(例如,图1中的自主交通工具105)的高度安全性。例如,如果基本路径能够被表示为通过环境的路径,则用于特别轨迹的偏移曲线能够被表示为遵循基本路径的一般路线但是作为距离的函数沿基本路径横向偏移的路径。特别轨迹从基本路径横向偏移的程度能够被表示为时间的函数。类似地,速度曲线能够表示在遵循基本路径时的每个时间点的自主交通工具(例如图1中的自主交通工具105)的预期速度。轨迹生成器320能够通过访问基本路径,选择偏移曲线和速度曲线来生成新轨迹。该信息可以被组合以产生轨迹。
一旦已经生成了多个候选轨迹,就能够由成本计算系统322基于多个成本确定函数为每个轨迹指派成本。交通工具计算系统(例如,图1中的交通工具计算系统110)能够选择具有最低总成本324的候选轨迹,并且将其实现为用于控制自主交通工具(例如,图1中的自主交通工具105)的交通工具控制命令。
图3B描绘了根据本公开的示例实施例的示例基本路径生成系统312的框图。基本路径能够由基本路径生成系统312生成。基本路径生成系统312能够包括状态分析系统332、合并点选择系统334、几何形状修改系统336和候选分析系统338。
状态分析系统332能够确定自主交通工具(例如图1中的自主交通工具105)的当前状态。例如,状态分析系统332能够确定自主交通工具(例如,图1中的自主交通工具105)的当前位置(例如,使用x,y坐标,某些空间内的极坐标)、速度、航向、加速度、转弯半径、和/或其它操作参数。
至少部分地基于自主交通工具(例如图1中的自主交通工具105)的状态,合并点选择系统334能够生成多个候选合并点,自主交通工具(例如图1中的自主交通工具105)能够在这些候选合并点处加入(或重新加入)目标标称路径。在一些示例中,合并点选择系统334能够确定与加入目标标称路径相关联的车道变更区(例如,在自主交通工具(例如图1中的自主交通工具105)正在变更车道的情况下)。在一些示例中,车道变更区是表示其中车道变更是可能的区域的车道几何形状的预定特征。在其它示例中,车道变更区能够基于自主交通工具(例如图1中的自主交通工具105)的位置和速度以及车道的几何形状来动态地确定。因此,如果自主交通工具(例如,图1中的自主交通工具105)的速度较高,则合并点选择系统334能够选择较大的车道变更区以向自主交通工具(例如,图1中的自主交通工具105)提供附加的灵活性。
在一些示例中,合并点能够是车道几何形状的现有特征(例如,构成标称路径的坐标)。在这种情况下,合并点选择系统334能够识别所选择的车道变更区(或其附近)内的所有合并点。附加地或者可替换地,合并点选择系统334能够通过以下来生成合并点:识别沿着在车道变更区内的标称路径的初始点,并且然后通过递增地增加沿着标称路径的间隔距离来识别多个候选合并点,直到已经到达车道变更区的末端或者已经生成一定数量的合并点为止。
合并点选择系统334能够过滤多个候选合并点以移除任何直接不合适的合并点。为此,合并点选择系统334能够基于沿着标称路径的纵向距离来对候选合并点进行排序/优先化。合并点选择系统334能够使用分类器来直接消除一些合并点。分类器能够将自主交通工具(例如图1中的自主交通工具105)的速度(v)、自主交通工具(例如图1中的自主交通工具105)的曲率(c)、到目标标称车道的横向距离(d)、和/或自主交通工具的当前航向与候选合并点处的目标航向之间的航向距离(dth)作为输入。合并点选择系统334能够拟合函数回归器(F),使得s=F(d,v,c,dth)。如果候选合并点沿着标称路径的纵向距离大于s,则能够保留合并点。如果不是,则合并点选择系统334能够根据考虑消除该合并点,因为太弯曲(例如,不太可能导致可驾驶的基本路径)。
一旦已经过滤了多个候选合并点,合并点选择系统334就能够生成用于到每个剩余候选合并点的路径的拟合多项式。生成拟合多项式在计算意义上相对便宜,正因如此,这样做的成本能够相对较小。拟合多项式能够是已经生成的与给定点集合相交的多项式。因此,如果自主交通工具(例如,图1中的自主交通工具105)的当前位置之间的路径由多个点(例如,自主交通工具(例如,图1中的自主交通工具105)在多个点之间行进以遵循路径的坐标)来表示,则能够生成拟合多项式,使得拟合多项式遵循规划路径并且与路径中的每个点相交。用于生成拟合多项式的技术是本领域技术人员公知的。合并点选择系统334能够使用生成的拟合多项式来确定自主交通工具(例如图1中的自主交通工具105)和给定候选合并点之间的关联路径是否与(例如,在地图数据、传感器数据中识别的)当前车道与目标车道之间的车道边界相交,而不是通过所确定的车道变更区。如果路径不通过所确定的车道变更区,则能够根据考虑来消除合并点。
在一些示例中,能够选择与所确定的车道变更区内的车道边界相交的每个候选合并点以用于生成基本路径。以这种方式,基本路径生成系统312能够生成多个潜在基本路径。在其它示例中,合并点选择系统334能够将一个或少量固定数量的候选合并点识别为最可能候选。注意,如果基本路径生成312不包括车道变更(例如,基本路径将自主交通工具(例如,图1中的自主交通工具105)校正回其已经遵循的标称路径),则不生成合并点。相反,合并点选择系统334能够选择沿着标称路径(s)的点,其中s=s0+向上舍入(F(d,v,c,dth),1.0),其中S0是沿着当前标称路径的自主交通工具(例如图1中的自主交通工具105)被预测要到的点。
一旦已经选择了一个或多个合并点,几何形状修改系统336就能够确定自主交通工具(例如图1中的自主交通工具105)是否将变更车道。在一些示例中,已经明确地指示基本路径生成系统312通过交通工具计算系统(例如,图1中的交通工具计算系统110)或远程服务系统的另一部件来变更车道(例如,准备转弯或避免障碍物)。在其它示例中,基本路径生成系统312能够基于对自主交通工具(例如图1中的自主交通工具105)的当前位置和目标标称路径的地点的分析来确定车道变更是必需的。
在自主交通工具(例如,图1中的自主交通工具105)不变更车道的情况下,几何形状修改系统336能够改变所存储的车道边界数据(例如,车道边界偏移)以遵循新路径返回标称路径(例如,车道的中心线)。几何形状修改系统336能够确定沿着从自主交通工具(例如图1中的自主交通工具105)到沿着标称路径的点的所提议的基本路径的一系列点。对于每个点,几何形状修改系统336能够通过从在新路径上的点垂直地延伸出射线直到它与现有车道边界相交来计算新车道边界偏移值。该距离能够被设置为新车道边界偏移。
在自主交通工具(例如图1中的自主交通工具105)正在变更车道的情况下,几何形状修改系统336能够改变所存储的关于车道边界的信息以移除车道变更区内的车道边界。通过插入沿着每个所生成的基本路径所遵循的具有固定距离(例如,2.5米)的新车道偏移值,能够沿着一个或多个基本路径来确定新车道偏移。
一旦基本路径生成系统312已经生成了一个或多个基本路径,则候选分析系统338能够评估每个候选基本路径以确定候选基本路径是否满足一个或多个驾驶性标准。驾驶性标准能够包括速度(例如,40m/s)、加速度(例如,1.4m/s2)、加加速度(例如,0.9m/s3)等的限制。例如,能够生成第一基本路径,使得与目标标称路径的合并点出现在沿着目标标称路径距自主交通工具(例如图1中的自主交通工具105)的当前位置的5米内,从而要求自主交通工具(例如图1中的自主交通工具105)急剧地转弯以遵循第一基本路径。行进第一基本路径的所估计的加速度能够被计算为2m/s2,其超过加速度限制值。结果,能够排除第一基本路径以便不能满足至少一个驾驶性标准。在另一示例中,生成第二基本路径,使得与目标标称路径的合并点沿着第二基本路径距自主交通工具(例如图1中的自主交通工具105)的位置为20米。所估计的速度、加速度和加加速度能够被计算为落在预定限制内。因此,能够确定第二基本路径以满足一个或多个驾驶性标准。候选分析系统338能够选择满足驾驶性标准的一个或多个基本路径。
图4描绘了根据本公开的示例实施例的图示自主交通工具与目标路径合并的示例图。在该示例中,自主交通工具402能够返回到其中自主交通工具402已经位于其中的车道404的中心线(例如,标称路径)。自主交通工具402能够使用本文描述的技术来识别沿着目标标称路径408的合并点406。
交通工具计算系统(例如图1中的交通工具计算系统110)能够确定自主交通工具402的当前位置和姿态。交通工具计算系统(例如图1中的交通工具计算系统110)能够根据自主交通工具(例如图1中的自主交通工具105)的当前位置和合并点406来生成一个或多个基本路径410。
图5描绘了根据本公开的示例实施例的图示用于变更车道的基本路径的生成的示例图。在该示例中,自主交通工具502在目标车道504之外启动。目标车道能够由两个车道边界(例如,506-1和506-2)来定义并且具有标称路径508(例如,遵循目标车道504的中心线的路径)。
交通工具计算系统(例如,图1中的交通工具计算系统110)能够识别车道变更区510,该车道变更区510识别车道边界(在这种情况下是车道边界506-1)的一部分,自主交通工具502能够通过该部分以变更到目标车道504中(例如,要位于目标车道504内)。在一些示例中,能够基于自主交通工具502的速度和位置来选择车道变更区510(例如,使得车道变更区510允许自主交通工具502安全地变更车道的足够空间和时间)。附加地或者可替换地,车道变更区510能够基于一个或多个合法车道目的地来选择(例如,合法授权能够指定道路的一些区段作为禁止特别车道变更,以及指定道路的一些区段作为允许特别车道变更,指定道路的一个区段作为非通过区域)。
基于所确定的车道变更区510,交通工具计算系统(例如,图1中的交通工具计算系统110)能够识别一个或多个合并点(例如,512-1、512-2、512-3和512-4)。注意,合并点不需要在与车道变更区510相关联的车道区域内。只要自主交通工具502在横穿相关联的车道边界506-1时将通过车道变更区510,就可以识别在车道变更区510之外的合并点。
能够选择合并点(512-1至512-4)中的一个(或多个),并且在该示例中能够生成从自主交通工具502的当前位置到所选择的合并点(M3512-3)的基本路径514。在一些示例中,交通工具计算系统(例如,图1中的交通工具计算系统110)能够生成用于多个合并点(例如,512-1至512-4)的潜在基本路径并且对其进行驾驶性评估。能够选择一个或多个潜在基本路径并且将其传到空间路径生成器(例如图3A中的空间路径生成器316)。
图6描绘了根据本公开的示例实施例的图示在车道变更区(608和618)内生成合并点的示例图。在该示例中,第一潜在基本路径606和第二潜在基本路径616能够基于它们的相关联驾驶性来评估。在这种情况下,自主交通工具602具有初始位置和航向,使得到合并点604的第一潜在基本路径606能够因为太弯曲而不能满足一个或多个驾驶性标准(例如,方向过于频繁改变和/或超过预定限制的加速度值)。
针对第二潜在基本路径616,自主交通工具610处于相似的位置,但是具有不同的初始航向,因此到合并点614的第二潜在基本路径616明显比用于自主交通工具602的第一潜在基本路径606更平滑。因此,自主交通工具602和610的初始位置和航向能够具有重要的结果,在该结果上能够最终选择合并点。
因为第一潜在基本路径不满足一个或多个驾驶性要求,所以能够拒绝其相关联的合并点。第二潜在基本路径确实满足一个或多个驾驶性要求,因此能够接受其相关联的合并点。
图7描绘了根据本公开的示例实施例的图示车道边界的变更的示例图。在该示例中,自主交通工具702能够选择特别合并点704并且生成到该合并点704的基本路径706。交通工具计算系统(例如,图1中的交通工具计算系统110)能够生成沿着到标称路径712的路径的车道边界的更新表示。
例如,交通工具计算系统(例如图1中的交通工具计算系统110)能够确定自主交通工具(例如图1中的自主交通工具105)正在遵循的基本路径706。交通工具计算系统(例如,图1中的交通工具计算系统110)能够确定偏移距离(例如,2米)并且建立车道边界的更新表示(708和710),使得它们遵循基本路径706并且偏移基本路径706的左边708和右边710的偏移距离。
以这种方式,所生成的轨迹不接收基于旧车道边界位置的成本惩罚,并且在横穿新车道边界位置时确实接收成本惩罚。
图8描绘了根据本公开的示例实施例的示例方法的流程图。方法800的一个或多个部分能够由一个或多个计算设备(例如,自主交通工具(例如,自主交通工具105)的计算设备和/或自主交通工具之外/远离自主交通工具(例如,如图1所示)的计算系统)来实现。本文描述的方法700的一个或多个部分能够在本文描述的设备的硬件部件(例如,如图1、3A、3B、9、10)上实现为算法,以例如生成用于自主交通工具(例如,图1中的自主交通工具105)的基本路径。尽管出于说明和讨论的目的,图8描述了以特别顺序执行的步骤,但是图8的方法800不限于特别示出的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略,重新排列,组合和/或适用本文公开的方法的各种步骤。例如,出于示例的目的,将各个步骤描述为由自主交通工具车载的计算系统执行。一个或多个部分也可以,或者可替换地,由在自主交通工具之外/远离自主交通工具的系统来执行。
自主交通工具(例如图1中的自主交通工具105)能够包括交通工具计算系统(例如图1中的交通工具计算系统110)。在802处,交通工具计算系统(例如图1中的交通工具计算系统110)能够获得目标标称路径。在一些示例中,能够从与自主交通工具(例如图1中的自主交通工具105)相关联的远程服务器系统接收目标标称路径。
在804处,交通工具计算系统(例如图1中的交通工具计算系统110)能够确定自主交通工具(例如图1中的自主交通工具105)的当前姿态。用于自主交通工具(例如图1中的自主交通工具105)的当前姿态能够包括当前地点和当前航向。自主交通工具(例如图1中的自主交通工具105)的当前地点能够与第一车道相关联,并且目标标称路径能够与第二车道相关联。例如,如果自主交通工具(例如图1中的自主交通工具105)正在变更车道以进行转弯,则当前车道和目标车道能够是两条不同的车道。在一些示例中,车道边界将第一车道和第二车道分开。
在806处,交通工具计算系统(例如图1中的交通工具计算系统110)能够基于自主交通工具的当前姿态和目标标称路径来确定车道变更区。在一些示例中,交通工具计算系统(例如图1中的交通工具计算系统110)能够通过生成与自主交通工具(例如图1中的自主交通工具105)和目标标称路径相关联的速度数据来确定车道变更区。交通工具计算系统(例如,图1中的交通工具计算系统110)能够基于速度数据来确定纵向规划。在一些示例中,车道变更区能够至少部分地基于纵向规划来确定。
在808处,交通工具计算系统(例如图1中的交通工具计算系统110)能够确定在目标标称路径上的一个或多个合并点。交通工具计算系统(例如,图1中的交通工具计算系统110)能够识别车道变更区内的沿着目标标称路径的初始点。交通工具计算系统(例如,图1中的交通工具计算系统110)能够识别在沿着目标标称路径距初始点的预定距离处的第一合并点。
交通工具计算系统(例如,图1中的交通工具计算系统110)能够通过从第一合并点开始并且识别沿着目标标称路径的附加合并点来识别附加合并点。在一些示例中,一个或多个合并点之间的距离间隔保持恒定。交通工具计算系统(例如,图1中的交通工具计算系统110)能够对一个或多个合并点进行过滤以移除落在距车道变更区的预定阈值距离之外的任何合并点。预定阈值距离能够是固定距离,例如10米。附加地或者可替换地,预定阈值距离可以基于自主交通工具(例如图1中的自主交通工具105)的当前速度。因此,例如,能够将预定阈值距离设定为自主交通工具(例如图1中的自主交通工具105)的以m/s为单位的当前速度的十倍。因此,例如,如果自主交通工具(例如图1中的自主交通工具105)具有1m/s的速度,则预定阈值距离能够是10米。如果当前速度是5m/s,则预定阈值距离能够是50米。
在810处,交通工具计算系统(例如,图1中的交通工具计算系统110)能够针对一个或多个合并点中的每个相应合并点来生成从自主交通工具(例如,图1中的自主交通工具105)的当前姿态到相应合并点的候选基本路径。在812处,交通工具计算系统(例如图1中的交通工具计算系统110)能够生成用于每个候选基本路径的适合性分类。
交通工具计算系统(例如图1中的交通工具计算系统110)能够针对每个候选基本路径来确定与该候选基本路径相关联的加速度率是否超过预定加速度阈值。适合性分类至少部分地基于加速度率是否超过预定加速度阈值。针对每个候选基本路径,交通工具计算系统(例如图1中的交通工具计算系统110)能够确定与该候选基本路径相关联的曲率是否超过预定曲率阈值。适合性分类能够至少部分地基于最大曲率是否超过预定曲率阈值。
在814处,交通工具计算系统(例如图1中的交通工具计算系统110)能够至少部分地基于一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择一个或多个候选基本路径。交通工具计算系统(例如,图1中的交通工具计算系统110)能够基于所选择的候选基本路径来生成用于自主交通工具(例如,图1中的自主交通工具105)的多个候选轨迹。
交通工具计算系统(例如图1中的交通工具计算系统110)能够确定与自主交通工具的多个候选轨迹中的每个候选轨迹相关联的成本。交通工具计算系统(例如图1中的交通工具计算系统110)能够基于与自主交通工具(例如图1中的自主交通工具105)的多个候选轨迹相关联的成本来选择候选轨迹。交通工具计算系统(例如图1中的交通工具计算系统110)能够将所选择的候选轨迹转换为由自主交通工具(例如图1中的自主交通工具105)实现的一个或多个交通工具控制。
图9描绘了根据本公开的示例方面的具有用于执行操作和功能的单元的示例系统900。各种装置能够被配置为执行本文所描述的方法和过程。例如,计算系统能够包括(多个)路径获得单元、(多个)姿态确定单元、(多个)区识别单元、(多个)合并点确定单元、(多个)路径生成单元、(多个)分类单元、(多个)选择单元、和/或用于执行本文描述的操作和功能的其它装置。在一些实施方式中,单元中的一个或多个可以单独地实现。在一些实施方式中,一个或多个单元可以是一个或多个其它单元的一部分或被包括在一个或多个其它单元中。这些装置能够包括(多个)处理器、(多个)微处理器、(多个)图形处理单元、(多个)逻辑电路、(多个)专用电路、(多个)专用集成电路、可编程阵列逻辑、(多个)现场可编程门阵列、(多个)控制器、(多个)微控制器、和/或其他合适的硬件。装置还能够或替代地包括例如利用处理器或逻辑电路系统实现的软件控制装置。装置能够包括或以其它方式能够访问存储器,诸如,例如一个或多个非暂时性计算机可读存储介质,诸如随机存取存储器、只读存储器、电可擦除可编程只读存储器、可擦除可编程只读存储器、闪存/其它存储器设备、(多个)数据寄存器、(多个)数据库、和/或其它合适硬件。
装置能够被编程为执行用于执行本文描述的操作和功能的一个或多个算法。例如,该装置能够被配置为获得目标标称路径。例如,交通工具计算系统(例如图1中的交通工具计算系统110)能够从存储在可访问计算系统中的地图数据库访问目标标称路径数据。路径获得单元902是用于获得目标标称路径的装置的一个示例。
装置能够被配置为确定自主交通工具的当前姿态。例如,交通工具计算系统(例如图1中的交通工具计算系统110)能够确定自主交通工具(例如图1中的自主交通工具105)的地点、速度和航向。姿态确定单元904是用于确定自主交通工具的当前姿态的装置的一个示例。
装置能够被配置为基于自主交通工具的当前姿态和目标标称路径来确定车道变更区。例如,交通工具计算系统(例如,图1中的交通工具计算系统110)能够基于车道的特性和自主交通工具(例如,图1中的自主交通工具105)的速度和姿态来确定沿车道变更区开始和结束处的车道的特定距离。区识别单元906是用于基于自主交通工具的当前姿态和目标标称路径来确定车道变更区的装置的一个示例。
装置能够被配置为确定在目标标称路径上的一个或多个合并点。例如,交通工具计算系统(例如,图1中的交通工具计算系统110)能够识别构成标称路径的一系列坐标。交通工具计算系统(例如,图1中的交通工具计算系统110)能够从落在车道变更区内的标称路径中识别每个坐标作为潜在合并点。能够对潜在合并点进行过滤以移除任何不合适的合并点。合并点确定单元908是用于确定在目标标称路径上的一个或多个合并点的装置的一个示例。
装置能够被配置为针对一个或多个合并点中的每个相应合并点以生成从自主交通工具的当前姿态到相应合并点的候选基本路径。例如,交通工具计算系统(例如图1中的交通工具计算系统110)能够规划从自主交通工具(例如图1中的自主交通工具105)到每个候选合并点的路径。路径生成单元910是用于针对一个或多个合并点中的每个相应合并点生成从自主交通工具(例如图1中的自主交通工具105)的当前姿态到相应合并点的候选基本路径的装置的一个示例。
装置能够被配置为生成用于每个候选基本路径的适合性分类。例如,交通工具计算系统(例如,图1中的交通工具计算系统110)能够评估候选基本路径的最大加速度率、速度和/或转弯速率。分类单元912是用于生成用于每个候选基本路径的适合性分类的装置的一个示例。
装置能够被配置为基于一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择候选基本路径。例如,交通工具计算系统(例如图1中的交通工具计算系统110)能够选择最适于到达在目标标称路径上的点的基本路径。选择单元914是用于基于在一个或多个候选基本路径中的每个相应候选基本路径的适合性分类来选择候选基本路径的装置的一个示例。
图10描绘了根据本公开的示例方面的示例系统部件。图10所示的示例系统1000仅作为示例提供。图10中所示的部件、系统、连接和/或其它方面是可选的,并且被提供作为实现本公开的可能但不是所需的示例。计算系统1000能够是和/或包括图1的交通工具计算系统110。计算系统1000能够与操作系统和/或与交通工具105相关联的实体(诸如例如,交通工具所有者、交通工具管理员、车队运营者、服务提供商等)相关联。
计算系统1000的(多个)计算设备1005能够包括(多个)处理器1015和至少一个存储器1020。一个或多个处理器1015能够是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或可操作地连接的多个处理器。存储器1020能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、一个或多个存储器设备、闪存设备、磁盘、数据寄存器等及其组合。
存储器1020能够存储能够由一个或多个处理器1015访问的信息。例如,存储器1020(例如,一个或多个非暂时性计算机可读存储介质、存储器设备)能够包括能够由一个或多个处理器1015执行的计算机可读指令1025。指令1025能够是以任何合适的编程语言编写的软件或者能够在硬件中实现。附加地或替代地,指令1025能够在(多个)处理器1015上的逻辑和/或虚拟分离的线程中执行。
例如,交通工具105车载的存储器1020能够存储指令1025,指令1025在由一个或多个处理器1015执行时使(例如,交通工具计算系统112中的)一个或多个处理器1015执行操作,诸如(多个)计算设备1005和/或交通工具计算系统110(和其子系统(例如运动规划器系统170C等))的任何操作和功能、为交通工具计算系统110(和/或其子系统)配置的任何操作和功能、本文所述的方法的任何部分、和/或本文描述的任何其它操作和功能。在交通工具之外的系统的存储器能够存储指令以执行本文所述的交通工具之外的任何操作和功能和/或自主交通工具(其计算系统)的操作和功能、方法、和/或本文所述的任何其它操作和功能。
存储器1020能够存储能够被获得(例如,被接收、被访问、被写入、被操纵、被创建、被生成等)和/或被存储的数据1030。数据1030能够包括例如服务数据(例如,行程数据、路线数据、用户数据等)、传感器数据、地图数据、感知数据、预测数据、运动规划数据、合并点数据、加速度数据、阈值驾驶性数据、基本路径数据、标称路径数据、速度曲线数据、偏移曲线数据、驾驶性标准数据、和/或如本文所述的其它数据/信息。在一些实施方式中,(多个)计算设备1005能够从远离自主交通工具102的一个或多个存储器获得数据。
(多个)计算设备1005还能够包括用于与一个或多个其他系统(例如,远程计算系统)通信的通信接口1040。通信接口1040能够包括用于经由一个或多个网络(例如,(多个)网络)进行通信的任何电路、组件、软件等。在一些实施方式中,通信接口1040能够包括例如以下中的一个或多个:用于传送数据的通信控制器、接收器、收发器、发射器、端口、导体、软件和/或硬件。
本文讨论的在远离自主交通工具的(多个)计算设备处执行的计算任务能够替代地在自主交通工具处(例如,经由交通工具计算系统)执行,反之亦然。能够在不脱离本公开的范围的情况下实现这样的配置。基于计算机的系统的使用允许组件之间和之中的任务和功能性的各种可能的配置、组合和划分。计算机实现的操作能够在单个组件上或跨多个组件执行。计算机实现的任务和/或操作能够顺序地或并行地执行。数据和指令能够被存储在单个存储器设备中或跨多个存储器设备存储。
已经根据本公开的说明性实施例描述了本公开的各方面。通过阅读本公开,本领域普通技术人员能够想到在所附权利要求的范围和精神内的许多其他实施例、修改和/或变化。以下权利要求中的任何和所有特征可以以任何可能的方式组合和/或重新布置。
虽然已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例通过解释而不是限制本公开的方式提供的。本领域技术人员在获得对前述内容的理解后,能够容易地产生对这些实施例的变更、变型和/或等同物。因此,本公开不排除包括对本主题的这些修改、变更和/或添加,这对于本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出和/或描述的特征可以与另一个实施例一起使用以产生又一个实施例。因此,本公开旨在覆盖这些变更、变体和/或等同物。