让步行为建模和预测的制作方法

文档序号:29460815发布日期:2022-04-02 01:20阅读:163来源:国知局
让步行为建模和预测的制作方法
让步行为建模和预测
相关申请的交叉引用
1.本专利申请要求于2019年8月23日提交、申请序列号为16/549,704的美国实用专利申请的优先权,申请序列号为16/549,704的申请通过引用全部并入本技术。


背景技术:

2.自主车辆可以使用各种方法、设备和系统来引导自主车辆通过环境。例如,自主车辆可以使用规划方法、设备和系统来确定行驶路径,并引导自主车辆通过包含动态对象(例如,车辆、行人、动物等)和静态对象(例如,建筑物、标牌、停驶的车辆等)的环境。在某些情况下,在自主车辆在穿越环境时,动态对象可能会影响它的动作。
附图说明
3.参考附图来描述详细的说明。在附图中,附图标记的最左侧数字标识附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的部件或特征。
4.图1描绘了根据本公开的示例,用于生成轨迹、确定与环境中的对象相关联的让步分数、以及执行车辆动作的示例系统。
5.图2描绘了根据本公开的示例,用于在第一时间确定第一属性数据和/或指示车道改变、以及在第二时间确定第二属性数据的图示流程图。
6.图3描绘了根据本公开的示例,车辆确定与交叉路口处的对象相关联的让步分数的示例环境。
7.图4描绘了根据本公开的示例,用于确定让步分数和/或运动轮廓数据的技术的框图。
8.图5描绘了用于实现本文描述的技术的示例系统的框图。
9.图6描绘了根据本公开的示例,用于确定让步分数和至少部分地基于让步分数来控制车辆的示例过程的流程图。
10.图7描绘了根据本公开的示例,用于训练机器学习模型以至少部分地基于采集的/生成的传感器数据和基准真相数据(ground truth data)来确定让步分数的示例过程的流程图。
具体实施方式
11.本文讨论了用于预测靠近车辆的对象的动作的技术。例如,当车辆穿越环境时,车辆可以规划将车道从当前车道改变到目标车道,作为这种穿越的一部分。此外,车辆可以采集靠近车辆的对象的传感器数据,这些数据可以指示车辆和环境中的其他对象的相对位置、速度、加速度等。在一些示例中,这种的传感器数据(或基于传感器数据的数据)可以被输入到机器学习模型中,机器学习模型可以提供关于靠近车辆的对象(例如,在针对车道改变动作的目标车道中的对象)是否可能正在向车辆让步、或以其他方式展示出可以指示车辆能够安全地执行车道改变操作的行为的指示。当车辆确定对象可能正在让步时(或者当
让步的可能性或概率达到或超过阈值时),与以其他方式可能的情况相比,车辆可以更早地安全地执行车道改变动作。因此,本文讨论的技术可以提供环境中的其他车辆或对象的预测或指示,这种预测或指示可以允许车辆(例如自主车辆)安全地穿越环境。
12.在一些实例中,自主车辆的计算设备可以接收传感器数据(例如,飞行时间数据、光探测和测距数据、无线电探测和测距数据、声纳数据等),以确定轨迹和/或控制车辆以遵循轨迹,该轨迹可以包括从当前车道进入到目标车道的车道改变动作。使用传感器数据,计算设备可以检测在环境的传感器数据中表示的对象,该对象可以是动态对象。在一些实例中,对象可以是沿目标车道或可行驶区域的不同部分穿越的另一车辆,或是在车辆周围环境中运动的任何其他对象。
13.在一些实例中,计算设备可以确定可能与对象、自主车辆和/或环境相关联的属性数据。属性数据可以包括与对象和/或自主车辆相关联的速度数据、加速度数据和/或距离数据(例如,指示对象和自主车辆之间的距离)。速度、加速度和距离数据可以相对于车辆参照系、环境参照系和/或任何其他合适的体系来指示。另外或替代地,属性数据可以包括对象的范围(例如,长度、宽度、高度)、车辆状态数据(例如,诊断信息、前灯和/或转向指示器状态、扬声器状态等)和/或对象状态数据(例如,前灯和/或转向指示器状态、对象的操作者的姿势等)。另外或替代地,属性数据可以包括环境状态数据,例如交通信号灯的状态、铁路交叉道口的状态、道路状况的状态、天气的状态等。
14.如上所述,计算设备可以将传感器数据和/或属性数据输入到机器学习模型中,并从机器学习模型接收关于在目标车道中的对象将为自主车辆让步(或执行让步动作)的指示。作为示例而非限制,在目标车道将靠近自主车辆的右侧的场合,自主车辆在穿越环境时可以激活自主车辆右侧的转向指示器和/或朝向目标车道“挨身轻推(nudge)”。在一些示例中,向目标车道挨身轻推可以包括在当前车道内将自主车辆的横向位置朝向目标车道进行改变。在一些示例中,对象将让步的概率(例如,基于到观察到的数据(例如,传感器数据)假设对象正在让步的可能性或后验概率为真)可以表示为与对象相关联的让步分数。作为示例而非限制,让步分数可以是介于0和1之间的数值,其中接近0的让步分数可以指示对象向自主车辆让步的概率低,并且其中接近1的让步分数可以指示对象给自主车辆让步的概率高。在至少一些示例中,这种概率可以用于确定让步分数(例如,其中让步分数是这种概率或可能性的函数)。
15.在以上任何示例中,让步分数可以与其他分数组合(例如,相加),从而确定车辆要采取的动作。作为非限制性示例,虽然让步分数可能较高(例如,表示额外的车辆让步),但对总分数有贡献的其他因素(例如,安全性、其他对象的存在、道路规则(例如,在交叉路口不改变车道)等)可能会阻止车辆执行车道改变动作。在这样的示例中,可以相对于任何其他分数对让步分数进行有效地加权以确定总分数。
16.在一些实例中,计算设备可以采集和/或确定附加属性数据,以确定对象将让步的概率。例如,在激活转向指示器之后的一段时间期间和/或在激活转向指示器之后的一段时间之后,自主车辆可以采集和/或确定附加属性数据。作为示例而非限制,自主车辆可以在激活自主车辆右侧的转向指示器之前确定第一属性数据、在与激活自主车辆右侧的转向指示器基本上同时地确定第二属性数据、和/或在激活自主车辆右侧的转向指示器之后确定第三属性数据。在一些示例中,计算设备可以搜集在时间窗口(例如,500毫秒、1秒、3秒、5秒
等)期间的属性数据,作为属性数据日志。
17.训练机器学习模型可以至少部分基于日志数据。例如,一辆或多辆车辆可以穿越环境并生成与车辆的操作相关联的日志数据。日志数据可以包括:由车辆的一个或多个传感器采集的传感器数据、指示由装载车辆上的一个或多个系统识别的对象的感知数据(或在后期处理阶段产生),指示对象的估计的未来位置、速度和/或对象的加速度的预测数据(无论是在记录期间还是在记录之后产生的),和/或指示由车辆生成的诊断信息、轨迹信息、前灯和/或转向指示器激活的状态数据、和/或其他信息。在例如名称为“scenario editor and simulator”并于2019年4月23日提交的美国专利申请号16/392,094(该申请的全部内容通过引用并入)中,可以找到由车辆生成的数据的示例,该数据可以被包含在日志数据中。
18.在一些实例中,日志数据可以包括车辆动作数据,例如车道改变数据。车道改变数据可以指示车道改变动作和/或尝试的车道改变动作,并且还可以包括车辆何时曾成功完成车道改变动作以及车辆何时不能完成车道改变动作。此外,日志数据可以指示与车辆和/或对象相关联的属性数据(例如,速度、姿势、相对距离等)。至少部分日志数据可以作为基准真相数据(也称为基准真相属性数据)用于训练机器学习模型。
19.在一些实例中,日志数据可以附加地或替代地包括模拟的日志数据。例如,日志数据可以是在不使用车辆采集环境的传感器数据的情况下生成的合成日志数据(或模拟的传感器数据)。合成日志数据可用于生成模拟场景,并且模拟器可以执行模拟场景,以模拟在模拟场景中操作的自主车辆控制器(或模拟的车辆)。通过执行模拟场景,模拟器可以生成模拟数据,这些模拟数据也可用于训练机器学习模型。
20.在对机器学习模型进行训练后,机器学习模型可以输出让步分数。在一些实例中,计算设备可以使用让步分数阈值来确定让步分数是否达到或超过让步分数阈值。如果让步分数达到或超过让车分数阈值,则计算设备可以控制车辆执行车道改变动作。如果让步分数没有达到或超过让步分数阈值,则计算设备可以制止执行车道改变动作(或者可以执行额外的动作,例如发出额外的信号通知、挨身轻推等)。例如,在2018年11月2日提交的名称为“cost scaling in trajectory generation”的美国专利申请16/179,711(该专利申请通过引用整体并入本文)中,可以找到生成包括车道改变动作的轨迹的示例。
21.如上所述,在车辆是自主车辆的情况下,计算设备可以控制车辆遵循可以基于让步分数的轨迹。如上所讨论的,让步分数可以指示对象对车辆让步或不对车辆让步的概率。通过预测对象将不会让步,车辆可以确定避开与对象相关联的预测轨迹的目标轨迹,这可以降低碰撞的可能性。此外,通过预测对象将让步,车辆可以确定包含车辆和对象之间的安全距离的目标轨迹。因此,使用让步分数,通过考虑对象为车辆让步,该轨迹与不使用让步分数的目标轨迹相比,可以是更安全和/或更舒适的轨迹。
22.本文讨论的技术可以通过新配备的计算设备以确定对象让步或不让步的潜在结果来改进计算设备的功能,从而确定用于控制车辆的安全且有效的轨迹。根据本文所公开的技术在(诸如本文所述的那些)让步场景中确定车辆的适当轨迹,可以提高车辆操作的安全性和有效性。根据本文所讨论的技术确定的轨迹可以更接近人类针对对象行为的反应,或比人类针对对象行为的反应表现得更好,因此可以降低负面安全结果的概率,并提高车辆在环境中导航的有效性。
23.此外,本文描述的技术可以减少所需计算资源的数量。例如,与车辆相关联的计算设备可以确定一个或多个轨迹,包括在穿越环境时的车道改变动作。计算设备可以使用已经基于类似模拟环境中的类似轨迹进行训练的机器学习模型,来输出与环境中的对象相关联的让步分数,并且可以具有与轨迹相关联的参考成本。本文讨论的技术可以装备计算设备,以至少部分地基于让步分数来确定困难的让步确定场景中的适当轨迹,并减少在这种场景中确定适当轨迹所需的计算资源量(例如,处理能力、网络利用率等)。
24.这里描述的技术可以以多种方式实现。下面参考以下附图提供示例实施方式。尽管在自主车辆的背景下进行了讨论,但本文描述的技术可以应用于需要确定和检测对象的各种系统,并且不限于自主车辆。在一个示例中,类似的技术可以用在驾驶员控制的车辆中,其中这种系统可以提供执行各种操纵是否安全的指示。在另一个示例中,这些系统、方法和设备可以用于航空和/或航海环境中。此外,本文描述的技术可以与采集的数据(例如,使用传感器采集的)、模拟数据(例如,由模拟器生成的)或这两者的任何组合一起使用。
25.图1描绘了用于生成轨迹、确定与环境中的对象相关联的让步分数以及执行车辆动作的示例系统。更具体地,图1示出了示例环境100,其中车辆102正在环境100中行驶,尽管在其他示例中车辆102在环境100中可以是静止的和/或停放在环境100中。一个或多个对象或智能体(agent)也在环境100中。例如,图1示出了环境100中的附加车辆104(也称为对象)。当然,任何数量和/或类型的对象都可以附加地或替代地出现在环境100中。例如,诸如行人、自行车/自行车骑手、摩托车/摩托车骑手、公共汽车、有轨电车、卡车、动物等的对象可以存在于环境100中。
26.为了说明的目的,车辆102可以是被配置为根据美国国家公路交通安全管理局发布的5级分类来操作的自主车辆,该级分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,在任何时候都不会期望驾驶员(或乘员)来控制车辆。在这样的示例中,由于车辆102可以被配置为控制从启动到停止的所有功能,包括所有停车功能,所以它可以是无人搭乘的。这仅是一个示例,本文描述的系统和方法可以结合到任何陆上、空中或水上交通工具中,包括从需要始终由驾驶员手动控制的交通工具、到那些部分或完全自主控制的交通工具。下面描述与车辆102相关的附加细节。
27.在图1的示例中,车辆102可以与(一个或多个)传感器系统106相关联。传感器系统106可以生成传感器数据108,与车辆102相关联的(一个或多个)车辆计算设备110可以使用传感器数据108以识别一个或多个对象,例如对象104。传感器系统106可以包括但不限于光探测和测距(lidar)传感器、无线电探测和测距(radar)传感器、飞行时间传感器、超声波换能器、声音导航和测距(sonar)传感器、位置传感器(例如,全球定位系统(gps)、指南针等)、惯性传感器(例如,惯性测量单元、加速度计、磁力计、陀螺仪等)、相机(如rgb、红外(ir)、强度、深度相机等)、轮式编码器、麦克风、环境传感器(如温度传感器、湿度传感器、光传感器、压力传感器等)等。
28.在至少一个示例中,车辆计算设备110可以包括感知系统112,其可以至少部分地基于从传感器系统106接收到的传感器数据108,来执行对象检测、分割和/或分类。例如,感知系统112可以基于传感器系统106生成的传感器数据108,检测环境100中的对象104。另外,感知系统112可以确定对象104的范围(例如,高度、重量、长度等)、姿态(例如,x坐标、y坐标、z坐标、俯仰、翻转、偏航)等。传感器系统106可以连续(例如,近实时地)生成传感器数
据108,感知系统(和车辆计算设备110的其他系统)可以使用传感器数据108。
29.车辆计算设备110还可以包括轨迹生成组件114、属性组件116和机器学习模型118。根据本文讨论的实施例,轨迹生成组件114可包括生成车辆轨迹120的功能,该轨迹120可以是在可行驶区域122内的参考轨迹或目标轨迹。属性组件116可以包括至少部分地基于传感器数据108来确定与对象(诸如对象104)相关联的属性数据的功能。属性数据可以包括若干个属性(诸如对象范围、对象分类、对象姿态、对象轨迹和/或对象速度)、对象104的指示器(例如,前灯、其他信号)状态、对象104的操作者的姿势等。机器学习模型118可以包括接收作为输入的属性数据、以及输出让步分数124的功能。如上所述,让步分数124可以是能够指示对象向车辆让步的概率的数值。
30.如图1所示,车辆轨迹120例如可以包括从当前车道126到目标车道128的车道改变动作。在一些实例中,车道改变动作可以基于即将到来的动作。作为示例而非限制,车辆102可以遵循包括在即将到来的交叉路口右转的车辆轨迹120。为了准备右转,车辆102可以执行进入目标车道128的车道改变动作。在一些实例中,车道改变动作可以基于可行驶区域122中的交通状况和/或障碍物,在可行驶区域122中,车道改变动作可以允许车辆102更有效和/或更安全地在交通车流和/或环境100中穿行。
31.如上所述,车辆102在环境100中可以是静止的和/或被停放在环境100中。作为示例而非限制,车辆102可以停放在当前车道126是停车道的位置,并且车辆轨迹120允许车辆102进入可以是行车道的目标车道128。
32.在一些实例中,目标车道128可以是与当前车道126相邻的车道,如图1所示。在一些实例中,目标车道128可以是被可行驶区域122的一部分隔开的车道。作为示例而非限制,自行车道可以将当前车道126与目标车道128分开,在当前车道126中执行车道改变动作将导致车辆102穿过自行车道以进入目标车道128。在一些实例中,公共汽车车道可以将当前车道126与目标车道128分开,但也可以设想其他类型的车道和/或可行驶区域。任何中间车道(例如自行车道、公共汽车车道等)都可以由车辆102确定,并且本文讨论的技术可以附加地或替代地应用于中间车道。例如,车辆计算设备110可以确定与目标车道128相关联的第一让步分数和与中间车道相关联的第二让步分数。车辆计算设备110可以至少部分地基于第一让步分数和/或第二让步分数来确定是否执行车道改变动作。
33.车辆102可以采集传感器数据108,并且确定对象104被表示在传感器数据108中、以及正在目标车道128中穿越环境100。基于传感器数据108,属性组件116可以确定与对象104和/或车辆102相关联的属性数据。如上所述,属性数据可以包括与对象104和/或车辆102相关联的速度数据、加速度数据和/或距离数据,和/或与对象104相关联的任何其他参数(例如,照明状态、大小、相对速度等)。
34.可以将属性数据作为输入提供给机器学习模型118,机器学习模型118可以确定输出让步分数124。在至少一些示例中,可以将一段时间内的多个这样的属性输入到这样的模型中(例如,在1s、2s、8s等的时间段内,尽管设想有任意数量的观察结果)。如上所讨论的,让步分数124可以是介于0和1之间的数值,其中接近0的让步分数124可以指示对象104将向车辆102让步的低概率或低可能性,并且其中的接近1的让步分数124可以指示对象104将向车辆102让步的高概率或高可能性。
35.在一些实例中,机器学习模型118可以基于让步分数124确定估计的对象轨迹130,
其可以包括运动轮廓(也称为预测的运动轮廓)和/或与运动轮廓相关联。运动轮廓可以提供对象的预测运动,并指示对象104将如何改变对象104的速度、和/或对象104是否将让步于车辆102。机器学习模型118可以通过例如考虑让步分数124、对象104的速度、对象104的加速度、与对象104的轮子相关联的姿态、对象104的转向指示器状态等,来确定估计的对象轨迹130(和/或运动轮廓)。
36.作为示例而非限制,属性数据可以指示车辆102以每秒15米的速度行进、并且对象104在目标车道128上以每秒16米的速度在车辆102后面行进。另外,属性数据可以指示车辆102和对象104之间的距离是40米。在经过一个时间段(例如,2秒)之后,计算设备可以收集额外的属性数据,这些数据表明车辆102正在以每秒16米的速度行驶,对象104正在以每秒13米的速度行驶,并且自主车辆和动态对象之间的距离为42米。计算设备可以提供属性数据和附加属性数据作为机器学习模型118的输入,机器学习模型118可以基于属性数据和附加属性数据确定估计的对象轨迹130。
37.基于对象104将其速度从每秒16米降低到每秒13米、车辆102和对象104之间的距离增加、以及候选对象轨迹之间的比较,机器学习模型118可以确定让步分数124为0.95。基于让步分数124,车辆计算设备110可以确定执行车道改变动作是安全的,并且确定用于控制车辆102转换到目标车道128的车辆轨迹120。
38.车辆轨迹120可以是目标轨迹,并且可以通过评估一个或多个成本来参照参考轨迹而生成。参考轨迹可以表示车辆102要遵循的初始路径或轨迹,并且可以由车辆计算设备110生成或接收。在一些示例中,参考轨迹可以对应于路段(例如,当前车道126)的中心线,尽管参考轨迹可以表示环境100中的任何路径。基于让步分数124的目标轨迹可以包括车道改变动作和/或阻止车辆102执行车道改变动作,并且可以通过评估与参考轨迹上的点相关联的一个或多个成本来参照参考轨迹来生成目标轨迹。通常,一个或多个成本可以包括但不限于参考成本、障碍物成本、横向成本、纵向成本等。例如,成本可以至少部分地基于可行驶区域122的边界,并且车辆102可以基于成本来改变目标轨迹。
39.可以与旨在由车辆执行以在可行驶区域122内穿越环境100的离散控制段(例如,在移动时域)相关联的方式,来确定目标轨迹。例如可以在于2018年5月17日提交的名称为“drive envelope determination”的美国专利申请第15/982,694号中(该申请通过引用整体并入本文)找到用于确定可行驶区域122内的轨迹的技术的示例。在一些实例中,车辆102可以遵循目标轨迹,该目标轨迹可以包括车辆动作,例如进入目标车道128的车道改变动作,如上所述。
40.关于上述的成本,参考成本可以包括与参考轨迹上的点(也称为参考点)与目标轨迹上的对应点(也称为点或目标点)之间的差异相关联的成本,其中该差异表示偏航、横向偏移、速度、加速度、弯曲、曲率等方面的一个或多个差异。在一些示例中,减小与参考成本相关联的权重可以减少与位于远离参考轨迹一定距离的目标轨迹相关联的惩罚,这可以提供更平滑的转换而导致更安全和/或更舒适的车辆操作。
41.在一些示例中,障碍物成本可以包括与参考轨迹或目标轨迹上的点和与环境中的障碍物相关联的点之间的距离相关联的成本。例如,与障碍物相关联的点可以对应于可行驶区域的边界上的点,或者可以对应于与环境中的障碍物相关联的点。在一些示例中,环境中的障碍物可以包括但不限于静态对象(例如,建筑物、路缘、人行道、车道标线、路标、交通
灯、树木等)或动态对象(例如,车辆、骑自行车的人、行人、动物等)。在一些示例中,动态对象也可以称为智能体(agent)。在一些示例中,静态对象或动态对象可以被统称为对象或障碍物。
42.在一些示例中,横向成本可以指与车辆的转向输入(例如相对于车辆速度的最大转向输入)相关联的成本。在一些示例中,纵向成本可以指与车辆的速度和/或加速度(例如,最大制动和/或加速度)相关联的成本。这样的成本可用于确保车辆的操作是在对于被运送乘客的可行限制和/或舒适限制内。在一些示例中,规划系统可以确定与当前车道126中的可驾驶区域122相关联的轨迹的第一成本,其可以高于与车道改变动作相关联的第二成本。因此,可以基于与每个动作相关联的成本来选择或确定动作。例如,在2018年12月14日提交的名称为“trajectory generation using curvature segments”的美国专利申请第15/843,512号(该专利申请的全部内容通过引用并入本文)中,可以找到确定与动作相关的成本的示例。
43.在一些示例中,与第一目标车道相关联的第一成本可以低于与第二目标车道相关联的第二成本。作为示例而非限制,车辆102可以在中心车道中穿过环境,其中障碍物与中心车道相关联。车辆102可以确定与第一目标车道中的第一对象相关联的第一让步分数、和与第二目标车道中的第二对象相关联的第二让步分数。第一让步分数可以高于第二让步分数,并且随后,当和与第二车道相关联的障碍物成本相比时降低与第一车道相关联的障碍物成本。因此,至少部分地基于让步分数,与第一目标车道相关联的第一成本可以低于与第二目标车道相关联的第二成本。
44.在一些实例中,估计的对象轨迹130可以进一步用于确定与目标车道128相关联的障碍物成本。例如,让步分数124可以是低的让步分数,并且估计的对象轨迹130可以指示对象104将增加其速度。对象104的速度增大会增加与车辆102发生碰撞的可能性,并增加与目标车道128相关联的障碍物成本。在这种场景中,车辆102可以中止车道改变动作以避免对象104可能撞击到车辆102中。
45.在一些实例中,车辆计算设备110可以使用让步分数阈值来确定执行车道改变动作是安全的。作为示例而非限制,让步分数阈值可以是0.9并且让步分数124可以是0.95,在这种情况下,车辆计算设备110可以确定要执行车辆轨迹120,使车辆102转换到目标车道128中。如果让步分数没有达到或超过让步分数阈值,则车辆计算设备110可以使车辆102保持先前的轨迹、和/或生成与当前车道126和/或目标车道128相关联的新候选轨迹。在一些示例中,车辆计算设备110可以生成与目标车道128相关联的新候选轨迹,并且在经过一段时间和/或距离(例如,3秒后、5秒后、10米后)之后,和/或在检测到对象104已经过车辆102之后,重新执行让步分数确定。
46.图1图示了使用让步分数来确定环境中的轨迹的单个示例。还设想了其他示例。例如,属性组件116可以确定关于环境中多个对象的属性数据。
47.图2描绘了环境202和环境204的示例过程200的图示流程图,其中车辆102遵循车辆轨迹208通过环境204和204,车辆轨迹208包括车道改变动作。图2进一步示出了环境202和环境204中的对象104。
48.在示例过程200的操作206,车辆102可以遵循车辆轨迹208,同时在当前车道126中通行。在一些实例中,车辆轨迹208可以对应于图1的车辆轨迹120,尽管车辆轨迹208可以表
示环境202中的任何路径或轨迹。另外,车辆102可以在第一时间确定第一属性数据和/或指示车道改变动作。第一属性数据可以包括与车辆102和/或对象104相关联的速度数据、与车辆102和/或对象104相关联的加速度数据、和/或指示对象104和车辆102之间的距离210的距离数据。在一些实例中,车辆102可以指示车道改变动作。作为示例而非限制,在目标车道将靠近车辆102的右侧的场合,车辆102可以激活车辆102右侧的转向指示器和/或向目标车道128“挨身轻推”(nudging)。如上所述,在一些示例中,挨身轻推进入目标车道128可以包括车辆102在当前车道126内将横向位置朝向目标车道128的改变。
49.在示例过程200的操作212处,车辆102可以遵循车辆轨迹214同时在当前车道126中通过。另外,车辆102可以在第二时间确定第二属性数据。与第二时间(例如,在车辆102激活转向指示器、一些其他信号发射器和/或与对象104改变相关联的属性数据期间和/或之后)相关联的第二属性数据可以包括与车辆102和/或对象104相关联的速度数据、与车辆102和/或对象104相关联的加速度数据、和/或指示对象和自主车辆之间的距离216的距离数据。在一些实例中,对象104可以对指示车道改变动作的车辆102作出反应。作为示例而非限制,对象104可以观察到车辆102激活转向指示器和/或朝向目标车道128“挨身轻推”。随后,对象104可以保持或改变对象104的速度。
50.例如,可以将指示对象104正在减速慢性或保持速度的属性数据输入到机器学习模型中,以生成可以指示对象104正在让步的让步分数。在一些实例中,可以将指示对象104正在增加对象104的速度的属性数据输入到机器学习模型中,以生成指示对象104没有让步的让步分数。
51.在一些实例中,可以在确定第一属性数据之后确定第二属性数据,而无需车辆提供车道改变动作的指示。因此,可以在连续性和/或周期性的基础上,执行第一属性数据和第二属性数据的确定。此外,可以将属性数据输入到机器学习模型中,该机器学习模型可以在连续性和/或周期性的基础上生成与对象104相关联的让步分数。作为示例而非限制,车辆102可以在周期性的基础上(例如每0.5秒)确定与车辆102和/或对象104相关联的属性数据,并确定与车辆102和/或对象104相关联的一组属性数据。然后,车辆102可以将该组属性数据输入到机器学习模型,以确定与对象104相关联的让步分数。
52.如上所述,让步分数可以用于确定估计的对象轨迹218,在一些实例中,估计的对象轨迹218可以对应于图1中的估计的对象轨迹130,尽管估计的对象轨迹218可以表示环境202中的任何路径或轨迹。作为示例而非限制,估计的对象轨迹218可以指示对象104将如何改变或不改变对象104的速度以向车辆102让步或不向车辆102让步。
53.图3描绘了车辆102的示例环境300,该示例环境300确定与交叉路口处的对象104相关联的让步分数。
54.如上所述,车辆102可以确定包括从当前车道304右转到目标车道306的车辆轨迹302。在一些实例中,车辆102可以在车辆102接近交叉路口期间启用转向指示器。
55.当车辆102穿越环境300时,车辆102可以采集环境300的一部分的传感器数据。使用该传感器数据,车辆102的计算设备可以检测被表示在环境300的传感器数据中的对象104,该对象可以是动态对象。如图3所示,对象104可以是从迎面而来的方向接近交叉路口的另一车辆。在一些实例中,对象104可以停留在交叉路口处。在一些实例中,对象104可以从不同方向(例如,在交叉路口相对于车辆102的左侧)接近交叉路口。交叉路口可以是不受
管制的交叉路口。例如,交叉路口可以是不受交通灯和/或交通标志(例如,停车标志、让行标志等)管制的交叉路口。
56.如上所述,当车辆102接近交叉路口时,车辆102可以确定与对象和/或车辆102相关联的属性数据。在一些实例中,交叉路口可以是受管制的交叉路口,其中交叉路口的至少一部分与交通信号灯和/或交通标志相关联。在一些实例中,属性数据可以包括传感器数据,该传感器数据可以指示交叉路口是受管制的还是不受管制的、交通灯状态等。机器学习模型可以被训练用以确定对象104是否将遵守交通灯和/或交通标志来确定让步分数。作为示例而非限制,车辆102可以至少部分地基于传感器数据来确定用于在车辆102接近不受管制的交叉路口时控制车辆102的车辆轨迹302。在所描绘的示例中,车辆轨迹302包括在不受管制的交叉路口处从当前车道304右转到目标车道306。属性数据可以指示对象104停留在交叉路口处并启用左转向指示器。基于属性数据,车辆102可以确定指示对象104打算向左转进入目标车道306的估计的对象轨迹308。
57.车辆102的计算设备可以将属性数据作为输入提供到机器学习模型中,该机器学习模型可以输出与对象104相关联的让步分数。基于达到或超过让步分数阈值的让步分数、和/或由机器学习模型确定的运动轮廓,车辆102可以确定对象104将可能会向车辆102让步并执行车辆轨迹302。
58.作为示例而非限制,属性数据可以指示对象104正在接近不受管制的交叉路口,并且在车辆启用右转向指示器之后对象104曾降低了对象104的速度。在一些实例中,属性数据可以指示到达时间(例如,相对于与交叉路口相关联的区域或位置)、到交叉路口的距离等。可以将属性数据输入到机器学习模型中,以输出可以指示对象104将可能会向车辆102让步的让步分数。在一些实例中,让步分数可以指示对象104将不太可能向车辆102让步,尽管其速度降低。可以训练机器学习模型以区分对象降低速度以准备转向、与对象降低速度以准备让行的不同。如上所述,可以基于采集的日志数据和/或合成的日志数据以用作关于这些场景的基准真相数据,来训练机器学习模型。
59.图4描绘了用于至少部分地基于让步分数来确定运动轮廓的技术的框图400。如上所述,机器学习模型402可以接收传感器数据和/或属性数据404作为输入,以确定与环境中的对象相关联的让步分数406。在一些实例中,机器学习模型402可以对应于图1的机器学习模型118。在接收到传感器数据和/或属性数据404之后,机器学习模型402可以确定与环境中的对象相关联的让步分数406。
60.如上所述,让步分数406可以是关于目标车道中的对象将向车辆让步的指示(例如,可能性或概率)。作为示例而非限制,让步分数406可以是介于0和1之间的数值,其中接近0的让步分数可以指示对象向自主车辆让步的低概率,并且其中让步分数接近1表示对象向自主车辆让步的概率很高。在一些示例中,这样的分数可以基于所使用的特定公式而不同(例如上述分数的倒数)。
61.使用让步分数406,运动轮廓组件408可以确定运动轮廓410,该运动轮廓410可以指示对象在一段时间内将可能如何表现。在一些实例中,运动轮廓组件408可以接收候选运动轮廓数据412,候选运动轮廓数据412可以包括与在日志数据中表示的其他对象相关联的一组候选运动轮廓。如上所述,日志数据可以包括:由车辆的一个或多个传感器采集的传感器数据,指示由车辆上装载的一个或多个系统识别(或在后处理阶段期间产生)的对象的感
知数据,指示对象的估计的未来位置、速度、和/或对象的加速度的预测数据(无论是在记录期间还是在记录之后产生的),和/或指示诊断信息、轨迹信息、前灯和/或转向指示器激活的状态数据,和/或由车辆生成的其他信息。来自日志数据的运动轮廓可以作为候选运动轮廓数据412存储在数据库中。另外,候选运动轮廓数据412可以指示对象在车辆尝试车道改变动作之前、期间和/或之后如何表现、以及该车道改变动作是否成功了。
62.在一些实例中,运动轮廓组件408可以包括运动轮廓机器学习模型,用以生成运动轮廓410。例如,可以基于由机器学习模型402生成的让步分数和指示对象的运动的基准真相数据,来训练运动轮廓机器学习模型,以基于让步分数确定对象的运动轮廓。然后运动轮廓组件408使用及可以接收让步分数406,并生成运动轮廓410。
63.因此,机器学习模型402可以使用传感器数据和/或属性数据404和/或属性数据,来确定让步分数406,然后,运动轮廓组件408可以使用让步分数406来与和候选运动轮廓数据412的一组候选运动轮廓相关联的候选让步分数进行比较。基于该比较,运动轮廓组件408可以确定运动轮廓410,该运动轮廓410可以基于候选运动轮廓并且指示对象将在一段时间内将可能如何运作。在一些实例中,除了让步分数406之外,运动轮廓组件408可以使用传感器数据和/或属性数据404,并且将传感器数据和/或属性数据404以及让步分数406与存储在候选运动轮廓数据412中的数据进行比较,以确定运动轮廓410。
64.如图4中所描绘的,运动轮廓410可以被表示为具有沿x轴的速度和沿y轴的时间的曲线图。作为示例而非限制,运动轮廓410可以指示与运动轮廓410相关联的对象在一段时间(例如,反应时间414)之后保持速度并降低其速度。反应时间414可以指示在车辆开始车道改变动作时与对象响应于车辆开始车道改变动作而改变其速度时之间的时间量。在一些实例中,运动轮廓组件408可以确定包括反应时间414的运动轮廓410。在一些实例中,如果运动轮廓组件408确定对象已经开始向车辆让步,则运动轮廓组件408可以确定省略反应时间414的运动轮廓410。如上所述,运动轮廓410可被用于确定与车道改变动作和/或目标车道相关联的障碍物成本。
65.图5描绘了用于实现本文描述的技术的示例系统500的框图。在至少一个示例中,系统500可以包括车辆502。
66.车辆502可以包括车辆计算设备504、(一个或多个)传感器系统506、(一个或多个)发射器508、(一个或多个)通信连接510、至少一个直接连接512和(一个或多个)驱动系统514。
67.车辆计算设备504可以包括(一个或多个)处理器516和与处理器516通信耦合的存储器518。在所示示例中,车辆502是自主车辆;然而,车辆502可以是任何其他类型的交通工具。在所示示例中,车辆计算设备504的存储器518存储定位组件520、感知组件522、(一个或多个)地图524、(一个或多个)系统控制器526和规划/预测组件528,规划/预测组件528包括轨迹生成组件114、指示组件530、属性组件116、机器学习模型118、运动轮廓组件408和比较组件532。尽管出于说明性目的在图5中将其描绘为驻留在存储器518中,可以设想定位组件520、感知组件522、地图524、系统控制器526、规划/预测组件528、轨迹生成组件114、指示组件530、属性组件116、机器学习模型118、运动轮廓组件408和比较组件532可以附加地或替代地可由车辆502访问(例如,远程存储)。
68.在至少一个示例中,定位组件520可以包括从传感器系统506接收数据以确定车辆
502的位置和/或方位(例如,x-位置、y-位置、z-位置、翻转、俯仰或偏航)。例如,定位组件520可以包括和/或请求/接收环境的地图,并且可以在地图内连续确定自主车辆的位置和/或方位。在一些实例中,定位组件520可以利用slam(同时定位和映射)、clams(同时校准、定位和映射)、相对slam、束调整、非线性最小二乘优化等来接收图像数据、光探测和测距数据、无线电探测和测距数据、imu数据、gps数据、轮式编码器数据等,以准确确定自主车辆的定位。在一些实例中,定位组件520可以向车辆502的各个组件提供数据,以确定自主车辆的初始位置,以用于生成轨迹和/或用于生成地图数据,如本文所讨论的。
69.在一些实例中,感知组件522可以包括执行对象检测、分割和/或分类的功能。在一些示例中,感知组件522可以提供经处理的传感器数据,该传感器数据指示靠近车辆502的实体的存在、和/或将实体分类为实体类型(例如,汽车、行人、骑自行车的人、动物、建筑物、树木、路面、路缘、人行道、未知类等)。在附加或替代示例中,感知组件522可以提供经处理的传感器数据,其指示与检测到的实体(例如,被跟踪的对象)和/或实体所处的环境相关联的一个或多个特征(也称为属性)。在一些示例中,与实体相关联的特征可以包括但不限于:x位置(全局和/或局部位置)、y位置(全局和/或局部位置)、z位置(全局和/或局部位置)、方位(例如,翻转、俯仰、偏航)、实体类型(例如,分类)、实体的速度、实体的加速度、实体的范围(尺寸)等。与环境相关的特征可以包括但不限于:环境中另一个实体的存在、环境中另一个实体的状态、一天中的某个时间、一周中的一天、季节、天气状况、黑暗/光亮的指示等。
70.存储器518还可以包括(一个或多个)地图524,车辆502可以使用地图524在环境中导航。出于讨论的目的,地图可以是在二维、三维或n维中建模的任意数量的数据结构,它们能够提供有关环境的信息,例如但不限于拓扑结构(例如交叉路口)、街道、山脉、道路、地形和整体的环境。在一些实例中,地图可以包括但不限于:纹理信息(例如,颜色信息(例如,rgb颜色信息、lab颜色信息、hsv/hsl颜色信息)等)、强度信息(例如,光探测和测距信息、无线电探测和测距信息等)、空间信息(例如,投影到网格上的图像数据、单个“面元”(例如,与单个颜色和/或强度相关联的多边形))、反射率信息(例如,镜面反射信息、回射率信息、brdf信息、bssrdf信息等)。在一个示例中,地图可以包括环境的三维网格。在一些实例中,地图可以以瓦片格式存储,使得地图的各个瓦片(tile)表示环境的离散部分,并且可以根据需要加载到工作存储器中,如本文所讨论的。在至少一个示例中,地图524可以包括至少一个地图(例如,图像和/或网格)。在一些示例中,可以至少部分地基于地图524来控制车辆502。也就是说,地图524可以与轨迹生成组件114、定位组件520、感知组件522和/或规划/预测组件528有关联的方式来使用,以确定车辆502的位置,识别环境中的对象,和/或生成用以在环境中导航的路线和/或轨迹。
71.在一些示例中,地图524可以存储在可经由网络534访问的(一个或多个)远程计算设备(例如计算设备536)上。在一些示例中,可以例如基于特征(例如,实体类型、一天中的时间、一周中的一天、一年中的季节等)存储多个地图524。存储多个地图524可以具有相似的存储器需求,但是提高了可以访问地图中的数据的速度。
72.在至少一个示例中,车辆计算设备504可以包括系统控制器526,系统控制器526可以被配置为控制车辆502的转向系统、推进系统、制动系统、安全系统、发射器系统、通信系统和其他系统。这些系统控制器526可以与驱动系统514的对应系统和/或车辆502的其他部件通信、和/或控制驱动系统514的对应系统和/或车辆502的其他部件。
73.通常,规划/预测组件528可以确定车辆502穿越环境所要遵循的路径。例如,规划/预测组件528可以确定各种路线和轨迹以及各种程度的细节。例如,规划/预测组件528可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于讨论的目的,路线的一部分可以包括从当前车道到目标车道的车道改变动作。此外,规划/预测组件528可以生成用于引导自主车辆沿着该路线中从当前车道到目标车道的至少一部分的指令。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据移动时域技术基本上同时生成(例如,在技术容限内)多个轨迹(例如,与多个目标车道相关联的多个车道改变动作),其中选择多个轨迹之一供车辆502导航。
74.在一些实例中,规划/预测组件528可以包括生成对象在环境中的预测轨迹(也称为运动轮廓)的功能。例如,规划/预测组件528可以生成在距车辆502的阈值距离内的车辆、行人、动物等的一个或多个预测轨迹。在一些实例中,规划/预测组件528可以测量对象的行动路线,并基于观察到的和预测的行为生成对象的轨迹。生成预测轨迹的示例在2018年10月4日提交的美国专利申请号16/151,607和在2018年5月17日提交的美国专利申请号15/982,658中进行了讨论。申请号16/151,607和15/982,658通过引用整体并入本文。
75.在一些实例中,轨迹生成组件114可以包括生成在可驾驶区域内的参考轨迹和/或目标轨迹的功能。例如,轨迹生成组件114可以从传感器系统506接收传感器数据,和/或可以从感知组件522接收关于环境中的障碍物和/或对象的信息。至少部分地基于传感器数据和/或关于与对象相关联的信息(例如,位置、姿势、范围、分类、速度、预测的轨迹等),轨迹生成组件114可以确定可行驶区域。在一些实例中,轨迹生成组件114可以基于与接近区域的对象相关联的分类类型、和/或基于车辆502的速度,来确定该区域的范围。
76.为了生成轨迹,轨迹生成组件114可以接收或确定参考轨迹,该参考轨迹可以对应于通过环境的路段或其他路径的中心线。在一些实例中,轨迹生成组件114可以生成对应于运动基元的区段,该运动基元是根据2017年12月15日提交的美国专利申请号15/843,596中讨论的技术生成的。申请号15/843,596的全部内容通过引用并入本文。如上所述,由轨迹生成组件114生成的轨迹可以包括从当前车道到目标车道的车道改变动作。
77.在一些实例中,轨迹生成组件114可以包括评估一个或多个成本以相对于参考轨迹生成目标轨迹的功能。如上所述,一个或多个成本可以包括但不限于参考成本、障碍物成本、横向成本和纵向成本等。在一些示例中,可以根据2018年9月28日提交的美国专利申请号16/147,492中讨论的技术来评估一个或多个成本,该专利申请通过引用整体并入本文。
78.在一些实例中,指示组件530可以包括执行车道改变指示的功能。例如,指示组件530可以确定:车道改变动作与由轨迹生成组件114生成的轨迹相关联。然后,指示组件530可以执行车道改变指示,其可以包括例如激活转向指示器(例如,发射器508中的一个发射器,其可以包括例如扬声器和/或灯)和/或向目标车道“挨身轻推”。
79.在一些实例中,属性组件116可以包括至少部分基于由传感器系统506生成的传感器数据来确定属性数据的功能。属性数据可以包括与对象相关联的速度数据、与自主车辆相关联的速度数据、与对象相关联的加速度数据、与自主车辆相关联的加速度数据、和/或指示对象与自主车辆之间的距离的距离数据,但也可以设想其他类型的数据,例如对象的范围(例如,长度、宽度、高度)、车辆状态数据(例如,诊断信息、前照明灯和/或转向指示器状态、扬声器状态等)和/或对象状态数据(例如,前照明灯和/或转向指示器状态、对象的操
作者的姿势等)。
80.在一些实例中,机器学习模型118可以包括接收传感器数据和/或属性数据作为输入、并输出与环境中的对象相关联的让步分数的功能。机器学习模型118可以被实施为神经网络。在一些实例中,机器学习模型118可以基于属性数据确定运动轮廓,该运动轮廓可以指示例如对象在一段时间内将如何表现。机器学习模型118可以通过例如考虑与对象相关联的让步分数、对象的速度、对象的加速度、与对象的轮子相关联的姿态、对象的转向指示器状态等来确定运动轮廓。
81.如上所述,运动轮廓组件408可以存储和/或访问运动轮廓的数据库。当机器学习模型118确定与对象相关联的让步分数时,运动轮廓组件408可以使用传感器数据/属性数据和让步分数,来与运动轮廓数据的运动轮廓进行比较。基于该比较,运动轮廓组件408可以确定与环境中的对象相关联的运动轮廓,该运动轮廓可以指示对象在一段时间内将可能如何表现。
82.比较组件532可以包括将机器学习模型118输出的让步分数与让步分数阈值进行比较的功能。达到或超过让步分数阈值的让步分数可以指示与让步分数相关联的对象更有可能会让步,并且没有达到或超过让步分数阈值的让步分数可以指示该对象更有可能不让步。通过将让步分数与让步分数阈值进行比较,车辆计算设备504可以确定让步分数达到或超过让步分数阈值,并确定执行车道改变动作是安全的。
83.在一些实例中,让步分数可以是一系列的让步分数的中值。作为示例而非限制,让步分数可以是0到1之间的数值,并且让步分数阈值可以是0.5。在一些实例中,让步分数阈值可以由机器学习模型118确定。例如,可以基于训练数据来训练机器学习模型118,以确定让步分数阈值,使得如果传感器数据和/或属性数据分别表示对象将让步或不让步,则基于输入传感器数据和/或属性数据生成的让步分数将达到或超过让步分数阈值或是降低到低于让步分数阈值,训练数据可以包括训练属性数据、传感器数据和/或基准真相数据。
84.本文讨论的机器学习模型118可以包括神经网络,神经网络是一种仿生算法,其将输入数据传递通过一系列连接层以产生输出。神经网络中的每一层也可以包括另一个神经网络,或者可以包括任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指宽泛类别的这种基于学习的参数来生成输出的算法。例如,神经网络可以包括一个或多个神经网络,例如resnet50、resnet101、resnet 152、vgg、densenet、pointnet等。
85.尽管在神经网络的背景中进行了讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于:回归算法(例如,普通最小二乘回归(olsr)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(mars)、局部估计散点图平滑(loess))、基于实例的算法(例如,岭回归、最小绝对收缩和选择算子(lasso)、弹性网络、最小角度回归(lars))、决策树算法(例如,分类和回归树(cart)、迭代二分法3(id3)、卡方自动交互检测(chaid)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计量(aode)、贝叶斯信念网络(bnn),贝叶斯网络),聚类算法(例如,k-均值、k-中值、期望最大化(em),层次聚类)、关联规则学习算法(例如,感知器,反向传播,霍普菲尔德网络,径向基函数网络(rbfn))、深度学习算法(例如,深度玻尔兹曼机(dbm),深度信念网络(dbn),卷积神经网络(cnn),堆叠自动编码器)、降维算法(例如,
主成分分析(pca)、主成分回归(pcr)、偏最小二乘回归(plsr)、sammon映射、多维缩放(mds)、投影追踪、线性判别分析(lda)、混合判别分析(mda)、二次判别分析(qda)、灵活判别分析(fda))、集成算法(例如,提升法、自举聚合(打包)、adaboost、堆叠泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林)、svm(支持向量机)、监督学习、无监督学习、半监督学习等。
86.在至少一个示例中,传感器系统506可以包括光探测和测距传感器、无线电探测和测距传感器、超声换能器、声纳传感器、定位传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元(imu))、加速度计、磁力计、陀螺仪等)、相机(例如,rgb、ir、强度、深度等)、飞行时间传感器、麦克风、轮式编码器、环境传感器(例如温度传感器、湿度传感器、光传感器、压力传感器等)等。传感器系统506可以包括这些或其他类型的传感器中的每一个的多个实例。例如,光探测和测距传感器可以包括位于车辆502的拐角、前部、后部、侧面和/或顶部的单独的光探测和测距传感器。作为另一个示例,相机传感器可以包括设置在车辆502的外部和/或内部之周围的不同位置处的多个相机。传感器系统506可以向车辆计算设备504提供输入。另外或备选地,传感器系统506可以按照以特定频率、在预定时间段过去之后、近实时地等方式经由一个或多个网络534向一个或多个计算设备536发送传感器数据。
87.如上所述,车辆502还可以包括用于发射光和/或声音的一个或多个发射器508。该示例中的发射器508包括与车辆502的乘客进行通信的内部音频发射器和可视化发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,座椅安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的发射器508还包括外部发射器。作为示例而非限制,该示例中的外部发射器包括用于发信号指示行驶方向的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),用以与行人或其他附近车辆进行音响方式的通信,其中一种或多种包括声束转向技术。
88.车辆502还可以包括能够用于实现在车辆502与一个或多个其他本地或远程计算设备之间通信的一个或多个通信连接510。例如,通信连接510可以使得易于实现与车辆502和/或驱动系统514上的其他本地计算设备的通信。而且,通信连接510可以允许车辆与其他附近的计算设备(例如,其他附近的车辆、交通信号灯等)进行通信。通信连接510还能够使车辆502与远程连接的远程操作计算设备或其他远程服务进行通信。
89.通信连接510可以包括用于将车辆计算设备504连接到另一个计算设备或网络(例如网络534)的物理接口和/或逻辑接口。例如,通信连接510可以支持基于wi-fi的通信(例如通过ieee 802.11标准定义的频率)、短程无线频率(如蓝牙)、蜂窝通信(例如,2g、3g、4g、4g lte、5g等)、或使相应的计算设备能够与其他计算设备接口的任何合适的有线或无线通信协议。
90.在至少一个示例中,车辆502可以包括一个或多个驱动系统514。在一些示例中,车辆502可以具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,可以将各个驱动系统514设置在车辆502的相对端(例如,前部和后部等)。在至少一个示例中,驱动系统514可以包括一个或多个传感器系统,用以检测驱动系统514和/或车辆502周围环境的状况。作为示例而非限制,传感器系统可以包括用于感测驱动系统的轮子的旋转的一个或多个轮式编码器(例如,旋转编码器)、用于测量驱动系统的方位和加速度的惯性
传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)、相机或其他图像传感器、用于声学方式检测驱动系统周围的对象的超声波传感器、光探测和测距传感器、无线电探测和测距传感器等。一些传感器(如轮式编码器)可以是驱动系统514所独有的。在一些实例中,驱动系统514上的传感器系统可以与车辆502的相应系统(例如,传感器系统506)形成重叠或补充。
91.驱动系统514可以包括很多车辆系统,包括高压电池、驱动车辆的马达、逆变器(用于将来自电池的直流电转换成交流电以供其他车辆系统使用)、包括转向马达和转向齿条(可以是电动的)的转向系统、包括液压或电动致动器的制动系统、包括液压和/或气动元件的悬架系统、用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统、hvac系统、照明灯(例如,用于照亮车辆外部环境的前灯/尾灯等照明)、以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气部件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动系统514可以包括驱动系统控制器,该驱动系统控制器可以接收来自传感器系统的数据和对数据进行预处理,以控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括与一个或多个处理器和与处理器通信耦合的存储器。存储器可以存储用以执行驱动系统514的各种功能的一个或多个组件。此外,驱动系统514还包括一个或多个通信连接,其使得相应的驱动系统能够与一个或多个其他本地或远程计算设备进行通信。
92.在至少一个示例中,直接连接512可以提供物理接口,用以将一个或多个驱动系统514与车辆502的车身耦合。例如,直接连接512可以允许在驱动系统514和车辆之间传递能量、流体、空气、数据等。在一些实例中,直接连接件512可以进一步以可释放的方式将驱动系统514固定到车辆502的车身。
93.在一些示例中,车辆502可以经由网络534向一个或多个计算设备536发送传感器数据。在一些示例中,车辆502可以向计算设备536发送原始的传感器数据。在其他示例中,车辆502可以将处理后的传感器数据和/或传感器数据的表示发送到计算设备536。在一些示例中,车辆502可以按照以特定频率、在预定时间段过去之后、近实时地等方式发送传感器数据到计算设备536。在一些情况中,车辆502可以发送传感器数据(原始的或已处理的)作为一个或多个日志文件发送到计算设备536。
94.计算设备536可以包括处理器538和存储规划/预测组件542的存储器540。
95.在一些实例中,规划/预测组件542可以基本上对应于规划/预测组件528,并且可以包括生成车辆502在环境中的轨迹的功能。在一些示例中,存储器540可以附加地或替代地存储轨迹生成组件114、属性组件116、机器学习模型118、运动轮廓组件408、指示组件530和/或比较组件532中的任何一个。例如,计算设备536可以通过运动轮廓组件408至少部分地基于从一个或多个车辆接收到的日志数据来确定运动轮廓,并且可以将运动轮廓传输到一个或多个车辆,以与运动轮廓组件408相关联的方式存储。
96.车辆502的处理器516和计算设备536的处理器538可以是能够执行指令以如本文所述处理数据和执行操作的任何合适的处理器。作为示例而非限制,处理器516和538可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、或处理电子数据以将该电子数据转换为可存储在寄存器和/或存储器中的其他电子数据的任何其他器件或器件的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如,fpga等)和其他硬件器件也可以
被认为是处理器,只要它们被配置为实现编码指令。
97.存储器518和540是非暂时性计算机可读介质的示例。存储器518和540可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据,用以实现本文描述的方法和归属于各种系统的功能。在各种实施方式中,存储器可以使用任何合适的存储器技术来实施,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器、或能够存储信息的任何其他类型的存储器。这里描述的架构、系统和各个元件可以包括许多其他逻辑的、编程的和物理的组件,其中附图中所示的那些组件仅仅是与这里的讨论相关的示例。
98.在一些实例中,存储器518和540可以至少包括工作存储器和储存存储器。例如,工作存储器可以是容量有限的高速存储器(例如,高速缓冲存储器),用于存储将要由处理器516和538操作的数据。在一些实例中,存储器518和540存储器可以包括储存存储器,该存储器可以是容量相对较大的低速存储器,用于长期存储数据。在一些情况中,处理器516和538不能直接对存储在储存存储器中的数据进行操作,并且可能需要将数据加载到工作存储器中,以基于该数据来执行操作,如本文所讨论的。
99.应当注意,虽然图5被示为分布式系统,但在替代示例中,车辆502的组件可以与计算设备536相关联,和/或计算设备536的组件可以与车辆502相关联。即,车辆502可以执行与计算设备536相关联的一个或多个功能,反之亦然。
100.图5和图6示出了根据本公开实施例的示例过程。这些过程被图示为逻辑流程图,其中的每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的背景下,这些操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行这些指令时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述这些操作的顺序并非意在被解释为限制,并且任何数量的所描述的操作可以按任何顺序来组合和/或并行组合以实现这些过程。
101.图6描绘了根据本公开的实施例、用于确定让步分数并且至少部分地基于让步分数来控制车辆以执行车道改变动作的示例过程600。例如,过程600中的一些或全部可以由图1或图5中的一个或多个组件执行,如本文所述。例如,过程600中的一些或全部可以由车辆计算设备110、车辆计算设备504和/或计算设备536执行。
102.在示例过程600的操作602,过程600可以包括从车辆的传感器接收表示环境的至少一部分的传感器数据。在一些实例中,车辆在环境中可以是静止的和/或被停放在环境中。在一些实例中,车辆可能正在穿越环境,同时从传感器接收传感器数据。
103.在示例过程600的操作604,过程600可以包括确定车辆将在环境中执行的车道改变动作。在一些实例中,确定车道改变动作可以至少部分地基于包括车道改变动作的轨迹。例如,车辆的计算设备可以至少部分地基于交通状况和/或环境中的障碍物确定车道改变动作作为轨迹的一部分,在该环境中车道改变动作可以允许车辆更有效和/或更安全地在路上行驶的车辆中穿行和/或穿过环境。在一些实例中,车道改变动作可以至少部分地基于即将到来的动作。作为示例而非限制,车辆可以遵循包括在即将到来的交叉路口处右转的轨迹。为了准备右转,车辆可以执行车道改变动作进入目标车道。在一些示例中,车道改变动作可以包括无保护的转向和/或在有保护的交叉路口处的转向。车道改变动作可以与目
标车道和/或中间车道(例如,自行车道、公共汽车道)相关联。尽管本文的讨论主要涉及目标车道,但应理解,本文讨论的技术可以附加地或替代地应用于中间车道。
104.在示例过程600的操作606,过程600可以包括确定传感器数据中表示的对象与目标车道相关联。如上所述,车辆可以至少部分地基于从传感器接收的传感器数据来执行对象检测、分割和/或分类,以确定传感器数据表示对象并且该对象与目标车道相关联。
105.在示例过程600的操作608,过程600可以包括至少部分地基于传感器数据来确定属性数据。在一些实例中,属性数据可以包括若干个属性,诸如对象范围、对象分类、对象姿势、对象轨迹、对象加速度、对象状态、对象与车辆的距离和/或对象速度,尽管可以设想其他属性,诸如对象的光亮状态、对象的操作者的手势等。属性数据可以附加地或替代地包括对应于车辆的类似数据,和/或可以参考与车辆相关联的属性数据来指示属性数据(例如,可以参考车辆的位置和/或速度来指示对象速度)。在至少一些示例中,这样的属性数据可以包括在一段时间内、在一段时间之前、以及直到和/或包括当前时间(例如,1s、2s、4s、8s等)确定的属性。
106.在示例过程600的操作610,过程600可以包括将属性数据作为输入提供给机器学习模型,机器学习模型被训练用以输出让步分数。
107.在示例过程600的操作612处,过程600可以包括从机器学习模型接收表示对象向车辆让步的概率的让步分数。让步分数可以数值,该数值可以指示对象向车辆让步的概率。可以基于来自日志数据的类似模拟环境中表示的类似轨迹,来训练机器学习模型。
108.在示例过程600的操作614,过程600可以包括确定让步分数是否达到或超过让步分数阈值。如果让步分数没有达到或超过让步分数阈值,则过程600可以返回到操作608。如果让步分数确实达到或超过让步分数阈值,则过程600可以进行到操作616。在一些实例中,让步分数可以与成本相关联。例如,较低的让步分数可能与对象将让步的较低概率相关联,进而,让步分数可以与执行车道改变动作的较高成本相关联。同样,较高的让步分数可以与对象将让步的较高概率相关联,进而,较高的让步分数可以与执行车道改变动作的较低成本相关联。在一些实例中,操作614可以包括确定成本是否达到或超过成本阈值。
109.在示例过程600的操作616,过程600可以包括至少部分地基于让步分数来控制车辆以执行车道改变动作。例如,车辆可以至少部分地基于确定让步分数没有达到或超过让步分数阈值,来确定取消车道改变动作,或者车辆可以至少部分地基于确定让步分数达到或超过让步分数阈值,而使车道改变动作得以完成。在一些实例中,低于让步分数阈值的让步分数会导致与车道改变动作、目标车道和/或目标轨迹相关联的障碍物成本增加。响应于成本增加,车辆可以确定取消车道改变动作。
110.图7描绘了用于训练机器学习模型以生成让步分数的示例过程700。
111.在示例过程700的操作702,过程700可以采集传感器数据和/或生成传感器数据,并根据传感器数据确定属性数据,其中属性数据可以与存储在车辆的存储器中的数据库中的对象相关联。在某些实例中,传感器数据可以在穿越环境时由一辆或多辆车辆采集。在一些实例中,传感器数据可以是在模拟环境中生成的合成传感器数据。
112.在示例过程700的操作704,过程700可以包括生成车道改变的成功或失败的指示,作为基准真相数据。基准真相数据可以指示车辆是否曾经尝试基于传感器数据、属性数据和/或运动轮廓来执行车道改变操作,在基于传感器数据、属性数据和/或运动轮廓来执行
车道改变操作中成功和/或失败。在一些示例中,基准真相数据可以指示以与尝试的车道改变和/或与其相关联的属性数据相关联的方式所使用的运动轮廓(和/或与最高让步分数相关联的运动轮廓)。
113.在示例过程700的操作706,可以将传感器数据输入到机器学习模型中以生成让步分数。可以训练机器学习模型,以至少部分地基于传感器数据和基准真相数据生成让步分数。例如,可以将传感器数据输入到机器学习模型中,其中可以使用已知结果(例如,基准真相数据,其指示已知车道改变成功、车道改变失败、正确的运动轮廓)来调整权重和/或机器学习模型的参数,以使误差最小化。在某些实例中,基准真相数据可以是标记的传感器数据和/或属性数据。在某些实例中,基准真相数据可以是合成的传感器数据。如上所述,机器学习模型可以使用损失函数(例如,li、l2、柔性最大值传输函数softmax等)来最小化误差。这样的模型可以是线性的或逻辑回归、或其他模型中的一种或多种。
114.本文描述的各种技术可以在计算机可执行指令或软件的背景下实现,例如程序模块,这些指令或软件存储在计算机可读存储器中并由一台或多台计算机或其他设备的处理器执行,例如附图中所示的那些设备。通常,程序模块包括例程、程序、对象、组件、数据结构等,并定义了用于执行特定任务或实现特定抽象数据类型的操作逻辑。
115.其他架构可以用于实现所描述的功能并且预期落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了特定的职责分配,但可以根据情况以不同的方式分配和划分各种功能和职责。类似地,可以以各种方式和使用不同的手段来存储和分发软件,并且可以以许多不同的方式来改变上述特定的软件存储和执行配置。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,不限于具体描述的存储器形式。示例条款
116.a:一种系统,包括:一个或多个处理器;以及一个或多个存储计算机可执行指令的计算机可读介质,当执行这些指令时,使该系统执行以下操作:从自主车辆的传感器接收表示环境的至少一部分的传感器数据;确定自主车辆在环境中执行的车道改变动作;确定传感器数据中表示的对象和与车道改变动作相关联的目标车道相关联;至少部分地基于传感器数据确定属性数据,该属性数据包括:与自主车辆相关联的第一速度数据、与对象相关联的第二速度数据、以及自主车辆与对象之间的距离;将属性数据输入机器学习模型;从机器学习模型接收指示对象向自主车辆让步的概率的让步分数;以及至少部分地基于让步分数来控制自主车辆以执行车道改变动作。
117.b:段落a的系统,其中属性数据是与第一时间相关联的第一属性数据,并且距离是第一距离,所述操作进一步包括:确定与第二时间相关联的第二属性数据,第二属性数据包括:与自主车辆相关联的第三速度数据、与对象相关联的第四速度数据、以及在第二时间自主车辆与对象之间的第二距离;以及将第二属性数据输入机器学习模型。
118.c:段落b的系统,其中第二属性数据还至少部分地基于车道改变指示。
119.d:段落a的系统,所述操作进一步包括:至少部分地基于让步分数,确定与车道改变动作相关联的成本;其中控制自主车辆还至少部分地基于所述成本。
120.e:段落a的系统,其中对象与以下各项中至少一项相关联:附加车辆、骑自行车的人、摩托车、或卡车。
121.f:一种方法,包括:从车辆的传感器接收环境的传感器数据;至少部分地基于传感
器数据确定环境中对象的存在;至少部分地基于传感器数据确定属性数据,属性数据包括:与车辆相关联的第一速度数据、与对象相关的第二速度数据、以及车辆与对象之间的距离;将属性数据输入机器学习模型;以及从机器学习模型接收指示与对象相关联的让步动作的概率的让步分数;以及至少部分地基于让步分数来控制车辆。
122.g:段落f的方法,其中:属性数据是与第一时间相关联的第一属性数据,并且该距离是第一距离,所述方法还包括:确定与第二时间相关联的第二属性数据,第二属性数据包括:与车辆相关的第三速度数据、与对象相关联的第四速度数据、以及车辆与对象之间的第二距离;以及将第二属性数据输入机器学习模型。
123.h:段落g的方法,进一步包括:控制车辆执行车道改变指示;其中确定属性数据还至少部分地基于车道改变指示。
124.i:段落h的方法,进一步包括:确定让步分数达到或超过让步分数阈值;其中控制车辆还至少部分地基于让步分数达到或超过让步分数阈值。
125.j:段落f的方法,进一步包括:至少部分地基于让步分数来确定预测运动轮廓,预测运动轮廓指示对象的预测运动;其中控制车辆还至少部分地基于预测运动轮廓。
126.k:段落j的方法,进一步包括:至少部分地基于预测运动轮廓来确定车道改变动作;其中控制车辆包括控制车辆执行车道改变动作,并且其中对象位于车道改变动作的目标车道中。
127.l:段落f的方法,进一步包括:确定让步分数低于让步分数阈值;其中控制车辆包括至少部分地基于让步分数低于让步分数阈值来控制车辆避免执行车道改变动作。
128.m:段落f的方法,其中至少部分地基于训练属性数据和指示车道改变成功的基准真相属性数据来训练机器学习模型。
129.n:一种非暂时性计算机可读介质,其存储可由处理器执行的指令,其中所述指令在被执行时使所述处理器执行以下操作:从车辆的传感器接收环境的传感器数据;至少部分地基于传感器数据确定环境中对象的存在;至少部分基于传感器数据确定属性数据;将属性数据输入机器学习模型;从机器学习模型接收指示与对象相关联的让步动作的概率的让步分数;以及至少部分地基于让步分数来控制车辆穿过环境。
130.o:段落n的非暂时性计算机可读介质,其中传感器数据包括模拟的传感器数据,环境是模拟的环境,并且车辆是模拟的车辆。
131.p:段落n的非暂时性计算机可读介质,其中,所述操作还包括:确定与第二时间相关联的第二属性数据;以及将第二属性数据输入机器学习模型。
132.q:段落p的非暂时性计算机可读介质,所述操作进一步包括:控制车辆执行车道改变指示,车道改变指示包括以下各项中至少一项:开启转向指示器、降低车辆的速度、增加车辆的速度、或控制车辆以减小车辆与目标车道之间的距离。
133.r:段落n的非暂时性计算机可读介质,所述操作进一步包括:确定让步分数达到或超过让步分数阈值;至少部分地基于确定让步分数达到或超过让步分数阈值来确定车道改变动作;其中控制车辆包括控制车辆执行车道改变动作。
134.s:段落n的非暂时性计算机可读介质,其中至少部分地基于基准真相数据来训练机器学习模型,并且其中,基准真相数据包括基准真相属性数据和与指示车道改变成功的基准真相属性数据相关联的数据。
135.t:段落n的非暂时性计算机可读介质,所述操作进一步包括:至少部分地基于让步分数,确定指示对象的预测运动的预测运动轮廓;其中控制车辆还至少部分地基于预测运动轮廓。
136.虽然上述示例条款是针对一种特定实现方式进行描述的,应该理解的是,在本文档的上下文中,示例条款的内容还可以通过方法、设备、系统、计算机可读介质、和/或其他实施方式来实现。此外,示例a-t中的任一示例可以单独实施或与示例a-t中任何其他一个或多个示例组合实施。结论
137.尽管已经描述了本文描述的技术的一个或多个示例,但其各种改变、添加、排列和等效物被包含在本文描述的技术的范围内。
138.在示例的描述中参考了附图,这些附图构成示例描述的一部分,并且通过图解的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例并且可以进行改变或变型,例如结构改变。这样的示例、改变或变型不必脱离关于预期要求保护的主题的范围。虽然本文中的步骤可以按特定顺序呈现,但在某些情况下,可以改变这样的顺序,以便在不同时间或以不同顺序提供某些输入,而不改变所描述的系统和方法的功能。公开的过程也可以按不同的顺序执行。另外,本文中的各种计算不需要按照所公开的顺序执行,可以容易地实现使用计算的替代排序的其他示例。除了被重新排序之外,这些计算还可以被分解为具有相同结果的子计算。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1