基于语义对象的定位的制作方法

未命名 07-17 阅读:93 评论:0

基于语义对象的定位
1.相关申请的交叉引用
2.本专利申请要求于2020年12月11日提交的美国发明专利申请17/119,518号和于2020年12月11日提交的美国发明专利申请17/119,562号的优先权。申请序列号17/119,518和17/119,562通过引用并入本文。


背景技术:

3.数据可以在环境中被捕获并且可以被表示为环境的地图。通常,这样的地图可以由在环境内导航的车辆使用,尽管这些地图可以用于各种目的。车辆可以捕获传感器数据并且可以确定车辆相对于地图的位置。因此,校准传感器以给车辆计算系统提供准确的输入是很重要的。
附图说明
4.参考附图来描述具体实施方式。在附图中,附图标记的最左边的数字标识该附图标记首次在其中出现的附图。在不同附图中使用相同的附图标记指示相似或同样的组件或特征。
5.图1是以下的示例过程的示意流程图:捕获传感器数据,将地图数据投影到传感器数据中,基于传感器数据和地图数据确定距离,以及基于距离执行动作。
6.图2是以下的示例过程的示意流程图:捕获传感器数据,确定第一对象对应于第二对象,以及基于对极几何确定校准参数。
7.图3是基于对象类型和距离来确定地图数据的示例的图示。
8.图4a是使用包括至少部分地重叠的视场的多个传感器来捕获表示对象的传感器数据的图示。
9.图4b是使用包括非重叠视场的多个传感器来捕获表示对象的传感器数据的图示。
10.图5描绘了用于实现本文描述的技术的示例系统的框图。
11.图6是用于确定车辆在环境中的位置的示例过程。
12.图7是用于基于地图数据确定传感器的校准参数的示例过程。
具体实施方式
13.本文讨论了用于使用传感器确定车辆在环境中的位置以及确定与传感器相关联的校准信息的技术。在一些示例中,车辆可以基于地图数据确定在环境中的位置。地图数据可以包括与环境中的语义对象有关的数据。这样的语义对象可以包括“通用”特征,例如交通灯、车道标线等。车辆可以使用诸如图像传感器的传感器来捕获表示环境的传感器数据。表示语义对象的地图数据可以被投影到传感器数据中并且与传感器数据中表示的对象匹配。这样的语义对象可以在图像数据中表示为中心点并且可以与协方差数据相关联。投影到传感器数据中的语义对象与传感器数据中表示的对象之间的距离可以被最小化,以确定车辆在环境中的位置。
14.在一些示例中,语义地图数据可以被用于确定与用于捕获传感器数据的传感器有关的校准信息。在一些示例中,车辆可以包括第一传感器,其具有第一视场,以及第二传感器,其具有与第一视场至少部分地重叠的第二视场。可以捕获表示环境中的第一对象的第一传感器数据,以及可以捕获表示环境中的第二对象的第二传感器数据。基于语义地图数据,可以确定第一传感器数据中的第一对象对应于第二传感器数据中的第二对象。因此,第一传感器数据中的第一对象的特定点(例如,中心点)可以对应于第二传感器数据中的第二对象的特定点。基于校准数据,可以确定特定点与对极线之间的距离。随着时间变化的距离可以被捕获并被用于确定关于第一传感器和第二传感器是否一致或以其他方式被校准的误差统计。
15.在一些示例中,误差统计可以被用于预测传感器的性能和/或可以指示传感器何时可能失效。在一些示例中,基于这样的历史数据指标,可以调度、启动或以其他方式确定预测性维护。
16.在一些示例中,可以使用地图数据来表示环境。地图数据可以表示语义对象,其可以包括“通用”对象,例如交通灯、杆、标志、车道标线(也称为车道标记)等。语义对象或语义地图数据可以表示为三维位置和协方差数据。这样的语义对象可以与具体的语义类别相关联(例如,诸如交通灯、灯、杆、车道标线等的分类类型)。
17.在一些示例中,可以确定车辆在环境中的初始位置。这样的初始位置可以基于诸如gps数据、激光雷达数据、imu数据的其他传感器数据来确定,或者可以基于先前确定的位置来确定。基于初始位置和/或基于语义对象的分类类型,当将地图对象与通过传感器数据表示的对象进行匹配时,地图对象的列表可以被加载到存储器中或以其他方式被考虑。在一些示例中,可以基于地图对象在车辆的阈值距离内来考虑地图对象。在一些情况下,阈值距离可以至少部分地基于环境中对象的分类类型和/或频率。例如,环境中可以存在相对较多数量的车道标线,因此,考虑车道标线的阈值距离可以相对低于诸如交通灯的另一语义对象。作为示例而不是限制,用于加载表示车道标线的地图数据的阈值距离可以是50米,而用于加载表示交通灯的地图数据的阈值距离可以是100米,尽管也考虑其他距离值。
18.在一些示例中,传感器数据可以由具有重叠视场的传感器捕获。在这样的示例中,传感器数据可以被基本上同时捕获。因此,可以最小化捕获传感器数据之间的位置的改变,并且可以在不考虑车辆的朝向和/或位置的改变的情况下确定地图位置和/或校准信息。可以相对于两个传感器、三个传感器、或任何数量的传感器确定校准信息。
19.在一些示例中,传感器数据可以由具有非重叠视场的传感器捕获。在这样的示例中,当对象在第二传感器的视场中时,对象的第一传感器数据可以在第一时间由第一传感器捕获,以及第二传感器数据可以在第二时间由第二传感器捕获。因此,车辆的朝向和/或位置的改变可以用于将第一传感器数据中对象的位置转换为第二传感器数据中的位置。因此,可以确定具有不同视场的传感器的校准信息。此外,可以确定具有重叠或非重叠视场的任何传感器组(例如,至少两个)的校准信息。
20.本文描述的定位和校准技术可以通过提供确定世界中的位置以及确定不一致的传感器数据的鲁棒方法来改进计算装置的功能。在定位的上下文中,本文讨论的技术可以提供正交定位系统,其可以与另一个定位系统分离地使用或组合使用。在一些情况下,使用语义地图特征可以提供相对于基于网格的地图更小的地图数据量,这可以允许将存储器或
处理能力用于其他操作。此外,可以通过了解车辆在环境中的位置来规划安全轨迹。在校准的上下文中,使用语义特征来确定一个传感器数据中的对象与另一个传感器数据中的对象相同,提供了识别共同特征用于后续校准的鲁棒方法。校准信息可以用于确定传感器何时未对准或校准数据何时不正确,这可以避免其他操作的问题,例如融合数据、分割、分类、和跟踪数据,如果没有校准的传感器,这可能很困难或不可能。本文讨论了对计算机功能的这些和其他改进。
21.本文描述的技术可以用多种方式实现。下文参考下列附图提供示例实施方式。虽然在自主车辆的场景中讨论,但是本文描述的方法、设备和系统可以应用于各种系统(例如,传感器系统或机器人平台),并且不限于自主车辆。在一个示例中,类似的技术可以用在驾驶员控制的车辆中,其中这样的系统可以提供执行各种操纵是否安全的指示。在另一个示例中,该技术可以用在制造装配线场景、航空测量场景或航海场景中。另外,本文描述的技术可以与真实数据(例如,使用传感器捕获的)、模拟数据(例如,通过模拟器生成的)、或任何两者的组合一起使用。
22.图1是以下的示例过程100的示意流程图:捕获传感器数据,将地图数据投影到传感器数据中,基于传感器数据和地图数据确定距离,以及基于距离执行动作。
23.操作102可以包括接收环境的传感器数据。这样的传感器数据的示例被示出为图像数据104。图像数据104可以包括任何数量和类型的对象。如图所示,图像数据104包括对象106(例如,交通灯)、对象108(例如,车道标线)、和对象110(例如,标志)。虽然在图像数据的上下文中进行讨论,但是操作102可以包括接收激光雷达数据、雷达数据、音频数据、飞行时间数据等。此外,操作102可以包括从单个传感器或多个传感器接收传感器数据。操作102可以包括接收与单个时间相关联的传感器数据(或基于技术容差与基本上相同的时间相关联的传感器数据)或在一段时间内捕获的传感器数据。在一些示例中,操作102可以由自主车辆在其穿越环境时执行。
24.在一些示例中,操作102可以包括检测对象、分类对象、确定与对象相关联的边界框等。此外,操作102可以包括确定这样的对象的中心点以及与对象相关联的协方差数据。在一些示例中,协方差数据可以基于对象的范围(例如,长度、宽度、高度)或可以与其相关联。操作102可以包括接收或以其他方式确定与传感器数据中表示的对象相关联的二维边界框和/或三维边界框。对象的中心点和协方差数据可以用在其他操作中,如下所述。
25.操作112可以包括接收与环境相关联的地图数据。这样的地图数据的示例被示出为地图数据114。在一些示例中,地图数据114可以表示环境中的语义对象。这样的语义对象可以是“通用”对象,例如交通灯、车道标线、杆、标志、树木、消防栓、电气组件(例如,变压器、电箱)、邮箱、停车计时器、自行车架、树木、广告牌等。在一些示例中,地图数据114可以包括对象的标识符、对象(例如,交通灯、车道标线、标志等)的分类类型的指示、对象在环境中的三维位置、以及与对象相关联的协方差数据等。在一些示例中,地图数据114可以包括对象的范围(例如,长度、宽度、高度)和/或任何其他与对象有关的信息。
26.在一些示例中,可以基于激光雷达数据或其他图像数据生成地图数据。例如,生成这样的地图数据的示例可以在例如于2018年3月8日提交的标题为“mesh decimation based on semantic information”的美国专利申请15/913,647号和于2019年11月27日提交的标题为“updating map data”的美国专利申请16/698,336号中找到,出于所有目的,两
者的全部内容通过引用以其整体并入本文。
27.在一些示例中,操作112可以包括确定车辆的初始位置,其可以基于较早的位置、估计的位置、粗略的位置估计、其他传感器模态等。此外,操作112可以包括基于分类类型和/或地图对象到诸如与车辆相关联的位置的另一位置的阈值距离来接收地图对象。结合图3以及贯穿本公开全文讨论加载或以其他方式接收地图数据的附加细节。
28.操作116可以包括将地图对象投影到传感器数据中。在一些示例中,操作116可以包括至少部分地基于地图对象的三维位置、车辆的姿态(例如,位置和/或朝向)、和/或传感器的姿态,将地图对象投影到传感器数据中。地图对象可以表示在操作112中接收到的地图数据的许多对象中的一个。在一些示例中,操作116可以至少部分地基于车辆在环境中的估计和/或预期位置。在一些示例中,估计位置可以基于先前确定的位置,该先前确定的位置已经基于环境中的预期运动(例如,基于来自惯性运动单元(imu)的数据,基于从imu数据推断的数据等)被更新。
29.在一些示例中,地图对象的三维位置可以被投影到传感器数据中作为二维中心点。在一些示例中,三维协方差数据可以被投影到传感器数据中作为二维协方差数据。
30.被投影到传感器数据中的地图对象的示例被示出为示例118。
31.示例118包括在图像数据104中表示的对象的表示和投影到传感器数据中的地图数据的表示,以及其他数据。例如,示例118将对象106表示为协方差数据120(也称为对象120)和相关联的中心点。示例118将对象108表示为协方差数据122和相关联的中心点。示例118将对象110表示为协方差数据124和相关联的中心点。
32.示例118还示出了投影到图像数据104中的地图对象126。为了便于可视化,一些地图对象在图1中没有被标记。
33.在一些示例中,操作116包括将地图对象与传感器数据中表示的对应对象进行匹配。例如,可以基于匈牙利指派法、贪心搜索算法、最近邻算法、对象位置、范围、分类等,将地图对象与对象进行匹配。
34.在一些示例中,作为匹配的前提条件,地图对象必须具有与传感器数据中的对象相同的分类类型。
35.在一些示例中,操作116包括至少部分地基于分类数据、中心点位置、协方差数据等,将地图对象与传感器数据中表示的对象(也称为“感测对象”)进行匹配。
36.操作128可以包括确定地图对象与传感器数据中表示的对象之间的距离。例如,一旦地图对象126与协方差数据120匹配或以其他方式确定为与协方差数据120相关联,则可以确定两个对象之间的距离。例如,距离130可以表示与对象126相关联的第一中心点和与协方差数据120相关联的第二中心点之间的距离。
37.在一些示例中,距离130可以表示马氏距离。在一些示例中,距离130可以表示以像素为单位的距离或欧氏距离。
38.在一些示例中,操作128可以包括确定地图对象对应于感测对象的可能性。在一些示例中,除了距离130之外或代替距离130,可以确定可能性。在一些示例中,可能性可以至少部分地基于与映射对象和/或感测对象相关联的协方差数据的对数。在一些示例中,可能性可以表示与映射对象和/或感测对象相关联的绝对值的对数。在一些示例中,否定可能性可以表示距离。在一些示例中,地图对象对应于感测对象的可能性是至少部分地基于马氏
距离和与映射对象或感测对象相关联的协方差的大小。也就是说,具有较大协方差的对象可以与较大的距离相关联,由此降低地图对象对应于感测对象的可能性。
39.操作128可以包括确定传感器数据中表示的并且与地图数据相关联的一些或所有对象的距离。例如,操作128可以包括确定地图对象和与对象108和对象110以及其他未编号的对象相关联的传感器数据之间的距离。
40.操作132可以包括基于距离执行动作。示例动作134可以包括但不限于确定位置、确定校准、控制车辆等。
41.在确定位置的上下文中,可以将距离输入到与车辆状态相关联的状态图表,并且可以基于最小化地图对象和感测对象之间的距离来确定车辆的位置。在一些示例中,距离数据可以与其他激光雷达数据、雷达数据等结合使用,以确定车辆的位置。在一些示例中,确定位置可以基于slam(同时定位和映射)算法、粒子滤波等。在一些示例中,可以执行本文讨论的操作以提供独立的位置估计,其给另一定位算法提供冗余。
42.结合图2以及贯穿本公开全文提供确定校准信息的附加细节。
43.在控制车辆的上下文中,在一些示例中,动作可以包括生成轨迹、改变或修改轨迹、启动安全停止轨迹、向远程操作员发送指令请求等。
44.图2是以下的示例过程200的示意流程图:捕获传感器数据,确定第一对象对应于第二对象,以及基于对极几何(epipolar geometry)确定校准参数。
45.在操作202,过程包括从第一传感器接收第一传感器数据并从第二传感器接收第二传感器数据。示例204示出了场景的俯视图,其示出在环境中的交叉路口处的车辆204。第一虚线208(用半虚线表示)表示第一传感器的视场,第二虚线210(用全虚线表示)表示第二传感器的第二视场。在图像数据的上下文中,由第一图像传感器(例如,左图像传感器)捕获的图像数据的示例被示出为图像数据212。由第二图像传感器(例如,右图像传感器)捕获的图像数据的示例被示出为图像数据214。
46.虽然在图像数据的上下文中讨论,但是操作202可以包括接收激光雷达数据、雷达数据、音频数据、飞行时间数据等。
47.示例204中示出的传感器的具体朝向不是限制性的,并且车辆206可以包括任何数量的具有任何视场(或感测区域)的组合的传感器。
48.图像数据212表示与关联于第一虚线208的视场相关联的图像数据。图像数据214表示与关联于第二虚线的视场相关联的图像数据。
49.操作216可以包括基于语义地图数据来确定第一传感器数据中的第一对象是第二传感器数据中的第二对象。例如,操作216可以包括与在图1的上下文中讨论的那些操作类似的操作。也就是说,操作216可以包括但不限于:检测图像数据212和/或图像数据214中的对象,接收地图数据,确定与对象相关联的中心点,确定与对象相关联的协方差数据,(例如,基于匈牙利算法、点之间的距离、或一些其他匹配算法)确定语义对象对应于传感器数据中的对象,以及确定图像数据212和图像数据214中表示的两个对象是同一对象。提供了关于对象218和对象220的附加细节,如下所述。
50.图像数据212包括对象218的表示,而图像数据214包括对象220的表示。示例222中提供了与包括对象218的图像数据212相关联的详细视图。在示例224中提供了与包括对象220的图像数据214相关联的详细视图。
51.例如,示例222示出了与对象218相关联的中心点和协方差数据以及与对象218相关联的语义地图数据。例如,对象218在示例222中通过中心点226和协方差数据228表示。语义地图对象在示例222中表示为中心点230和协方差数据232。
52.操作216可以包括确定中心点226与中心点230之间的距离234。在一些示例中,距离234至少部分地基于中心点226和中心点230和/或协方差数据228和协方差数据230。在一些示例中,距离234可以对应于马氏距离。
53.示例224示出了与对象220相关联的中心点和协方差数据以及与对象220相关联的语义地图数据。例如,对象220在示例224中通过中心点236和协方差数据238表示。语义地图对象在示例224中表示为中心点240和协方差数据242。
54.操作216还可以包括确定中心点236与中心点240之间的距离244。在一些示例中,距离244至少部分地基于中心点236和中心点240和/或协方差数据238和协方差数据240。在一些示例中,距离244可以对应于马氏距离。
55.因此,因为可以确定对象218和对象220对应于同一对象,所以中心点226和中心点236可以用于进一步的操作,如下所述。
56.操作246可以包括至少部分地基于对极几何,确定与第一传感器或第二传感器中的至少一个相关联的校准参数。
57.示例248示出了通过中心点226和协方差数据228表示的对象218的详细视图。示例248还示出了对极线250。对极线250可以基于校准参数或函数(例如,传递函数),并且可以表示一条线,其中来自图像数据214的点可以在该线上被投影到图像数据212中。也就是说,如果捕获图像数据212和图像数据214的图像传感器之间的校准是完美的,则中心点226将与对极线250对准。然而,操作246可以包括确定中心点226与对极线250之间的距离252。在一些示例中,距离252可以表示中心点226与对极线250之间的最短距离。
58.在一些示例中,对极线250可以至少部分地基于感测对象而与方差数据或协方差数据相关联(例如,与协方差数据228和/或238相关联)。
59.类似地,在示例254中关于图像数据214示出操作246。示例254示出了通过中心点236和协方差数据238表示的对象220的详细视图。示例254还示出了对极线256。对极线256可以基于校准参数或函数,并且可以表示一条线,其中来自图像数据212的点可以在该线上被投影到图像数据214中。也就是说,如果捕获图像数据212与图像数据214的图像传感器之间的校准是完美的,则中心点236将与对极线256对准。然而,操作246可以包括确定中心点226与对极线256之间的距离258。在一些示例中,距离258可以表示中心点236与对极线256之间的最短距离。
60.在一些示例中,距离252和距离256两者都可以被确定,而在一些示例中,距离252或距离256中的一个可以被确定。在一些情况下,距离252和/或距离256可以对应于欧氏距离。
61.在一些示例中,操作246可以包括将图像数据212和/或图像数据214投影到虚拟相机空间中,以消除镜头失真并确保图像数据是线性的。
62.可以随时间推移确定和跟踪距离252和距离256。例如,可以确定在诸如秒、小时、天、周等时间段内捕获的传感器数据的距离。距离值可以被平均或者以其它统计方式被累积以确定随时间变化的误差。
63.在一些示例中,满足或超过第一阈值的瞬时距离值可以指示图像数据212和图像数据214不一致,这可以指示校准误差。在一些示例中,满足或超过第二阈值的随时间变化的误差可以指示图像数据212和214不一致,这可以指示校准误差。在一些示例中,第一阈值可以与第二阈值相同或不同。在一些示例中,传感器可以包括相对于其他传感器一致或不一致的校准状态。
64.在一些示例中,操作246可以包括基于校准参数的动作。这些动作可以包括但不限于:遵循轨迹(例如,不修改轨迹),降低(例如,降低权重)与传感器数据或源自传感器数据的数据(例如,边界框、范围、姿态、速度、分类数据、分割数据、预测数据等)相关联的置信水平,启动清理操作,调度维护(例如,这可以包括向远程计算装置发送校准参数和/或传感器数据的指示),降低与轨迹相关联的速度(或修改轨迹的一些其他方面),生成停止轨迹等。
65.虽然在来自两个传感器的图像数据的上下文中进行了讨论,但是任何数量的传感器和/或图像数据可以用于确定校准数据。附加细节在下文中结合图4a和图4b以及贯穿本公开全文进行讨论。
66.图3是基于对象类型和距离来确定地图数据的示例300的图示。
67.示例300示出了环境302和地图数据304的俯视图。环境302可以包括车辆306,例如自主车辆。
68.地图数据304可以包括与不同的语义对象(也称为语义地图对象)相关联的数据,例如交通灯数据308、标志数据310、杆数据(pole data)312、车道标线数据314等。当然,地图数据304可以包括与其他语义对象相关联的数据,并且不限于本文讨论的示例。
69.本文讨论的技术(例如,操作112和/或操作216)可以包括基于车辆306的位置,来接收、加载或以其他方式确定地图数据306。在一些示例中,可以基于地图数据中表示的地图对象与车辆306的接近程度,来接收、加载或以其他方式确定地图数据。例如,可以基于地图对象的位置(例如,三维位置)在到车辆306的阈值距离内而接收地图数据。
70.在一些示例中,阈值距离可以基于语义地图对象的类型。例如,交通灯数据308可以与第一阈值距离316相关联,标志数据310和杆数据312可以与第二阈值距离318相关联,并且车道标线数据314可以与第三阈值距离320相关联。当然,标志数据310和杆数据312可以与个体阈值距离相关联并且它们不需要相同。在一些情况下,各种阈值可以是任何大小或形状并且不限于本文明确描述的示例。
71.此外,阈值距离可以大体上基于分类类型和/或可以基于地图上的具体位置。例如,第一位置可以具有语义对象的第一频率或第一数量,以及第二位置可以具有语义对象的第二频率或第二数量,其低于第一频率。在一些示例中,与第一位置相关联的第一阈值距离可以小于与第二位置相关联的第二阈值距离。然而,第一阈值和第二阈值可以相同,或者第一阈值距离可以大于第二阈值距离。
72.在一些示例中,接收、加载或以其他方式确定地图数据可以基于多个语义对象整体(例如,在车辆的阈值距离内)、与在阈值距离内的特定对象类型相关联的多个语义对象、定位准确度、用于将地图对象和通过传感器数据表示的对象相匹配的算法、与传感器数据中表示的对象相关联的距离(例如,感测对象和车辆之间的最大距离、平均距离等)、关于其他传感器的可见性(例如,与遮挡地图相关联)等。例如,可以在于2018年6月28日提交的标题为“multi-resolution maps for localization”的美国专利申请16/022,048号中找到
将地图数据加载到工作存储器中的附加示例,出于所有目的,其全部内容通过引用整体并入本文。
73.图4a是使用包括至少部分地重叠的视场的多个传感器来捕获表示对象的传感器数据的图示400。
74.环境402示出了车辆404,其包括具有第一视场(fov)406、第二fov 408和第三fov 410的传感器。如图所示,环境402包括对象412,其被定位以使得对象412可以被表示在与fov 406、fov 408、和fov 410相关联的传感器数据中。
75.在一些示例中,车辆404可以使用本文讨论的技术来确定位置和/或确定校准参数。也就是说,来自多个传感器的数据可以被基本上同时捕获并与本文讨论的技术一起使用。在一些示例中,可以确定不同的传感器对的校准参数和/或可以确定一组传感器的校准参数,以确定传感器是否相对于其他传感器被错误校准。
76.图4b是使用包括非重叠视场的多个传感器来捕获表示对象的传感器数据的图示414。
77.例如,示例416示出了在第一时间t1的环境并且示例418示出了在第一时间之后的第二时间t2的环境。在第一时间t1,车辆420可以利用与第一视场424相关联的传感器来捕获对象422的传感器数据。在一些示例中,车辆420可以包括多个捕获不同视场的传感器。例如,车辆420可以包括与第二视场426相关联的第二传感器,第二视场426不与第一视场424重叠。因此,在时间t1,对象422不被表示在与第二视场相关联的任何传感器数据中。
78.如示例418中所示,车辆420可以从第一时间t1到第二时间t2移动通过环境,使得对象422可以在时间t2由与第二视场426相关联的第二传感器数据表示。
79.因此,本文所讨论的技术可以包括至少部分地基于在示例416和示例418中捕获的传感器数据来确定位置和/或确定校准参数。也就是说,可以使用表示在第一时间捕获的对象422的传感器数据来确定第一位置,可以使用表示在第二时间捕获的对象422的传感器数据来确定第二位置。车辆的位置和朝向在第一时间与第二时间之间的改变可以用于解释两个时间之间的运动。
80.类似地,表示在第一时间捕获的对象422的传感器数据和表示在第二时间捕获的对象422的传感器数据可以用于确定车辆的一个或多个传感器的校准参数。车辆的位置和朝向在第一时间与第二时间之间的改变可以用于解释两个时间之间的运动。
81.图5描绘了用于实现本文描述的技术的示例系统500的框图。在至少一个示例中,系统500可以包括车辆502。在示出的示例系统500中,车辆502是自主车辆;然而,车辆502可以是任何其他类型的车辆。
82.在一些示例中,系统502可以是无人驾驶车辆,例如被配置为根据美国国家公路交通安全管理局发布的5级分类操作的自主车辆,该分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,其中驾驶员(或乘员)不被期望在任何时候控制车辆。在这样的示例中,因为车辆502可以被配置为控制从行程开始到完成的所有功能,包括所有停车功能,它可以不包括驾驶员和/或用于驱动车辆502的控制器,例如方向盘、加速踏板和/或制动踏板。这仅仅是一个示例,本文描述的系统和方法能够被结合到任何地面、空中或水上交通工具中,包括那些从需要始终由驾驶员手动控制的交通工具到那些部分或完全自主控制的交通工具。
83.车辆502可以包括一个或多个计算装置504、一个或多个传感器系统506、一个或多个发射器508、一个或多个通信连接510(也称为通信装置和/或调制解调器)、至少一个直接连接512(例如,用于与车辆502物理耦合以交换数据和/或提供电力)、以及一个或多个驱动系统514。一个或多个传感器系统506可以被配置为捕获与环境相关联的传感器数据。
84.一个或多个传感器系统506可以包括飞行时间传感器、位置传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元(imu)、加速度计、磁力计、陀螺仪等)、激光雷达传感器、雷达传感器、声纳传感器、红外传感器、相机(例如,rgb、ir、强度、深度等)、麦克风传感器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)、超声换能器、车轮编码器等。一个或多个传感器系统506可以包括这些或其他类型的传感器中的每一个的多个实例。例如,飞行时间传感器可以包括位于车辆502的拐角、前部、后部、侧面和/或顶部处的单独的飞行时间传感器。作为另一示例,相机传感器可以包括设置在围绕车辆502的外部和/或内部的各种位置处的多个相机。一个或多个传感器系统506可以给计算装置504提供输入。
85.车辆502还可以包括一个或多个发射器508,用于发射光和/或声音。该示例中的一个或多个发射器508包括与车辆502的乘客通信的内部音频和视觉发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)和类似物。该示例中的一个或多个发射器508还可以包括外部发射器。作为示例而非限制,该示例中的外部发射器包括示意行进方向的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等)以与行人或其他附近车辆用声音进行通信,其中的一个或多个包括声束转向技术(acoustic beam steering technology)。
86.车辆502还可以包括一个或多个通信连接510,其实现车辆502与一个或多个其他本地或远程计算装置(例如,远程操作计算装置)或远程服务之间的通信。例如,一个或多个通信连接510可以促进与车辆502上的其他本地计算装置和/或驱动系统514的通信。而且,一个或多个通信连接510可以允许车辆502与其他附近的计算装置(例如,其他附近的车辆、交通信号灯等)进行通信。
87.一个或多个通信连接510可以包括物理接口和/或逻辑接口,用于将计算装置504连接到另一计算装置或一个或多个外部网络542(例如,因特网)。例如,一个或多个通信连接510可以启用基于wi-fi的通信,例如由ieee 802.11标准定义的频率,短距离无线频率诸如蓝牙、蜂窝通信(例如,2g、3g、4g、4g lte、5g等),卫星通信,专用短程通信(dsrc),或任何合适的有线或无线通信协议,其使得各自的计算机装置能够与其他计算机装置交互。
88.在至少一个示例中,车辆502可以包括一个或多个驱动系统514。在一些示例中,车辆502可以具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,则单独的驱动系统514可以被定位在车辆502的相对端部(例如,前部和后部等)上。在至少一个示例中,驱动系统514可以包括一个或多个传感器系统506,以检测驱动系统514和/或车辆502的周围环境的状况。作为示例而非限制,传感器系统506可以包括:一个或多个车轮编码器(例如,旋转编码器)以感测驱动系统的车轮的旋转,惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动系统的朝向和加速,相机或其他图像传感器,
超声传感器以声学检测驱动系统的周围环境中的对象,激光雷达传感器、雷达传感器等。一些传感器,例如车轮编码器,可以对于驱动系统514是唯一的。在一些情况下,驱动系统514上的传感器系统506可以重叠或补充车辆502的对应系统(例如,传感器系统506)。
89.驱动系统514可以包括车辆系统中的许多系统,包括:高压电池;马达,用于推进车辆;逆变器,将来自电池的直流电转换成交流电以供其他车辆系统使用;转向系统,包括转向马达和转向齿条(其可以是电动);制动系统,包括液压致动器或电动致动器;悬架系统,包括液压组件和/或气动组件;稳定性控制系统,用于分配制动力以减轻牵引力的损失并维持控制;hvac系统;照明(例如,诸如用于照亮车辆的外部周围环境的头/尾灯的照明);以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动系统514可以包括驱动系统控制器,其可以接收和预处理来自传感器系统506的数据以及控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括一个或多个处理器以及与该一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个组件以执行驱动系统514的各种功能。此外,驱动系统514还可以包括一个或多个通信连接,其使得各自的驱动系统能够与一个或多个其他本地或远程计算装置进行通信。
90.车辆计算装置504可以包括一个或多个处理器516以及与该一个或多个处理器516通信耦合的存储器518。在示出的示例中,计算装置504的存储器518存储:感知组件520,其包括对象检测器522、对极组件524和误差组件526;定位组件528,其包括投影组件530和距离组件532;预测组件534;规划组件536;地图组件538;以及一个或多个系统控制器540。虽然出于说明目的被描述为存在于存储器518中,但是可以设想感知组件520、对象检测器522、对极组件524、误差组件526、定位组件528、投影组件530、距离组件532、预测组件534、规划组件536、地图组件538、以及一个或多个系统控制器540可以附加地或替代地可以由计算装置504访问(例如,存储在车辆502的不同组件中)和/或可以由车辆502访问(例如,远程地存储)。
91.感知组件520可以包括执行对象检测、分割和/或分类的功能。在一些示例中,感知组件520和/或对象检测器522可以提供经处理的传感器数据,其指示靠近车辆502的实体的存在和/或作为实体类型的实体的分类(例如,汽车、行人、骑自行车的人、建筑物、树木、路面、路缘、人行道、未知等)。在附加和/或可选择示例中,感知系统520可以提供经处理的传感器数据,其指示一个或多个与检测到的实体和/或该实体所处的环境相关联的特性。在一些示例中,与实体相关联的特性可以包括但不限于x位置(全局位置)、y位置(全局位置)、z位置(全局位置)、朝向、实体类型(例如,分类)、实体的速度、实体的范围(尺寸)等。与环境相关联的特性可以包括但不限于另一个实体在环境中的存在、另一个实体在环境中的状态、一天中的时间、一周中的一天、季节、天气状况、黑暗/光明的指示等。
92.此外,感知组件520可以包括存储通过感知组件520生成的感知数据的功能。在一些情况下,感知组件520可以确定对应于已经被归类为对象类型的对象的踪迹。仅出于说明的目的,使用传感器系统506的感知组件520可以捕获环境的一个或多个图像。传感器系统506可以捕获包括诸如行人的对象的环境的图像。行人可以在时间t处于第一位置,以及在时间t+t处于第二位置(例如,在时间t之后的时间t的跨度期间的移动)。换句话说,行人可以在这个时间跨度期间从第一位置移动到第二位置。这样的移动可以例如被记录为与对象
相关联的存储的感知数据。
93.在一些示例中,存储的感知数据可以包括通过车辆捕获的融合的感知数据。融合的感知数据可以包括来自传感器系统506的传感器数据的融合或其他组合,例如图像传感器、激光雷达传感器、雷达传感器、飞行时间传感器、声纳传感器、全球定位系统传感器、内部传感器、和/或这些的任何组合。存储的感知数据可以附加地或替代地包括分类数据,其包括传感器数据中表示的对象(例如,行人、车辆、建筑物、路面等)的语义分类。存储的感知数据可以附加地或替代地包括踪迹数据(位置、朝向、传感器特征等),其对应于被归类为动态对象的对象在环境中的运动。踪迹数据可以包括多个不同对象随时间变化的多个踪迹。可以挖掘该轨迹数据以识别某些类型的对象(例如,行人、动物等)在对象静止(例如,站着不动)或运动(例如,行走、跑步等)时的图像。在该示例中,计算装置确定对应于行人的踪迹。
94.通常,对象检测器522可以检测(除其他外)通过传感器数据表示的语义对象。在一些示例中,对象检测器522可以识别这样的语义对象并且可以确定与对象相关联的二维或三维边界框。对象检测器522可以确定与对象相关联的协方差数据和/或与对象相关联的中心点,如本文所讨论的。对象检测器522可以确定与对象相关联的附加信息,例如位置、朝向、姿态、和/或尺寸(例如,长度、宽度、高度等)。对象检测器522可以给系统500的其他组件发送数据,用于定位和/或确定校准信息,如本文所讨论的。
95.通常,对极组件524可以基于对极几何来确定校准信息。例如,对极组件524可以接收两个对象是同一对象并且表示在由各种传感器捕获的传感器数据中的指示。对极组件524可以确定对极平面和/或对极线,用于评估传感器的一致性,如本文所讨论的。例如,对极组件524可以确定与对象相关联的中心点和关联来自两个传感器的传感器数据的对极线之间的距离。对极组件524可以基于表示各种传感器的姿态的内在和/或外在传感器校准参数来确定对极平面和/或对极线。
96.通常,误差组件526可以从对极组件524接收距离数据,以及可以聚合距离以确定与一个或多个传感器相关联的随时间变化的误差。在一些示例中,随时间变化的误差可以表示(或可以预期表示)以对极线为中心的误差的高斯分布。通过聚合距离,误差组件526可以确定误差是否在可接受的误差的范围之外。如果误差被确定,则误差组件526可以确定两个传感器不一致,并且可以标记传感器以进行进一步维护或其他动作,如本文所讨论的。
97.定位组件528可以包括从传感器系统506和/或其他组件接收数据以确定车辆502的位置的功能。例如,定位组件528可以包括和/或请求/接收环境的三维地图,并且可以连续地确定自主车辆在地图内的位置。在一些情况下,定位组件528可以使用slam(同时定位和映射)或clams(同时校准、定位和映射)以接收时间飞行数据、图像数据、激光雷达数据、雷达数据、声纳数据、imu数据、gps数据、车轮编码器数据、或其任何组合等,以准确地确定自主车辆的位置。在一些情况下,定位组件520可以给车辆502的各种组件提供数据以确定自主车辆的初始位置,用于生成轨迹,如本文所讨论的。
98.此外,定位组件528可以接收表示语义对象的地图数据,以及可以接收传感器数据中这样的语义对象的检测,用于确定车辆502的位置,如本文所讨论的。
99.投影组件530可以包括将表示语义对象的传感器数据投影到捕获的传感器数据中以进行对象匹配的功能,如本文所讨论的。
100.距离组件532可以包括确定语义地图对象和对应的感测对象之间的距离的功能。距离组件532可以更新车辆的估计位置以全局最小化距离。也就是说,距离的全局极小值可以指示估计位置已经通过定位组件528确定。
101.预测组件534可以生成一个或多个概率图,其表示一个或多个对象在环境中的可能位置的预测概率。例如,预测组件534可以为距车辆502的阈值距离内的车辆、行人、动物等生成一个或多个概率图。在一些情况下,预测组件534可以基于观察行为和预测行为,来测量对象的踪迹并生成对象的离散预测概率图、热图、概率分布、离散概率分布、和/或轨迹。在一些情况下,一个或多个概率图可以表示环境中一个或多个对象的意图。
102.规划组件536可以确定车辆502穿越环境要遵循的路径。例如,规划组件536可以确定各种路线和路径以及各种层次的细节。在一些实例中,规划组件536可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于本讨论的目的,路线可以是用于在两个位置之间行进的航路点序列。作为非限制性示例,航路点包括街道、十字路口、全球定位系统(gps)坐标等。进一步地,规划组件536可以生成指令,用于沿着从第一位置到第二位置的路线的至少一部分引导自主车辆。在至少一个示例中,规划组件536可以确定如何将自主车辆从航路点序列中的第一航路点引导到航路点序列中的第二航路点。在一些示例中,指令可以是路径或路径的一部分。在一些示例中,多个路径可以根据后退水平技术基本上同时生成(即,在技术容差内)。可以选择后退数据水平中的多个路径中具有最高置信水平的一个路径来操作车辆。
103.在其他示例中,规划组件536可以替代地或附加地使用来自感知组件520和/或预测组件534的数据来确定车辆502要遵循的路径以穿过环境。例如,规划组件536可以从感知组件520和/或预测组件534接收关于与环境相关联的对象的数据。使用该数据,规划组件536可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线以避开环境中的对象。在至少一些示例中,这样的规划组件536可以确定不存在这样的无冲突路径,并且进而提供路径,该路径使车辆502安全停止,以避免所有碰撞和/或以其他方式减轻损坏。
104.存储器518还可以包括一个或多个地图538,其可以由车辆502使用以在环境内导航。出于本讨论的目的,地图可以是在二维、三维或n维中建模的任何数量的数据结构,其能够提供关于环境的信息,例如但不限于拓扑(例如十字路口)、街道、山脉、道路、地形和总体环境。地图还可以包括对象标识符、对象分类、三维位置、协方差数据(例如,在图像数据或多分辨率体素空间中表示)等。在一些实例中,地图可以包括但不限于:纹理信息(例如,颜色信息(例如,rgb颜色信息、lab颜色信息、hsv/hsl颜色信息)等)、强度信息(例如,激光雷达信息、雷达信息等)、空间信息(例如,投影到网格上的图像数据、单独的“面元”(例如,与单独的颜色和/或强度相关联的多边形))、反射率信息(例如,镜面反射信息、逆反射信息、brdf信息、bssrdf信息等)。在一个示例中,地图可以包括环境的三维网格。在一些实例中,地图可以按瓦片格式(tiled format)存储,使得地图的各个瓦片表示环境的离散部分,并且可以根据需要加载到工作存储器中,如本文所讨论的。在至少一个示例中,一个或多个地图538可以包括至少一个地图(例如,图像和/或网格)。在一些示例中,可以至少部分地基于地图538来控制车辆502。也就是说,地图538可以与感知组件520(和子组件)、定位组件528(和子组件)、预测组件534、和/或规划组件536结合使用,以确定车辆502的位置、识别环境
中的对象、生成与对象和/或车辆502相关联的预测概率、和/或生成路线和/或轨迹以在环境内导航。
105.在至少一个示例中,计算装置504可以包括一个或多个系统控制器540,其可以被配置为控制车辆502的转向、推进、制动、安全、发射器、通信、组件和其他系统。这些系统控制器540可以与驱动系统514的相应系统和/或车辆502的其他组件通信和/或对其进行控制,其可以被配置为按照规划组件536提供的路径进行操作。
106.车辆502可以经由网络542连接到计算装置544,并且可以包括一个或多个处理器556以及与该一个或多个处理器556通信耦合的存储器548。在至少一个实例中,一个或多个处理器556可以类似于处理器516并且存储器548可以类似于存储器518。在示出的示例中,计算装置544的存储器548存储远程操作组件550和/或模型组件552。在至少一个实例中,模型组件552在经验测试和/或模拟之后,可以包括用于确定位置和/或确定校准参数的模型,如本文所述。虽然出于说明性目的被描述为存在于存储器548中,但是可以设想的是,远程操作组件550和模型组件552可以附加地或替代地可以由计算装置544访问(例如,存储在计算装置544的不同组件中)和/或可以由计算装置544访问(例如,远程地存储)。
107.如本文所讨论的,远程操作组件550可以包括接收校准参数的指示、与这样的校准参数相关的传感器数据、和/或预防性维护的请求的功能。在一些示例中,远程操作组件550可以基于校准参数或车辆502确定校准参数指示降级状态来调度维护操作。在一些示例中,远程操作组件550可以包括远程操作员或操作员,其可以基于校准参数控制车辆502或者给车辆提供指令。
108.模型组件552可以包括生成用于确定位置的模型和/或确定校准参数的功能,如本文所讨论的。例如,模型组件552可以接收传感器数据并且可以确定与这样的传感器数据相关联的校准参数。模型组件552可以聚合多个车辆(例如,一队车辆)的数据以确定指示正常操作的校准参数和指示降级操作的校准参数。此外,模型组件552可以将校准参数与操作传感器的时间段以及与这样的指标相关联的组件的性能相关联,以确定与各种传感器相关联的预测性维护时间表,如本文所讨论的。
109.计算装置504的处理器516和计算装置544的处理器556可以是任何合适的能够执行指令以处理数据和执行如本文所述的操作的处理器。作为示例而非限制,处理器516和处理器556可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、或任何其他处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的装置或装置的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如,fpga等)、以及其他硬件装置也可以被认为是被配置为实现编码指令的处理器。
110.计算装置504的存储器518和计算装置544的存储器548是非暂时性计算机可读介质的示例。存储器518和存储器548可以存储操作系统和一个或多个软件应用、指令、程序、和/或数据,以实现本文描述的方法以及归属于各种系统的功能。在各种实施方式中,存储器518和存储器548可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器、或任何其他类型的能够存储信息的存储器。本文描述的架构、系统、和单独的元件可以包括许多其他逻辑组件、程序化组件和物理组件,其中附图中示出的那些组件仅仅是与本文中的讨论有关的示例。
111.在一些实例中,本文讨论的一些或所有组件的方面可以包括任何模型、算法和/或
机器学习算法。例如,在一些实例中,存储器518和存储器548中的组件可以被实现为神经网络。
112.如本文所述,示例性神经网络是生物启发式算法,其将输入数据传递通过一系列连接层以产生输出。神经网络中的每一层也可以包括另一个神经网络,或者可以包括任何数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指代这样的算法的宽泛分类,其中基于学习的参数来生成输出。
113.尽管在神经网络的上下文中讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于:回归算法(例如,普通最小二乘回归(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)),集成算法(例如,提升方法、自举聚合(bagging)、adaboost、堆栈泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林)、svm(支持向量机)、监督学习、无监督学习、半监督学习等。
114.架构的附加示例包括神经网络,例如resnet50、resnet101、vgg、densenet、pointnet等。
115.因此,本文讨论的技术提供了用于在环境中定位车辆和用于确定与车辆的传感器相关联的校准信息的技术。
116.图1、图2、图6和图7示出了根据本公开的示例的示例过程。这些过程被示出为逻辑流程图,其中的每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的场景中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,执行所述的操作。总体上,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且任何数量的所描述的操作可以按任何顺序和/或并行地组合以实现过程。
117.图6是用于确定车辆在环境中的位置的示例过程。例如,过程600中的一些或全部可以由图5中的一个或多个组件执行,如本文所述。例如,过程600中的一些或全部可以由感知组件520和/或定位组件528执行。
118.在操作602,过程可以包括从与车辆相关联的传感器接收传感器数据。在一些示例中,操作602可以包括随着自主车辆穿过环境,从自主车辆的一个或多个图像传感器接收或捕获图像数据。在一些示例中,操作602可以包括随着自主车辆穿过环境,从自主车辆的一个或多个图像传感器接收或捕获激光雷达数据。当然,本文设想了其他传感器类型。
119.操作602可以包括接收或确定与环境中的诸如语义对象的对象相关联的边界框。
语义对象的示例包括但不限于交通灯、车道标线、标志、杆等。如果不存在语义对象(例如,在操作604中确定),则过程返回到操作602以捕获环境的附加数据。如果存在被表示在传感器数据中的语义对象(例如,操作604中的“是”),则操作继续到608。
120.在操作606,过程可以包括确定车辆在环境中的初始位置。在一些示例中,操作606可以包括确定位置的粗略估计以将位置提供给操作608,以用于接收地图数据。可以根据本文讨论的任何技术来确定初始位置。
121.在操作608,过程可以包括接收与环境相关联的地图数据。在一些示例中,可以基于车辆在环境中的初始位置和/或基于在操作602中捕获的对象的分类类型来接收地图数据。结合图3以及贯穿本公开全文讨论了接收或确定地图数据的附加细节。
122.在操作610,过程可以包括将地图对象从地图数据投影到传感器数据中。操作610可以基于地图对象的三维位置以及捕获传感器数据的传感器的朝向。在一些示例中,操作610可以包括将三维地图对象投影到二维表示中,例如图像数据。
123.在操作612,过程可以包括确定地图对象对应于在传感器数据中表示的对象。例如,操作612可以包括基于尺寸、形状、分类类型来匹配或以其他方式确定地图对象与感测对象相同。在一些示例中,操作612可以至少部分地基于匈牙利方法、贪心搜索算法等。
124.在操作614,过程可以包括确定对象与地图对象之间的距离或对象是地图对象的可能性。如结合图1和图2所讨论的,距离可以对应于地图对象的中心点与传感器数据中表示的对象的中心点之间的距离。
125.在操作616,过程可以包括至少部分地基于距离或可能性来确定车辆在环境中的位置。在一些示例中,操作616可以至少部分地基于诸如slam(同时定位和映射)、粒子滤波等的定位算法。
126.在操作618,过程可以包括至少部分地基于位置来控制车辆。在一些示例中,操作618可以包括但不限于:接收车辆要遵循的轨迹,确定车辆要遵循的轨迹,控制车辆遵循轨迹,向远程操作员发送信息,确定停止轨迹等。
127.图7是用于基于地图数据来确定传感器的校准参数的示例过程。例如,过程700中的一些或全部可以由图5中的一个或多个组件执行,如本文所述。例如,过程700中的一些或全部可以由感知组件520和/或定位组件528执行,如本文所述。
128.在操作702,过程可以包括接收由第一传感器捕获的第一传感器数据。
129.操作704可以包括接收由第二传感器捕获的第一传感器数据。
130.在一些示例中,第一传感器和/或第二传感器可以包括图像传感器、激光雷达传感器、雷达传感器、飞行时间传感器等。在一些示例中,第一传感器的视场可以与第二传感器的第二视场至少部分地重叠。在一些示例中,第一传感器的视场可以不与第二传感器的视场重叠。
131.在一些示例中,操作702和操作704被基本上执行(在技术容差内)。在一些示例中,操作702和操作704可以发生在不同的时间,虽然在这样的情况下,出于确定校准参数的目的,可以确定第一传感器和第二传感器的位置以补偿、调整或以其他方式考虑传感器的姿态/位置的改变。
132.操作706可以包括接收地图数据。结合图1、图2和图3以及贯穿本公开全文讨论接收地图数据的方面。
133.在操作708,过程可以包括至少部分地基于地图数据,确定第一传感器数据中表示的第一对象是第二传感器数据中表示的第二对象。结合图1和图2以及贯穿本公开全文讨论用于执行操作708的技术。
134.在操作710,过程可以包括至少部分地基于校准数据来确定与第一传感器数据相关联的对极线。在一些示例中,校准数据可以包括一个或多个外部参数和/或内部参数。在一些示例中,校准数据可以包括生成对极线的数据,并且可以包括但不限于与第一传感器和/或第二传感器相关联的本质矩阵、与第一传感器或第二传感器相关联的基础矩阵、朝向信息等。
135.虽然操作710是在确定第一传感器的对极线的上下文中讨论的,但是操作710可以附加地或替代地在第二传感器的上下文中执行。
136.在操作712,过程可以包括确定与第一对象相关联的点和对极线之间的距离或者该点与对极线相关联的可能性。结合图2以及贯穿本公开全文讨论了与操作712相关联的附加细节。
137.在操作714,过程可以包括至少部分地基于距离或可能性来确定校准参数。在一些示例中,校准参数可以表示第一传感器和第二传感器之间的一致性水平。结合图2以及贯穿本公开全文讨论了与操作714相关联的附加细节。
138.在操作716,过程可以包括至少部分地基于校准参数来控制车辆。在一些示例中,操作716可以包括但不限于:接收车辆要遵循的轨迹,确定车辆要遵循的轨迹,控制车辆遵循轨迹,向远程操作员发送信息,确定停止轨迹,确定传感器被错误校准等。
139.虽然在第一传感器和第二传感器的上下文中进行了讨论,但是可以基于从任何数量的传感器接收传感器数据来实现过程700。
140.示例条款
141.a、一种系统,包括:一个或多个处理器;以及一个或多个存储计算机可执行指令的非暂时性计算机可读介质,当指令被执行时,使一个或多个处理器执行以下操作,包括:从与环境中的自主车辆相关联的图像传感器接收传感器数据;接收与环境相关的地图数据;至少部分地基于传感器数据,确定在传感器数据中表示的感测对象;至少部分地基于自主车辆的第一位置,将来自地图数据的地图对象投影到传感器数据中;确定感测对象与地图对象相关联;确定感测对象与地图对象之间的距离;至少部分地基于该距离,确定自主车辆在环境中的第二位置;以及至少部分地基于该位置来控制自主车辆。
142.b、根据段落a的系统,操作还包括:至少部分地基于自主车辆在地图数据中的第一位置或对象类型中的至少一个,确定阈值距离;以及至少部分地基于阈值距离,接收地图数据。
143.c、根据段落a或b的系统,操作还包括:确定感测对象与分类相关联;以及确定地图对象与分类相关联。
144.d、根据任何段落a-c中任一项的系统,其中,地图对象包括第一中心点和第一协方差数据,操作还包括:确定与感测对象相关联的第二中心点和第二协方差数据;以及至少部分地基于第一中心点、第二中心点、第一协方差数据和第二协方差数据来确定距离。
145.e、根据段落a-d中任一项的系统,其中,对象包括以下至少一个:交通灯、标志、杆、或车道标线。
146.f、一种方法,包括:从与环境中的车辆相关联的传感器接收传感器数据;接收与环境相关联的地图数据,该地图数据包括地图对象;至少部分地基于传感器数据,确定传感器数据中表示的感测对象;将地图对象投影到传感器数据中;确定感测对象与地图对象之间的距离或感测对象与地图对象相关联的可能性中的至少一个;以及至少部分地基于距离或可能性,确定车辆在环境中的位置。
147.g、根据段落f的方法,还包括:至少部分地基于位置来控制车辆。
148.h、根据段落f或g的方法,还包括:至少部分地基于车辆在环境中的估计位置,将地图对象投影到传感器数据中。
149.i、根据段落f-h中任一项的方法,还包括:至少部分地基于车辆在地图数据中的第一位置或对象类型,确定阈值距离;以及至少部分地基于阈值距离,接收地图数据。
150.j、根据段落f-i中任一项的方法,其中,传感器数据为第一传感器数据,传感器为第一传感器,感测对象为第一对象,地图对象为第一地图对象,距离为第一距离,以及可能性为第一可能性,方法还包括:从与车辆相关联的第二传感器接收第二传感器数据;至少部分地基于第二传感器数据和地图数据,确定第二传感器数据中表示的第二对象与第二地图对象之间的第二距离或者感测对象与地图对象相关联的第二可能性中的至少一个;以及还至少部分地基于第二距离或第二可能性来确定车辆在环境中的位置。
151.k、根据段落f-j中任一项的方法,还包括:确定地图对象与感测对象相关联。
152.l、根据段落f-k中任一项的方法,其中,地图对象包括三维位置和第一协方差数据,方法还包括:将三维位置投影到传感器数据中以确定第一中心点;将第一协方差数据投影到传感器数据中以确定二维协方差数据,第一协方差数据表示三维协方差数据;确定与对象相关联的第二中心点和第二协方差数据;以及至少部分地基于第一中心点、第二中心点、二维协方差数据和第二协方差数据来确定距离或可能性。
153.m、根据段落f-l中任一项的方法,其中,以下至少一个:距离是马氏距离;或者可能性是至少部分地基于协方差数据的大小的,协方差数据与感测对象或地图对象相关联。
154.n、根据段落f-m中任一项的方法,其中,传感器包括图像传感器、激光雷达传感器、雷达传感器、或飞行时间传感器中的至少一个。
155.o、根据段落f-n中任一项的方法,还包括:确定感测对象与分类类型相关联;确定地图对象与分类类型相关联;以及至少部分地基于感测对象和地图对象与分类类型相关联,确定距离或可能性。
156.p、一个或多个非暂时性计算机可读介质,存储可由处理器执行的指令,其中,当指令被执行时使处理器执行以下操作,包括:从与环境中的车辆相关联的传感器接收传感器数据;接收与环境相关联的地图数据,该地图数据包括地图对象;至少部分地基于传感器数据,确定传感器数据中表示的感测对象;将地图对象投影到传感器数据中;确定感测对象与地图对象之间的距离或感测对象与地图对象相关联的可能性中的至少一个;以及至少部分地基于距离或可能性,确定车辆在环境中的位置。
157.q、根据段落p的一个或多个非暂时性计算机可读介质,其中,传感器数据为第一传感器数据,传感器为第一传感器,感测对象为第一对象,地图对象为第一地图对象,距离为第一距离,以及可能性为第一可能性,操作还包括:从与车辆相关联的第二传感器接收第二传感器数据;至少部分地基于第二传感器数据和地图数据,确定第二传感器数据中表示的
第二对象与第二地图对象之间的第二距离或者第二对象与第二地图对象相关联的第二可能性中的至少一个;以及还至少部分地基于第二距离或第二可能性来确定车辆在环境中的位置。
158.r、根据段落p或q的一个或多个非暂时性计算机可读介质,其中,地图对象包括三维位置和第一协方差数据,操作还包括:将三维位置投影到传感器数据中以确定第一中心点;确定与对象相关联的第二中心点和第二协方差数据;以及至少部分地基于第一中心点、第二中心点、第一协方差数据和第二协方差数据来确定距离或可能性。
159.s、根据段落p-r中任一项的一个或多个非暂时性计算机可读介质,操作还包括:确定感测对象与分类类型相关联;确定地图对象与分类类型相关联;以及至少部分地基于感测对象和地图对象与分类类型相关联,确定距离或可能性。
160.t、根据段落p-s中任一项的非暂时性计算机可读介质,其中,感测对象包括以下至少一个:交通灯、标志、杆、或车道标线。
161.u、一种系统,包括:一个或多个处理器;以及一个或多个存储计算机可执行指令的非暂时性计算机可读介质,当指令被执行时使一个或多个处理器执行以下操作,包括:从与环境中的自主车辆相关联的第一传感器接收传感器数据;从与自主车辆关联的第二传感器接收传感器数据;接收与环境相关联的语义地图数据;确定来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据对应于至少部分地基于语义地图数据确定的语义对象:至少部分基于校准数据、第一传感器数据、和对极几何,确定与第二传感器数据相关联的点与对极线之间的距离;至少部分地基于该距离,确定与第一传感器或第二传感器中的至少一个相关联的校准参数;至少部分地基于校准参数来控制自主车辆。
162.v、根据段落u的系统,操作还包括:至少部分地基于距离来确定随时间变化的误差;以及至少部分地基于随时间变化的误差来确定校准参数;其中,校准参数指示第一传感器和第二传感器是否不一致。
163.w、根据段落u或v的系统,其中,第一传感器是包括第一视场的第一图像传感器,以及第二传感器是包括第二视场的第二图像传感器,第二视场与第一视场至少部分地重叠。
164.x、根据段落u-w中任一项的系统,操作还包括:至少部分地基于与第二对象相关联的协方差数据,确定与第二对象相关联的点。
165.y、根据段落u-x中任一项的系统,操作还包括:至少部分地基于校准参数,确定用于自主车辆的动作。
166.z、一种方法,包括:从第一传感器接收第一传感器数据;从第二传感器接收第二传感器数据;接收与环境相关联的语义地图数据;基于语义地图数据,确定语义对象被表示在第一传感器数据和第二传感器数据中;以及至少部分地基于对极几何、第一传感器数据、和第二传感器数据,确定与第一传感器或第二传感器中的至少一个相关联的校准参数。
167.aa、根据段落z的方法,还包括:至少部分地基于校准参数,控制车辆执行以下至少一项:降低来自第一传感器或第二传感器中的至少一个的数据的权重;限制车辆的行驶方向;降低车辆的速度;或停止车辆。
168.ab、根据段落z或aa的方法,其中,第一传感器是包括第一视场的第一图像传感器,以及第二传感器是包括第二视场的第二图像传感器,第二视场与第一视场至少部分地重叠。
169.ac、根据段落z-ab中任一项的方法,其中,第一传感器是包括第一视场的第一图像传感器,以及第二传感器是包括第二视场的第二图像传感器,第二视场与第一视场不重叠。
170.ad、根据段落z-ac中任一项的方法,其中,第一传感器数据与第二传感器数据在基本上同一时间被捕获。
171.ae、根据段落z-ad中任一项的方法,还包括:至少部分地基于校准数据和与第一传感器数据相关联的第一点来确定对极线;确定与第二传感器数据相关联的第二点和对极线之间的距离或第二点与对极线相关联的可能性中的至少一个;以及至少部分地基于距离或可能性来确定校准参数。
172.af、根据段落ae的方法,其中,校准数据至少部分地基于第一传感器的第一姿态和第二传感器的第二姿态。
173.ag、根据段落z-af中任一项的方法,还包括:至少部分地基于校准参数确定随时间变化的误差;其中,校准参数指示第一传感器和第二传感器是否不一致。
174.ah、根据段落z-ag中任一段的方法,其中,确定语义对象被表示在第一传感器数据和第二传感器数据中包括:至少部分地基于第一传感器数据,确定表示在第一传感器数据中的第一感测对象;确定第一感测对象的分类类型;以及至少部分地基于分类类型,将来自语义地图数据的地图对象投影到第一传感器数据中。
175.ai、根据段落z-ah中任一项的方法,其中,校准参数是第一校准参数,方法还包括:从与车辆关联的第三传感器接收第三传感器数据;基于语义地图数据,确定语义对象被表示在第三传感器数据中;至少部分地基于对极几何,确定与第一传感器或第三传感器中的至少一个相关联的第二校准参数;以及至少部分地基于第一校准参数和第二校准参数,确定第一传感器的校准状态。
176.aj、一个或多个非暂时性计算机可读介质,存储可由处理器执行的指令,其中,当指令被执行时使处理器执行以下操作,包括:从第一传感器接收第一传感器数据;从第二传感器接收第二传感器数据;接收与环境相关联的语义地图数据;基于语义地图数据,确定语义对象被表示在第一传感器数据和第二传感器数据中;以及至少部分地基于对极几何、第一传感器数据、和第二传感器数据,确定与第一传感器或第二传感器中的至少一个相关联的校准参数。
177.ak、根据段落aj的一个或多个非暂时性计算机可读介质,操作还包括:至少部分地基于校准参数,控制车辆执行以下至少一项:降低来自第一传感器或第二传感器中的至少一个的数据的权重;限制车辆的行驶方向;降低车辆的速度;或停止车辆。
178.al、根据段落aj或ak的一个或多个非暂时性计算机可读介质,操作还包括:至少部分地基于校准数据和与第一传感器数据相关联的第一点来确定对极线;确定与第二传感器数据相关联的第二点与对极线之间的距离或第二点与对极线相关联的可能性中的至少一个;以及至少部分地基于距离或可能性来确定校准参数。
179.am、根据段落aj-al中任一项的一个或多个非暂时性计算机可读介质,操作还包括:至少部分地基于校准参数确定随时间变化的误差;以及其中,校准参数指示第一传感器和第二传感器是否不一致。
180.an、根据段落aj-am中任一项的非暂时性计算机可读介质,其中,确定语义对象被表示在第一传感器数据和第二传感器数据中包括:至少部分地基于第一传感器数据,确定
表示在第一传感器数据中的第一感测对象;确定第一感测对象的分类类型;以及至少部分地基于分类类型,将来自语义地图数据的地图对象投影到第一传感器数据中。
181.虽然上文描述的示例条款是关于一种具体实施方式进行描述的,但是应当理解,在本文的上下文中,示例条款的内容还可以经由方法、装置、系统、计算机可读介质和/或另一实施方式来实现。另外,示例a-an中的任何可以单独地实施或与示例a-an中的任何其他一个或多个组合来实施。
182.结论
183.虽然已经描述了本文所述的技术的一个或多个示例,但是其各种更改、添加、置换和等同物被包括在本文所描述的技术的范围内。
184.在示例的描述中,参考形成其一部分的附图,附图通过图示的方式示出所要求保护的主题的特定示例。应当理解,可以使用其他示例,并且可以进行诸如结构改变的改变或更改。这样的示例、改变或更改不一定偏离关于意图要求保护的主题的范围。虽然本文中的步骤可以按某种顺序呈现,但是在一些情况下,可以改变排序,使得某些输入以不同的时间或按不同的顺序提供,而不会改变所描述的系统和方法的功能。公开的程序也可以按不同的顺序执行。另外,不需要按照所公开的顺序执行本文的计算,并且可以容易地实现使用计算的替代顺序的其他示例。除了被重新排序之外,还可以将计算分解为具有相同结果的子计算。

技术特征:
1.一种方法,包括:从与环境中的车辆相关联的传感器接收传感器数据;接收与所述环境相关联的地图数据,所述地图数据包括地图对象;至少部分地基于所述传感器数据,确定在所述传感器数据中表示的感测对象;将所述地图对象投影到所述传感器数据中;确定所述感测对象与所述地图对象之间的距离或所述感测对象与所述地图对象相关联的可能性中的至少一个;以及至少部分地基于所述距离或所述可能性,确定所述车辆在所述环境中的位置。2.根据权利要求1所述的方法,还包括:至少部分地基于所述位置来控制所述车辆。3.根据权利要求1或2所述的方法,还包括以下中的至少一项:至少部分地基于所述车辆在所述环境中的估计位置,将所述地图对象投影到所述传感器数据中;或者确定所述地图对象与所述感测对象相关联。4.根据权利要求1-3中任一项所述的方法,还包括:至少部分地基于所述地图数据中所述车辆的位置或对象类型,确定阈值距离;以及至少部分地基于所述阈值距离,接收所述地图数据。5.根据权利要求1-4中任一项所述的方法,其中,所述传感器数据是第一传感器数据,所述传感器是第一传感器,所述感测对象是第一对象,所述地图对象是第一地图对象,所述距离是第一距离,以及所述可能性是第一可能性,所述方法还包括:从与所述车辆相关联的第二传感器接收第二传感器数据;至少部分地基于所述第二传感器数据和所述地图数据,确定以下中的至少一项:在所述第二传感器数据中表示的第二对象与第二地图对象之间的第二距离,或者所述感测对象与所述地图对象相关联的第二可能性;以及还至少部分地基于所述第二距离或所述第二可能性,确定所述车辆在所述环境中的位置。6.根据权利要求1-5中任一项所述的方法,其中,所述地图对象包括第一中心点和第一协方差数据,并且其中,确定所述距离或所述可能性中的至少一个包括确定距离,所述方法还包括:确定与所述感测对象相关联的第二中心点和第二协方差数据;以及至少部分地基于所述第一中心点、所述第二中心点、所述第一协方差数据和所述第二协方差数据,确定所述距离。7.根据权利要求1-6中任一项所述的方法,其中,所述地图对象包括三维位置和第一协方差数据,所述方法还包括:将所述三维位置投影到所述传感器数据中以确定第一中心点;将所述第一协方差数据投影到所述传感器数据中以确定二维协方差数据,所述第一协方差数据表示三维协方差数据;确定与所述感测对象相关联的第二中心点和第二协方差数据:以及至少部分地基于所述第一中心点、所述第二中心点、所述二维协方差数据和所述第二
协方差数据,确定所述距离或所述可能性。8.根据权利要求1-7中任一项所述的方法,其中,以下中的至少一项:所述距离是马氏距离;或者所述可能性是至少部分地基于协方差数据的大小的,所述协方差数据与所述感测对象或所述地图对象相关联。9.根据权利要求1-8中任一项所述的方法,其中,所述传感器包括图像传感器、激光雷达传感器、雷达传感器、或飞行时间传感器中的至少一个。10.根据权利要求1-9中任一项所述的方法,还包括:确定所述感测对象与分类类型相关联;确定所述地图对象与所述分类类型相关联;以及至少部分地基于所述感测对象和所述地图对象与所述分类类型相关联,确定所述距离或所述可能性。11.一个或多个存储指令的非暂时性计算机可读介质,当所述指令由一个或多个处理器执行时,使一个或多个计算装置执行根据权利要求1-10中任一项所述的方法。12.一种系统,包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,其存储能够由所述一个或多个处理器执行的指令,其中,当被执行时,所述指令使所述系统执行操作,所述操作包括:从与环境中的车辆相关联的传感器接收传感器数据;接收与所述环境相关联的地图数据,所述地图数据包括地图对象;至少部分地基于所述传感器数据,确定在所述传感器数据中表示的感测对象;将所述地图对象投影到所述传感器数据中;确定以下中的至少一项:所述感测对象与所述地图对象之间的距离、或所述感测对象与所述地图对象相关联的可能性;以及至少部分地基于所述距离或所述可能性,确定所述车辆在所述环境中的位置。13.根据权利要求12所述的系统,其中,所述地图对象包括三维位置和第一协方差数据,所述操作还包括:将所述三维位置投影到所述传感器数据中以确定第一中心点;确定与所述对象相关联的第二中心点和第二协方差数据;以及至少部分地基于所述第一中心点、所述第二中心点、所述第一协方差数据和所述第二协方差数据,确定所述距离或所述可能性。14.根据权利要求12或13所述的系统,所述操作还包括:确定所述感测对象与分类类型相关联;确定所述地图对象与所述分类类型相关联;以及至少部分地基于所述感测对象和所述地图对象与所述分类类型相关联,确定所述距离或所述可能性。15.根据权利要求12-14中任一项所述的系统,其中,所述感测对象包括以下至少一项:交通灯;标志;
杆;或者车道标线。

技术总结
本文讨论了用于使用传感器确定在环境中车辆的位置以及确定与传感器相关联的校准信息的技术。车辆可以使用地图数据穿越环境。地图数据可以包括语义地图对象,例如交通灯、车道标线等。车辆可以使用诸如图像传感器的传感器来捕获传感器数据。语义地图对象可以被投影到传感器数据中并且与传感器数据中的对象匹配。这样的语义对象可以被表示为中心点和协方差数据。可以优化与投影的语义地图对象和感测对象相关联的距离或可能性以确定车辆的位置。基于与语义地图对象的匹配,可以确定感测对象是相同的。对极几何可以用于确定传感器是否正在捕获一致的数据。在捕获一致的数据。在捕获一致的数据。


技术研发人员:N
受保护的技术使用者:祖克斯有限公司
技术研发日:2021.11.29
技术公布日:2023/6/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐