一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

防撞感知系统的制作方法

2022-05-18 11:36:04 来源:中国专利 TAG:

防撞感知系统
1.相关申请
2.本技术要求于2020年9月30日提交的申请号为16/588,529的美国专利申请的优先权,其全部内容通过引用并入本技术。


背景技术:

3.车辆中的乘客和车辆附近的其他人或物体的安全是最重要的。这种安全性通常取决于对潜在碰撞的准确检测和安全措施的及时部署。为了安全运行,自主/自动驾驶车辆可能包括多个传感器和各种系统,用于检测和跟踪自主车辆周围的事件,并且在控制自主车辆时可能会将这些事件考虑在内。例如,自主车辆可以在一组相机、激光雷达(lidar)传感器、雷达和/或类似设备的360度视图内检测并跟踪每个物体,以安全地控制自主车辆。由于可以将地面建模为平面,因此在平坦环境中检测显著物体可能更简单,但在坡度变化的环境中从地面识别物体可能更加困难。由于可以将地面建模为平面,因此在平坦环境中检测显著物体可能更简单,但在坡度变化的环境中从地面区分物体可能更加困难。
附图说明
4.参考附图来描述详细说明书。在图中,附图标记的最左侧数字标识附图标记首次出现的图。不同图中相同的附图标记表示相似或相同的项目。
5.图1示出了一个示例场景,其中配置有防撞组件的自主车辆可以生成用于控制自主车辆的轨迹,并通过防撞组件确定是执行该轨迹还是制定替代操纵,例如安全停止。
6.图2示出了示例场景和由防撞组件监控的廊道(corridor)与附加的或替代的防撞系统监控区域相比的俯视图。
7.图3示出了包括防撞组件的示例系统的框图。
8.图4示出了用于使用防撞组件来验证轨迹和/或实施替代操纵的示例过程的图示流程图。
9.图5示出了与图3的示例场景相关联的示例传感器数据、廊道和作为地面分类或物体分类的传感器数据分类。
10.图6a示出了其中可能难以将传感器数据分类为地面或物体的示例场景,并且图6b示出了与图6a的示例场景相关联的示例性传感器数据,连同廊道以及作为地面分类或物体分类的传感器数据分类。
11.图7示出了用于至少部分地基于确定曲线以拟合传感器数据来将传感器数据分类为地面或物体的示例过程的图示流程图。
12.图8示出了根据图7的示例过程拟合传感器数据的示例曲线。
具体实施方式
13.用于避免碰撞的技术可以包括防撞系统,该防撞系统验证、拒绝或替换为控制车辆而生成的轨迹。这里讨论的防撞系统可以包括次级(次要)感知组件和/或验证组件。例
如,防撞系统可以从规划组件接收轨迹并且从一个或多个传感器接收与自主车辆周围环境相关联的传感器数据。在一些示例中,虽然初级(主要)感知组件可以至少部分地基于所有或几乎所有传感器数据来确定感知数据,但是防撞系统的次级感知组件可以确定与轨迹相关联的廊道,并且至少部分地基于与廊道相关联的传感器数据的子集来执行本文所讨论的操作。防撞系统可以至少部分地基于车辆的宽度和/或长度、车辆的当前速度和/或与轨迹相关联的速度、和/或偏移距离来确定廊道。在至少一些示例中,这样的次级感知系统可以进一步使用相对于主要系统相似和/或不同的硬件和/或软件。
14.在一些示例中,次级感知组件可以将传感器数据的子集(其与廊道相关联)分类为属于地面分类或物体分类。地面分类可以将传感器数据识别为与道路和/或其他环境表面相关联,而物体分类可以包括不是地面的任何其他物体。在一些示例中,本文讨论的技术可以简单地将传感器数据分类为地面或物体,而无需进一步识别什么类型的物体。
15.在一些示例中,这些技术可以包括地面估计技术,该技术可以提高(例如,降低)与将传感器数据分类为地面或物体相关联的假阴性和/或假阳性率。在一些示例中,该技术可以包括估计线和/或平面以对道路表面的轮廓(例如,道路高度轮廓)进行建模,特别是对于可能包括一个或多个坡度变化(例如,道路表面坡度)的复杂道路。这些地面拟合技术可以包括至少部分地基于确定控制点的数量来确定与地面相关联的样条(例如一个或多个多项式,贝塞尔曲线)以及至少部分地基于包括有效返回的传感器数据的数量或百分比来确定样条的节点。在一些示例中,当传感器数据对于环境的一部分稀疏时,所确定的样条可能不准确。该技术可以附加地或替代地包括在生成样条之前对传感器数据进行加权(例如,通过向最低和/或最高(高度)传感器数据点加权最小二乘回归),至少部分地基于传感器数据改变与一个或多个控制点相关联的高度值(例如,纵坐标)作为拟合后操作,和/或改变节点的间距作为拟合后操作。在一些示例中,确定样条可以包括至少部分地基于回归算法(例如,最小二乘)来确定控制点和/或节点的值。
16.次级感知组件可以包括m-估计器,但可能缺少用于对物体进行分类的物体分类器,诸如,例如神经网络、决策树等。在附加或替代示例中,次级感知系统可以包括任何类型的ml模型,被配置为消除物体分类的歧义。相比之下,初级感知组件可以包括硬件和/或软件组件的流水线(pipeline),其可以包括一个或多个机器学习模型、贝叶斯滤波器(例如,卡尔曼滤波器)、图形处理单元(gpu)等。在一些示例中,感知数据可以包括物体检测(例如,与自主车辆周围环境中的物体相关联的传感器数据的识别)、物体分类(例如,与检测到的物体相关联的物体类型的识别)、物体轨迹(例如、历史、当前和/或预测的物体位置、速度、加速度和/或航向)等。
17.该技术可以附加地或替代地包括至少部分地基于与轨迹相关联的速度来确定阈值距离。例如,给定环境条件(例如,坡度、与道路相关的静态系数和/或道路状况),阈值距离可以是在车辆的当前速度和/或由轨迹指定的速度下与车辆相关联的停止距离估计。防撞系统的验证组件可以确定分类为物体的任何传感器数据是否与车辆的距离小于阈值距离,或者分类为地面的最远点是否小于阈值距离。在任一情况下,验证组件可以使车辆至少部分地基于确定物体或最远检测到的地面在车辆的阈值距离内来执行替代操纵和/或重新确定轨迹。如果验证组件确定最近物体的距离超过阈值距离并且分类为地面的最远传感器数据的距离超过阈值距离,则验证组件可以验证轨迹,这可以包括将轨迹传输到系统控制
器,所述系统控制器可以产生用于致动车辆的驱动组件以跟踪轨迹的信号。
18.附加地或替代地,验证组件可以至少部分地基于车辆的当前速度、与轨迹相关联的速度、与物体相关联的速度、车辆的当前姿势,和/或确定与物体和/或地面分类相关联的传感器数据是否有效来确定是否验证轨迹或启动替代操纵。例如,该技术可以包括确定车辆的当前速度、转向角、转向速率和/或航向是否与轨迹指示的速度、转向角、转向速率和/或航向相一致(在相应的阈值内)。
19.例如,在根据本文讨论的技术验证轨迹时,防撞系统可以通过或以其他方式允许轨迹由车辆实施。然而,在确定轨迹无效时,根据本文讨论的技术,防撞系统可以使车辆启动或有(contingent)轨迹(例如,安全停止操纵、替代操纵)和/或重新确定新轨迹。在一些示例中,车辆的规划组件可以至少部分地基于传感器数据、地图数据、定位数据(例如,自主车辆在哪里/自主车辆如何相对于环境中的对物体定向、映射位置等)、和/或从初级感知组件接收的感知数据(例如,环境中有什么,环境中物体的特征)来确定轨迹。
20.本文讨论的技术可以通过防止车辆实施无效或有风险的轨迹来提高车辆的安全性。此外,与以前的技术相比,这些技术可以减少为避免冲突而消耗的计算带宽、存储器和/或功率的量。防撞系统的精度也可以高于初级感知系统的精度,从而通过过滤掉无效轨迹来降低自主车辆实现的轨迹的总体错误率。
21.示例场景
22.图1示出了包括车辆102(交通工具)的示例场景100。在某些情况下,车辆102可以是自主车辆,其被配置为根据美国国家公路交通安全管理局发布的5级分类进行操作,其描述了一种能够在整个行程中执行所有安全关键功能的车辆,驾驶员(或乘员)在任何时候都不希望控制车辆。然而,在其他示例中,车辆102可以是具有任何其他级别或分类的完全或部分自主车辆。预期本文所讨论的技术可应用于机器人控制以外的领域,例如自动驾驶车辆。例如,本文讨论的技术可以应用于采矿、制造、增强现实等。此外,即使车辆102被描绘为陆地车辆,车辆102也可以是航天器、船只和/或类似物。在一些示例中,车辆102可以在模拟中被表示为模拟车辆。为简单起见,本文的讨论不区分模拟车辆和真实世界车辆。因此,对“车辆”的引用可以引用模拟和/或真实世界的车辆。
23.根据本文讨论的技术,车辆102可以从车辆102的传感器104接收传感器数据。例如,传感器104可以包括位置传感器(例如,全球定位系统(gps)传感器)、惯性传感器(例如,加速度计传感器、陀螺仪传感器等)、磁场传感器(例如,指南针)、位置/速度/加速度传感器(例如,速度计、驱动系统传感器)、深度位置传感器(例如,激光雷达传感器、雷达传感器、声纳传感器、飞行时间(tof)相机、深度相机、超声波和/或声纳传感器、和/或其他深度感测传感器)、图像传感器(例如相机)、音频传感器(例如麦克风)和/或环境传感器(例如气压计、湿度计等)。
24.传感器104可以生成传感器数据,该传感器数据可以由与车辆102相关联的计算设备106接收。然而,在其他示例中,传感器104和/或计算设备106中的一些或全部可以与车辆102分离和/或远离车辆102设置,并且数据捕获、处理、命令和/或控制可以通过一个或多个远程计算设备经由有线和/或无线网络传送到车辆102/从车辆102传送。
25.计算设备106可以包括存储感知组件110、规划组件112、防撞组件114和/或系统控制器116的存储器108。虽然为了说明性目的在图1中描绘,但应该是应当理解,防撞组件114
与任何一个或多个其他组件相比可以驻留在单独计算设备中/上(或以其他方式)。在一些示例中,感知组件110可以是除其他感知组件之外的初级感知组件,所述其他感知组件诸如可以是防撞组件114的一部分的次级感知组件。一般而言,感知组件110可以确定车辆102周围环境中有什么,以及规划组件112可以根据从感知组件110接收的信息来确定如何操作车辆102。例如,规划组件112可以至少部分地基于感知数据和/或其他信息,例如,一个或多个地图、定位信息(例如,车辆102在环境中相对于地图和/或由感知组件110检测到的特征的位置)等来确定轨迹118。轨迹118可包括用于控制器116的指令以致动车辆102的驱动组件以实现可导致车辆位置、车辆速度和/或车辆加速度的转向角和/或转向速率。例如,轨迹118可以包括目标航向、目标转向角、目标转向速率、目标位置、目标速度和/或目标加速度,以供控制器116跟踪。感知组件110和/或规划组件112可以包括一个或多个机器学习(ml)模型和/或其他计算机可执行指令。
26.在一些示例中,感知组件110可以从传感器104接收传感器数据并确定与车辆102附近的物体相关的数据(例如,与检测到的物体相关联的分类、实例分割、语义分割、二维和/或三维边界框、轨道)、指定车辆目的地的路线数据、识别道路特征的全局地图数据(例如,在用于定位自主车辆的不同传感器模式中可检测的特征),识别在车辆附近检测到的特征(例如,建筑物、树木、围栏、消防栓、停车标志的位置和/或尺寸,以及在各种传感器模式中可检测到的任何其他特征)的本地地图数据等。由感知组件110确定的物体分类可以区分不同的物体类型,诸如,例如客车、行人、骑自行车的人、送货卡车、半卡车、交通标志和/或类似物。轨迹可以包括历史的、当前的和/或预测的物体位置、速度、加速度和/或航向。由感知组件110产生的数据可以统称为感知数据。一旦感知组件110已经生成感知数据,感知组件110可以将感知数据提供给规划组件112。
27.规划组件112可以使用从感知组件110接收的感知数据来确定一个或多个轨迹、控制车辆102的运动以穿越路径或路线、和/或以其他方式控制车辆102的操作,尽管任何这样的操作可以在各种其他组件中执行(例如,定位可以由定位组件执行,其可以至少部分地基于感知数据)。例如,规划组件112可以确定车辆102从第一位置到第二位置的路线;基本上同时并且至少部分地基于感知数据和/或模拟感知数据(其可以进一步包括关于在这样的数据中检测到的物体的预测)产生多个潜在轨迹,用于根据滚动时域技术(例如,1微秒、半秒)控制车辆102的运动,以控制车辆穿越路线(例如,为了避开任何检测到的物体);以及选择可能的轨迹之一作为车辆102的轨迹118,该轨迹118可用于生成驱动控制信号,该驱动控制信号可被传输到车辆102的驱动组件。图1描绘了这样的轨迹118的示例,表示为箭头,指示航向、速度和/或加速度,尽管轨迹本身可以包括用于控制器116的指令,控制器116又可以启动车辆102的驱动系统。
28.在一些示例中,感知组件110可以包括硬件和/或软件的流水线,其可以包括一个或多个gpu、ml模型、卡尔曼滤波器等。在一些示例中,感知组件110可以监控自主车辆周围尽可能多的环境,这可能受到传感器能力、物体和/或环境遮挡(例如,建筑物、坡度变化、其他物体前面的物体)的限制,和/或环境影响,例如雾、雪等。例如,传感器数据可以包括激光雷达和/或雷达数据,感知组件110可以接收它们作为输入。感知组件110可以被配置为检测尽可能多的物体和关于环境的信息以避免未能考虑规划组件112在确定轨迹118时应该考虑的事件或物体行为。
29.相比之下,防撞组件114可以监控与轨迹118相关联的廊道120。例如,防撞组件114可以从规划组件112接收轨迹118并且至少部分地基于该轨迹来确定廊道120。确定廊道可包括至少部分基于车辆102的当前速度、由轨迹118指定的速度和/或可至少部分基于转向齿条致动器的偏移来确定环境区域增益、诸如轮胎打滑、车身侧倾等的车辆运动学和/或类似参数。在至少一些示例中,这样的廊道可以附加地或替代地表示相对于车辆的简单几何区域。防撞组件114可以确定与廊道120相关联的传感器数据的子集并且至少部分地基于该子集来进行本文所讨论的操作。例如,在示例场景中,防撞组件114可以确定包括传感器数据的子集,该传感器数据包括由廊道120指示的环境部分,其可以包括在传感器数据表示124中描绘的道路122的一部分和/或物体126的一部分。尽管由感知组件110确定的感知数据可以包括与物体128相关联的感知数据并且轨迹118可以至少部分地基于该感知数据生成,但是防撞组件114可以简单地监控与廊道120相关联的传感器数据以确保轨迹118不会或不可能导致碰撞。
30.防撞组件114可以包括次级感知组件,其可以将传感器数据的子集分类为以下两种类别之一:地面或物体。在一些示例中,可能存在更多分类(例如,不同的物体分类)。防撞组件114可以附加地或替代地包括验证组件,该验证组件可以确定本文讨论的阈值距离和/或确定是验证还是拒绝轨迹118。验证轨迹118可以包括将轨迹118传输到控制器116(例如,验证组件可以包括多路复用器、配置为在从验证组件接收到信号时通过轨迹118的开关的一个或多个晶体管,和/或可以提供允许轨迹118信号传递到控制器116的信号的类似组件)。拒绝轨迹118可以包括向规划组件112发送消息以启动重新确定轨迹和/或启动替代操纵,例如安全停止操纵(例如,紧急制动、靠边和停车)和/或或有轨迹,除了轨迹118之外,其还可以从规划组件112接收和/或存储在存储器108中。在一些示例中,防撞组件114可以至少部分地基于传感器的定向和/或环境的拓扑和/或传感器数据的有效部分的下限和上限来确定传感器数据的子集的至少一部分是有效的还是无效的,如本文更详细讨论的。
31.在一些示例中,控制器116可以包括用于致动车辆102的驱动组件以足以跟踪轨迹118的软件和/或硬件。例如,控制器116可以包括一个或多个比例-积分-微分(pid)控制器。
32.图2示出了示例场景100的传感器数据表示124和由防撞组件监控的廊道120与附加的或替代的防撞系统监控区域200相比的俯视图。区域200内的传感器数据,表示为圆,可以由附加的或替代的防撞系统监控。在附加或替代示例中,区域200可以识别与由感知组件110监控的车辆102相距的距离。在这样的示例中,区域200可以对应于一个或多个传感器104的最大有效范围。
33.注意,在所描绘的示例中,轨迹118是直的;因此,廊道120相应地是直的。注意,廊道120的形状可以至少部分地基于轨迹118的形状并且根据轨迹118和/或环境拓扑可以是弯曲的、不均匀的和/或不直的。在一些示例中,廊道120可以是二维或三维或更多维的。
34.示例系统
35.图3示出了实现本文所讨论的技术的示例系统300的框图。在一些情况下,示例系统300可以包括车辆302,其可以表示图1中的车辆102。在一些情况下,车辆302可以是自主车辆,其被配置为根据美国国家公路交通安全管理局发布的5级分类运行,它描述了一种能够在整个行程中执行所有安全关键功能的车辆,驾驶员(或乘员)在任何时候都不希望控制车辆。然而,在其他示例中,车辆302可以是具有任何其他级别或分类的完全或部分自主车
辆。此外,在一些情况下,本文描述的技术也可以由非自主车辆使用。
36.车辆302可以包括车辆计算设备304、传感器306、发射器308、网络接口310和/或驱动组件312。车辆计算设备304可以表示计算设备106并且传感器306可以表示传感器104。系统300可以附加地或替代地包括计算设备314。
37.在一些情况下,传感器306可以表示传感器104并且可以包括激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如,全球定位系统(gps)、指南针等)、惯性传感器(例如,惯性测量单元(imu)、加速度计、磁力计、陀螺仪等),图像传感器(例如,红绿蓝(rgb)、红外(ir)、强度、深度、飞行时间相机等)、麦克风、车轮编码器、环境传感器(例如,温度计、湿度计、光传感器、压力传感器等)等。传感器306可以包括这些或其他类型传感器中的每一个的多个实例。例如,雷达传感器可以包括位于车辆302的拐角、前部、后部、侧面和/或顶部的单独雷达传感器。作为另一个示例,相机可以包括设置在车辆302的外部和/或内部周围的不同位置处的多个相机。传感器306可以向车辆计算设备304和/或计算设备314提供输入。
38.如上所述,车辆302还可以包括用于发射光和/或声音的发射器308。该示例中的发射器308可以包括与车辆302的乘客通信的内部音频和视觉发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示器屏幕、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的发射器308还可以包括外部发射器。作为示例而非限制,该示例中的外部发射器包括用于发出行驶方向信号的灯或车辆动作的其他指示器(例如,指示灯、标志、光阵列等),以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等)以与行人或其他附近车辆进行听觉通信,音频发射器中的一个或多个具有声束转向技术。
39.车辆302还可以包括网络接口310,其使车辆302与一个或多个其他本地或远程计算设备之间能够通信。例如,网络接口310可以促进与车辆302和/或驱动组件312上的其他本地计算设备的通信。此外,网络接口310可以附加地或替代地允许车辆与其他附近的计算设备(例如,其他附近的车辆、交通信号灯等)进行通信。网络接口310可以附加地或替代地使车辆302能够与计算设备314通信。在一些示例中,计算设备314可以包括分布式计算系统的一个或多个节点(例如,云计算架构)。
40.网络接口310可以包括用于将车辆计算设备304连接到另一个计算设备或网络(例如网络316)的物理和/或逻辑接口。例如,网络接口310可以实现基于wi-fi的通信,例如通过ieee 300.11标准定义的频率、例如的短距离无线频率、蜂窝通信(例如,2g、3g、4g、4g lte、5g等)或使相应的计算设备能够与其他计算设备接口的任何合适的有线或无线通信协议。在一些情况下,车辆计算设备304和/或传感器306可以经由网络316以特定频率、在预定时间段过去之后、接近实时地等发送传感器数据到计算设备314。
41.在一些情况下,车辆302可以包括一个或多个驱动组件312。在一些情况下,车辆302可以具有单个驱动组件312。在一些情况下,驱动组件312可以包括一个或多个传感器以检测驱动组件312和/或车辆302周围环境的状况。作为示例而非限制,驱动组件312的传感器可以包括一个或多个车轮编码器(例如,旋转编码器)来感测驱动组件的轮子的旋转,惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)来测量驱动组件的定向和加速度、相机或其他图像传感器、超声波传感器以声学检测驱动组件、激光雷达传感器、雷达
传感器等周围的物体。一些传感器,例如车轮编码器,对于驱动组件312可能是唯一的。在某些情况下,驱动组件312上的传感器可以重叠或补充车辆302的相应系统(例如,传感器306)。
42.驱动组件312可以包括许多车辆系统,包括高压电池、驱动车辆的电动机、将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向马达和转向齿条(可能是电动的)的转向系统、包括液压或电动执行器的制动系统、包括液压和/或气动组件的悬挂系统、用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统、hvac系统、照明(例如,用于照亮车辆外部环境的头灯/尾灯等照明)和一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动组件312可以包括驱动组件控制器,其可以接收和预处理来自传感器的数据并控制各种车辆系统的操作。在一些情况下,驱动组件控制器可以包括一个或多个处理器和与一个或多个处理器通信耦接的存储器。存储器可以存储一个或多个组件以执行驱动组件312的各种功能。此外,驱动组件312还可以包括一个或多个通信连接,其使得各个驱动组件能够与一个或多个其他本地或远程计算设备通信。
43.车辆计算设备304可以包括处理器318和与一个或多个处理器318通信耦接的存储器320。存储器320可以表示存储器108。计算设备314还可以包括处理器322和/或存储器322。处理器318和/或322可以是能够执行指令以处理数据和执行如本文所述的操作的任何合适的处理器。作为示例而非限制,处理器318和/或322可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、集成电路(例如,专用集成电路(asic))、门阵列(例如,现场可编程门阵列(fpga))和/或处理电子数据以将该电子数据转换为可存储在寄存器和/或存储器中的任何其他设备或设备的一部分。
44.存储器320和/或324可以是非暂时性计算机可读介质的示例。存储器320和/或324可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据以实现本文描述的方法和归属于各种系统的功能。在各种实施方式中,存储器可以使用任何合适的存储器技术来实施,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器或能够存储信息的任何其他类型的存储器。这里描述的架构、系统和单独的元件可以包括许多其他逻辑、程序和物理组件,其中在附图中示出的那些仅仅是与这里的讨论相关的示例。
45.在一些情况下,存储器320和/或存储器324可以存储定位组件326、感知组件328、规划组件330、防撞组件332、地图334和/或系统控制器336。感知组件328可以表示感知组件110,规划组件330可以表示规划组件112,和/或防撞组件332可以表示防撞组件114。
46.在至少一个示例中,定位组件326可以包括硬件和/或软件以从传感器306接收数据以确定车辆302的位置、速度和/或定向(例如,x、y、z位置、滚动、俯仰或偏航中的一个或多个)。例如,定位组件326可以包括和/或请求/接收环境的地图334,并且可以连续地确定在地图334内自主车辆的位置、速度和/或定向。在一些情况下,定位组件326可以利用slam(同时定位和映射)、clams(同时校准、定位和映射)、相对slam、束调整、非线性最小二乘优化等来接收图像数据、激光雷达数据、雷达数据、imu数据、gps数据、车轮编码器数据等,以准确确定自主车辆的位置、姿势和/或速度。在一些情况下,定位组件326可以向车辆302的各个组件提供数据以确定自主车辆的初始位置,以用于生成轨迹和/或用于生成地图数据,
如本文所讨论的。在一些示例中,定位组件326可以向防撞组件332提供车辆302相对于环境的位置和/或定向和/或与其相关联的传感器数据。
47.在一些情况下,感知组件328可以包括以硬件和/或软件实施的初级感知系统和/或预测系统。感知组件328可以检测车辆302周围环境中的物体(例如,识别物体存在)、对物体进行分类(例如,确定与检测到的物体相关联的物体类型)、分段传感器数据和/或环境的其他表示(例如,将传感器数据的一部分和/或环境的表示识别为与检测到的物体和/或物体类型相关联),确定与物体相关联的特征(例如,识别与物体相关联的当前、预测和/或先前位置、航向、速度和/或加速度的轨迹)等。由感知组件328确定的数据被称为感知数据。
48.规划组件330可以从定位组件326接收车辆302的位置和/或定向和/或从感知组件328接收感知数据,并且可以至少部分地基于任何该数据来确定用于控制车辆302的操作的指令。在一些示例中,确定指令可以包括至少部分基于与指令相关联的系统相关联的格式来确定指令(例如,用于控制自主车辆运动的第一指令可以格式化为系统控制器336和/或驱动组件312可以解析的消息和/或信号(例如,模拟、数字、气动、运动学)的第一格式/导致被执行,用于发射器308的第二指令可以根据与其相关联的第二格式来格式化)。
49.防撞组件332可以在车辆302和/或计算设备314上操作。在一些示例中,防撞组件332可以在流水线中的规划组件330的下游(接收输出)。防撞组件332可以被配置为取决于这里讨论的确定将规划组件330的所有、部分或没有输出传递到系统控制器336用于实施。在一些示例中,防撞组件332可以包括反馈回路,用于向规划组件330提供输入,例如触发重新确定轨迹的标志或消息。
50.存储器320和/或324可以附加地或替代地存储地图系统(例如,至少部分地基于传感器数据生成地图)、规划系统、乘车管理系统等。尽管定位组件326、感知组件328、规划组件330、地图334和/或系统控制器336被示为存储在存储器320中,但是这些组件中的任何一个都可以包括处理器可执行指令、机器学习模型(例如,神经网络)和/或硬件和任何这些组件的全部或部分可以存储在存储器324上或被配置为计算设备314的一部分。
51.如本文所述,定位组件326、感知组件328、规划组件330和/或系统300的其他组件可以包括一个或多个ml模型。例如,定位组件326、感知组件328和/或规划组件330可以各自包括不同的ml模型流水线。在一些示例中,ml模型可以包括神经网络。示例性神经网络是一种受生物学启发的算法,它通过一系列连接层传递输入数据以产生输出。神经网络中的每一层也可以包括另一个神经网络,或者可以包括任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指大类这样的算法,其中基于学习的参数生成输出。
52.尽管在神经网络的上下文中进行了讨论,但可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘回归(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)、ada提升、堆叠泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林)、svm(支持向量机)、监督学习、无监督学习、半监督学习等。架构的其他示例包括神经网络,例如resnet-50、resnet-101、vgg、densenet、pointnet等。
53.存储器320可以附加地或替代地存储一个或多个系统控制器336,其可以被配置为控制车辆302的转向、推进、制动、安全、发射器、通信和其他系统。这些系统控制器336可以与驱动组件312和/或车辆302的其他组件的相应系统通信和/或控制所述相应系统。例如,规划组件330可以至少部分地基于由感知组件328生成的感知数据(防撞组件332可以验证所述感知数据和/或传输到系统控制器336)来生成指令。系统控制器336可以至少部分地基于从规划组件330和/或防撞组件332接收的指令来控制车辆302的操作。在一些示例中,防撞组件332可以将由规划组件330生成的指令替换为与或有轨迹(诸如,例如可以指定替代操纵的或有轨迹和/或类似物)相关联的替代指令。
54.应当注意,虽然图3被示为分布式系统,但在替代示例中,车辆302的组件可以与计算设备314相关联和/或计算设备314的组件可与车辆302相关联。即,车辆302可以执行与计算设备314相关联的一个或多个功能,反之亦然。
55.示例过程
56.图4示出了用于验证由自主车辆的规划组件输出的轨迹的示例过程400的图示流程图。在一些示例中,示例过程400可以在自主车辆的操作期间至少由防撞组件来执行。
57.在操作402处,示例过程400可以包括根据本文讨论的任何技术接收与自主车辆相关联的当前姿势、轨迹和/或廊道。例如,当前姿势可以从定位组件接收,轨迹可以从规划组件和/或自主车辆的一个或多个传感器(例如,车轮编码器、gps)接收,和/或廊道可以从规划组件接收和/或由防撞组件确定。在一些示例中,确定廊道可以至少部分地基于所述轨迹、自主车辆的宽度和/或长度、当前速度和/或偏移量。图4示出了自主车辆的位置404和廊道406。在至少一些示例中,这样的廊道尺寸可以基于例如与车辆相关联的参数。作为非限制性示例,廊道的长度可以是车辆速度的函数,而作为另一示例,宽度可以基于车辆的转弯半径、与车辆附近的物体相关联的可能速度等。轨迹未示出以增加图表的清晰度。在一些示例中,轨迹可以包括自主车辆的当前和/或计划位置和/或速度。
58.在操作408处,示例过程400可以包括根据本文讨论的任何技术从与自主车辆相关联的传感器接收传感器数据。例如,传感器数据410可以包括激光雷达和/或雷达数据,以及其他类型的传感器数据。在一些示例中,传感器数据可以包括深度数据(例如,指示从传感器/自主车辆到环境中表面的距离的数据)、与检测到的表面相关联的多普勒数据、和/或指示自主车辆周围环境中物体位置的任何其他类型的传感器数据。
59.在操作412处,示例过程400可以包括根据本文讨论的任何技术确定与廊道和地面分类相关联的传感器数据的第一子集。在一些示例中,示例过程400可以包括确定与廊道相关联的传感器数据的子集并且将该子集分类为两种分类即地面分类(在操作412处)和物体
分类(在操作420处)中的一种。图4描绘了图5的一部分。图5描绘了与示例场景100和传感器数据表示124相关联的传感器数据500。图5描绘了廊道406,廊道406外的传感器数据为灰色,而廊道406内的传感器数据的子集为黑色。图5还将廊道406内被分类为地面502的传感器数据的第一子集描绘为虚线并且将廊道406内的被分类为物体504的传感器数据的第二子集描绘为实线。
60.确定传感器数据的第一子集与地面分类相关联可以包括确定传感器数据之间的连续性以及确定传感器数据是连续的。确定传感器数据是连续的可以包括确定传感器数据之间的间距在间距范围内(例如,小于或等于点之间的阈值距离,其中在至少一些示例中,这种阈值距离可以是固定和/或点的范围的函数),确定传感器数据之间的角度在角度范围内(例如,两个点之间的方位角在方位角范围内,两个点之间的(竖直)梯度点在梯度范围内),确定多个传感器数据点的表面粗糙度小于或等于表面粗糙度阈值,确定多个传感器数据点与等于或小于方差阈值的方差相关联(例如,与传感器数据点之间的间距(例如,距离)相关联的方差、与传感器数据点之间的角位移相关联的方差)等)。例如,地面分类416与平滑地遵循拓扑/激光雷达数据的轮廓的传感器数据相关联。相反,物体分类418可以与不表现出与和地面分类416相关联的传感器数据相同的连续性/间距的数据点相关联。
61.如关于图7更详细地讨论的,确定与地面分类相关联的第一子集可以附加地或替代地包括针对与廊道相关联的传感器数据子集的至少一部分拟合线(例如,诸如多项式、样条等的曲线)和/或平面,并且作为第一子集的一部分,识别位于线和/或平面的阈值距离内的传感器数据点。在一些示例中,阈值距离可以被定义为与线和/或平面垂直(相切)的距离。
62.在操作420处,示例过程400可以包括根据本文讨论的任何技术确定与廊道和物体分类相关联的传感器数据的第二子集。例如,操作420可以包括识别位于在操作412处确定的线或平面上方(例如,具有超过的高度值)的传感器数据点。在一些示例中,可以与传感器数据的轮廓相关联(例如,与传感器数据的高度和/或纵向位置相关联)来确定线,并且操作420可以包括使线平移越过廊道。在一些情况下,在操作412处未被分类为地面的传感器数据可被分类为物体(例如,任何未被分类为地面的传感器数据可被分类为物体)。在一些示例中,操作420可以包括至少部分地基于聚类、区域增长和/或类似技术来确定第二子集的一部分与物体相关联。
63.在一些示例中,操作412和/或操作420可以附加地或替代地包括将与扩展廊道相关联的传感器数据分类为地面或物体,其中扩展廊道包括廊道加上边距。例如,廊道可以根据乘数(例如,110%、115%、任何其他值)和/或根据附加距离(例如,横向扩展0.5米、15厘米、任何其他值)横向扩展。
64.在操作422处,示例过程400可以包括根据本文讨论的任何技术确定与至少最近的物体相关联的位置和/或速度。例如,操作422可以包括至少部分地基于随时间累积与物体相关联的传感器数据来确定物体的速度。在附加或替代示例中,确定物体的速度可以至少部分地基于由雷达设备、声纳设备等指示的多普勒值。在一些示例中,操作422可以包括确定与在操作420处识别的附加物体相关联的位置和/或速度。在一些情况下,操作422可以另外或替代地包括至少部分地基于与物体相关联的速度来确定至少最近物体的一个或多个预测位置。操作422可以附加地或替代地包括至少部分地基于一个或多个物体的当前和/或
预测位置来确定最近物体,并确定哪个物体是或预测为最接近自主车辆的位置404。
65.在操作424处,示例过程400可以包括根据本文讨论的任何技术确定最近的物体是否在满足或超过阈值距离的位置或被预测为处于该位置。操作424可以包括至少部分地基于轨迹的阈值距离。例如,阈值距离可以对应于车辆的最大停止距离,并且在一些情况下除了最大停止距离之外还可以包括额外的安全余量。在一些示例中,阈值距离可以是沿着与轨迹相关联的线或曲线的距离。操作424可包括确定物体是否在或将在小于自主车辆的阈值距离(或自主车辆的预测位置)之内。
66.如果物体处于和/或被预测处于小于自主车辆的阈值距离的位置,则示例过程400可以继续到操作426。如果没有物体处于和/或被预测在自主车辆的阈值距离内,则示例过程400可以继续到操作428。
67.在操作428处,示例过程400可以包括根据本文讨论的任何技术使自主车辆执行或有轨迹和/或重新确定轨迹。例如,使车辆执行或有轨迹可包括向系统控制器发送指令以使车辆减速、执行安全停止操纵、硬制动等。在一些示例中,规划器可以确定或有轨迹并将该或有轨迹与该轨迹一起和/或根据防撞组件的请求传送到防撞组件。在附加或替代示例中,操作428可以包括向规划器发送请求以确定新轨迹。
68.在操作428处,示例过程400可包括根据本文讨论的任何技术确定最远地面数据点是否处于满足或超过阈值距离的距离处。最远的地面数据点可以是分类为地面的传感器数据点,其位于距自主车辆的位置(或预测的位置)最远的地面数据点或最远的地面数据点之一。操作428在功能上可以是检查以确保传感器数据离自主车辆足够远以确保自主车辆可以在撞到任何物体之前停止并且已经检测到自主车辆的停止距离内的任何物体,在一些情况下加上一些余量。
69.如果最远地面数据点与自主车辆的当前和/或预测位置的距离小于阈值距离,则示例过程400可以继续到操作426;而如果最远的地面数据点与自主车辆的距离达到或超过阈值距离,则示例过程400可以继续到操作430。
70.在一些示例中,该技术可以包括确定与最近物体相关联的第一阈值距离(在操作424处)和与最远地面数据点相关联的第二阈值距离(在操作428处)。在一些示例中,第二阈值距离可以大于第一阈值距离,尽管它们在一些实例中可以相等。
71.在操作430处,示例过程400可以包括根据本文讨论的任何技术验证和/或传输轨迹。例如,验证和/或传输轨迹可以包括使自主车辆执行轨迹(例如,通过将轨迹传输到系统控制器)。
72.示例复杂的地面分类场景
73.图6a示出了示例场景600,其中可能难以将传感器数据分类为地面或物体,并且图6b示出与图6a的示例场景相关联的示例的传感器数据,以及廊道602和作为地面分类或物体分类的传感器数据分类。
74.图6a描绘了示例场景600,其中车辆604在包括两个坡度变化的环境中导航。在所描绘的场景中,道路包括负坡度,其在一段时间内变平(零坡度),并在此后恢复负坡度,至少对于与轨迹606相关联的环境部分。车辆604可能已经产生了轨迹606以使车辆604沿着第一负坡度向下、越过平坦坡度的一部分和沿着第二负坡度向下穿越环境。包含单一坡度的环境(例如,平坦的道路或连续向上或向下倾斜而没有变化的道路)呈现出更简单的地面分
类问题,因为可以使用平面或单度线对地面进行建模。坡度变化提出了一个更困难的问题,因为将道路建模为平面可能会导致多个误报物体和/或地面分类,并且使用简单多项式对道路进行建模可能同样会导致误报物体和/或地面分类。
75.图6b描绘了与轨迹606和传感器数据608相关联的廊道602,其中灰色传感器数据是位于廊道602外部的传感器数据,而黑色传感器数据位于廊道602内。本文讨论的技术可以包括针对传感器数据608拟合多参数度线和/或平面。在一些示例中,该技术可以包括确定在廊道602内拟合传感器数据的线和/或平面。例如,线拟合可以包括针对传感器数据拟合曲线610,其中曲线可以是二阶(或更多)阶多项式、样条、贝塞尔曲线、基础样条(b样条),例如非统一有理基础样条(nurbs)等。在一些示例中,确定线可以包括异常值消除和/或可以至少部分地基于一偏差,该偏差至少部分地基于与最低和/或最高高度(和/或其他局部或全局极值)相关联的一个或多个传感器数据确定。由于难以理解图6b中的三维描绘,图8包括投影到二维坐标系中的传感器数据的二维表示,该二维坐标系对应于沿轨迹606的高度剖面(例如,纵坐标值与高度相关联,并且横坐标值与沿轨迹的纵向位置相关联)。
76.将传感器数据分类为地面的示例过程
77.图7示出了用于至少部分地基于确定拟合传感器数据的曲线将传感器数据分类为地面的示例过程700的图示流程图。在一些示例中,曲线可用于将传感器数据点分类为物体。例如,将传感器数据点分类为物体可以包括确定传感器数据点位于线上方。在一些示例中,示例过程700可以是操作412和/或操作420的至少一部分。示例过程700可以是以将诸如激光雷达数据、雷达数据等的三维传感器数据投影到二维坐标系为先导,例如图8中所描绘的,其中纵坐标值与高度相关联,以及横坐标值与沿着由自主车辆生成的轨迹的纵向位置相关联。在一些示例中,示例过程700可以类似地应用于针对三维传感器数据拟合平面或针对三维传感器数据的一部分(例如,具有相同坐标值的三维传感器数据,即,在同一平面内或在同一平面附近(在阈值距离内)的三维传感器数据)拟合线。在一些情况下,示例过程700可以包括至少部分地基于针对传感器数据拟合曲线并且将在高度中低于或满足曲线的传感器数据点识别为地面来确定与地面分类相关联的传感器数据的子集。
78.在操作702处,示例过程700可以包括根据本文讨论的任何技术将传感器数据的至少一部分映射到低维空间。例如,操作702可以包括将三维传感器数据点投影到二维空间中。在一些示例中,二维空间可以与环境的高度剖面和/或轨迹相关联。在一些示例中,可以至少部分地基于自主车辆的轨迹和/或姿态来引用二维空间。在附加或替代示例中,传感器数据最初可包括一个或多个维度,例如四个或更多个维度。映射可以包括将维度的数量减少到与高度/海拔高度和自主车辆的轨迹的纵向分量相关联的一个或多个维度。例如,图6b示出了三维传感器数据的图像并且图8示出了映射到较低维空间(即,在所描绘的示例中的二维)的传感器数据的代表性描绘。
79.在操作704处,示例过程700可包括根据本文讨论的任何技术确定包括廊道内的一个或多个返回的传感器数据的第一通道数。通道可以至少包括与传感器相关联的检测部分。例如,激光雷达设备可以包括被配置为接收光束的检测器,相机可以包括图像传感器,该图像传感器包括离散的检测部分(例如,像素)等。
80.在一些示例中,当检测器检测到诸如反射光(例如,在激光雷达、雷达和/或深度相机的情况下)、反射声波(例如,在声纳的情况下)、散发的热量(例如,在红外或其他热成像
相机的情况下)和/或类似物时,传感器可输出“返回”。在一些示例中,当返回信号被衍射或在传感器的最大操作距离内没有表面以导致返回信号时,通道可能不会产生返回。
81.设想在一些情况下,传感器设备的通道可以包括接收来自环境信号发射器的信号的检测器。例如,热成像相机可以包括检测组件,该检测组件接收来自环境中的物体的热量,这些物体自身产生热量。无论如何,通道可以与像素、检测器和/或传感器检测系统的任何其他离散部分相关联。
82.例如,图7描绘了激光雷达数据,其可以包括与通道706相关联的返回、与通道708相关联的返回和与通道710相关联的返回,以及许多其他通道。例如,所描绘的传感器数据的每个轮廓可以对应于激光雷达传感器的不同通道。
83.操作704可以包括确定廊道712内包括返回和/或包括多于阈值数量(例如,百分比)的返回的通道的第一数量。例如,操作704可以包括确定与廊道712相关联的传感器数据的子集以及确定与该子集的返回相关联的通道的数量。在一些示例中,确定通道的数量可以包括确定在通道中包括超过90%或超过50%(或任何其他数量)的返回而不是非返回的通道的数量。在一些示例中,第一数量可以是正整数。
84.在操作714处,示例过程700可以包括根据本文讨论的任何技术至少部分地基于第一数量来确定曲线(例如,贝塞尔曲线)的第二数量的控制点和/或第三数量的节点。操作714可以包括确定与曲线相关联的节点向量和/或控制点向量的维度,其可以包括多项式和/或样条,例如贝塞尔曲线、b样条、nurbs等。在一些示例中,控制点的第二数量可以等于或小于第一数量。选择(控制点的)第二数量小于(具有返回的通道)的第一数量可以减少过度拟合,这反过来可以减少将物体错误地分类为地面。在一些示例中,最小的第二数量可以是二,但也可以考虑其他数,例如一个或三个或更多。(节点的)第三数量可以与控制点的第二数量和曲线度数(例如,其可以设置为等于二,或者在附加或替代示例中,三或更多)有关。例如,节点的第三数量可以等于控制点的第二数量加上曲线度数加一。在一些示例中,第二数量和/或第三数量可以是正整数。
85.节点可以定义曲线跨度的终点。曲线的跨度可以由多项式(或其他曲线函数)定义,其参数可以由一个或多个控制点定义。
86.在操作716处,示例过程700可以包括根据本文讨论的任何技术,至少部分地基于廊道内的传感器数据的一部分确定具有第二数量的控制点和/或第三数量的节点的曲线。操作716可以附加地或替代地包括一个或多个预拟合操作,诸如,例如去除潜在错误的传感器数据点(例如,通过对通道中的返回进行聚类和去除异常值、稳健估计技术(例如,ransac))和/或加权传感器数据。
87.例如,对传感器数据进行加权可以包括至少部分地基于具有返回的通道的第一数量来确定第四数量的位元(bin)-包括返回的通道越多,可以生成的位元越多。例如,图7描绘了示例性传感器数据718、位元720和位元722。在一些示例中,位元可以均匀地间隔开或者可以间隔开以包括相同数量的传感器数据点。在一些示例中,与位元720相关联的传感器数据可以与和位元722相关联的传感器数据分开加权。对传感器数据加权可以包括确定与位元相关联的传感器数据的范围。例如,图7描绘了范围724,其可以附加地或替代地表示为高度上最高和最低传感器数据点之间的差异。在一些示例中,如果范围/差异小于最小物体高度(例如,1米、0.5米、20厘米、任何其他值),则可以为与位元相关联的传感器数据分配相
同的权重(例如,1)。例如,与位元720相关联的传感器数据可以用相同的权重加权,因为与其相关联的传感器数据展示了高度的低变化。
88.然而,如果范围/差异达到或超过最小物体高度,则确定与位元相关联的传感器数据的权重可包括更重地向传感器数据的底部(在高度中)加权传感器数据。例如,与底部四分位数或其他百分位数(例如,第30个百分位数及以下、第20个百分位数及以下、第10个百分位数及以下)相关联的传感器数据点的权重可能比与由四分位数或其他百分位数定义的高度以上的高度相关联的传感器数据点的权重更大。无论如何,识别较低高度的传感器数据点的权重可能会更大,这是基于这样的数据点更可能与地面相关联而不是与物体相关联的假设。
89.操作716可以包括使与各个传感器数据点和曲线726之间的差异(误差)相关联的总残差最小化的拟合算法。拟合算法可以确定控制点向量和/或节点向量的值,其可以定义控制点和/或节点的位置。控制点和节点可以定义样条曲线或其他曲线。在一些示例中,拟合算法可以包括最小二乘回归以针对传感器数据拟合由控制点和节点定义的估计曲线。在一些示例中,拟合算法可以是加权算法,例如加权最小二乘法(例如,使用至少部分基于由传感器数据定义的高度与传感器数据相关联确定的权重),尽管可以使用任何其他合适的拟合算法,例如各种非线性最小二乘算法中的任何一种,例如高斯-牛顿算法等。
90.在一些示例中,损失函数可以至少部分地基于确定传感器数据和估计曲线之间的残差(误差)来确定损失。在一些示例中,损失函数可以确定与曲线726和传感器数据点730之间的残差728相关联的权重。在一些示例中,损失函数可以是偏斜损失函数,其对负残差的权重比正残差的权重更大。例如,残差728是正残差,因为传感器数据点730在曲线726上方,而与传感器数据点734相关联的残差732是负残差。损失函数可以确定与残差732相关联的第一权重大于与残差728相关联的第二权重。换言之,损失函数可以确定如下损失,所述损失对于与在估计曲线下方第一传感器数据点相关联的第一残差而言相比于与在估计曲线上方的第二传感器数据点相关联的第二残差而言更大。在功能上,这意味着拟合算法将更多地基于残差732而非残差728来修改估计曲线,这将有效地导致由至少部分基于加权残差的拟合算法确定的更新的估计曲线向传感器数据点734移动,仅考虑来自所示残差的影响而不考虑其他影响。
91.在操作736处,示例过程700可以包括根据本文讨论的任何技术至少部分地基于传感器数据的部分和/或规则集来改变曲线、控制点和/或节点。规则集可以至少部分地基于传感器数据的一部分来生成,并且可以至少部分地基于传感器数据的高度值来指定控制点的最大高度值(例如,控制点可能不具有超过传感器数据的最大高度值的高度)和/或节点间隔技术。例如,节点间隔技术可以包括确定节点之间的间距(例如,距离),在图7中用“x”表示,并且改变它们之间的间距,使得节点在距离上均匀地间隔开。一些拟合算法可以至少部分基于传感器数据的索引号(例如,这样节点在索引号上均匀分布),但这可能会导致一些节点在空间上过于遥远或彼此靠近。
92.例如,图7描绘了第一节点和第二节点之间的间距738以及第二节点和第三节点之间的间距740。间距738小于间距740,因为更多传感器数据位于第一节点和第二节点之间并且拟合技术至少部分地基于传感器数据索引来确定节点位置。改变节点间距可以包括至少部分基于曲线的长度(例如,曲线长度、曲线跨越的纵向距离)和节点的数量来改变节点的
位置。在一些示例中,改变节点位置可以包括改变节点位置使得节点沿着曲线或沿着由曲线跨越的纵向距离均匀地间隔开,或者在另外的或替代的示例中,改变节点位置可以包括“粗略”的改变,该粗略改变将节点移动到均匀的间距,但不会严格地将节点移动到完全均匀的间距。例如,后一种技术可以包括定义与和均匀节点放置相关联的位置相关联的范围并且移动节点位置直到它在该范围内。该范围可以至少部分地基于传感器数据密度、曲线的总长度、道路坡度、坡度拐点的数量(从正变为负或反之亦然)等。
93.图8示出了根据图7的示例过程针对传感器数据拟合的可以表示曲线726的示例曲线800。注意,传感器数据表示为点,控制点用圆表示,节点用“x”表示,以及曲线800表示为实线。注意,图8还描绘了与通道802相关联的返回、与通道804相关联的返回、位元806和位元808的示例。此外,请注意,至少对于所描绘的示例,曲线800是针对投影到二维坐标系中的三维传感器数据生成的,表示竖直轴线上的高度和沿水平轴线轨迹的纵向分量的点。可以在二维空间中确定曲线并将其投影回与原始传感器数据相关联的三维空间,以便确定传感器数据是否与地面分类(例如,高度低于或等于曲线的传感器数据)或物体分类(例如,具有高于曲线的高度的传感器数据)相关联。这种确定可以包括平移穿过廊道的曲线以迭代地确定与廊道的一部分相关联的传感器数据是地面还是物体。
94.示例条款
95.a.一种方法,包括:接收用于控制自主车辆操作的轨迹;从与自主车辆相关联的传感器接收传感器数据;对指示自主车辆前面的有界区域的廊道进行确定或接收中的至少之一,在所述有界区域中自主车辆被约束行驶;确定与廊道和地面分类相关联的传感器数据的第一子集;确定与廊道和物体分类相关联的传感器数据的第二子集;至少部分地基于第二子集确定与物体的至少一部分相关联的位置和速度;以及至少部分地基于位置或速度中的至少一个来确定:控制自主车辆以执行轨迹,或控制自主车辆以执行或有轨迹。
96.b.根据段落a所述的方法,其中:速度为第一速度;以及该方法还包括:确定与和自主车辆相关联的第二速度相关联的阈值距离,以及确定从自主车辆到物体的位置的第一距离或从自主车辆到第一子集的离自主车辆最远的点的第二距离中的至少一个。
97.c.根据段落b所述的方法,其中,控制自主车辆以执行轨迹至少部分地基于:确定第一距离达到或超过阈值距离,以及确定第二距离达到或超过阈值距离。
98.d.根据段落b或c所述的方法,其中,控制自主车辆以执行或有轨迹至少部分地基于:确定第一距离小于阈值距离,或确定第二距离小于阈值距离。
99.e.根据段落a至d中任一项所述的方法,其中,将传感器数据的第一子集分类为地面分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将位于线的阈值距离内的传感器数据的第一点确定为第一子集;或确定作为第一子集的第一点具有小于或等于方差阈值的间距方差。
100.f.根据段落a至e中任一项所述的方法,其中,将传感器数据的第二子集分类为物体分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将位于线上方的传感器数据的第二点确定为第二子集;或确定第二子集的两点之间的角度在角度范围之外或者两点之间的间距在距离范围之外。
101.g.一种系统,包括:一个或多个传感器;一个或多个处理器;以及存储器,其存储处理器可执行指令,当由一个或多个处理器执行时,所述处理器可执行指令使系统执行以下
操作,所述操作包括:从与车辆相关联的传感器接收传感器数据;接收或确定与车辆操作相关联的廊道中的至少一项;确定与廊道和地面分类相关联的传感器数据的第一子集;确定与廊道和物体分类相关联的传感器数据的第二子集;至少部分地基于车辆的第一速度确定阈值距离;以及至少部分地基于阈值距离和第一子集或第二子集中的至少一个来控制车辆。
102.h.根据段落g所述的系统,其中,控制车辆还至少部分地基于确定与物体的至少一部分相关联的位置和第二速度,所述确定至少部分地基于第二子集。
103.i.根据段落h所述的系统,其中,控制车辆还包括:确定从车辆到该位置的第一距离中的至少一个,或者至少部分地基于第一速度或第二速度中的至少一个,确定从车辆到物体的预测位置的第二距离;以及至少部分地基于确定第一距离或第二距离中的至少一个小于阈值距离,使车辆执行或有轨迹。
104.j.根据段落g至i中任一项所述的系统,其中,控制车辆还包括:确定从车辆到第一子集的最远点的距离;以及至少部分地基于确定距离小于阈值距离,使车辆遵循或有轨迹。
105.k.根据段落g至j中任一项所述的系统,其中,控制车辆还包括:确定从车辆到第一子集的最远点的第一距离或从车辆到第二子集的最近点的第二距离;以及至少部分地基于确定第一距离和第二距离达到或超过阈值距离而使车辆遵循一轨迹。
106.l.根据段落g至k中任一项所述的系统,其中,将传感器数据的第一子集分类为地面分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将在线的第二阈值距离内的传感器数据的第一点确定为第一子集;或将具有小于或等于方差阈值的间距方差或角位移方差的第一点确定为第一子集。
107.m.根据段落g至l中任一项所述的系统,其中,将传感器数据的第二子集分类为物体分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将线上方的传感器数据的第二点确定为第二子集;或确定第二子集的两点之间的角度在角度范围之外或者两点之间的间距在距离范围之外。
108.n.一种存储处理器可执行指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,所述处理器可执行指令使该一个或多个处理器执行以下操作,所述操作包括:从与车辆相关联的传感器接收传感器数据;对与车辆操作相关联的廊道进行确定或接收中的至少之一;确定与廊道和地面分类相关联的传感器数据的第一子集;确定与廊道和物体分类相关联的传感器数据的第二子集;至少部分地基于车辆的第一速度确定阈值距离;以及至少部分地基于阈值距离和第一子集或第二子集中的至少一个来控制车辆。
109.o.根据段落n所述的非暂时性计算机可读介质,其中,控制车辆还至少部分地基于确定与物体的至少一部分相关联的位置和第二速度,所述确定至少部分地基于第二子集。
110.p.根据段落o所述的非暂时性计算机可读介质,其中,控制车辆还包括:确定从车辆到该位置的第一距离中的至少一个,或者至少部分地基于第一速度或第二速度中的至少一个,确定从车辆到物体的预测位置的第二距离;以及至少部分地基于确定第一距离或第二距离中的至少一个小于或等于阈值距离,使车辆执行或有轨迹。
111.q.根据段落n至p中任一项所述的非暂时性计算机可读介质,其中,控制车辆还包括:确定从车辆到第一子集的最远点的距离;以及至少部分地基于确定距离小于阈值距离而使车辆遵循或有轨迹。
112.r.根据段落n至q中任一项所述的非暂时性计算机可读介质,其中,控制车辆还包括:确定从车辆到第一子集的最远点的第一距离或从车辆到第二子集的最近点的第二距离;以及至少部分地基于确定第一距离和第二距离达到或超过阈值距离而使车辆遵循一轨迹。
113.s.根据段落n至r中任一项所述的非暂时性计算机可读介质,其中,将传感器数据的第一子集分类为地面分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将在线的第二阈值距离内的传感器数据的第一点确定为第一子集;或将具有小于或等于方差阈值的间距方差或角位移方差的第一点确定为第一子集。
114.t.根据段落n至s中任一项所述的非暂时性计算机可读介质,其中,将传感器数据的第二子集分类为物体分类包括以下至少一项:针对传感器数据的至少一部分拟合线;将线上方的传感器数据的第二点确定为第二子集;或确定第二子集的两点之间的角度在角度范围之外或者两点之间的间距在距离范围之外。
115.u.一种方法,包括:从与自主车辆相关联的激光雷达传感器接收激光雷达数据;接收与自主车辆的轨迹相关联的廊道;至少部分地基于以下项目确定与地面分类相关联的激光雷达数据的第一子集:将与廊道和第一数量的通道相关联的激光雷达数据的一部分映射到二维表示;确定激光雷达传感器的通道的数量,所述通道包括与廊道相关联的一个或多个返回;至少部分地基于通道的数量来确定控制点的数量和节点的数量;至少部分地基于廊道内的激光雷达数据的一部分,确定具有控制点的数量和节点数量的曲线;以及至少部分地基于曲线确定第一子集;以及至少部分地基于第一子集来控制自主车辆。
116.v.根据段落u所述的方法,其中,确定曲线还包括将与控制点相关联的高度值限制为激光雷达数据的平均高度加上缓冲距离。
117.w.根据段落u或v所述的方法,其中,确定曲线还包括:至少部分地基于激光雷达数据的该部分,确定具有控制点数量和节点数量的估计曲线;至少部分地基于节点数量和估计曲线的长度来确定阈值距离;确定与估计曲线相关联的第一节点和第二节点之间的距离小于阈值距离;以及改变第一节点或第二节点中的至少一个的位置,使得它们之间沿估计曲线的距离达到或超过阈值距离。
118.x.根据段落u至w中任一项所述的方法,其中,确定曲线还包括:确定激光雷达点与估计曲线之间的残差;至少部分地基于残差确定损失,对于与估计曲线下方的第一激光雷达点相关联的第一残差而言,相比于与估计曲线上方的第二激光雷达点相关联的第二残差,所述损失更大;以及至少部分基于损失来改变估计曲线。
119.y.根据段落u至x中任一项所述的方法,其中,确定曲线进一步包括:至少部分地基于通道的数量来确定位元的数量;将激光雷达数据的一部分跨所述位元划分,一个位元与激光雷达数据部分的第二子集相关联,其中第二子集包括激光雷达数据点;以及确定与第二子集相关联的权重,其中确定权重包括至少部分地基于与激光雷达数据点相关联的高度来确定与激光雷达数据点相关联的权重。
120.z.根据段落u至y中任一项所述的方法,进一步包括至少部分地基于第一子集确定与物体分类相关联的激光雷达数据的第二子集;以及至少部分地基于第二子集确定与物体的至少一部分相关联的位置和速度,其中,控制自主车辆包括至少部分地基于位置或速度中的至少一个来确定:控制自主车辆执行轨迹,或控制自主车辆执行或有轨迹。
121.aa.一种系统,包括:一个或多个传感器;一个或多个处理器;以及存储器,其存储处理器可执行指令,当由一个或多个处理器执行时,所述处理器可执行指令使系统执行包括以下操作,所述操作包括:从与自主车辆相关联的传感器接收传感器数据;接收与自主车辆的轨迹相关联的廊道;至少部分地基于以下确定与地面分类相关联的传感器数据的第一子集:将与廊道和第一数量的通道相关联的传感器数据的一部分映射到低维表示;确定包括与廊道相关联的一个或多个返回的传感器通道的数量;至少部分地基于通道的数量来确定控制点的数量和节点的数量;至少部分地基于廊道内的传感器数据的一部分,确定具有控制点数量和节点数量的曲线;以及至少部分地基于曲线确定第一子集;以及至少部分地基于第一子集来控制自主车辆。
122.ab.根据段落aa所述的系统,其中,确定曲线还包括将与控制点相关联的高度值限制为传感器数据的平均高度加上缓冲距离。
123.ac.根据段落aa或ab所述的系统,其中,确定曲线进一步包括:至少部分地基于传感器数据的一部分,确定具有控制点数量和节点数量的估计曲线;至少部分地基于节点数量和估计曲线的长度来确定阈值距离;确定与估计曲线相关联的第一节点和第二节点之间的距离小于阈值距离;以及改变第一节点或第二节点中的至少一个的位置,使得它们之间的距离达到或超过阈值距离。
124.ad.根据段落aa至ac中任一项所述的系统,其中,确定曲线进一步包括:确定传感器数据点与估计曲线之间的残差;至少部分地基于残差确定损失,对于与估计曲线下方的第一传感器数据点相关联的第一残差而言,相比于估计曲线上方的第二传感器数据点相关联的第二残差,所述损失更大;以及至少部分基于损失来改变估计曲线。
125.ae.根据段落aa至ad中任一项所述的系统,其中,确定曲线进一步包括:至少部分地基于通道的数量来确定位元的数量;将传感器数据的部分跨所述位元划分,位元与传感器数据部分的第二子集相关联,其中第二子集包括传感器数据点;以及确定与第二子集相关联的权重,其中确定权重包括至少部分地基于与传感器数据点相关联的高度来确定与传感器数据点相关联的权重。
126.af.根据段落aa至ae中任一项所述的系统,其中,确定曲线至少部分基于:确定传感器数据点和估计曲线之间的残差;至少部分基于一个或多个残差和权重确定损失;以及至少部分地基于定位控制点和节点以减少损失而确定所述曲线。
127.ag.根据段落aa至af中任一项所述的系统,其中,确定权重进一步包括:确定与第二子集相关联的最大高度和最小高度;或者:至少部分地基于确定最大高度和最小高度之间的差异小于阈值障碍物高度来确定权重是相同的权重;或至少部分地基于确定所述差异达到或超过阈值障碍物高度来确定第二子集的具有低于阈值高度的高度的传感器数据点的权重更大。
128.ah.一种存储处理器可执行指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,所述处理器可执行指令使该一个或多个处理器执行以下操作,所述操作包括:从与自主车辆相关联的传感器接收传感器数据;接收与自主车辆的轨迹相关联的廊道;至少部分地基于以下项目来确定与地面分类相关联的传感器数据的第一子集:确定包括与廊道相关联的一个或多个返回的传感器通道的数量;至少部分地基于通道的数量来确定控制点的数量和节点的数量;至少部分地基于廊道内的传感器数据的一部分,确定具有控制点
数量和节点数量的曲线;以及至少部分地基于曲线确定第一子集;以及至少部分地基于第一子集来控制自主车辆。
129.ai.根据段落ah所述的非暂时性计算机可读介质,其中,确定曲线还包括将与控制点相关联的高度值限制为传感器数据的平均高度加上缓冲距离。
130.aj.根据段落ah或ai所述的非暂时性计算机可读介质,其中,确定曲线进一步包括:至少部分地基于传感器数据的所述部分,确定具有控制点数量和节点数量的估计曲线;至少部分地基于节点数量和估计曲线的长度来确定阈值距离;确定与估计曲线相关联的第一节点和第二节点之间的距离小于阈值距离;以及改变第一节点或第二节点中的至少一个的位置,使得它们之间的距离达到或超过阈值距离。
131.ak.根据段落ah至aj中任一项所述的非暂时性计算机可读介质,其中,确定曲线进一步包括:确定传感器数据点与估计曲线之间的残差;至少部分地基于残差确定损失,对于与估计曲线下方的第一传感器数据点相关联的第一残差而言,相比于与估计曲线上方的第二传感器数据点相关联的第二残差,所述损失更大;以及至少部分基于损失来改变估计曲线。
132.al.根据段落ah至ak中任一项所述的非暂时性计算机可读介质,其中,确定曲线进一步包括:至少部分地基于所述数量来确定位元的数量;将传感器数据的部分跨所述位元划分,位元与传感器数据部分的第二子集相关联,其中第二子集包括传感器数据点;以及确定与第二子集相关联的权重,其中确定权重包括至少部分地基于与传感器数据点相关联的高度来确定与传感器数据点相关联的权重。
133.am.根据段落al所述的非暂时性计算机可读介质,其中,至少部分地基于以下项目确定曲线:确定传感器数据点和估计曲线之间的残差;至少部分基于一个或多个残差和权重确定损失;以及至少部分地基于定位控制点和节点以减少损失而确定所述曲线。
134.an.根据段落am所述的非暂时性计算机可读介质,其中,确定权重进一步包括:确定与第二子集相关联的最大高度和最小高度;或者:至少部分地基于确定最大高度和最小高度之间的差异小于阈值障碍物高度来确定权重是相同的权重;或者,至少部分地基于确定所述差异达到或超过阈值障碍物高度,确定第二子集的具有低于阈值高度的高度的传感器数据点的权重更大。
135.虽然上述示例条款是针对一种特定实现方式进行描述的,但应理解,在本文的上下文中,示例条款的内容还可以通过方法、设备、系统、计算机可读介质来和/或其他实施方式实施。此外,任何示例a-an可以单独实施或与任何其他一个或多个示例a-an组合实施。
136.结论
137.尽管已经以特定于结构特征和/或方法行为的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于所描述的特定特征或行为。相反,具体的特征和行为被公开为实施权利要求的示例形式。
138.本文描述的组件表示可以存储在任何类型的计算机可读介质中并且可以在软件和/或硬件中实施的指令。上述所有方法和过程可以体现在由一台或多台计算机或处理器、硬件或其某种组合执行的软件代码组件和/或计算机可执行指令中,并且完全自动化。一些或所有方法可以替代地体现在专门的计算机硬件中。
139.在此讨论的至少一些过程被图示为逻辑流程图,其每个操作表示可以在硬件、软
件或其组合中实施的操作序列。在软件的上下文中,操作表示存储在一个或多个非暂时性计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令当由一个或多个处理器执行时,使计算机或自主车辆执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的描述的操作可以以任何顺序和/或并行组合以实施所述过程。
140.除非另有明确说明,诸如“可以”、“能”、“可”或“会”等条件性语言在上下文中被理解为表示某些示例包括,而其他示例不包括某些特征、元素和/或步骤。因此,这种有条件的语言通常不旨在暗示某些特征、元素和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必须包括用于在有或没有用户输入或提示的情况下做出决定的逻辑,在任何特定示例中是否包括或将要执行特征、元素和/或步骤。
141.除非另有明确说明,否则诸如短语“x、y或z中的至少一个”之类的连词语言应理解为表示项目、术语等可以是x、y或z,或其任何组合,其中,包括多个每种元素。除非明确描述为单数,否则“一个”表示单数和复数。
142.在此描述和/或在附图中描绘的流程图中的任何例程描述、元素或框应被理解为潜在地表示模块、段或代码部分,其包括用于实施特定逻辑功能的一个或多个计算机可执行指令或例程中的元素。替代实施方式包括在本文描述的示例的范围内,其中元素或功能可以被删除,或与所示出或讨论的内容无序执行,包括基本上同步地、以相反的顺序、具有附加操作或省略操作,这取决于本领域技术人员将理解所涉及的功能。
143.可以对上述示例进行许多变化和修改,其中的元素将被理解为在其他可接受的示例中。所有这样的修改和变化都旨在包括在本公开的范围内并受以下权利要求保护。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献