CN114555446A - 复杂地面轮廓估计 - Google Patents

复杂地面轮廓估计 Download PDF

Info

Publication number
CN114555446A
CN114555446A CN202080068435.3A CN202080068435A CN114555446A CN 114555446 A CN114555446 A CN 114555446A CN 202080068435 A CN202080068435 A CN 202080068435A CN 114555446 A CN114555446 A CN 114555446A
Authority
CN
China
Prior art keywords
determining
sensor data
curve
subset
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080068435.3A
Other languages
English (en)
Inventor
M·C·博赛
J·D·博伊兹顿
J·K·科恩
王闯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zoox Inc
Original Assignee
Zoox Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zoox Inc filed Critical Zoox Inc
Publication of CN114555446A publication Critical patent/CN114555446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/076Slope angle of the road
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • B60W2420/408
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

将传感器数据分类为与地面相关联(与物体相反)可以包括:确定其中具有返回的传感器数据的多个通道,至少部分地基于具有返回的多个通道来设置曲线的多个控制点和多个结点,并且将具有多个控制点和多个结点的曲线拟合到传感器数据。该曲线可以用于区分:与地面相关联的传感器数据;以及与物体相关联的传感器数据。确定曲线可以附加地或可替代地包括:基于传感器数据的高程值限制控制点和/或结点的高程值,至少部分地基于与传感器数据相关联的高程值来加权传感器数据,和/或调整结点间隔等。

Description

复杂地面轮廓估计
相关申请
本申请要求于2019年9月30日提交的美国专利申请第16/588,717号的优先权,该申请通过引用方式并入本文。
背景技术
车辆中的乘客和邻近车辆的其他人员或物体的安全是最重要的。这种安全性通常基于对潜在碰撞的准确检测和安全措施的及时部署。为了安全操作,自动驾驶车辆可以包括多个传感器和用于检测和追踪自动驾驶车辆周围的事件的各种系统,并且当控制自动驾驶车辆时可以考虑这些事件。例如,自动驾驶车辆可以在一组相机、激光雷达(LIDAR)传感器、雷达和/或类似装置的360度视野内检测和追踪每个物体,以安全地控制自动驾驶车辆。在平坦环境中检测显著物体可能更简单,因为地面可以被建模为平面,但是在坡度变化的环境中从地面上区分物体可能更困难。
附图说明
参照附图对具体实施方式进行描述。在附图中,附图标记的最左边数字标识附图标记首次出现的附图。不同附图中相同的附图标记表示相似或相同的项目。
图1示出了示例场景,其中配置有防撞组件的自动驾驶车辆可以生成用于控制自动驾驶车辆的轨迹,并通过防撞组件确定是实施该轨迹还是实施替代策略(alternatemaneuver),例如安全停止。
图2示出了与附加或替代的防撞系统监控区域相比,由防撞组件监控的通路和示例场景的俯视图。
图3示出了包括防撞组件的示例系统的框图。
图4示出了用于使用防撞组件来使轨迹生效和/或实施替代策略的示例过程的图示流程图。
图5示出了与图3的示例场景相关联的示例传感器数据;通路;和传感器数据分类为地面分类或物体分类。
图6A示出了其中可能难以将传感器数据分类为地面或物体的示例场景,以及图6B示出了与图6A的示例场景相关联的示例传感器数据,以及通路和将传感器数据分类为地面分类或物体分类。
图7示出了用于至少部分地基于确定用于拟合传感器数据的曲线来将传感器数据分类为地面或物体的示例过程的图示流程图。
图8示出了根据图7的示例过程的对传感器数据的示例曲线拟合。
具体实施方式
用于防撞的技术可以包括这样的防撞系统:针对被产生以控制车辆的轨迹,该防撞系统使其生效(validate)、将其拒绝或将其替换。本文讨论的防撞系统可以包括次级感知组件和/或生效组件(validation component)。例如,防撞系统可以从规划组件接收轨迹,并且从一个或多个传感器接收与自动驾驶车辆周围的环境相关联的传感器数据。在一些实施例中,虽然主要感知组件可以至少部分地基于所有或接近所有传感器数据来确定感知数据,但防撞系统的次级感知组件可以确定与轨迹相关联的通路,并且至少部分地基于与通路相关联的传感器数据的子集来执行本文讨论的操作。防撞系统可至少部分地基于车辆的宽度和/或长度、车辆的当前速度和/或与该轨迹相关联的速度、和/或偏移距离来确定该通路。在至少一些示例中,这样的次级感知系统可以相对于主系统进一步使用相似和/或不同的硬件和/或软件。
在一些示例中,次级感知组件可以将传感器数据子集(与通路相关联)分类为属于地面分类或物体分类。地面分类可以将传感器数据识别为与道路和/或其它环境表面相关联,而物体分类可以包括任何其它不是地面的物体。在一些示例中,本文讨论的技术可以简单地将传感器数据分类为地面或物体,而不需要进一步识别什么类型的物体。
在一些示例中,该技术可以包括地面估计技术,该地面估计技术可以改善(例如,降低)与将传感器数据分类为地面或物体相关联的假阴性和/或假阳性误报率(falsenegative and/or false positive rate)。在一些示例中,该技术可以包括估计线和/或平面以建模道路表面的轮廓(profile)(例如,道路高度轮廓),特别是对于可能包括坡度(例如,道路表面的坡度)的一个或多个变化的复杂道路。这些地面拟合技术可以包括至少部分地基于确定多个控制点来确定与地面相关联的样条(例如,一个或多个多项式、贝塞尔曲线)和至少部分地基于包括有效返回的一定数量或百分比的传感器数据来控制多个结点(knot)。在一些示例中,当传感器数据对于环境的一部分是稀疏的时,则所确定的样条可能是不准确的。该技术可以附加地或可替代地包括:在生成样条之前对传感器数据加权(例如,通过向最低和/或最高(高程)传感器数据点加权最小二乘回归),至少部分地基于传感器数据来改变与一个或多个控制点相关联的高度值(例如纵坐标)作为后拟合操作;和/或改变结点的间隔作为后拟合操作。在一些示例中,确定样条可以包括至少部分地基于回归算法(例如,最小二乘)来确定控制点和/或结点的值。
次级感知组件可以包括M-估计器,但是可能缺少用于分类物体的物体分类器,例如神经网络、决策树等。在附加的或替代的示例中,次级感知系统可以包括任何类型的ML模型,其被配置为消除物体分类的歧义。相比之下,主要感知组件可以包括硬件和/或软件组件的流水线,其可以包括一个或多个机器学习模型、贝叶斯滤波器(例如,卡尔曼滤波器)、图形处理单元(GPU)和/或类似物。在一些实施例中,感知数据可以包括物体检测(例如,与自动驾驶车辆周围环境中的物体相关联的传感器数据的标识)、物体分类(例如,与检测到的物体相关联的物体类型的标识)、物体轨迹(例如,历史的、当前的和/或预测的物体位置、速度、加速度和/或航向)等。
该技术可以附加地或可替代地包括至少部分地基于与该轨迹相关联的速度来确定阈值距离。例如,阈值距离可以是在给定环境条件(例如,梯度、与道路和/或道路条件相关联的静态系数)的情况下,在车辆的当前速度和/或在由轨迹指定的速度下与车辆相关联的停止距离估计。防撞系统的生效组件可以确定被分类为物体的任何传感器数据是否与车辆的距离小于阈值距离,或者被分类为地面的最远点是否小于阈值距离。在任一情况下,该生效组件可以至少部分地基于确定物体或最远的检测到的地面在该车辆的阈值距离内而使该车辆执行替代策略和/或重新确定轨迹。如果生效组件确定最近的物体位于超过阈值距离的距离处,并且分类为地面的最远传感器数据位于超过阈值距离的距离处,则生效组件可以使轨迹生效,这可以包括将轨迹发送到系统控制器,该系统控制器可以产生用于致动(actuate)车辆的驱动组件(drive component)以追踪轨迹的信号。
另外或可替代地,生效组件可以至少部分地基于车辆的当前速度、与轨迹相关联的速度、与物体相关联的速度、车辆的当前姿态、和/或确定与物体和/或地面分类相关联的传感器数据是否有效,来确定是使轨迹生效还是启动替代策略。例如,该技术可以包括确定车辆的当前速度、转向角、转向速率和/或航向是否与由轨迹指示的速度、转向角、转向速率和/或航向相一致(在相应的阈值内)。
例如,在根据此处讨论的技术使轨迹生效了时,防撞系统可以通过或者以其它方式允许轨迹由车辆实现。然而,在确定了轨迹无效时,根据此处所讨论的技术,防撞系统可以使车辆启动视情况而定的轨迹(contingent trajectory)(例如,安全停止策略、替代策略)和/或重新确定新的轨迹。在一些示例中,车辆的规划组件可以至少部分地基于传感器数据、地图数据、定位数据(例如,自动驾驶车辆在哪里/自动驾驶车辆相对于环境中的物体的朝向如何、映射的位置等)和/或从主要感知组件接收的感知数据(例如,环境中有什么、环境中的物体的特性)来确定轨迹。
本文讨论的技术可以通过防止车辆实施无效的或危险的轨迹来提高车辆的安全性。此外,与先前的技术相比,该技术可以减少为避免碰撞而消耗的计算带宽、存储器和/或功率的量。防撞系统的精确度也可以高于主要感知系统的精确度,从而通过滤除无效轨迹来降低由自动驾驶车辆实现的轨迹的总体差错率。
示例场景
图1示出了包括车辆102的示例场景100。在一些情况下,车辆102可以是配置成根据由美国国家公路交通安全管理局发布的5级分类操作的自动驾驶车辆,其描述了这样一种车辆:该车辆能够在整个行程中执行所有安全关键功能,而驾驶员(或乘员)不被期望在任何时间控制该车辆。然而,在其它示例中,车辆102可以是具有任何其它级别或分类的完全或部分自动驾驶车辆。可以设想,本文讨论的技术可以不仅限应用于机器人控制,例如对于自动驾驶车辆。例如,本文讨论的技术可以应用于采矿、制造、增强现实等。而且,即使车辆(vehicle)102被描绘为陆地车辆,车辆102也可以是航天器、船舶等。在一些示例中,车辆102可以在模拟中表示为模拟车辆。为了简单起见,本文的讨论不区分模拟车辆和真实世界车辆。对“车辆”的引用因此可以引用模拟和/或真实世界的车辆。
根据本文讨论的技术,车辆102可以从车辆102的传感器104接收传感器数据。例如,传感器104可以包括位置传感器(例如、全球定位系统(GPS)传感器)、惯性传感器(例如,加速度计传感器、陀螺仪传感器等)、磁场传感器(例如,指南针)、位置/速度/加速度传感器(例如,速度计、驱动系统传感器)、深度位置传感器(例如,激光雷达传感器、雷达传感器、声纳传感器、飞行时间(ToF)相机、深度相机、超声波和/或声纳传感器、和/或其它深度感测传感器)、图像传感器(例如,相机)、音频传感器(例如,麦克风)、和/或环境传感器(例如,气压计、湿度计等)。
传感器104可以生成传感器数据,该传感器数据可以由与车辆102相关联的计算设备106接收。然而,在其它实施例中,传感器104和/或计算设备106中的一些或全部可以与车辆102分离和/或远离车辆102设置,并且数据捕获、处理、命令和/或控制可以由一个或多个远程计算设备经由有线和/或无线网络传送到车辆102或从车辆102传送。
计算设备106可以包括存储感知组件110、规划组件112、防撞组件114和/或系统控制器116的存储器108。尽管为了说明的目的在图1中示出,但是应当理解,防撞组件114可以位于与任何一个或多个其它组件分离的计算设备中/上(或者以其它方式与任何一个或多个其它组件分离)。在一些示例中,感知组件110可以是其它感知组件中的主要感知组件,例如可以是防撞组件114的一部分的次级感知组件。通常,感知组件110可以确定车辆102周围的环境中是什么,并且规划组件112可以根据从感知组件110接收的信息来确定如何操作车辆102。例如,规划组件112可以至少部分地基于感知数据和/或其它信息来确定轨迹118,其它信息例如一个或多个地图、定位信息(例如,车辆102相对于由感知组件110检测到的地图和/或特征处于环境中的位置)等。轨迹118可以包括用于控制器116致动车辆102的驱动组件以实现转向角和/或转向速率的指令,其可以得到车辆位置、车辆速度和/或车辆加速度。例如,轨迹118可以包括用于控制器116追踪的目标航向、目标转向角、目标转向速率、目标位置、目标速度和/或目标加速度。感知组件110和/或规划组件112可以包括一个或多个机器学习(ML)模型和/或其它计算机可执行指令。
在一些实施例中,感知组件110可以从传感器104接收传感器数据,并确定与车辆102附近的物体相关的数据(例如,与检测到的物体相关联的分类、实例分割、语义分割、两维和/或三维边界框、轨道)、指定车辆目的地的路线数据、标识道路特性的全球地图数据(例如,可在用于定位自动驾驶车辆的不同传感器模态中检测到的特征)、识别在车辆附近检测到的特性的局部地图数据(例如,建筑物的位置和/或尺寸、树木、栅栏、消火栓、停车标志、以及在各种传感器模态中可检测到的任何其它特征)等。由感知组件110确定的物体分类可以区分不同的物体类型,例如客车、行人、骑车人、运货卡车、半卡车(semi-truck)、交通标志和/或类似物。轨迹可以包括历史、当前和/或预测的物体位置、速度、加速度和/或航向。由感知组件110产生的数据可以被统称为感知数据。一旦感知组件110已经生成感知数据,感知组件110就可以将感知数据提供给规划组件112。
规划组件112可以使用从感知组件110接收的感知数据,以确定一个或多个轨迹、控制车辆102的运动以穿越路径或路线、和/或以其它方式控制车辆102的操作,尽管任何这样的操作可以在各种其它组件中执行(例如,定位可以由定位组件执行,该定位组件可以至少部分地基于感知数据)。例如,规划组件112可以确定车辆102从第一位置到第二位置的路线;基本上同时且至少部分地基于感知数据和/或模拟感知数据(其可进一步包括关于在这样的数据中检测到的物体的预测),生成用于根据后退视界技术(receding horizontechnique)(例如,1微秒、半秒)控制车辆102的运动的多个潜在轨迹,以控制车辆穿越路线(例如,为了避免任何检测到的物体);以及选择该潜在轨迹之一作为车辆102的轨迹118,该轨迹118可以用于生成可以被发送到车辆102的驱动组件的驱动控制信号。图1示出了这种轨迹118的一个示例,其被表示为指示航向、速度和/或加速度的箭头,尽管轨迹本身可以包括用于控制器116的指令,该控制器116又可以致动车辆102的驱动系统。
在一些示例中,感知组件110可以包括硬件和/或软件的流水线,其可以包括一个或多个GPU、ML模型、卡尔曼滤波器等。在一些实施例中,感知组件110可以尽可能多地监视自动驾驶车辆周围的环境,这可能受到传感器能力、物体和/或环境遮挡(例如,建筑物、坡度变化、其它物体前面的物体)、和/或诸如雾、雪和/或类似物的环境影响的限制。例如,传感器数据可以包括激光雷达和/或雷达数据,感知组件110可以接收这些数据作为输入。感知组件110可以被配置为检测尽可能多的物体和关于环境的信息,以避免在确定轨迹118时规划组件112未考虑应该考虑的事件或物体行为。
相比之下,防撞组件114可以监视与轨迹118相关联的通路120。例如,防撞组件114可以从规划组件112接收轨迹118,并且至少部分地基于该轨迹来确定通路120。确定通路可以包括至少部分地基于车辆102的当前速度、由轨迹118指定的速度、和/或至少部分地基于转向齿条致动器增益、车辆运动学(例如,轮胎打滑、车身侧倾等)和/或类似的偏移来确定环境的区域。在至少一些示例中,这样的通路可以附加地或可替代地代表相对于车辆的简化的几何区域。防撞组件114可以确定与通路120相关联的传感器数据的子集,并且至少部分地基于该子集来执行本文讨论的操作。例如,在示例场景中,防撞组件114可以确定包括传感器数据的子集,该传感器数据包括由通路120指示的环境的部分,该通路120可以包括在传感器数据表示124中描绘的道路122的一部分和/或物体126的一部分。虽然由感知组件110确定的感知数据可以包括与物体128相关联的感知数据,并且轨迹118可以至少部分地基于该感知数据来生成,但防撞组件114可以简单地监视与通路120相关联的传感器数据,以确保轨迹118将不会或不可能导致碰撞。
防撞组件114可以包括次级感知组件,该次级感知组件可以将传感器数据子集分类为两个分类之一:地面或物体。在一些示例中,可以有更多的分类(例如,不同的物体分类)。防撞组件114可以附加地或可替代地包括生效组件,该生效组件可以确定本文讨论的阈值距离和/或确定是否使轨迹118生效或拒绝轨迹118。使轨迹118生效可以包括将轨迹118发送到控制器116(例如,生效组件可以包括多路复用器;被配置作为开关的一个或多个晶体管,该开关在接收到来自生效组件的信号时通过轨迹118;和/或类似物,其可以提供信号,该信号允许轨迹118信号通过控制器116)。拒绝轨迹118可以包括将消息发送到规划组件112以发起重新确定轨迹和/或发起替代策略,例如安全停止策略(例如紧急制动、靠边和停车)和/或可能从规划组件112接收和/或存储在存储器108中的视情况而定的轨迹(附加于轨迹118)。在一些实施例中,防撞组件114可以至少部分地基于传感器的朝向和/或环境的拓扑和/或传感器数据的有效部分的下界和上界,来确定传感器数据子集的至少一部分是有效的或无效的。如在此更详细讨论的。
在一些示例中,控制器116可以包括用于致动足以追踪轨迹118的车辆102的驱动组件的软件和/或硬件。例如,控制器116可以包括一个或多个比例积分微分(proportional-integral-derivative,PID)控制器。
图2示出了与附加的或替代的防撞系统监视区域200相比,示例场景100的传感器数据表示124和由防撞组件监视的通路120的俯视图。表示为圆形的区域200内的传感器数据可以由附加的或可替代的防撞系统来监视。在附加的或可替代的示例中,区域200可以识别由感知组件110监视的距车辆102的距离。在这样的示例中,区域200可以对应于一个或多个传感器104的最大有效范围。
注意,在所示的示例中,轨迹118是直线的;因此,通路120相应地是直的。注意,通路120的形状可以至少部分地基于轨迹118的形状,并且根据轨迹118和/或环境的拓扑结构,通路120的形状可以是弯曲的、不均匀和/或非直线的。在一些示例中,通路120可以是两维或三维或更多维的。
示例系统
图3示出了实现本文讨论的技术的示例系统300的框图。在一些情况下,示例系统300可以包括车辆302,其可以表示图1中的车辆102。在一些情况下,车辆302可以是被配置为根据由美国国家公路交通安全管理局发布的5级分类操作的自动驾驶车辆,其描述了能够在整个行程中执行所有安全关键功能的车辆,而驾驶员(或乘员)不被期望在任何时候控制车辆。然而,在其它示例中,车辆302可以是具有任何其它级别或分类的完全或部分自动驾驶的车辆。而且,在一些情况下,本文所述的技术也可以是可由非自动驾驶车辆使用的。
车辆302可以包括车辆计算设备304、传感器306、发射器308、网络接口310和/或驱动组件312。车辆计算设备304可以表示计算设备106,并且传感器306可以表示传感器104。系统300可以附加地或可替代地包括计算设备314。
在一些情况下,传感器306可以表示传感器104,并且可以包括激光雷达传感器、雷达传感器、超声波换能器、声纳传感器、位置传感器(例如,全球定位系统(GPS)、指南针等)、惯性传感器(例如,惯性测量单元(IMU)、加速度计、磁力计、陀螺仪等)、图像传感器(例如,红-绿-蓝(RGB)、红外(IR)、强度、深度、飞行时间相机等)、麦克风、车轮编码器、环境传感器(例如,温度计、湿度计、光传感器、压力传感器等)等。传感器306可以包括这些或其它类型传感器中的每一种的多个示例。例如,雷达传感器可以包括位于车辆302的拐角、前部、后部、侧部和/或顶部处的各个雷达传感器。作为另一个示例,相机可以包括设置在车辆302的外部和/或内部周围的各个位置处的多个相机。传感器306可以向车辆计算设备304和/或计算设备314提供输入。
如上所述,车辆302还可以包括用于发射光和/或声音的发射器308。在这个示例中,发射器308可以包括内部音频和视觉发射器,以与车辆302的乘客通信。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。在这个示例中,发射器308还可以包括外部发射器。作为示例而非限制,在这个示例中,外部发射器包括:用于指示行驶方向的灯或车辆动作的其它指示器(例如,指示灯、标志、灯阵列等),和一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),以与行人或其它附近的车辆可听地通信,其中一个或多个包括声束转向技术。
车辆302还可以包括网络接口310,其使得能够在车辆302和一个或多个其它本地或远程计算设备之间进行通信。例如,网络接口310可以促进与车辆302和/或驱动组件312上的其它本地计算设备的通信。而且,网络接口310可以附加地或可替代地允许车辆与其它附近的计算设备(例如,其它附近的车辆、交通信号等)通信。网络接口310可以附加地或可替代地使车辆302能够与计算设备314通信。在一些示例中,计算设备314可以包括分布式计算系统(例如,云计算架构)的一个或多个节点。
网络接口310可以包括物理和/或逻辑接口,以用于将车辆计算设备304连接到另一计算设备或网络,例如网络316。例如,网络接口310可以实现基于Wi-Fi的通信,例如通过由IEEE300.11标准定义的频率、诸如
Figure BDA0003570024830000051
的短距离无线频率、蜂窝通信(例如,2G、3G、4G、4G LTE、5G等)或使相应计算设备能够与其它计算设备接合的任何适当的有线或无线通信协议。在一些情况下,车辆计算设备304和/或传感器306可以在经过预定的时间段之后、几乎实时地等,通过网络316以特定的频率向计算设备314发送传感器数据。
在一些情况下,车辆302可以包括一个或多个驱动组件312。在一些情况下,车辆302可以具有单个驱动组件312。在一些情况下,驱动组件312可以包括一个或多个传感器,以检测驱动组件312和/或车辆302的周围环境的状况。作为示例而非限制,驱动组件312的传感器可以包括用于感测驱动组件的车轮的旋转的一个或多个车轮编码器(例如,旋转编码器)、用于测量驱动组件的朝向和加速度的惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)、相机或其他图像传感器、用于声学检测驱动组件周围的物体的超声波传感器、激光雷达传感器、雷达传感器等。诸如车轮编码器的一些传感器对于驱动组件312可能是唯一的。在一些情况下,驱动组件312上的传感器可以重叠或补充车辆302的对应系统(例如,传感器306)。
驱动系统312可以包括许多车辆系统,包括高压电池、用于驱动车辆的电动机、用于将来自电池的直流电转换成交流电以供其它车辆系统使用的逆变器、包括转向马达和转向齿条(其可以是电动的)的转向系统、包括液压或电动致动器的制动系统、包括液压和/或气动组件的悬架系统、用于分配制动力以减轻牵引力损耗和维持控制的稳定性控制系统、HVAC系统、照明(例如,诸如用于照射车辆外部周围的头灯/尾灯的照明)、以及一个或多个其它系统(例如,冷却系统、安全系统、车载充电系统、其它电气组件,其它电气组件例如DC/DC转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动组件312可以包括驱动组件控制器,该驱动组件控制器可以从传感器接收和预处理数据,并控制各种车辆系统的操作。在一些示例中,驱动组件控制器可以包括一个或多个处理器和与一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个组件以执行驱动组件312的各种功能。此外,驱动组件312还可以包括一个或多个通信连接件,所述一个或多个通信连接件使得相应驱动组件能够与一个或多个其它本地或远程计算设备进行通信。
车辆计算设备304可以包括处理器318以及与一个或多个处理器318通信耦合的存储器320。存储器320可以表示存储器108。计算设备314还可以包括处理器322和/或存储器324。处理器318和/或322可以是能够执行指令以处理数据并执行本文所述的操作的任何适当的处理器。作为示例而非限制,处理器318和/或322可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、集成电路(例如,专用集成电路(ASIC))、门阵列(例如,现场可编程门阵列(FPGA))、和/或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其它电子数据的任何其它设备或设备的一部分。
存储器320和/或324可以是非暂时性计算机可读介质的示例。存储器320和/或324可以存储操作系统和一个或多个软件应用、指令、程序和/或数据,以实现本文所述的方法和归属于各个系统的功能。在各种实现方式中,存储器可以使用任何适当的存储器技术来实现,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器、或能够存储信息的任何其它类型的存储器。本文描述的架构、系统和各个元素可以包括许多其它逻辑、程序和物理组件,其中在附图中示出的仅仅是与本文的讨论相关的示例。
在一些情况下,存储器320和/或存储器324可以存储定位组件326、感知组件328、规划组件330、防撞组件332、地图334和/或系统控制器336。感知组件328可以表示感知组件110,规划组件330可以表示规划组件112,和/或防撞组件332可以表示防撞组件114。
在至少一个示例中,定位组件326可以包括硬件和/或软件,以从传感器306接收数据,从而确定车辆302的位置、速度和/或朝向(例如,x位置、y位置、z位置、侧滚、俯仰或偏航中的一个或多个)。例如,定位组件326可以包括和/或请求/接收环境的地图334,并且可以连续地确定自动驾驶车辆在地图334内的位置、速度和/或朝向。在一些情况下,定位组件326可以利用SLAM(同时定位和映射)、CLAMS(同时校准、定位和映射)、相对SLAM、束调整(bundle adjustment)、非线性最小二乘优化等,以接收图像数据、激光雷达数据、雷达数据、IMU数据、GPS数据、车轮编码器数据等,从而精确地确定自动驾驶车辆的位置、姿态和/或速度。在一些情况下,定位组件326可以向车辆302的各个组件提供数据,以确定自动驾驶车辆的初始位置,以用于生成轨迹和/或用于生成地图数据,如本文所讨论的。在一些示例中,定位组件326可以向防撞组件332提供车辆302相对于环境的位置和/或朝向,和/或与其相关联的传感器数据。
在一些情况下,感知组件328可以包括以硬件和/或软件实现的主要感知系统和/或预测系统。感知组件328可以:检测车辆302周围环境中的物体(例如,识别出物体存在),对物体进行分类(例如,确定与检测到的物体相关联的物体类型),对传感器数据和/或环境的其它表示进行分割(例如,将一部分传感器数据和/或环境表示识别为与检测到的物体和/或物体类型相关联),确定与物体相关联的特性(例如,标识与物体相关联的当前、预测和/或先前位置、航向、速度和/或加速度的轨迹)等。由感知组件328确定的数据被称为感知数据。
规划组件330可以从定位组件326接收车辆302的位置和/或朝向,和/或从感知组件328接收感知数据,并且可以至少部分地基于这些数据中的任何数据来确定用于控制车辆302的操作的指令。在一些示例中,确定指令可以包括至少部分地基于与系统(其与指令相关联)相关联的格式来确定指令(例如,可以将用于控制自动驾驶车辆的运动的第一指令的格式设置为消息和/或信号的第一格式(例如,模拟的、数字的、气动的、运动的),系统控制器336和/或驱动组件312可以解析消息和/或信号的第一格式/使得消息和/或信号的第一格式被执行;发射器308的第二指令可以根据与其相关联的第二格式来设置格式)。
防撞组件332可以在车辆302和/或计算设备314上操作。在一些示例中,防撞组件332可以在流水线中位于规划组件330的下游(接收输出)。防撞组件332可以被配置为根据在此讨论的确定将规划组件330的全部输出或部分输出传递给系统控制器336以实现,或不将规划组件330的任何输出传递给系统控制器336。在一些示例中,防撞组件332可以包括用于向规划组件330提供输入的反馈环路,例如触发轨迹重新确定的标志或消息。
存储器320和/或324可以附加地或可替代地存储映射系统(mapping system)(例如,至少部分地基于传感器数据来生成地图)、规划系统、乘车管理系统等。虽然定位组件326、感知组件328、规划组件330、地图334、和/或系统控制器336被示出为存储在存储器320中,这些组件中的任何一个可以包括处理器可执行指令、机器学习的模型(例如,神经网络)和/或硬件,并且这些组件中的任何一个的全部或部分可以存储在存储器324上或者被配置为计算设备314的一部分。
如本文所述,定位组件326、感知组件328、规划组件330和/或系统300的其它组件可以包括一个或多个ML模型。例如,定位组件326、感知组件328和/或规划组件330中的每一个可以包括不同的ML模型流水线。在一些示例中,ML模型可以包括神经网络。示例神经网络是生物激励算法,其使输入数据通过一系列连接的层以产生输出。神经网络中的每个层也可以包括另一个神经网络,或者可以包括任意数量的层(无论是否是卷积层)。正如在本公开的上下文中可以理解的,神经网络可以使用机器学习,该机器学习可以指的是其中基于所学习的参数生成输出的这样的算法的大类。
虽然在神经网络的上下文中讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于:回归算法(例如,普通最小二乘回归(OLSR)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(MARS)、局部估计散点图平滑(locally estimated scatterplot smoothing,LOESS))、基于实例的算法(例如,脊回归、最小绝对值收敛和选择算子(LASSO)、弹性网、最小角度回归(LARS))、决策树算法(例如,分类和回归树(CART)、迭代二分器3(ID3)、卡方自动交互探测(CHAID)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单依赖估计量(AODE)、贝叶斯置信网络(BNN)、贝叶斯网络)、聚类算法(例如,k-均值、k-中位数、期望最大化(EM)、分层聚类)、关联规则学习算法(例如,感知器、反向传播、霍普菲尔网络、径向基函数网络(RBFN))、深度学习算法(例如,深波尔兹曼机(DBM)、深度信任网络(DBN)、卷积神经网络(CNN)、堆栈自编码器)、降维算法(例如,主成分分析(PCA)、主成分回归(PCR)、偏最小二乘回归(PLSR)、萨蒙映射、多维标度(MDS)、投影寻踪、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA)、集成算法(例如,增强、自举聚合(Bootstrapped Aggregation)(Bagging)、自适应增强(AdaBoost)、堆叠泛化(混合)、梯度推进机(GBM)、梯度提升回归树(GBRT)、随机森林、SVM(支持向量机)、监督学习、无监督学习、半监督学习等。架构的附加示例包括神经网络,例如ResNet-50,ResNet-101、VGG、DenseNet、PointNet等。
存储器320可以附加地或可替代地存储一个或多个系统控制器336,一个或多个系统控制器336可以被配置为控制车辆302的转向、推进、制动、安全、发射器、通信和其它系统。这些系统控制器336可以与驱动组件312和/或车辆302的其他组件的对应系统通信和/或控制所述对应系统。例如,规划组件330可以至少部分地基于由感知组件328生成的感知数据来生成这样的指令:防撞组件332可以使所述指令生效和/或将所述指令发送到系统控制器336。系统控制器336可以至少部分地基于从规划组件330和/或防撞组件332接收的指令来控制车辆302的操作。在一些示例中,防撞组件332可以用与视情况而定的轨迹相关联的替代指令来替换由规划组件330生成的指令,该视情况而定的轨迹例如可以指定替代策略等的视情况而定的轨迹。
应当注意,虽然图3示出为分布式系统,但是在替代示例中,车辆302的组件可以与计算设备314相关联,和/或计算设备314的组件可以与车辆302相关联。也就是说,车辆302可以执行与计算设备314相关联的一个或多个功能,反之亦然。
示例过程
图4示出了用于使由自动驾驶车辆的规划组件输出的轨迹生效的示例过程400的图示流程图。在一些示例中,示例过程400可以在自动驾驶车辆的操作期间由至少防撞组件来执行。
在操作402中,示例过程400可以包括,根据本文讨论的任何技术,接收与自动驾驶车辆相关联的当前姿态、轨迹和/或通路。例如,可以从定位组件接收当前姿态,轨迹可以从规划组件和/或自动驾驶车辆的一个或多个传感器(例如,车轮编码器、GPS)接收,和/或通路可以从规划组件接收和/或由防撞组件确定。在一些示例中,确定通路可以至少部分地基于轨迹、自动驾驶车辆的宽度和/或长度、当前速度和/或偏移。图4示出了通路和自动驾驶车辆的位置404。在至少一些示例中,这样的通路尺寸可以基于例如与车辆相关联的参数。作为非限制性示例,通路的长度可以取决于车辆速度,而作为另一示例,宽度可以基于车辆的转弯半径、与车辆附近的物体相关联的可能速度等。未示出该轨迹以增加该图的清晰度。在一些示例中,轨迹可以包括自动驾驶车辆的当前和/或计划位置和/或速度。
在操作408中,示例过程400可以包括根据本文讨论的任何技术从与自动驾驶车辆相关联的传感器接收传感器数据。例如,传感器数据410可以包括激光雷达和/或雷达数据以及其它类型的传感器数据。在一些示例中,传感器数据可以包括深度数据(例如,表示从传感器/自动驾驶车辆到环境中的表面的距离的数据)、与检测到的表面相关联的多普勒数据、和/或表示自动驾驶车辆周围的环境中的物体的位置的任何其它类型的传感器数据。
在操作412中,示例过程400可以包括根据本文讨论的任何技术来确定与通路和地面分类相关联的传感器数据的第一子集。在一些示例中,示例过程400可以包括:确定与通路相关联的传感器数据的子集;以及将子集分类为两个分类之一,地面分类(在操作412中)和物体分类(在操作420中)。图4示出了图5的一部分。图5描述了与示例场景100和传感器数据表示124相关联的传感器数据500。图5示出了通路406,将通路406外的传感器数据示出为灰色,并且将通路406内的传感器数据的子集示出为黑色。图5还将被分类为地面502的通路406内的传感器数据的第一子集示出为虚线,并且将被分类为物体504的通路406内的传感器数据的第二子集示出为实线。
确定传感器数据的第一子集与地面分类相关联可以包括:确定传感器数据之间的连续性;以及确定传感器数据是连续的。确定传感器数据是连续的可以包括:确定传感器数据之间的间隔在间隔范围内(例如,小于或等于点之间的阈值距离,其中在至少一些示例中,这样的阈值距离可以是固定的和/或取决于点的范围);确定传感器数据之间的角度在角度范围内(例如,两点之间的方位角在方位角范围内,两点之间的(垂直)梯度在梯度范围内);确定多个传感器数据点的表面粗糙度小于或等于表面粗糙度阈值;确定该多个传感器数据点与方差相关联,该方差等于或小于方差阈值(例如,与传感器数据点之间的间隔(例如,距离)相关联的方差、与传感器数据点之间的角位移相关联的方差)等。例如,地面分类416与平滑地遵循拓扑/激光雷达数据的轮廓的传感器数据相关联。相比之下,物体分类418可以与以下数据点相关联:所述数据点不表现出与关联于地面分类416的传感器数据相同的连续性/间隔。
如关于图7更详细讨论的,确定与地面分类相关联的第一子集可以附加地或可替代地包括:将线(例如,诸如多项式、样条等的曲线)和/或平面拟合到与通道相关联的传感器数据的子集的至少一部分;以及将在线和/或平面的阈值距离内的传感器数据的点识别为第一子集的一部分。在一些示例中,阈值距离可以被定义为垂直(切向)于线和/或平面的距离。
在操作420中,示例过程400可以包括根据本文讨论的任何技术来确定与通路和物体分类相关联的传感器数据的第二子集。例如,操作420可以包括识别位于操作412中所确定的线或平面之上(例如,具有超过所确定的线或平面的高程值)的传感器数据点。在一些示例中,线可以与传感器数据的轮廓(例如,与传感器数据的高程和/或纵向位置相关联)相关联地确定,并且操作420可以包括将线平移穿过通路。在一些情况下,在操作412中未被分类为地面的传感器数据可以被分类为物体(例如,未被分类为地面的任何传感器数据可以被分类为物体)。在一些示例中,操作420可以包括:至少部分地基于聚类、区域生长和/或类似技术来确定第二子集的一部分与物体相关联。
在一些示例中,操作412和/或操作420可以附加地或可替代地包括将与扩展的通路相关联的传感器数据分类为地面或物体,其中扩展的通路包括通路加上余量(margin)。例如,通路可以根据倍数(例如,110%、115%、任何其它值)和/或根据附加距离(例如,横向扩展0.5米、15厘米、任何其它值)横向扩展。
在操作422中,示例过程400可以包括根据本文讨论的任何技术来确定与至少最近物体相关联的位置和/或速度。例如,操作422可以包括至少部分地基于随时间累积与物体相关联的传感器数据来确定物体的速度。在附加或替代示例中,确定物体的速度可以至少部分地基于由雷达设备、声纳设备和/或类似设备指示的多普勒值。在一些示例中,操作422可以包括确定与在操作420中识别的附加物体相关联的位置和/或速度。在一些情况下,操作422可以附加地或可替代地包括至少部分地基于与物体相关联的速度来确定至少该最接近物体的一个或多个预测位置。操作422可以附加地或可替代地包括:至少部分地基于一个或多个物体的当前和/或预测位置来确定最接近的物体,以及确定哪个物体最接近或被预测为最接近自动驾驶车辆的位置404。
在操作424中,示例过程400可以包括:根据本文讨论的任何技术,确定最近的物体是在满足或超过阈值距离的位置处还是被预测为在满足或超过阈值距离的位置处。操作424可以包括至少部分地基于轨迹的阈值距离。例如,阈值距离可以对应于车辆的最大停止距离,并且在一些情况下除了最大停止距离之外还可以包括附加的安全余量。在一些示例中,阈值距离可以是沿着与轨迹相关联的线或曲线的距离。操作424可以包括确定物体是否处于或将处于小于自动驾驶车辆(或自动驾驶车辆的预测位置)的阈值距离内。
如果物体处于和/或被预测处于小于自动驾驶车辆的阈值距离的位置,则示例过程400可以继续到操作426。如果没有物体和/或预测没有物体在自动驾驶车辆的阈值距离内,则示例过程400可以继续到操作428。
在操作428中,示例过程400可以包括根据本文讨论的任何技术,使自动驾驶车辆执行视情况而定的轨迹和/或重新确定轨迹。例如,使车辆执行视情况而定的轨迹可以包括:向系统控制器发送指令以使车辆减速,执行安全停止策略,硬制动和/或类似操作。在一些示例中,规划器可以确定视情况而定的轨迹,并将视情况而定的轨迹与该轨迹一起和/或根据防撞组件的请求发送到防撞组件。在附加的或可替代的示例中,操作428可以包括向规划器发送用于确定新轨迹的请求。
在操作428中,示例过程400可以包括根据在此讨论的任何技术来确定最远地面数据点是否位于满足或超过阈值距离的距离处。最远地面数据点可以是被分类为离自动驾驶车辆的位置(或预测位置)最远的地面数据点(或者是最远地面数据点中的一个)的地面的传感器数据点。操作428在功能上可以是检查,以确保有足够远离自动驾驶车辆的传感器数据,以确保:自动驾驶车辆能够在撞击任何物体之前停止,并且已经检测到自动驾驶车辆的停止距离内的任何物体,在一些情况下加上一些余量。
如果最远地面数据点离自动驾驶车辆的当前和/或预测位置的距离小于阈值距离,则示例过程400可以继续到操作426;然而,如果最远的地面数据点与自动驾驶车辆的距离满足或超过阈值距离,则示例过程400可以继续到操作430。
在一些示例中,该技术可包括确定与最近的物体相关联的第一阈值距离(在操作424中)以及与最远的地面数据点相关联的第二阈值距离(在操作428中)。在一些示例中,第二阈值距离可以大于第一阈值距离,虽然在一些情况下它们可以相等。
在操作430中,示例过程400可以包括根据本文讨论的任何技术使轨迹生效和/或发送轨迹。例如,使轨迹生效和/或发送轨迹可以包括使自动驾驶车辆执行轨迹(例如,通过将轨迹发送到系统控制器)。
示例的困难的地面分类场景
图6A示出了示例场景600,其中可能难以将传感器数据分类为地面或物体,并且图6B示出了与图6A的示例场景相关联的示例传感器数据,以及通路602和将传感器数据分类为地面分类或物体分类。
图6A描绘了示例场景600,其中车辆604在包括两个坡度变化的环境中导航。在所描绘的场景中,道路包括负坡度,其在一段时间内变平(零坡度),并在此后恢复负坡度(至少对于与轨迹606相关联的环境部分)。车辆604可能已经产生轨迹606,以使车辆604沿着第一负坡度、在平坦坡度的一部分上以及沿着第二负坡度穿越环境。包含单一坡度的环境(例如,平坦的道路或连续向上或向下倾斜而没有变化的道路)呈现出更简单的地面分类问题,因为可以使用平面或单度线对地面进行建模。坡度变化提出了一个更困难的问题,因为将道路建模为平面可能会导致多个假阳性误报物体和/或地面分类,并且使用简单多项式对道路进行建模可能同样会导致假阳性误报物体和/或地面分类。
图6B描绘了与轨迹606和传感器数据608相关联的通路602,其中灰色传感器数据是位于通路602外部的传感器数据,并且黑色传感器数据位于通路602内。本文讨论的技术可以包括将多度线和/或平面拟合到传感器数据608。在一些示例中,该技术可以包括确定与通路602内的传感器数据相拟合的线和/或平面。例如,线拟合可以包括将曲线610拟合到传感器数据,其中该曲线可以是二阶(或更多阶)多项式、样条、贝塞尔曲线、诸如非均匀有理基样条(NURBS)的基样条(B样条)等。在一些示例中,确定线可以包括异常值消除和/或可以至少部分地基于偏差,该偏差至少部分地基于与最低和/或最高高程(和/或其他局部或全局极值)相关联的一个或多个传感器数据点确定。由于理解图6B中的三维描绘的困难,因此图8包括投影到与沿着轨迹606的纵剖面(elevation profile)相对应的二维坐标系中的传感器数据的二维表示(例如,纵坐标值与高程相关联,并且横坐标值与沿着轨迹的纵向位置相关联)。
用于将传感器数据分类为地面的示例过程
图7示出了用于至少部分地基于确定用于拟合传感器数据的曲线,来将传感器数据分类为地面的示例过程700的图示流程图。在一些示例中,该曲线可以用于将传感器数据点分类为物体。例如,将传感器数据点分类为物体可以包括确定传感器数据点位于线上方。在一些示例中,示例过程700可以是操作412和/或操作420的至少一部分。示例过程700之前可以是将诸如激光雷达数据、雷达数据和/或类似物的三维传感器数据投影到二维坐标系中,例如图8中所描绘的,在图8中,纵坐标值与高程相关联,并且横坐标值与沿着由自动驾驶车辆生成的轨迹的纵向位置相关联。在一些实施例中,示例过程700可以类似地应用于将平面拟合到三维传感器数据或者将线拟合到三维传感器数据的一部分(例如,具有相同坐标值的三维传感器数据,即在同一平面内或在同一平面附近(在同一平面的阈值距离内)的三维传感器数据)。在一些情况下,示例过程700可以包括至少部分地基于将曲线拟合到传感器数据以及将在高程上低于或满足曲线的传感器数据点识别为地面,来确定与地面分类相关联的传感器数据的子集。
在操作702中,示例过程700可以包括根据本文讨论的任何技术,将传感器数据的至少一部分映射到较低维空间。例如,操作702可以包括将三维传感器数据点投影到二维空间中。在一些示例中,二维空间可以与环境的纵剖面和/或与轨迹相关联。在一些示例中,该二维空间可以至少部分地基于自动驾驶车辆的轨迹和/或姿态来参考。在附加的或可替代的示例中,传感器数据最初可以包括一个或多个维度,例如四个或多个维度。该映射可以包括将维度的数量减少到与该自动驾驶车辆的轨迹的高程/海拔和纵向分量相关联的一个或多个维度。例如,图6B示出了三维传感器数据的图像,并且图8示出了映射到较低维空间(即,所描述示例中的二维)的传感器数据的代表性描绘。
在操作704中,示例过程700可以包括根据在此讨论的任何技术来确定包括通路内的一个或多个返回(return)的传感器数据的第一数量的通道。通道可以包括与传感器相关联的至少一个检测部分。例如,激光雷达设备可以包括被配置为接收光束的检测器,相机可以包括包含离散检测部分(例如像素)的图像传感器,等等。
在一些示例中,当检测器检测到诸如反射光(例如,在激光雷达、雷达和/或深度相机的情况下)、反射声波(例如,在声纳的情况下)、发射的热量(例如,在红外或其它热成像相机的情况下)等返回信号时,传感器可以输出“返回”。在一些示例中,当返回信号被衍射或者在传感器的最大操作距离内没有导致返回信号的表面时,通道可能不产生返回。
可以设想,在一些情况下,传感器设备的通道可以包括从环境信号发射器接收信号的检测器。例如,热成像相机可以包括检测组件,该检测组件从环境中自身产生热量的物体接收热量。无论如何,通道可以与像素、检测器和/或传感器检测系统的任何其它离散部分相关联。
例如,图7描绘了激光雷达数据,其可以包括与通道706相关联的返回、与通道708相关联的返回以及与通道710相关联的返回等许多其它通道。例如,所描绘的传感器数据的每个轮廓可以对应于激光雷达传感器的不同通道。
操作704可以包括确定第一数量的通道,所述通道包括返回和/或包括在通路712内大于阈值数量(例如,一定百分比)的返回。例如,操作704可以包括确定与通路712相关联的传感器数据子集,以及确定与子集的返回相关联的多个通道。在一些示例中,确定多个通道可以包括确定包括通道中多于90%或多于50%(或任何其它数量)的返回(与无返回(non-return)相对)的多个通道。在一些示例中,第一数量可以是正整数。
在操作714中,示例过程700可以包括根据本文讨论的任何技术至少部分地基于第一数量来确定曲线(例如,贝塞尔曲线)的第二数量的控制点和/或第三数量的结点。操作714可以包括确定与曲线相关联的结点向量和/或控制点向量的维度,其可以包括多项式和/或样条,例如贝塞尔曲线、B样条、NURBS等。在一些示例中,控制点的第二数量可以等于或小于第一数量。将(控制点的)第二数量选择为小于(具有返回的通道的)第一数量可以减少过度拟合,这又可以减少将物体错误地分类为地面。在一些示例中,最小第二数量可以是两个,尽管也考虑了其它数量,例如一个或三个或更多。(结点的)第三数量可以与控制点的第二数量和曲线度(例如,其可以被设置为等于两个,或者在附加的或可替代的示例中,等于三个或更多)相关。例如,结点的第三数量可以等于控制点的第二数量加上曲线度加上一。在一些示例中,第二数量和/或第三数量可以是正整数。
结点可以限定曲线跨度的终点。曲线的跨度可以由多项式(或其它曲线函数)定义,多项式的参数可以由一个或多个控制点定义。
在操作716中,示例过程700可以包括至少部分地基于通路内的一部分传感器数据,根据本文讨论的任何技术,确定具有第二数量的控制点和/或第三数量的结点的曲线。操作716可以附加地或可替代地包括一个或多个预拟合操作,例如,去除潜在错误的传感器数据点(例如,通过对通道中的返回进行聚类和去除异常值、通过稳健估计技术(例如,RANSAC))和/或对传感器数据进行加权。
例如,对传感器数据进行加权可以包括至少部分地基于具有返回的第一数量的通道来确定第四数量的容器(bin)——包括返回的通道越多,可以生成的容器越多。例如,图7示出了示例传感器数据718、容器720和容器722。在一些示例中,容器可以均匀地间隔开,或者可以间隔开以包括相同数量的传感器数据点。在一些示例中,与容器720相关联的传感器数据可以与关联于容器722的传感器数据分开加权。对传感器数据进行加权可以包括确定与容器相关联的传感器数据的范围。例如,图7示出了范围724,该范围724可以附加地或可替代地被表示为高程中的最高和最低传感器数据点之间的差。在一些示例中,如果范围/差小于最小物体高度(例如,1米、0.5米、20厘米、任何其它值),则与容器相关联的传感器数据可以被分配相同的权重(例如,1)。例如,与容器720相关联的传感器数据可以用相同的权重加权,因为与之相关联的传感器数据显示出高程上的低变化。
然而,如果范围/差满足或超过最小物体高度,则确定与容器相关联的传感器数据的权重可以包括向传感器数据的底部(高程上)更重地加权传感器数据。例如,相比于与比由四分位数或其他百分位数定义的高程高的高程相关联的传感器数据点,与底部四分位数或其他百分位数(例如,第30个百分位数及以下、第20个百分位数及以下、第10个百分位数及以下)相关联的传感器数据点可以被更重地加权。无论如何,识别较低高程的传感器数据点可以被更重地加权,这是基于这样的数据点更可能与地面相关联而不是与物体相关联的假设。
操作716可以包括拟合算法,该算法使与各个传感器数据点和曲线726之间的差(误差)相关联的总残差最小化。拟合算法可以确定控制点向量和/或结点向量的值,其可以定义控制点和/或结点的位置。控制点和结点可以限定样条或其它曲线。在一些示例中,拟合算法可以包括最小二乘回归,以将由控制点和结点定义的估计曲线(estimated curve)拟合到传感器数据。在一些示例中,拟合算法可以是加权的算法,例如加权的最小二乘(例如,使用至少部分地基于由传感器数据定义的高程而与传感器数据相关联地确定的权重),但是可以使用任何其它合适的拟合算法,例如各种非线性最小二乘算法中的任何一种,例如高斯-牛顿算法,和/或类似算法。
在一些示例中,损耗函数可以至少部分地基于确定传感器数据和估计曲线之间的残差(误差)来确定损耗。在一些实施例中,损耗函数可以确定与曲线726和传感器数据点730之间的残差728相关联的权重。在一些示例中,损耗函数可以是偏斜损耗函数(skewedloss function),该偏斜损耗函数对负残差的加权大于正残差的加权。例如,因为传感器数据点730在曲线726之上,因此残差728是正残差,而与传感器数据点734相关的残差732是负残差。损耗函数可以确定与残差732相关联的第一权重,该第一权重大于与残差728相关联的第二权重。换言之,损耗函数可以确定第一残差的损耗大于第二残差的损耗,其中,该第一残差与估计曲线下方的第一传感器数据点相关联,该第二残差与估计曲线上方的第二传感器数据点相关联。在功能上,这意味着与残差728相比拟合算法将更多地基于残差732来修改估计曲线,这将有效地使由至少部分地基于加权残差的拟合算法确定的更新的估计曲线移向传感器数据点734(只考虑所示残差的影响而不考虑其它影响)。
在操作736中,示例过程700可以包括根据本文讨论的任何技术,至少部分地基于一部分传感器数据和/或规则集来改变曲线、控制点和/或结点。该规则集可以至少部分地基于该一部分传感器数据来生成,并且可以至少部分地基于传感器数据的高程值(例如,控制点可能不具有超过传感器数据的最大高程值的高程)和/或结点间隔技术来指定控制点的最大高程值。例如,结点间隔技术可以包括:确定结点之间的间隔(例如,距离),在图7中用“x”表示;并且改变它们之间的间隔,使得结点在一定距离上均匀间隔开。一些拟合算法可以至少部分地基于传感器数据的索引号来间隔结点(例如,使得结点在索引号上均匀分布),但这可能会导致一些结点在空间上彼此过于遥远或靠近。
例如,图7示出了第一结点和第二结点之间的间隔738以及第二结点和第三结点之间的间隔740。间隔738小于间隔740,因为更多的传感器数据位于第一结点和第二结点之间,并且拟合技术至少部分地基于传感器数据索引来确定结点位置。改变结点间隔可以包括至少部分地基于曲线的长度(例如,曲线的长度、由曲线跨越的纵向距离)和结点的数量来改变结点的位置。在一些示例中,改变结点位置可以包括改变结点位置,使得结点沿着曲线或沿着由曲线跨越的纵向距离均匀地间隔开,或者在附加的或可替代的示例中,改变结点位置可以包括“粗糙”改变,其朝着均匀间隔移动结点,但不会严格地将结点移动到完全均匀的间隔。例如,后一种技术可以包括限定与关联于均匀结点放置的位置相关联的范围,以及移动结点位置直到其在该范围内。该范围可以至少部分地基于传感器数据密度、曲线的总长度、道路坡度、坡度拐点的数量(从正变化到负或反之亦然)等。
图8示出了可以表示曲线726的示例曲线800,其拟合于根据图7的示例过程的传感器数据。注意,传感器数据被表示为点,控制点被表示为圆,结点被表示为“x”,并且曲线800被表示为实线。注意,图8还描述了与通道802相关联的返回、与通道804相关联的返回、容器806和容器808的示例。而且,注意,至少对于所描述的示例,曲线800是针对投影到二维坐标系中的三维传感器数据生成的,表示在垂直轴上的高程和沿着水平轴的沿着轨迹的纵向分量的点。可以在二维空间中确定该曲线,并将其投影回到与原始传感器数据相关联的三维空间中,以便确定传感器数据是否与地面分类(例如,具有低于或等于曲线的高程的传感器数据)或物体分类(例如,具有高于曲线的高程的传感器数据)相关联。这样的确定可以包括平移跨过通路的曲线以迭代地确定与通路的一部分相关联的传感器数据是地面还是物体。
示例条款
A.一种方法,包括:接收用于控制自动驾驶车辆的操作的轨迹;从与自动驾驶车辆相关联的传感器接收传感器数据;以下各项中的至少一项:确定或接收表示自动驾驶车辆被约束在其中行驶的自动驾驶车辆前面的有界区域的通路;确定与通路和地面分类相关联的传感器数据的第一子集;确定与该通路和物体分类相关联的该传感器数据的第二子集;至少部分地基于该第二子集确定与物体的至少一部分相关联的位置和速度;以及至少部分地基于该位置或该速度中的至少一个来确定:控制该自动驾驶车辆执行该轨迹,或者控制该自动驾驶车辆执行视情况而定的轨迹。
B.段落A所述的方法,其中:速度是第一速度;并且该方法还包括:确定与关联于自动驾驶车辆的第二速度相关联的阈值距离,以及以下各项中的至少一项:确定从自动驾驶车辆到物体位置的第一距离,或从自动驾驶车辆到离自动驾驶车辆最远的第一子集中的点的第二距离。
C.段落B所述的方法,其中控制自动驾驶车辆执行该轨迹至少部分地基于:确定该第一距离满足或超过该阈值距离,以及确定该第二距离满足或超过该阈值距离。
D.段落B或C所述的方法,其中控制该自动驾驶车辆执行该视情况而定的轨迹至少部分地基于:确定该第一距离小于该阈值距离,或者确定该第二距离小于该阈值距离。
E.段落A-D中任一项所述的方法,其中将传感器数据的第一子集分类为地面分类包括以下至少之一:将线拟合到传感器数据的至少一部分;将该传感器数据中的在线的阈值距离内的第一点确定为该第一子集;或者将在间隔上的方差小于或等于方差阈值的第一点确定为第一子集。
F.段落A-E中任一项所述的方法,其中将传感器数据的第二子集分类为物体分类包括以下至少之一:将线拟合到传感器数据的至少一部分;将该传感器数据中的在该线上方的第二点确定为该第二子集;或者确定第二子集的两点之间的角度在角度范围之外或者两点之间的间隔在距离范围之外。
G.一种系统,包括:一个或多个传感器;一个或多个处理器;以及存储器,该存储器存储处理器可执行指令,当该指令由该一个或多个处理器执行时,使该系统执行操作,所述操作包括:从与车辆相关联的传感器接收传感器数据;以下各项中的至少一箱:接收或确定与该车辆的操作相关联的通路;确定与通路和地面分类相关联的传感器数据的第一子集;确定与该通路和物体分类相关联的该传感器数据的第二子集;至少部分地基于车辆的第一速度确定来阈值距离;以及至少部分地基于该阈值距离以及该第一子集或该第二子集中的至少一个来控制该车辆。
H.段落G所述的系统,其中控制车辆还至少部分地基于:确定与物体的至少一部分相关联的位置和第二速度,该确定至少部分地基于第二子集。
I.段落H所述的系统,其中控制车辆还包括:至少部分地基于该第一速度或该第二速度中的至少一个,确定从该车辆到该位置的第一距离或从该车辆到该物体的预测位置的第二距离中的至少一个;以及至少部分地基于确定该第一距离或该第二距离中的至少一个小于该阈值距离,使该车辆执行视情况而定的轨迹。
J.段落G-I中任一项所述的系统,其中控制车辆还包括:确定从车辆到第一子集中的最远点的距离;以及至少部分地基于确定该距离小于该阈值距离,使该车辆跟随视情况而定的轨迹。
K.段落G-J中任一项所述的系统,其中控制该车辆还包括:确定从该车辆到该第一子集中的最远点的第一距离或从该车辆到该第二子集中的最近点的第二距离;以及至少部分地基于确定该第一距离和该第二距离满足或超过该阈值距离,使该车辆跟随轨迹。
L.段落G-K中任一项所述的系统,其中将传感器数据的第一子集分类为地面分类包括以下中的至少一个:将线拟合到传感器数据的至少一部分;将该传感器数据中的在该线的第二阈值距离内的第一点确定为该第一子集;或者将间隔方差或角位移方差小于或等于方差阈值的第一点确定为第一子集。
M.段落G-L中任一项所述的系统,其中将该传感器数据的该第二子集分类为该物体分类包括以下中的至少一个:将线拟合到该传感器数据的至少一部分;将该传感器数据中的在该线上方的第二点确定为该第二子集;或者确定第二子集的两点之间的角度在角度范围之外或者两点之间的间隔在距离范围之外。
N.一种存储处理器可执行指令的非暂时性计算机可读介质,当该指令由一个或多个处理器执行时,使该一个或多个处理器执行操作,所述操作包括:从与车辆相关联的传感器接收传感器数据;以下各项中的至少一项:确定或接收与该车辆的操作相关联的通路;确定与通路和地面分类相关联的传感器数据的第一子集;确定与该通路和物体分类相关联的该传感器数据的第二子集;至少部分地基于车辆的第一速度来确定阈值距离;以及至少部分地基于该阈值距离以及该第一子集或该第二子集中的至少一个来控制该车辆。
O.段落N所述的非暂时性计算机可读介质,其中控制车辆还至少部分地基于确定与物体的至少一部分相关联的位置和第二速度,该确定至少部分地基于第二子集。
P.段落O所述的非暂时性计算机可读介质,其中控制车辆还包括:至少部分地基于该第一速度或该第二速度中的至少一个,确定从该车辆到该位置的第一距离或从该车辆到该物体的预测位置的第二距离中的至少一个;以及至少部分地基于确定该第一距离或该第二距离中的至少一个小于或等于该阈值距离,使该车辆执行视情况而定的轨迹。
Q.段落N-P中任一项所述的非暂时性计算机可读介质,其中控制该车辆还包括:确定从该车辆到该第一子集中的最远点的距离;以及至少部分地基于确定该距离小于该阈值距离,使该车辆跟随视情况而定的轨迹。
R.段落N-Q中任一项所述的非暂时性计算机可读介质,其中控制车辆还包括:确定从车辆到第一子集中的最远点的第一距离或从车辆到第二子集中的最近点的第二距离;以及至少部分地基于确定该第一距离和该第二距离满足或超过该阈值距离,使该车辆跟随轨迹。
S.段落N-R中任一项所述的非暂时性计算机可读介质,其中将传感器数据的第一子集分类为地面分类包括以下中的至少一个:将线拟合到传感器数据的至少一部分;将该传感器数据中的在该线的第二阈值距离内的第一点确定为该第一子集;或者将间隔方差或角位移方差小于或等于方差阈值的第一点确定为第一子集。
T.段落N-S中任一项所述的非暂时性计算机可读介质,其中将传感器数据的第二子集分类为物体分类包括以下中的至少一个:将线拟合到传感器数据的至少一部分;将该传感器数据中的在该线上方的第二点确定为该第二子集;或者确定第二子集的两点之间的角度在角度范围之外或者两点之间的间隔在距离范围之外。
U.一种方法,包括:从与自动驾驶车辆相关联的激光雷达传感器接收激光雷达数据;接收与自动驾驶车辆的轨迹相关联的通路;至少部分地基于以下各项来确定与地面分类相关联的激光雷达数据的第一子集:将与通路和第一数量的通道相关联的激光雷达数据的一部分映射到二维表示;确定该激光雷达传感器的通道的数量,所述通道包括与该通路相关联的一个或多个返回;至少部分地基于该通道的数量来确定控制点的数量和结点的数量;至少部分地基于通路内的激光雷达数据的一部分,确定具有控制点的数量和结点的数量的曲线;以及至少部分地基于该曲线来确定该第一子集;以及至少部分地基于该第一子集来控制该自动驾驶车辆。
V.段落U所述的方法,其中确定曲线还包括将与控制点相关联的高程值限制为激光雷达数据的平均高程加上缓冲距离。
W.段落U或V所述的方法,其中确定曲线还包括:至少部分地基于激光雷达数据的该部分,确定具有控制点的数量和结点的数量的估计曲线;至少部分地基于该结点的数量和估计曲线的长度来确定阈值距离;确定与该估计曲线相关联的第一结点和第二结点之间的距离小于该阈值距离;以及改变该第一结点或该第二结点中的至少一个的位置,使得它们之间沿着该估计曲线的距离满足或超过该阈值距离。
X.段落U-W中任一项所述的方法,其中确定该曲线还包括:确定激光雷达点和估计曲线之间的残差;至少部分地基于该残差确定损耗,第一残差的损耗大于第二残差的损耗,该第一残差与估计曲线下方的第一激光雷达点相关联,该第二残差与估计曲线上方的第二激光雷达点相关联;以及至少部分地基于该损耗来改变该估计曲线。
Y.段落U-X中任一项所述的方法,其中确定该曲线还包括:至少部分地基于该通道的数量来确定容器的数量;将该激光雷达数据的部分划分到该容器,容器与该激光雷达数据的部分的第二子集相关联,其中该第二子集包括激光雷达数据点;以及确定与该第二子集相关联的权重,其中确定该权重包括至少部分地基于与该激光雷达数据点相关联的高程来确定与该激光雷达数据点相关联的权重。
Z.段落U-Y中任一项所述的方法,还包括至少部分地基于第一子集确定与物体分类相关联的激光雷达数据的第二子集;以及至少部分地基于该第二子集来确定与物体的至少一部分相关联的位置和速度,其中控制该自动驾驶车辆包括:至少基于该位置和速度中的至少一个来确定控制该自动驾驶车辆执行该轨迹,或者控制该自动驾驶车辆执行视情况而定的轨迹。
AA.一种系统,包括:一个或多个传感器;一个或多个处理器;以及存储处理器可执行指令的存储器,当该处理器可执行指令由该一个或多个处理器执行时,使该系统执行操作,所述操作包括:从与自动驾驶车辆相关联的传感器接收传感器数据;接收与自动驾驶车辆的轨迹相关联的通路;至少部分地基于以下各项来确定与地面分类相关联的传感器数据的第一子集:将与通路和第一数量的通道相关联的一部分传感器数据映射到较低维表示;确定该传感器的包括与该通路相关联的一个或多个返回的通道的数量;至少部分地基于该通道的数量来确定控制点的数量和结点的数量;至少部分地基于通路内的一部分传感器数据来确定具有该控制点的数量和该结点的数量的曲线;以及至少部分地基于该曲线来确定该第一子集;以及至少部分地基于该第一子集来控制该自动驾驶车辆。
AB.段落AA所述的系统,其中确定该曲线还包括将与控制点相关联的高程值限制为该传感器数据的平均高程加上缓冲距离。
AC.段落AA或AB所述的系统,其中确定该曲线还包括:至少部分地基于该传感器数据的该部分,确定具有该控制点的数量和该结点的数量的估计曲线;至少部分地基于该结点的数量和该估计曲线的长度来确定阈值距离;确定与该估计曲线相关联的第一结点和第二结点之间的距离小于该阈值距离;以及改变该第一结点或该第二结点中的至少一个的位置,使得它们之间的距离满足或超过该阈值距离。
AD.段落AA-AC中任一项所述的系统,其中确定该曲线还包括:确定传感器数据点和估计曲线之间的残差;至少部分地基于该残差确定损耗,第一残差的损耗大于第二残差的损耗,该第一残差与该估计曲线下方的第一传感器数据点相关联,该第二残差与该估计曲线上方的第二传感器数据点相关联;以及至少部分地基于该损耗来改变该估计曲线。
AE.段落AA-AD中任一项所述的系统,其中确定该曲线还包括:至少部分地基于该通道的数量来确定容器的数量;在所述容器上划分该传感器数据的该部分,容器与该传感器数据的该部分的第二子集相关联,其中该第二子集包括传感器数据点;以及确定与该第二子集相关联的权重,其中确定该权重包括至少部分地基于与该传感器数据点相关联的高程来确定与该传感器数据点相关联的权重。
AF.段落AA-AE中任一项所述的系统,其中确定该曲线至少部分地基于以下各项:确定该传感器数据点和估计曲线之间的残差;至少部分地基于一个或多个残差和该权重来确定损耗;以及至少部分地基于定位控制点和结点来确定曲线,以减少损耗。
AG.段落AA-AF中任一项所述的系统,其中确定该权重还包括:确定与该第二子集相关联的最大高程和最小高程;以及以下中的任一个:至少部分地基于确定最大高程和最小高程之间的差小于阈值障碍物高度,将该权重确定为相同权重;或者至少部分地基于确定该差满足或超过该阈值障碍物高度,确定该第二子集中的高程低于阈值高程的传感器数据点的该权重较大。
AH.一种存储处理器可执行指令的非暂时性计算机可读介质,当该指令由一个或多个处理器执行时,使该一个或多个处理器执行操作,所述操作包括:从与自动驾驶车辆相关联的传感器接收传感器数据;接收与自动驾驶车辆的轨迹相关联的通路;至少部分地基于以下各项来确定与地面分类相关联的传感器数据的第一子集:确定包括与通路相关联的一个或多个返回的传感器通道的数量;至少部分地基于该通道的数量来确定控制点的数量和结点的数量;至少部分地基于通路内的一部分传感器数据来确定具有该控制点的数量和该结点的数量的曲线;以及至少部分地基于该曲线来确定该第一子集;以及至少部分地基于该第一子集来控制该自动驾驶车辆。
AI.段落AH所述的非暂时性计算机可读介质,其中确定曲线还包括:将与控制点相关联的高程值限制为传感器数据的平均高程加上缓冲距离。
AJ.段落AH或AI段所述的非暂时性计算机可读介质,其中确定该曲线还包括:至少部分地基于传感器数据的该部分确定具有该控制点的数量和该结点的数量的估计曲线;至少部分地基于该结点的数量和该估计曲线的长度来确定阈值距离;确定与该估计曲线相关联的第一结点和第二结点之间的距离小于该阈值距离;以及改变该第一结点或该第二结点中的至少一个的位置,使得它们之间的距离满足或超过该阈值距离。
AK.段落AH-AJ中任一项所述的非暂时性计算机可读介质,其中确定该曲线还包括:确定传感器数据点和估计曲线之间的残差;至少部分地基于该残差来确定损耗,第一残差的损耗大于第二残差的损耗,该第一残差与该估计曲线下方的第一传感器数据点相关联,该第二残差与该估计曲线上方的第二传感器数据点相关联;以及至少部分地基于该损耗来改变该估计曲线。
AL.段落AH-AK中任一项所述的非暂时性计算机可读介质,其中确定该曲线还包括:至少部分地基于该数量来确定容器的数量;在所述容器上划分该传感器数据的该部分,容器与该传感器数据的该部分的第二子集相关联,其中该第二子集包括传感器数据点;以及确定与该第二子集相关联的权重,其中确定权重包括至少部分地基于与传感器数据点相关联的高程来确定与传感器数据点相关联的权重。
AM.段落AL所述的非暂时性计算机可读介质,其中确定该曲线至少部分地基于:确定该传感器数据点和估计曲线之间的残差;至少部分地基于一个或多个残差和该权重来确定损耗;以及至少部分地基于定位控制点和结点来确定曲线,以减少损耗。
AN.段落AM所述的非暂时性计算机可读介质,其中确定权重还包括:确定与第二子集相关联的最大高程和最小高程;以及以下各项中的任一项:至少部分地基于确定最大高程和最小高程之间的差小于阈值障碍物高度,将该权重确定为相同权重;或者至少部分地基于确定该差满足或超过该阈值障碍物高度,将所述第二子集中的高程低于阈值高程的传感器数据点的所述权重确定为较大。
虽然上面描述的示例条款是针对一个特定的实现方式来描述的,但是应当理解,在本文件的上下文中,示例条款的内容也可以通过一种方法、设备、系统、计算机可读介质和/或另一种实现方式来实现。另外,实施例A-AN中的任何一个都可以单独实施,或者与实施例A-AN中的任何其它一个或多个结合实施。
结论
虽然已经用专门针对结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中定义的主题并不一定限于所描述的具体特征或动作。相反,具体的特征和动作被公开为实施权利要求的示例形式。
本文描述的组件表示可以存储在任何类型的计算机可读介质中并且可以在软件和/或硬件中实现的指令。上述所有方法和过程都可以体现在由一个或多个计算机或处理器、硬件或它们的某些组合执行的软件代码组件和/或计算机可执行指令中,并通过它们实现完全自动化。这些方法中的一些或全部可以可替代地体现在专用计算机硬件中。
本文讨论的至少一些过程被图解为逻辑流程图,其每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的上下文中,该操作表示存储在一个或多个非暂时性计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行该指令时,该指令使计算机或自动驾驶车辆执行该操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不意欲被解释为限制,并且任何数量的该操作可以以任何顺序组合和/或并行组合以实现该过程。
除非另有说明,否则条件语言(例如,“可以”、“可”、“可以”或者“可能”)在上下文中可以理解为表示,某些示例包括而其它示例不包括某些特征、元素和/或步骤。因此,这样的条件语言一般不意味着某些特征、元素和/或步骤对于一个或多个示例是以任何方式被要求的,或者一个或多个示例必须包括逻辑,以用于在有或没有用户输入或提示的情况下,决定是否在任何特定示例中包括或将要执行某些特征、元素和/或步骤。
除非另有说明,否则合取语言(例如,短语“X、Y或Z中的至少一个”)应理解为表示项目、术语等可以是X、Y或Z、或其任意组合,包括每个元素的多个。除非明确地描述为单数,否则“一”是指单数和复数。
在此描述的流程图中和/或在附图中描述的任何例程描述、元素或框应当理解为潜在地表示包括一个或多个计算机可执行指令的代码的模块、段或部分,以用于实现例程中的特定逻辑功能或元素。可替代的实现方式被包括在本文描述的示例的范围内,其中:元素或功能可以被删除,或者从所示或讨论的操作中无序地执行,包括基本上同步地、以相反的顺序、与附加的操作一起执行或者省略操作,这取决于所涉及的功能,如本领域技术人员将理解的。
可以对上述示例进行许多变化和修改,其元素应理解为是其他可接受的示例中的一个。所有这些修改和变化都包括在本公开的范围内,并由所附权利要求保护。

Claims (15)

1.一种系统,包括:
一个或多个传感器;
一个或多个处理器;以及
存储器,所述存储器存储处理器可执行指令,所述处理器可执行指令在由所述一个或多个处理器执行时,使所述系统执行操作,所述操作包括:
从与自动驾驶车辆相关联的传感器接收传感器数据;
接收与所述自动驾驶车辆的轨迹相关联的通路;
至少部分地基于以下各项来确定与地面分类相关联的所述传感器数据的第一子集:
将与所述通路和第一数量的通道相关联的一部分传感器数据映射到更低维的表示;
确定所述传感器的多个通道,所述多个通道包括与所述通路相关联的一个或多个返回;
至少部分地基于所述多个通道来确定多个控制点和多个结点;
至少部分地基于所述通路内的一部分传感器数据,来确定具有所述多个控制点和所述多个结点的曲线;以及
至少部分地基于所述曲线来确定所述第一子集;以及
至少部分地基于所述第一子集来控制所述自动驾驶车辆。
2.如权利要求1所述的系统,其中,确定所述曲线还包括:将与控制点相关联的高程值限制为所述传感器数据的平均高程加上缓冲距离。
3.如权利要求1或2所述的系统,其中,确定所述曲线还包括:
至少部分地基于所述一部分传感器数据,来确定具有所述多个控制点和所述多个结点的估计曲线;
至少部分地基于所述多个结点和所述估计曲线的长度来确定阈值距离;
确定与所述估计曲线相关联的第一结点和第二结点之间的距离小于所述阈值距离;以及
改变所述第一结点或所述第二结点中的至少一个的位置,使得它们之间的距离满足或超过所述阈值距离。
4.如权利要求1-3中任一项所述的系统,其中,确定所述曲线还包括:
确定传感器数据点和估计曲线之间的残差;
至少部分地基于所述残差来确定损耗,第一残差的损耗大于第二残差的损耗,所述第一残差与所述估计曲线下方的第一传感器数据点相关联,所述第二残差与所述估计曲线上方的第二传感器数据点相关联;以及
至少部分地基于损耗来改变所述估计曲线。
5.如权利要求1-4中任一项所述的系统,其中,确定所述曲线还包括:
至少部分地基于所述多个通道来确定多个容器;
跨所述容器划分所述一部分传感器数据,一个容器与所述一部分传感器数据的第二子集相关联,其中,所述第二子集包括传感器数据点;以及
确定与所述第二子集相关联的权重,其中,确定所述权重包括:至少部分地基于与所述传感器数据点相关联的高程,来确定与所述传感器数据点相关联的权重。
6.如权利要求1-5中任一项所述的系统,其中,确定所述曲线至少部分地基于:
确定所述传感器数据点和估计曲线之间的残差;
至少部分地基于一个或多个残差和权重来确定损耗;以及
至少部分地基于定位所述控制点和结点来确定所述曲线,以减少所述损耗。
7.如权利要求1-6中任一项所述的系统,其中,确定权重还包括:
确定与所述第二子集相关联的最大高程和最小高程;以及以下两项中的任一项:
至少部分地基于确定所述最大高程和所述最小高程之间的差小于阈值障碍物高度,来将权重确定为相同权重;或者
至少部分地基于确定所述差满足或超过所述阈值障碍物高度,来将所述第二子集中的高程低于阈值高程的传感器数据点的权重确定为较大。
8.如权利要求1-7中任一项所述的系统,其中,所述操作还包括:
至少部分地基于所述第一子集,来确定与物体分类相关联的激光雷达数据的第二子集;以及
至少部分地基于所述第二子集,来确定与物体的至少一部分相关联的位置和速度,
其中,控制所述自动驾驶车辆包括至少部分地基于所述位置或所述速度中的至少一项来确定执行:
控制所述自动驾驶车辆执行所述轨迹,或者
控制所述自动驾驶车辆执行视情况而定的轨迹。
9.一种非暂时性计算机可读介质,其存储处理器可执行指令,所述处理器可执行指令在由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
从与自动驾驶车辆相关联的传感器接收传感器数据;
接收与所述自动驾驶车辆的轨迹相关联的通路;
至少部分地基于以下各项来确定与地面分类相关联的所述传感器数据的第一子集:
确定所述传感器的多个通道,所述多个通道包括与所述通路相关联的一个或多个返回;
至少部分地基于所述多个通道来确定多个控制点和多个结点;
至少部分地基于所述通路内的一部分传感器数据,来确定具有所述多个控制点和所述多个结点的曲线;以及
至少部分地基于所述曲线来确定所述第一子集;以及
至少部分地基于所述第一子集来控制所述自动驾驶车辆。
10.如权利要求9所述的非暂时性计算机可读介质,其中,确定所述曲线还包括:将与控制点相关联的高程值限制为所述传感器数据的平均高程加上缓冲距离。
11.如权利要求10或11所述的非暂时性计算机可读介质,其中,确定所述曲线还包括:
至少部分地基于所述一部分传感器数据,确定具有所述多个控制点和所述多个结点的估计曲线;
至少部分地基于所述多个结点和所述估计曲线的长度来确定阈值距离;
确定与所述估计曲线相关联的第一结点和第二结点之间的距离小于所述阈值距离;以及
改变所述第一结点或所述第二结点中的至少一个的位置,使得它们之间的距离满足或超过所述阈值距离。
12.如权利要求9-11中任一项所述的非暂时性计算机可读介质,其中,确定所述曲线还包括:
确定传感器数据点和估计曲线之间的残差;
至少部分地基于所述残差来确定损耗,第一残差的损耗大于第二残差的损耗,所述第一残差与所述估计曲线下方的第一传感器数据点相关联,所述第二残差与所述估计曲线上方的第二传感器数据点相关联;以及
至少部分地基于损耗来改变所述估计曲线。
13.如权利要求9-12中任一项所述的非暂时性计算机可读介质,其中,确定所述曲线还包括:
至少部分地基于所述多个通道来确定多个容器;
跨所述容器划分所述一部分传感器数据,一个容器与所述一部分传感器数据的第二子集相关联,其中,所述第二子集包括传感器数据点;以及
确定与所述第二子集相关联的权重,其中,确定所述权重包括:至少部分地基于与所述传感器数据点相关联的高程,来确定与所述传感器数据点相关联的权重。
14.如权利要求9-13中任一项所述的非暂时性计算机可读介质,其中,确定所述曲线至少部分地基于:
确定所述传感器数据点和估计曲线之间的残差;
至少部分地基于一个或多个残差和权重来确定损耗;以及
至少部分地基于定位所述控制点和结点来确定所述曲线,以减少所述损耗。
15.如权利要求9-14中任一项所述的非暂时性计算机可读介质,其中,确定权重还包括:
确定与所述第二子集相关联的最大高程和最小高程;以及以下两项中的任一项:
至少部分地基于确定所述最大高程和所述最小高程之间的差小于阈值障碍物高度,来将权重确定为相同权重;或者
至少部分地基于确定所述差满足或超过所述阈值障碍物高度,来将所述第二子集中的高程低于阈值高程的传感器数据点的权重确定为较大。
CN202080068435.3A 2019-09-30 2020-09-16 复杂地面轮廓估计 Pending CN114555446A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/588,717 2019-09-30
US16/588,717 US11353592B2 (en) 2019-09-30 2019-09-30 Complex ground profile estimation
PCT/US2020/051135 WO2021067039A1 (en) 2019-09-30 2020-09-16 Complex ground profile estimation

Publications (1)

Publication Number Publication Date
CN114555446A true CN114555446A (zh) 2022-05-27

Family

ID=72670828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080068435.3A Pending CN114555446A (zh) 2019-09-30 2020-09-16 复杂地面轮廓估计

Country Status (5)

Country Link
US (1) US11353592B2 (zh)
EP (1) EP4037946A1 (zh)
JP (1) JP2022550388A (zh)
CN (1) CN114555446A (zh)
WO (1) WO2021067039A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220089148A1 (en) * 2020-09-18 2022-03-24 Hyundai Mobis Co., Ltd. Parking control apparatus and parking control method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220126843A1 (en) * 2019-02-15 2022-04-28 Eric J. Dean Proactive vehicular security system
US11500385B2 (en) 2019-09-30 2022-11-15 Zoox, Inc. Collision avoidance perception system
WO2021113346A1 (en) * 2019-12-03 2021-06-10 Nvidia Corporation Landmark detection using curve fitting for autonomous driving applications
GB2591332B (en) * 2019-12-19 2024-02-14 Motional Ad Llc Foreground extraction using surface fitting
US11960292B2 (en) * 2021-07-28 2024-04-16 Argo AI, LLC Method and system for developing autonomous vehicle training simulations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364334B2 (en) 2008-10-30 2013-01-29 Honeywell International Inc. System and method for navigating an autonomous vehicle using laser detection and ranging
EP2574958B1 (en) 2011-09-28 2017-02-22 Honda Research Institute Europe GmbH Road-terrain detection method and system for driver assistance systems
GB201116960D0 (en) 2011-09-30 2011-11-16 Bae Systems Plc Monocular camera localisation using prior point clouds
US9285230B1 (en) 2013-12-20 2016-03-15 Google Inc. Methods and systems for detecting road curbs
US9632502B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US10265856B2 (en) 2016-07-21 2019-04-23 X Development Llc Reorienting a distance sensor using an adjustable leveler
US10592805B2 (en) 2016-08-26 2020-03-17 Ford Global Technologies, Llc Physics modeling for radar and ultrasonic sensors
US10377375B2 (en) 2016-09-29 2019-08-13 The Charles Stark Draper Laboratory, Inc. Autonomous vehicle: modular architecture
CN110023165A (zh) 2016-11-29 2019-07-16 马自达汽车株式会社 车辆控制装置
WO2018208591A1 (en) 2017-05-06 2018-11-15 The Texas A&M University System Method and system for vehicular communication and safety monitoring of driving environment to provide early warnings in real-time
DE102017215844A1 (de) 2017-09-08 2019-03-14 Robert Bosch Gmbh Verfahren zum Betreiben eines Fahrzeugs
US10823855B2 (en) 2018-11-19 2020-11-03 Fca Us Llc Traffic recognition and adaptive ground removal based on LIDAR point cloud statistics
US11287523B2 (en) * 2018-12-03 2022-03-29 CMMB Vision USA Inc. Method and apparatus for enhanced camera and radar sensor fusion
US11500385B2 (en) 2019-09-30 2022-11-15 Zoox, Inc. Collision avoidance perception system
DE112020006410T5 (de) * 2019-12-31 2022-10-27 Nvidia Corporation Dreidimensionale kreuzungsstrukturvorhersage für anwendungen zum autonomen fahren

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220089148A1 (en) * 2020-09-18 2022-03-24 Hyundai Mobis Co., Ltd. Parking control apparatus and parking control method
US11801831B2 (en) * 2020-09-18 2023-10-31 Hyundai Mobis Co., Ltd. Parking control apparatus and parking control method

Also Published As

Publication number Publication date
JP2022550388A (ja) 2022-12-01
US20210096264A1 (en) 2021-04-01
US11353592B2 (en) 2022-06-07
WO2021067039A1 (en) 2021-04-08
EP4037946A1 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
US11124185B2 (en) Perception collision avoidance
US11353577B2 (en) Radar spatial estimation
US10649459B2 (en) Data segmentation using masks
US11500385B2 (en) Collision avoidance perception system
US11625041B2 (en) Combined track confidence and classification model
US20200211394A1 (en) Collision avoidance system
JP2022554184A (ja) オブジェクトの検出及び追跡
JP2022552138A (ja) 衝突回避知覚システム
US11353592B2 (en) Complex ground profile estimation
CN115038628A (zh) 对象速度和/或偏航率检测和跟踪
US11614742B2 (en) Height estimation using sensor data
US11604465B2 (en) Correction of sensor data alignment and environment mapping
CN115485177A (zh) 雷达跟踪的对象速度和/或偏航
US20230169777A1 (en) Center-based detection and tracking
WO2022232708A1 (en) Velocity regression safety system
WO2022125308A1 (en) Determining inputs for perception system
WO2023043638A1 (en) Associating image data and depth data for depth determination
WO2023192515A1 (en) Ground profile estimation for sensor data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination