CN116670000A - 横向安全区域 - Google Patents
横向安全区域 Download PDFInfo
- Publication number
- CN116670000A CN116670000A CN202180082715.4A CN202180082715A CN116670000A CN 116670000 A CN116670000 A CN 116670000A CN 202180082715 A CN202180082715 A CN 202180082715A CN 116670000 A CN116670000 A CN 116670000A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- trajectory
- safety zone
- determining
- distance
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 84
- 230000001133 acceleration Effects 0.000 claims description 20
- 238000004088 simulation Methods 0.000 claims description 9
- 238000002604 ultrasonography Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 35
- 230000015654 memory Effects 0.000 description 28
- 230000008447 perception Effects 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000001953 sensory effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- HCDMJFOHIXMBOV-UHFFFAOYSA-N 3-(2,6-difluoro-3,5-dimethoxyphenyl)-1-ethyl-8-(morpholin-4-ylmethyl)-4,7-dihydropyrrolo[4,5]pyrido[1,2-d]pyrimidin-2-one Chemical compound C=1C2=C3N(CC)C(=O)N(C=4C(=C(OC)C=C(OC)C=4F)F)CC3=CN=C2NC=1CN1CCOCC1 HCDMJFOHIXMBOV-UHFFFAOYSA-N 0.000 description 1
- 241000237519 Bivalvia Species 0.000 description 1
- AYCPARAPKDAOEN-LJQANCHMSA-N N-[(1S)-2-(dimethylamino)-1-phenylethyl]-6,6-dimethyl-3-[(2-methyl-4-thieno[3,2-d]pyrimidinyl)amino]-1,4-dihydropyrrolo[3,4-c]pyrazole-5-carboxamide Chemical compound C1([C@H](NC(=O)N2C(C=3NN=C(NC=4C=5SC=CC=5N=C(C)N=4)C=3C2)(C)C)CN(C)C)=CC=CC=C1 AYCPARAPKDAOEN-LJQANCHMSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000020639 clam Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
- B60W60/0016—Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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
- B60W30/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18154—Approaching an intersection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
- B60W2555/60—Traffic rules, e.g. speed limits or right of way
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
本文讨论了用于确定车辆的安全区域的技术。在一些情况下,第一安全区域可以基于车辆行驶通过环境,以及第二安全区域可以基于车辆的转向控制或速度。安全区域的宽度可以基于与车辆相关联的边界框的位置被更新。该位置可以基于车辆沿着轨迹行进。传感器数据可以基于落在安全区域内的传感器数据而被过滤。
Description
相关申请的交叉引用
本专利申请要求享有于2020年12月16日提交的美国实用新型专利申请第17/124,220号和于2020年12月16日提交的美国实用新型专利申请第17/124,237号的优先权。申请序列号17/124,220和17/124,237通过引用完全并入本文。
背景技术
车辆能够捕获传感器数据以检测环境中的对象。虽然传感器数据总体上能够用于检测对象,但是与处理传感器数据相关联的***限制可以导致在极少数情况下对象未被检测到。例如,由车辆在转弯之前或转弯期间捕获的与对象相关联的传感器数据可能没有被及时地处理,其中,该对象正在接近与车辆的轨迹相关联的位置。由于处理传感器数据的延迟,可能无法检测到潜在的碰撞并及时部署安全措施。
附图说明
参考附图来描述具体实施方式。在图中,附图标记的最左边的数字标识该附图标记首次在其中出现的图。在不同的图中使用相同的附图标记指示相似或相同的组件或特征。
图1是根据本公开的示例的用于基于包括转弯的车辆轨迹来确定安全区域的示例过程的图示流程图。
图2是根据本公开的示例的包括安全区域的一部分的环境,该安全区域具有基于与车辆相关联的边界框的定向确定的宽度。
图3是根据本公开的示例的用于基于与车辆相关联的边界框来确定安全区域的区段的示例过程的图示流程图。
图4描绘了用于实现本文描述的技术的示例***的框图。
图5描绘了根据本公开的示例的包括基于车辆轨迹确定的边界和基于与边界相关联的线确定的安全区域的环境。
图6描绘了根据本公开的示例的包括安全区域的环境,该安全区域是基于包括左转弯的车辆轨迹确定的。
图7是根据本公开的示例的用于基于车辆是停止的来确定安全区域的示例过程的图示流程图。
图8是描绘根据本公开的示例的用于基于包括转弯的车辆轨迹来确定安全区域的示例过程的流程图。
图9是描绘根据本公开的示例的用于基于与车辆相关联的边界框的定向来确定安全区域的一部分的宽度的示例过程的流程图。
具体实施方式
本文讨论了用于确定车辆的安全区域的技术。例如,技术可以包括基于车辆轨迹来确定一个或多个安全区域。在一些情况下,可以基于轨迹的方向(例如,左转弯或右转弯)、位置、要执行的机动、或轨迹的速度中的一个或多个来确定安全区域。在一些示例中,安全区域可以包括被生成为围绕轨迹的恒定宽度的第一安全区域和基于位置(例如,当经过交叉时为垂直的)或基于与车辆相关联的转弯、机动、或速度的第二安全区域。在一些示例中,基于将车辆的运动沿着轨迹投影并确定与边界框相关联的点是否落在安全区域之外,安全区域可以被加宽或以其他方式被更新。可以基于安全区域来过滤传感器数据以减少处理量,同时以更准确和更可靠的方式针对与环境中的对象的潜在碰撞评估传感器数据。这样的安全区域可以由与车辆相关联的安全***使用。在这样的示例中,可以过滤掉与安全区域之外的区域相关联的可用传感器(或其他)数据,以提供可用于处理与安全区域相关联的数据的增强资源。
如上面所指出的,第一安全区域可以基于与接收到的轨迹相关联的宽度被确定,而第二安全区域可以基于轨迹的方面被确定。例如,第二安全区域可以被确定为靠近车辆和/或与车辆相邻(例如,在车辆的纵向端部或侧面)。在一些情况下,第二安全区域可以被确定为在车辆前方并且与第一安全区域垂直。在一些情况下,第二安全区域可以被确定为与第一安全区域平行并且与车辆相邻。车辆可以接收并过滤与车辆行驶经过的环境相关联的传感器数据。传感器数据可以被过滤以确定与第一安全区域和/或第二安全区域相关联的传感器数据。与(多个)安全区域相关联的经过滤的传感器数据可以用于确定与(多个)安全区域相关联的对象以及确定任何潜在的安全问题(例如,碰撞或其他),以调用任何安全动作(例如,更新机动、调用紧急停止等)。
(多个)安全区域中的每一个安全区域的(多个)部分的宽度可以基于与车辆和/或环境相关联的信息被确定。该信息可以用于确定与车辆相关联的边界框。在一些示例中,可以基于边界框(例如,与车辆相关联的边界框)来确定与安全区域(例如,第一安全区域)的部分相关联的宽度。此外,接收到的轨迹可以被离散化。与安全区域(例如,第一安全区域或第二安全区域)相关联的一个或多个区段可以基于被离散化的轨迹来确定。在一些示例中,(多个)安全区域的区段可以基于与轨迹相关联的离散化区段来确定。(多个)区段中的每一个区段的宽度可以基于第一宽度(例如,固定宽度)或第二宽度被确定,该第二宽度是基于与边界框相关联的点、和区段的边缘的。可以至少部分地基于速度限制、传感器范围、该区域中先前观察到的对象等来确定安全区域的任何部分的范围,以便限制在安全***中执行的处理量。
本文讨论的技术能够以多种附加方式改进计算设备的功能。在一些情况下,确定安全区域可以用于减少要求处理的数据量以避免环境中的潜在碰撞。第二安全区域可以基于第一安全区域与关联于车辆的轨迹来被确定,以更高效和更准确地确定对象。通过利用第二安全区域来过滤传感器数据,可以节省资源和/或针对不同任务重新分配资源。可以分析(多个)安全区域的(多个)部分的(多个)宽度而不是整个(多个)安全区域,以确定潜在碰撞并减少要求分析的数据量。可以通过在较早的时间确定潜在碰撞和通过简化确定经修改的加速度简档所要求的处理量和/或复杂度来节省用于控制车辆的资源。
本文描述的技术可以以多种方式实现。在下文参考以下附图提供示例实现方式。虽然适用于车辆(例如,自主车辆),但是本文描述的方法、设备和***能够应用于各种***并且不限于自主车辆。在另一示例中,这些技术能够用于航空或航海上下文中,或者用于被配置为输入数据以确定与环境中的对象相关联的移动的任何***中。此外,本文描述的技术能够与(例如,使用传感器捕获的)真实数据、(例如,由模拟器生成的)模拟数据、或任何两者的组合一起使用。
图1是根据本公开的示例的用于基于包括转弯的车辆轨迹来确定安全区域的示例过程的图示流程图100。
操作102可以包括基于轨迹确定安全区域(例如,第一安全区域)。第一安全区域可以基于与行驶通过环境的车辆相关联的轨迹来确定。在一些示例中,第一安全区域可以至少部分地基于车辆的宽度和/或长度、车辆的当前速度和/或与轨迹相关联的速度等来确定。在一些示例中,第一安全区域的最大宽度可以是车辆的宽度和/或车辆当前所位于的车道的宽度。在一些示例中,第一安全区域的每个部分的宽度可以是相同的宽度。在其他示例中,第一安全区域的一个或多个部分中的每一个部分的宽度可以基于车辆在未来时间在沿着第一安全区域的位置处的表示而被扩展。在一些示例中,可以基于垂直于轨迹的固定距离来确定第一安全区域。第一安全区域的每个横截面的中心点可以与轨迹的点位于同一位置。该轨迹可以被确定为与车辆的转弯(例如,右转弯)相关联。可以基于轨迹与右转弯相关联来将第一安全区域确定为与该右转弯相关联。
示例104示出了包括基于轨迹108的第一安全区域(例如,安全区域106)的环境。安全区域106可以基于与行驶通过该环境的车辆110相关联的轨迹来确定。在一些示例中,安全区域106可以基于车辆110的宽度和/或长度、车辆110的当前速度和/或与轨迹108相关联的速度等来确定。安全区域106的每一个部分的宽度可以是相同的宽度。安全区域106的每一个横截面的中心点可以与轨迹108的点位于同一位置。轨迹108可以被确定为与车辆110的转弯(例如,右转弯)相关联。可以基于轨迹108与右转弯相关联来将安全区域106确定为与该右转弯相关联。在一些示例中,安全区域106的宽度的距离可以与车辆110的宽度的距离相同。在一些示例中,安全区域106的宽度的距离可以比车辆110的宽度的距离大阈值距离或小阈值距离。
操作112可以包括基于轨迹确定安全区域(例如,第二安全区域)。可以基于轨迹与转弯(例如,右转弯)相关联来确定第二安全区域。在一些示例中,可以至少部分地基于安全区域的一部分与被控制转弯的车辆相关联来确定第二安全区域。在一些示例中,可以基于环境中的转弯(例如,与该转弯相关联的转弯角度)达到或超过阈值转弯角度来确定第二安全区域。可以基于与环境和/或车辆相关联的信息来确定第二安全区域。在一些示例中,可以基于车辆与交叉(例如,与最靠近车辆的十字路口的边界相关联、平行和重叠的线)之间的距离低于阈值距离和/或基于车辆的速度低于阈值速度来确定第二安全区域。在一些示例中,第二安全区域的最大宽度可以是与车辆当前所位于的车道垂直的相交车道的宽度。贯穿本公开内容讨论了第二安全区域的附加示例。
在一些示例中,第二安全区域的定向可以基于第一安全区域的定向。例如,可以基于与第一安全区域的部分相切的线来确定第二安全区域的定向。第二安全区域可以实质上垂直于第一安全区域。在一些情况下,第二安全区域可以邻接(例如,接触)车辆。例如,第二安全区域在车辆一侧的边界的部分的位置可以与车辆的纵向端部(例如,最靠近车辆被控制向其移动的位置的纵向端部)的部分的位置相关联。在一些示例中,车辆的纵向端部的部分可以是车辆的组件(例如,保险杠)上的部分。边界(例如,近侧边界(例如,在第二安全区域的最靠近纵向端部的部分的一侧的边界))的部分可以是边界的到车辆最接近的点。车辆的纵向端部的部分可以是纵向端部距边界最接近的点。
在一些情况下,第二安全区域可以与车辆的纵向端部间隔开(例如,不邻接)。例如,第二安全区域与纵向端部之间的距离可以被确定为等于、或大于阈值距离(例如,1米、10米、30米、100厘米等)。在一些情况下,第二安全区域的近侧边界可以被确定为在车辆的纵向端部的前方。在一些情况下,近侧边界可以被确定为在车辆内部。
在一些示例中,第二安全区域相对于车辆是固定的,使得第二安全区域的位置随着车辆穿越环境而被更新。在一些示例中,第二安全区域与车辆之间的距离可以变化(例如,该距离能够随着车辆与交叉之间的距离低于阈值距离、或者随着车辆的速度低于阈值速度而减小)。
在一些示例中,因为可以基于轨迹来确定第一安全区域,所以第一安全区域可以被认为是可行驶区域。然而,在一些示例中,第二安全区域可以包括诸如人行道、建筑物等之类的不可行驶表面,虽然第二安全区域也可以包括可行驶表面。
示例114示出了基于轨迹的第二安全区域(例如,安全区域116)。可以基于轨迹与转弯(例如,右转弯)相关联来确定安全区域116。在一些示例中,可以基于环境中的转弯(例如,与转弯相关联的转弯角度)达到或超过阈值转弯角度来确定安全区域116。在一些示例中,安全区域116的最大宽度可以是与车辆110当前所位于的车道垂直的相交车道的宽度。
在本文讨论的各种示例中,可以至少部分地基于车辆可用的地图数据来限制这样的第二安全区域。在这样的示例中,可以基于与地图相关联的几何数据和/或与其相关联的参数(例如,速度限制、人行横道等)来界定宽度、长度或其他范围。
操作118可以包括确定对象与第二安全区域相关联。在一些情况下,可以基于从车辆的一个或多个传感器接收到的传感器数据来确定对象。例如,传感器数据可以包括来自车辆上多种类型传感器(例如,光检测和测距(LIDAR)传感器、雷达传感器、图像传感器、深度传感器(飞行时间、结构光等)等)的数据。用于确定环境中的对象的传感器数据可以被过滤,作为经过滤的传感器数据(例如,传感器数据的子集)。传感器数据的子集可以包括与第一安全区域和/或第二安全区域相关联的数据。可以基于传感器数据的子集将对象确定为与第一安全区域和/或第二安全区域相关联。可以基于传感器数据的子集来确定对象将与轨迹相交的可能性(例如,相交的可能性)。
在一些示例中,安全区域116的宽度的距离可以与车辆110的宽度的距离相同。在一些示例中,安全区域116的宽度的距离可以比车辆110的宽度的距离大阈值距离或小阈值距离。宽度的距离可以基于车辆110的宽度被自动地设置和/或基于与安全区域116重叠和/或相关联的道路的大小被动态地调整。如结合图2所讨论的,(多个)安全区域的宽度可以被加宽,或基于车辆沿着轨迹的模拟或投影运动而被更新。
示例120示出了与第二安全区域(例如,安全区域116)相关联的对象122。在一些情况下,对象122可以基于从车辆的一个或多个传感器接收到的传感器数据来确定。用于确定对象122的传感器数据可以被过滤,作为经过滤的传感器数据。经过滤的传感器数据可以包括与安全区域116相关联的数据。对象122可以基于经过滤的传感器数据被确定为与安全区域116相关联。
在一些示例中,与安全区域106相关联的传感器数据(例如,激光雷达数据点)可以与关联于安全区域116的传感器数据(例如,激光雷达数据点)相融合。例如,与安全区域106和安全区域116中的每一个相关联的传感器数据(例如,重叠的传感器数据)可以被处理一次并用于安全区域106和安全区域116中的每一个。与处理重叠的传感器数据两次相反,针对安全区域106和安全区域116中的每一个处理一次可以省去一半的处理。通过针对安全区域106和安全区域116两者处理和/或分析重叠的传感器数据一次,可以节省和/或优化计算资源。
操作124可以包括基于对象控制车辆。例如,可以基于对象将与车辆的轨迹相交的可能性来控制车辆。在一些示例中,可以控制车辆减速(例如,放慢速度)和/或停止。可以通过修改加速度或转向命令中的一个或多个来控制车辆以减少相交的可能性。可以控制车辆以停止在与车辆和对象之间的距离相关联的位置处,该距离高于被维持的阈值距离。例如,可以控制车辆的速度降低(例如,降低到每小时10英里(“mph”)、5mph、0mph等)。随着对象在环境内(例如,在第二安全区域内)移动,基于车辆与对象之间的距离被确定为大于阈值距离,通过控制车辆放慢速度可以避免车辆与对象之间的潜在碰撞。
在一些示例中,可以基于对象控制车辆加速(例如,加快速度)。例如,可以控制车辆的速度增加(例如,增加到5mph、15mph、20mph等)。通过控制车辆加快速度,可以避免车辆与对象之间的潜在碰撞。随着车辆被控制转弯以及随着对象在环境内移动,可以基于车辆与对象之间的距离被确定为大于阈值距离来避免碰撞。可以基于加速或减速的选项、基于与每个选项相关联的潜在碰撞的预测可能性来控制车辆。被确定以控制车辆的选项可以基于与该选项相关联的预测可能性小于与另一选项相关联的预测可能性。
示例126示出了基于对象122来控制车辆110。在一些示例中,可以控制车辆110以进行减速、停止和/或加速中的一个或多个。可以控制车辆110以停止在位置128处。在一些示例中,可以基于确定对象122离开安全区域116来控制车辆110返回轨迹108。通过分析与安全区域116相关联的传感器数据,车辆110可以基于对象122的移动的改变来响应对象122。基于对象在车辆110进入安全区域116之前离开安全区域116,车辆110可以忽略检测到对象122。
因此,并且如本文所描述的,可以基于与车辆相关联的轨迹来确定多个安全区域。安全区域可以用于更准确地确定在车辆行驶经过的环境内移动的对象。多个安全区域中的一个安全区域(例如,横向安全区域)可以垂直于与轨迹平行或共线的其他安全区域。横向安全区域可以用于过滤掉传感器数据。通过过滤掉传感器数据,可以快速且准确地确定对象。可以在车辆接近交叉时确定对象。可以控制车辆停止并避免与障碍物的潜在碰撞。例如,可以控制车辆减速至较慢的速度、减速至停止、加速和/或采取另一动作(例如,转弯),以便降低与对象潜在碰撞的可能性。
图2是根据本公开的示例的包括安全区域的一部分的环境200,该安全区域具有基于与车辆相关联的边界框的定向确定的宽度。
在一些示例中,可以基于车辆204的轨迹206来确定与车辆204相关联的边界框202的位置。可以基于车辆204沿着轨迹206穿越的模拟来确定边界框202的位置。模拟可以包括边界框202沿着轨迹206的每一个部分传播。随着边界框202被传播,边界框202的纵向定向可以与轨迹206一致(例如,相切)。边界框202可以包括诸如位置、定向、姿态和/或大小(例如,长度、宽度、高度等)之类的与车辆相关联的信息和/或与该信息相关联。边界框202可以包括一个或多个边界框点(例如,边界框点208),其中(多个)边界框点中的每一个边界框点与车辆204的拐角相关联。对于沿着轨迹穿越的边界框202的每个位置,该信息可以包括与边界框202的每一个点相关联的位置。
在一些示例中,轨迹206可以被离散化为区段,安全区域212的多个区段(例如,区段210)与轨迹206的区段相关联。沿着轨迹206的边界框202的位置可以基于离散化轨迹的区段中的一个。安全区域212的多个区段中包括的区段的数量不受限制并且可以包括任何数量的区段。在一些情况下,每一个区段的形状是多边形(例如,矩形)。
在一些示例中,可以沿着轨迹306确定边界框202的位置,边界框202表示在未来时间的车辆204。与沿着安全区域212的车辆204相关联的位置可以基于车辆204在未来时间沿着轨迹206穿越的模拟。
在一些示例中,对于沿着轨迹穿越的边界框的每个位置,可以针对边界框点确定距离。对于边界框202的位置,可以确定从每个边界框点到轨迹206的距离,以及从轨迹到安全区域212的边界(例如,边界214或边界216)的距离。例如,对于边界框202的位置,可以确定第一点(例如,边界框点(例如,边界框点208))与第二点(例如,轨迹上的最接近的点(例如,最接近的点220))之间的距离218。对于边界框202的每个点,可以确定最接近的点220与区段(例如,区段210)的边缘(例如,边缘224)和/或边界(例如,最接近的边界(例如,边界214))之间的距离222。
在一些示例中,可以确定距离218与距离222之间的差。基于边界框202在边界框点208处具有比轨迹206在最接近的点220处更宽的转弯半径,可以确定距离218达到或超过距离222。基于距离218达到或超过距离222(例如,距离222(例如,第一距离)小于或等于距离218(例如,第二距离)),区段210的宽度随后可以被更新以包括距离218。在一些示例中,安全区域212可以被确定为具有与区段210相关联的部分,该部分包括随后被更新为包括距离218的宽度。
在一些示例中,可以基于与区段210的不同侧(例如,相对于转弯的右侧和/或内侧)相关联的距离来更新区段210的宽度。例如,可以确定与不同侧相关联的边界框点和最接近的点220之间的距离。可以确定最接近的点220与关联于区段和/或边界216的不同侧的边缘(例如,边缘226)之间的距离。基于边界框点之间的距离达到或超过最接近的点220与边缘226之间的距离,区段210的宽度可以随后被更新以包括与不同侧相关联的边界框点和最接近的点220之间的距离。
上文关于图2描述的特征不限于此并且可以结合上文关于图1描述的特征中的任一特征来实现。例如,上文关于图2描述的特征中的任一特征可以结合上文关于图1描述的特征中的任一特征来实现。通过组合上文关于图1和图2两者描述的特征,可以更准确和更安全地控制车辆。例如,图2的更新后的安全区域宽度可以与图2的第二安全区域一起使用,以控制车辆防止潜在的碰撞。
图3是根据本公开的示例的用于基于与车辆相关联的边界框来确定安全区域的区段的示例过程的图示流程图300。
操作302可以包括确定与安全区域相关联的区段。在一些示例中,与车辆相关联的轨迹可以被离散化为与安全区域相关联的多个区段。安全区域可以具有在转弯外侧的边界和在转弯内侧的边界。可以基于多个区段中的每一个区段来确定与车辆相关联的边界框的位置。边界框的位置可以沿着轨迹被确定。安全区域可以包括任何数量的区段。区段的数量可以大于阈值数量,使得基于多个区段确定的安全区域可以被视为连续的。在一些示例中,安全区域的最大宽度可以是车辆的宽度和/或车辆当前所位于的车道的宽度。
示例304示出了与车辆308相关联的轨迹306。轨迹306可以被离散化。与安全区域(例如,安全区域312)相关联的多个区段(例如,区段310)可以与离散化轨迹306的区段相关联。例如,区段中的每一个区段可以与第一安全区域的部分相关联。安全区域312可以具有在转弯外侧的边界314和在转弯内侧的边界316。可以基于离散化轨迹306的区段中的每一个区段来确定与车辆308相关联的边界框的位置。可以沿着轨迹306确定边界框的位置。
在一些示例中,可以基于区段的第一侧的距离(例如,距离318)和区段的第二侧的距离(例如,距离324)来确定区段中的每一个区段(例如,区段310)的宽度。距离318可以是区段的边缘(例如,边缘320)与轨迹306上的最接近的点(例如,点322)之间的距离。例如,距离318可以是从点322在垂直方向上延伸并终止于边界316的假想线的长度。距离324可以是区段的另一边缘(例如,边缘326)与轨迹306上的点之间的距离。例如,距离324可以是从点322在垂直方向上延伸并终止于边界326的假想线的长度。轨迹306上的与区段相关联的点可以具有在区段的中心的位置。
与安全区域的相应的部分相关联的每一个区段的宽度可以是第一侧的距离与第二侧的距离的总和。例如,区段310的宽度可以是距离318与距离324的总和。在一些情况下,区段中的每一个区段的宽度可以是相同的宽度。然而,宽度不限于此并且可以基于各种参数而变化。例如,与安全区域的相应的部分相关联的区段中的任一区段的宽度可以基于各种类型的信息来确定,这些信息包括但不限于车辆的速度、车辆正在行驶的道路的地形类型、天气类型、道路和/或车道的维度、车辆特性(例如,轮胎或制动器的类型和/或年龄)、车辆正在行驶的道路或十字路口的速度限制等。用于确定宽度的信息可以是实时数据或与在相似情况下的相似车辆相关联的历史数据。轨迹306可以被离散化为与安全区域312相关联的任何数量的区段。例如,区段的数量可以是任何数量(例如,一个、或者十、百、千等数量级的数量),包括接近无穷大的数量。安全区域312的多个区段的组合可以与离散化轨迹306的区段相关联并且可以接近连续区域。
操作328可以包括确定与增强的安全区域(例如,经修改的安全区域)相关联的区段的宽度。在一些示例中,可以基于与区段的第一侧相关联的距离和关联于区段的第二侧的另一距离来确定区段的宽度。与第一侧和第二侧相关联的距离中的每一个可以被确定为第一距离和第二距离之间的较大距离。第一距离可以与安全区域的边界相关联和/或与安全区域的部分相关联的区段的边缘相关联。例如,第一距离可以是轨迹上的最接近的点与安全区域的区段的边缘之间的距离,和/或最接近的点与安全区域的部分的边界之间的距离。第二距离可以与模拟边界框上的点相关联。例如,第二距离可以是边界框的点与最接近的点之间的距离。在一些示例中,增强安全区域的最大宽度可以是车辆当前所位于的车道的宽度。
示例330示出了与增强的安全区域(例如,安全区域332)相关联的区段(例如,区段310)的宽度。在一些示例中,可以基于与区段310的第一侧相关联的距离(例如,距离334)和关联于区段310的第二侧的另一距离(例如,距离336)来确定区段310的宽度。与安全区域的相应的部分相关联的每一个区段的宽度可以是第一侧的距离(例如,距离334)与第二侧的距离(例如,距离336)的总和。
在一些示例中,可以确定与车辆308在未来时间沿着安全区域332相关联的位置。可以确定与车辆308在未来时间的表示相关联的点在该位置处距轨迹306的最大距离。车辆的表示可以包括边界框。安全区域332的部分(例如,与区段310相关联的安全区域332的部分)的宽度可以被确定为在该位置处的最大距离并用于控制车辆308。例如,最大距离可以包括距离334和距离336的组合。安全区域332的部分的宽度可以被确定为距离334和距离336的组合。
在一些示例中,与第一侧和第二侧相关联的距离中的每一个可以被确定为第一距离和第二距离之间的较大距离。用于确定距离334的第一距离可以与当前安全区域的当前边界(例如,边界314)相关联和/或与安全区域的部分相关联的区段的当前边缘相关联。例如,用于确定距离334的第一距离可以是最接近的点(例如,点322)与区段310的当前边缘(例如,边缘320)之间的距离和/或最接近的点(例如,点322)与当前安全区域312的部分的当前边界(例如,边界314)之间的距离。第二距离可以与模拟边界框上的点相关联。在一些示例中,用于确定距离334的第二距离可以是边界框上的点与轨迹上的最接近的点(例如,点322)之间的距离。基于第二距离大于或等于第一距离,与区段(例如,310)的第一侧相关联的距离(例如,距离334)可以被确定为第二距离。可以基于与第一侧相关联的距离(例如,距离334)被确定为第二距离来确定区段310的宽度。另外地或可替代地,可以基于与第一侧相关联的距离(例如,距离334)被确定为第二距离来确定安全区域332的部分的宽度。
在一些示例中,用于确定距离336的第一距离可以与安全区域(例如,安全区域312)的当前边界(例如,边界316)相关联和/或与关联于安全区域的部分的区段的当前边缘(例如,边缘326)相关联。例如,用于确定距离336的第一距离可以是最接近的点(例如,点322)与区段310的当前边缘(例如,边缘326)之间的距离和/或最接近的点(例如,点322)与当前安全区域312的部分的当前边界(例如,边界316)之间的距离。用于确定距离336的第二距离可以是边界框上的点与轨迹上的最接近的点(例如,点322)之间的距离。基于第二距离大于第一距离,与区段(例如,区段310)的第一侧相关联的距离(例如,距离336)可以被确定为第二距离。可以基于与第二侧相关联的距离(例如,距离336)被设置为第二距离来确定区段310的宽度。另外地或可替代地,可以基于与第一侧相关联的距离(例如,距离336)被确定为第二距离来确定安全区域332的部分的宽度。
在一些示例中,边缘338可以延伸到转弯外侧的边界314之外。边缘340可以延伸到转弯内侧的边界316之外。安全区域312可以具有可变宽度。
可以基于安全区域312和/或安全区域332来确定传感器数据的子集。在传感器数据的子集中表示的对象可以被检测到。可以确定对象将与轨迹306相交的可能性(例如,相交的可能性)。可以基于可能性来控制车辆308。上文关于图3描述的特征不限于此并且可以结合上文关于图1或图2描述的特征中的任一特征来实现。例如,可以通过修改加速度或转向命令中的一个或多个来控制车辆308以降低相交的可能性。
因此,并且如本文所描述的,与车辆相关联的轨迹可以被离散化为区段。安全区域的多个区段可以与离散化轨迹的区段相关联。区段和/或安全区域的部分可以具有基于与车辆相关联的模拟边界框的部分而被调整的宽度。可以基于模拟边界框的部分达到或超过安全区域来调整宽度。通过调整宽度,可以更准确地预测和避免与车辆和车辆行驶通过的环境中的对象的潜在碰撞。对于具有比车辆的平均长度更长的长度的车辆,可以通过调整安全区域的部分的宽度来更大程度地降低潜在碰撞的可能性。例如,通过调整针对大型卡车(例如,半挂卡车)的安全区域的部分的宽度,可以更大程度地降低潜在碰撞的可能性。
图4描绘了用于实现本文描述的技术的示例***400的框图。在至少一个示例中,***400可以包括车辆402。在示出的示例***400中,车辆402是自主车辆;然而,车辆402可以是任何其他类型的车辆。车辆402可以被实现为图1-图3和图5-图7中任一个中的车辆。
示例车辆402可以是无人驾驶车辆,例如被配置为根据美国国家公路交通安全管理局发布的5级分类操作的自主车辆,该5级分类描述了能够在整个行程中执行所有安全关键功能的车辆,其中不期望驾驶员(或乘员)在任何时候控制车辆。在这样的示例中,因为车辆402可以被配置为控制从行程的开始到完成的所有功能(包括所有停车功能),所以它可以不包括驾驶员和/或用于驱动车辆402的控件,例如,转向盘、加速度踏板和/或制动踏板。这仅是示例,并且本文所描述的***和方法可以并入任何地面、空中或水上交通工具中,包括从需要一直由驾驶员手动控制的交通工具到部分或完全自主控制的交通工具。
车辆402可以包括一个或多个第一计算设备404、一个或多个传感器***406、一个或多个发射机408、一个或多个通信连接410(也称为通信设备和/或调制解调器)、至少一个直接连接412(例如,用于与车辆402物理耦合以交换数据和/或提供电力)、以及一个或多个驱动***414。一个或多个传感器***406可以被配置为捕获与环境相关联的传感器数据。
传感器***406可以包括飞行时间传感器、位置传感器(例如,GPS、罗盘等)、惯性传感器(例如,惯性测量单元(IMU)、加速度计、磁力计、陀螺仪等)、激光雷达传感器、雷达传感器、声呐传感器、红外传感器、相机(例如,RGB、IR、强度、深度等)、麦克风传感器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)、超声换能器、车轮编码器等。传感器***406可以包括这些或其他类型的传感器中的每一个的多个实例。例如,飞行时间传感器可以包括位于车辆402的拐角、前面、后面、侧面和/或顶部的单独的飞行时间传感器。作为另一示例,相机传感器可以包括设置在车辆402外部和/或内部周围的各种位置处的多个相机。传感器***406可以向第一计算设备404提供输入。
车辆402还可以包括用于发射光和/或声音的一个或多个发射机408。在该示例中,发射机408包括内部音频和视觉发射机以与车辆402的乘客进行通信。通过示例而非限制的方式,内部发射机可以包括:扬声器、灯、标志、显示屏、触摸屏、触觉发射机(例如,振动和/或力反馈)、机械致动器(例如,安全带拉紧器、座椅***、头枕***等)等。在该示例中,发射机408还包括外部发射机。通过示例而非限制的方式,该示例中的外部发射机包括用于以信号通知行驶方向的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及用于与行人或其他附近的车辆可听地通信的一个或多个音频发射机(例如,扬声器、扬声器阵列、喇叭等),这些发射机中的一个或多个可以包括声束转向技术。
车辆402还可以包括通信连接410,该通信连接410实现在车辆402与一个或多个其他本地或远程计算设备(例如,远程遥控操作设备)或远程服务之间的通信。例如,通信连接410可以促进与车辆402上的其他本地计算设备和/或驱动***414的通信。而且,通信连接410可以允许车辆与其他附近的计算设备(例如,其他附近的车辆、交通信号等)进行通信。
通信连接410可以包括用于将第一计算设备404连接到另一计算设备或一个或多个外部网络416(例如,互联网)的物理和/或逻辑接口。例如,通信连接410可以实现基于Wi-Fi的通信,例如,经由IEEE 802.11标准定义的频率、短距离无线频率(例如,蓝牙)、蜂窝通信(例如,2G、3G、4G、4G LTE、5G等)、卫星通信、专用短距离通信(DSRC)或者使相应的计算设备能够与其他计算设备接合的任何合适的有线或无线通信协议。
在至少一个示例中,车辆402可以包括一个或多个驱动***414。在一些示例中,车辆402可以具有单个驱动***414。在至少一个示例中,如果车辆402具有多个驱动***414,则单独的驱动***414可以定位在车辆402的相对两端(例如,前方和后方等)。在至少一个示例中,驱动***414可以包括传感器***406,以检测驱动***414和/或车辆402的周围环境的状况。通过示例而非限制的方式,传感器***406可以包括:一个或多个车轮编码器(例如,旋转编码器)以感测驱动***的车轮的旋转;惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动***的定向以及加速度;相机或其他图像传感器、超声波传感器以声学地检测驱动***周围环境中的对象;激光雷达传感器;雷达传感器等。对于驱动***414而言,诸如车轮编码器之类的一些传感器可以是唯一的。在某些情况下,驱动***414上的传感器***可以重叠或补充车辆402的对应***(例如,传感器***406)。
驱动***414可以包括车辆***中的许多车辆***,包括:高压电池、推进车辆的电动机、将来自电池的直流电转换成交流电以供其他车辆***使用的逆变器、包括转向电动机和转向机架(其可以是电动的)的转向***、包括液压或电动致动器的制动***、包括液压和/或气动组件的悬架***、用于分配制动力以减轻牵引力损失并维持控制的稳定性控制***、HVAC***、照明(例如,诸如用于照亮车辆的外部环境的前灯/尾灯之类的照明)以及一个或多个其他***(例如,冷却***、安全***、车载充电***、诸如DC/DC转换器、高压结、高压电缆、充电***、充电端口等之类的其他电气组件)。另外地,驱动***414可以包括驱动***控制器,该驱动***控制器可以接收和预处理来自传感器***的数据并控制各种车辆***的操作。在一些示例中,驱动***控制器可以包括一个或多个处理器以及与该一个或多个处理器通信地耦合的存储器。存储器可以存储一个或多个组件以执行驱动***414的各种功能。此外,驱动***414还包括一个或多个通信连接,该通信连接使得相应的驱动***能够与一个或多个其他本地或远程计算设备进行通信。
车辆402可以包括一个或多个第二计算设备418以提供冗余、误差检查和/或对由第一计算设备404确定的决定和/或命令的验证。
通过示例的方式,第一计算设备404可以被视为主***,而第二计算设备418可以被视为辅助***。主***可以总体上执行处理以控制车辆如何在环境内机动。主***可以实现各种人工智能(AI)技术(例如,机器学习),以了解车辆周围的环境和/或指导车辆在环境内移动。例如,主***可以实现AI技术以定位车辆、检测车辆周围的对象、分割传感器数据、确定对象的分类、预测对象轨迹、生成用于车辆的轨迹等。在示例中,主***处理来自车辆上多种类型的传感器(例如,光检测和测距(激光雷达)传感器、雷达传感器、图像传感器、深度传感器(飞行时间、结构光等)等)的数据。
辅助***可以验证主***的操作并且可以当主***存在问题时从主***接管车辆的控制。辅助***可以实现基于车辆和/或车辆周围对象的位置、速度、加速度等的概率技术。例如,辅助***可以实现一种或更多种概率技术来独立地定位车辆(例如,定位到局部环境)、检测车辆周围的对象、分割传感器数据、识别对象的分类、预测对象轨迹、生成用于车辆的轨迹等。在示例中,辅助***处理来自几个传感器的数据,例如,由主***处理的传感器数据的子集。为了说明,主***可以处理激光雷达数据、雷达数据、图像数据、深度数据等,而辅助***可以只处理激光雷达数据和/或雷达数据(和/或飞行时间数据)。然而,在其他示例中,辅助***可以处理来自任何数量的传感器的传感器数据,例如,来自传感器中的每一个传感器的数据、来自与主***相同数量的传感器的数据等。
辅助***可以实现如本文所描述的图1-图3和图5-图7的技术中的任一种技术。例如,辅助***可以确定用于控制车辆的一个或多个安全区域。辅助***可以是冗余备份***。
包括主计算***和辅助计算***的车辆架构的其他示例可以在例如于2018年11月13日提交的题为“Perception Collision Avoidance”的美国专利申请第16/189,726号中找到,该美国专利申请的整体通过引用并入本文。
第一计算设备404可以包括一个或多个处理器420以及与该一个或多个处理器420通信耦合的存储器422。在示出的示例中,第一计算设备404的存储器422存储定位组件424、感知组件426、预测组件428、规划组件430、地图组件432和一个或多个***控制器434。虽然为了说明目的被描绘为驻留在存储器422中,但是设想定位组件424、感知组件426、预测组件428、规划组件430、地图组件432以及一个或多个***控制器434可以另外地或可替代地可以由计算设备404访问(例如,存储在车辆402的不同组件中和/或可以由车辆402访问(例如,远程地存储))。
在第一计算设备404的存储器422中,定位组件424可以包括从传感器***406接收数据以确定车辆402的位置的功能。例如,定位组件424可以包括和/或请求/接收环境的三维地图,并且可以连续地确定自主车辆在地图内的定位。在一些实例中,定位组件424可以利用SLAM(同时定位和映射)、CLAMS(同时校准、定位和映射)以接收飞行时间数据、图像数据、激光雷达数据、雷达数据、声呐数据、IMU数据、GPS数据、车轮编码器数据或其任何组合等,以准确地确定自主车辆的定位。在一些实例中,定位组件424可以向车辆402的各种组件提供数据,以确定自主车辆的初始位置以生成轨迹,如本文所讨论的。
感知组件426可以包括用于执行对象检测、分割和/或分类的功能。在一些示例中,感知组件426可以提供处理后的传感器数据,该数据指示接近车辆402的实体的存在和/或将该实体分类为实体类型(例如,汽车、行人、骑行者、建筑物、树木、路面、路缘、人行道、未知物等)。在附加和/或替代性示例中,感知组件426可以提供处理后的传感器数据,该数据指示与检测到的实体和/或该实体所位于的环境相关联的一个或多个特性。在一些示例中,与实体相关联的特性可以包括但不限于x位置(全局位置)、y位置(全局位置)、z位置(全局位置)、定向、实体类型(例如,分类)、实体的速度、实体的范围(大小)等。与环境相关联的特性可以包括但不限于环境中另一实体的存在、环境中另一实体的状态、一天中的时间、一周中的一天、季节、天气条件、黑暗/光的指示等。
如上文所描述的,感知组件426可以使用感知算法以基于传感器数据确定与环境中的对象相关联的基于感知的边界框。例如,感知组件426可以接收图像数据并对图像数据进行分类以确定图像数据中表示的对象。然后,感知组件426可以使用检测算法以生成与对象相关联的二维边界框和/或基于感知的三维边界框。感知组件426还可以生成与对象相关联的三维边界框。如上面所讨论的,三维边界框可以提供附加信息,例如,与对象相关联的位置、定向、姿态和/或大小(例如,长度、宽度、高度等)。
感知组件426可以包括存储由感知组件426生成的感知数据的功能。在一些实例中,感知组件426可以确定对应于已经被分类为对象类型的对象的轨迹。仅出于说明的目的,感知组件426使用传感器***406可以捕获环境的一个或多个图像。传感器***406可以捕获包括诸如行人之类的对象的环境的图像。行人可以在时间T处于第一位置,以及在时间T+t处于第二位置(例如,在时间T之后的时间跨度t期间的移动)。换言之,行人可以在这个时间跨度期间从第一位置移动到第二位置。这样的移动可以例如被记录为与对象相关联的所存储的感知数据。
在一些示例中,所存储的感知数据可以包括由车辆402捕获的融合的感知数据。融合的感知数据可以包括来自传感器***406(例如,图像传感器、激光雷达传感器、雷达传感器、飞行时间传感器、声呐传感器、全球定位***传感器、内部传感器和/或这些传感器的任何组合)的传感器数据的融合或其他组合。所存储的感知数据可以另外地或可替代地包括分类数据,该分类数据包括传感器数据中表示的对象(例如,行人、车辆、建筑物、路面等)的语义分类。所存储的感知数据可以另外地或可替代地包括轨迹数据(位置、定向、传感器特征等),该轨迹数据对应于被分类为动态对象的对象在环境中的运动。轨迹数据可以包括多个不同对象随时间推移的多个轨迹。可以挖掘该轨迹数据以识别某些类型的对象(例如,行人、动物等)在对象静止(例如,站着不动)或移动(例如,步行、跑步等)时的图像。在该示例中,计算设备确定对应于行人的轨迹。
预测组件428可以生成一个或多个概率图,该概率图表示一个或多个对象在环境中的可能位置的预测概率。例如,预测组件428可以针对距车辆402阈值距离内的车辆、行人、动物等生成一个或多个概率图。在一些实例中,预测组件428可以测量对象的轨迹并基于观察到的行为和预测的行为来生成对象的离散预测概率图、热图、概率分布、离散概率分布和/或轨迹。在一些实例中,一个或多个概率图可以表示环境中一个或多个对象的意图。
规划组件430可以确定车辆402要遵循以穿越环境的路径。例如,规划组件430可以确定各种路线和路径以及各种细节水平。例如,规划组件430可以确定从第一定位(例如,当前定位)到第二定位(例如,目标定位)行进的路线。出于本讨论的目的,路线可以是用于在两个定位之间行进的航路点序列。作为非限制性示例,航路点包括街道、交叉、全球定位***(GPS)坐标等。此外,规划组件430可以生成用于沿着从第一定位到第二定位的路线的至少一部分引导自主车辆的指令。在至少一个示例中,规划组件430可以确定如何将自主车辆从航路点序列中的第一航路点引导到航路点序列中的第二航路点。在一些示例中,指令可以是路径或路径的一部分。在一些示例中,可以根据滚动时域技术实质上同时(例如,在技术公差内)生成多条路径。滚动数据时域中的多条路径中具有最高置信水平的一条路径可以被选择以操作车辆。
在其他示例中,规划组件430可以可替代地或另外地使用来自感知组件426和/或预测组件428的数据来确定车辆402要遵循以穿越环境的路径。例如,规划组件430可以从感知组件426和/或预测组件428接收关于与环境相关联的对象的数据。使用该数据,规划组件430可以确定从第一定位(例如,当前定位)行进到第二定位(例如,目标定位)的路线以避开环境中的对象。在至少一些示例中,这样的规划组件430可以确定不存在这样的无冲突路径,并且进而提供使车辆402安全停止路径,从而避免所有碰撞和/或以其他方式减轻损坏。
存储器422还可以包括一个或多个地图432,其可以由车辆402使用以在环境内导航。出于本讨论的目的,地图可以是以二维、三维或N维建模的任何数量的数据结构,这些数据结构能够提供关于环境的信息,例如但不限于拓扑(例如,交叉)、街道、山脉、道路、地形和一般环境。在一些实例中,地图可以包括但不限于纹理信息(例如,颜色信息(例如,RGB颜色信息、Lab颜色信息、HSV/HSL颜色信息)等)、强度信息(例如,激光雷达信息、雷达信息等);空间信息(例如,投影到网格上的图像数据、独立的“面元(surfel)”(例如,与单个颜色和/或强度相关联的多边形))、反射率信息(例如,镜面反射率信息、回射率信息、BRDF信息、BSSRDF信息等)。在一个示例中,地图可以包括环境的三维网格。在一些实例中,可以以图块格式存储地图,使得地图的单个图块表示环境的离散部分,并可以根据需要加载到工作存储器中,如本文所讨论的。在至少一个示例中,一个或多个地图432可以包括至少一个地图(例如,图像和/或网格)。在一些示例中,可以至少部分地基于地图432来控制车辆402。即,地图432可以与定位组件424、感知组件426、预测组件428和/或规划组件430结合使用以确定车辆402的定位、标识环境中的对象、生成与对象和/或车辆402相关联的预测概率和/或生成路线和/或轨迹以在环境内导航。
在一些示例中,一个或多个地图524可以被存储在经由网络534可访问的远程计算设备(例如,计算设备448)上。在一些示例中,多个地图524可以基于例如特性(例如,实体的类型、一天中的时间、一周中的一天、一年中的季节等)被存储。存储多个地图524可以具有类似的存储器要求,但是可以增加可以访问地图中的数据的速度。
在至少一个示例中,第一计算设备404可以包括一个或多个***控制器424,其可以被配置为控制车辆402的转向、推进、制动、安全、发射机、通信和其他***。这些***控制器424可以与驱动***414和/或车辆402的其他组件的对应***通信和/或控制这些***,这些***可以被配置为根据从规划组件430提供的路径进行操作。
第二计算设备418可以包括一个或多个处理器436和存储器438,其包括组件以验证和/或控制车辆402的方面,如本文所讨论的。在至少一个实例中,一个或多个处理器436可以与处理器420相似并且存储器438可以与存储器422相似。然而,在一些示例中,处理器436和存储器438可以包括与处理器420和存储器422不同的硬件,用于附加的冗余。
在一些示例中,存储器438可以包括定位组件440、感知/预测组件442、规划组件444和一个或多个***控制器446。
在一些示例中,定位组件440可以从传感器406接收传感器数据以确定自主车辆402的位置和/或定向(统称为姿态)中的一个或多个。在这里,位置和/或定向可以相对于自主车辆402所位于的环境中的点和/或对象。在示例中,定向可以包括自主车辆402相对于参考平面和/或相对于点和/或对象的偏航、翻滚和/或俯仰的指示。在示例中,定位组件440可以执行比第一计算设备404的定位组件424更少的处理(例如,更高级别的定位)。例如,定位组件440可以不确定自主车辆402相对于地图的姿态,而仅仅确定自主车辆402相对于自主车辆402周围检测到的对象和/或表面的姿态(例如,本地位置而不是全局位置)。这样的位置和/或定向可以例如使用传感器数据中的一些或全部使用概率过滤技术(例如,贝叶斯滤波器(卡尔曼滤波器、扩展卡尔曼滤波器、无迹卡尔曼滤波器等))来确定。
在一些示例中,感知/预测组件442可以包括检测、识别、分类和/或跟踪传感器数据中表示的对象的功能。例如,感知/预测组件442可以执行聚类操作和估计或确定与对象相关联的高度的操作,如本文所讨论的。
在一些示例中,感知/预测组件442可以包括M-估计器,但是可以缺少对象分类器,例如,用于对对象进行分类的神经网络、决策树等。在附加或替代示例中,感知/预测组件442可以包括任何类型的ML模型,其被配置为消除对象分类的歧义。相比之下,感知组件426可以包括硬件和/或软件组件的管线,其可以包括一个或多个机器学习模型、贝叶斯滤波器(例如,卡尔曼滤波器)、图形处理单元(GPU)等。在一些示例中,由感知/预测组件442(和/或426)确定的感知数据可以包括对象检测(例如,与自主车辆周围环境中的对象相关联的传感器数据的标识)、对象分类(例如,与检测到的对象相关联的对象类型的标识)、对象轨迹(例如,历史的、当前的和/或预测的对象位置、速度、加速度和/或航向)等。
感知/预测组件442也可以处理输入数据以确定对象的一个或多个预测轨迹。例如,基于对象的当前位置和对象在几秒的时间段内的速度,感知/预测组件442可以预测对象将在接下来几秒内移动的路径。在一些示例中,这样的预测路径可以包括在给定的位置、定向、速度和/或定向的情况下使用运动的线性假设。在其他示例中,这样的预测路径可以包括更复杂的分析。
在一些示例中,规划组件444可以包括从规划组件430接收轨迹以验证轨迹没有碰撞和/或在安全裕度内的功能。在一些示例中,规划组件444可以生成安全停止轨迹(例如,以“舒适的”减速(例如,小于最大减速度)停止车辆402的轨迹),并且在一些示例中,规划组件444可以生成紧急停止轨迹(例如,具有或不具有转向输入的最大减速度)。
在一些示例中,***控制器446可以包括控制车辆的安全关键组件(例如,转向、制动、电动机等)的功能。以这种方式,第二计算设备418可以为车辆安全提供冗余和/或附加的硬件和软件层。
车辆402可以经由网络416连接到计算设备448,并且可以包括一个或多个处理器450以及与该一个或多个处理器450通信耦合的存储器452。在至少一个实例中,一个或多个处理器450可以类似于处理器420并且存储器452可以类似于存储器422。在示出的示例中,计算设备448的存储器452存储组件454,其可以对应于本文讨论的组件中的任一个。
处理器420、436和/或450可以是能够执行指令以处理数据并执行如本文所描述的操作的任何合适的处理器。通过示例而非限制的方式,处理器420、436和/或450可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,只要将集成电路(例如,ASIC等)、门阵列(例如,FPGA等)和其他硬件设备配置为实现编码指令,就可以将它们视为处理器。
存储器422、438和/或452是非暂时性计算机可读介质的示例。存储器422、438和/或452可以存储操作***和一个或多个软件应用、指令、程序和/或数据,以实现本文所描述的方法以及从属于各种***的功能。在各种实现方式中,可以使用任何合适的存储器技术(例如,静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存类型的存储器或能够存储信息的任何其他类型的存储器)来实现该存储器存储器422、438和/或452。本文描述的架构、***和各个元件可以包括许多其他逻辑组件、程序化组件和物理组件,其中附图中示出的那些仅仅是与本文的讨论相关的示例。
在一些实例中,本文讨论的组件中的一些或全部组件的方面可以包括任何模型、算法和/或机器学习算法。例如,在一些实例中,存储器422、438和/或452中的组件可以被实现为神经网络。在一些示例中,存储器422、438和/或452中的组件可以不包括机器学习算法(或者可以包括简化的或可验证的机器学习算法)以降低复杂度并从安全的角度进行验证和/或认证。
如本文所描述的,示例性神经网络是生物学启发算法,其使输入数据通过连接层的序列以产生输出。神经网络中的每一层还可以包括另一神经网络,或者可以包括任何数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指代基于学习得出的参数来生成输出的一大类这种算法。
尽管在神经网络的上下文中进行了讨论,但是可以与本公开一致地使用任何类型的机器学***滑(LOESS))、基于实例的算法(例如,岭回归、最小绝对收缩和选择算子(LASSO)、弹性网、最小角度回归(LARS))、决策树算法(例如,分类和回归树(CART)、迭代二分法器3(ID3)、卡方自动交互检测(CHAID)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯、平均一依赖估计器(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类算法(例如,k均值、k中位数、期望最大化(EM)、分层聚类)、关联规则学习算法(例如,感知机、反向传播、hopfield网络、径向基函数网络(RBFN))、深度学习算法(例如,深玻尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、堆叠式自动编码器)、降维算法(例如,主成分分析(PCA)、主成分回归(PCR)、偏最小二乘回归(PLSR)、Sammon映射、多维标度(MDS)、投影寻踪、线性判别分析(LDA)、混合物判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集成算法(例如,提升、自举聚合(袋装)、AdaBoost、堆叠泛化(混合)、梯度提升机(GBM)、梯度提升回归树(GBRT)、随机森林)、SVM(支持向量机)、有监督学习、无监督学习、半监督学习等。
架构的附加示例包括神经网络,例如,ResNet50、ResNet101、VGG、DenseNet、PointNet等。
图5描绘了根据本公开的示例的包括基于车辆轨迹确定的边界和基于与边界相关联的线确定的安全区域的环境500。
在一些示例中,环境500可以包括与第一安全区域(例如,安全区域506)相关联的第一边界(例如,边界502)和第二边界(例如,边界504)。可以基于与车辆508相关联的轨迹来确定安全区域506。可以基于与边界504相关联的线512来确定第二安全区域(例如,安全区域510)。可以确定边界502与关联于边界504的线512之间的交叉514,该边界504与安全区域506相关联。可以基于交叉514来确定安全区域506。在一些示例中,交叉514可以与环境中的转弯达到或超过阈值转弯角度相关联。安全区域510可以用于过滤与安全区域510关联的传感器数据,作为经过滤的传感器数据。安全区域510和经过滤的传感器数据可以用于确定与安全区域510关联的对象516。安全区域510的宽度可以被确定为包括所有相交车道和/或其他区域中的一个或多个,一个或多个对象可以从其进入与车辆508的轨迹相关联的车道。在一些示例中,安全区域510的最大宽度可以与垂直于车辆508当前所位于的车道的相交车道的宽度相关联。然而,最大宽度不限于此并且可以与小于或大于相交车道宽度的宽度相关联。
因此,如本文所描述的,可以确定第二安全区域以更容易地确定当车辆进入或正在执行转弯时对象是否正在接近车辆。可以基于第二安全区域来确定对象,以避免由于与环境相关联的信息丢失而可能发生的潜在碰撞。通过基于车辆正在接近交叉或准备转弯来确定第二安全区域,可以增加为规划目的而考虑的环境的大小。第二安全区域的宽度可以被确定为包括所有相交车道和/或其他区域中的一个或多个,一个或多个对象可以从其进入与车辆的轨迹相关联的车道。在一些示例中,第二安全区域的最大宽度可以与垂直于车辆当前所位于的车道的相交车道的宽度相关联。然而,最大宽度不限于此并且可以与小于或大于相交车道宽度的宽度相关联。
图6描绘了根据本公开的示例的包括安全区域的环境600,该安全区域是基于包括左转弯的车辆轨迹确定的。
在一些示例中,环境600可以包括第一安全区域(例如,安全区域602)。可以基于与包括转弯(例如,左转弯)的车辆604相关联的轨迹来确定安全区域602。在一些示例中,可以至少部分地基于车辆110的宽度和/或长度、车辆604的当前速度和/或与轨迹相关联的速度等来确定安全区域602。安全区域602的每一个部分的宽度可以是相同的宽度。可以基于轨迹与左转弯相关联来确定安全区域602与该左转弯相关联。
在一些示例中,可以基于轨迹来确定第二安全区域(例如,安全区域606)。可以基于轨迹与转弯(例如,左转弯)相关联来确定安全区域606。在一些示例中,可以至少部分地基于安全区域602的部分与被控制转弯的车辆604相关联来确定安全区域606。在一些示例中,可以基于环境中的转弯(例如,与转弯相关联的转弯角度)达到或超过阈值转弯角度来确定安全区域606。安全区域602可以与第一边界(例如,边界608)和第二边界(例如,边界610)相关联。可以基于与边界610相关联的线612来确定安全区域606。边界608和关联于安全区域602的线612之间的交叉614可以被确定。可以基于交叉614来确定安全区域606。在一些示例中,交叉614可以与环境中的转弯达到或超过阈值转弯角度相关联。安全区域606可以用于过滤与安全区域606关联的传感器数据,作为经过滤的传感器数据。安全区域606和经过滤的传感器数据可以用于确定与安全区域606关联的对象616。安全区域606的宽度可以被确定为包括所有邻近车道和/或对向车道和/或其他区域中的一个或多个,一个或多个对象可以从其进入与车辆的轨迹相关联的车道。在一些示例中,安全区域606的最大宽度可以与靠近车辆当前所位于的车道的对向车道的宽度相关联。然而,最大宽度不限于此并且可以与小于或大于对向车道宽度的宽度相关联。
在一些示例中,基于安全区域602与左转弯相关联,安全区域606可以与安全区域602邻近并且实质上平行。在一些示例中,安全区域606可以与车辆604间隔开。例如,安全区域606与车辆604之间的距离可以等于或大于阈值距离(例如,10厘米、1米、3米等)。在其他示例中,安全区域606可以邻接(例如,接触)车辆604。在其他示例中,安全区域606可以与车辆604间隔开(例如,不邻接)。
在一些示例中,基于安全区域606与最接近的车道相关联(例如,重叠),由车辆604接收到的传感器数据可以用于确定与车辆邻近的最接近的车道中的对象616。在一些示例中,由车辆604接收到的传感器数据可以用于确定与最接近的车道邻近的车道或与最接近的车道相隔一个或多个车道的车道中的对象616。在一些示例中,由车辆604接收到的传感器数据可以用于确定一个或多个车道(包括最接近的车道、与最接近的车道邻近的车道和/或与最接近的车道相隔一个或多个车道的车道)中的对象616。
因此,如本文所描述的,基于车辆正在进行左转弯,可以确定第一安全区域,也确定了第二安全区域。第二安全区域可以与第一安全区域平行,以更容易确定是否有对向的车辆对象正在接近。虽然上文关于图6描述的特征与车辆左转弯相关,但是这些特征不限于此。这些特征可以与任何其他类型的转弯(例如,车辆进入对向车道以绕过并排停放的车辆)一起使用。第二安全区域也可以用于确定对象是否在单向道路上从后面接近。可以控制车辆减速至较慢的速度、减速至停止、加速和/或采取另一动作(例如,转弯)以降低与对象潜在碰撞的可能性。第二安全区域的宽度可以被确定为包括所有邻近车道和/或对向车道和/或其他区域中的一个或多个,一个或多个对象可以从其进入与车辆的轨迹相关联的车道。在一些示例中,第二安全区域的最大宽度可以与靠近车辆当前所位于的车道的对向车道的宽度相关联。然而,最大宽度不限于此并且可以与小于或大于对向车道宽度的宽度相关联。在一些示例中,第二安全区域的长度可以是固定距离(例如,10m、50m、150m、200m等)。在一些示例中,该长度可以基于车辆604的速度、第一安全区域的形状等。
图7是根据本公开的示例的用于基于车辆是停止的来确定安全区域的示例过程700的图示流程图。
操作702可以包括确定车辆正在接近交叉。在一些示例中,可以确定与车辆正在行驶通过的环境和/或车辆相关联的信息。该信息可以用于确定车辆是否正在接近交叉。例如,传感器数据可以由车辆接收并被分析以识别即将到来的交叉。可以基于与车辆相关联的轨迹来确定第一安全区域。第一安全区域可以被确定为与轨迹相关联,该轨迹不包括与车辆相关联的转弯。
示例704示出了包括接近交叉的车辆706的环境。在一些示例中,车辆706可以与轨迹708相关联。可以基于与行驶通过环境的车辆706相关联的轨迹708来确定第一安全区域(例如,安全区域710)。安全区域710可以被确定为与轨迹708相关联,该轨迹708不包括与车辆相关联的转弯。
操作712可以包括基于车辆是停止的来确定第二安全区域。在一些示例中,可以基于车辆与交叉之间的距离低于阈值距离和/或基于车辆的速度低于阈值速度来确定第二安全区域。
示例714示出了车辆706基于停车标志在交叉减速停止。在一些示例中,可以基于车辆706和交叉之间的距离和/或基于车辆的速度来确定第二安全区域(例如,安全区域716)。安全区域716可以垂直于与轨迹708平行的安全区域710,如上文所描述的。
操作718可以包括基于速度达到或超过阈值来移除第二安全区域。基于车辆被控制向前移动通过交叉,第二安全区域可以随着车辆速度的增加而被移除。基于速度达到或超过阈值速度,第二安全区域可以被移除。
示例720示出了基于速度达到或超过阈值来移除第二安全区域(例如,第二安全区域716)。基于车辆706被控制向前移动通过交叉,第二安全区域716可以随着车辆速度的增加而被移除。可以基于轨迹708来控制车辆706。可以基于速度达到或超过阈值速度来移除安全区域716。上文关于图7描述的特征不限于此并且可以结合上文关于图1-图3、图5、和图6中的任何图描述的特征中的任一特征来实现。
图8是描绘根据本公开的示例的用于基于包括转弯的车辆轨迹来确定安全区域的示例过程800的流程图。
在操作802处,过程可以包括接收与车辆相关联的轨迹。轨迹可以与移动通过环境的车辆相关联。
在操作804处,该过程可以包括确定第一安全区域。可以基于轨迹来确定第一安全区域。第一安全区域可以具有恒定宽度。
在操作806处,该过程可以包括基于轨迹来确定第二安全区域,第二安全区域不同于第一安全区域。第二安全区域可以垂直于第一安全区域。可以基于车辆的机动、车辆的位置等来确定第二安全区域的定向。可以基于轨迹与转弯(例如,右转弯或右转弯)相关联来确定第二安全区域。
在操作808处,该过程可以包括确定与第一安全区域或第二安全区域中的一个或多个相关联的传感器数据的子集。可以基于从车辆的一个或多个传感器接收到的传感器数据的子集来确定对象。例如,传感器数据可以包括来自车辆上多种类型传感器(例如,激光雷达传感器、雷达传感器、图像传感器、深度传感器(飞行时间、结构光等)等)的数据。可以基于传感器数据的输入由一个或多个机器学习模型、贝叶斯滤波器(例如,卡尔曼滤波器)、图形处理单元(GPU)等输出传感器数据的子集。
在操作810处,该过程可以包括确定可能性是否达到或超过阈值可能性。如果否,则该过程可以返回到操作802。如果是,则该过程可以继续到操作812。
在操作812处,该过程可以包括基于可能性来控制车辆。在一些示例中,可以控制车辆减速(例如,放慢速度)和/或停止。在一些示例中,可以控制车辆加速。确定控制车辆加速或减速的选项可以基于与该选项相关联的预测碰撞可能性小于其他选项的预测碰撞可能性。
图9是描绘根据本公开的示例的用于基于与车辆相关联的边界框的定向来确定安全区域的一部分的宽度的示例过程900的流程图。
在操作902处,该过程可以包括接收与车辆相关联的轨迹。该轨迹可以与车辆相关联并且可以被离散化。
在操作904处,该过程可以包括基于轨迹来确定安全区域。可以确定与安全区域相关联的多个区段。多个区段中的区段可以从轨迹实质上垂直地延伸第一距离。
在操作906处,该过程可以包括确定在未来时间沿着安全区域的与车辆相关联的位置。该位置可以与表示在未来时间的车辆的边界框相关联。
在操作908处,该过程可以包括确定与车辆在未来时间的表示相关联的点在该位置处距轨迹的最大距离。车辆的表示的点可以与边界框的拐角相关联。
在操作910处,该过程可以包括将安全区域的部分的宽度定义为在该位置处的最大距离。可以基于第一距离达到或超过第二距离来将该部分的宽度设置为第一距离。通过将该宽度设置为第一距离,可以增加安全区域以包括第一点。否则,可以基于第一距离没有达到或超过第二距离,将该部分的宽度设置为第二距离。
在操作912处,该过程可以包括确定是否已经考虑了与轨迹的所有区段相关联的安全区域的部分。如果是,则该过程可以继续到操作914。如果否,则该过程可以返回到操作906以确定与安全区域的部分相关联的第一距离和第二距离,该部分与轨迹的下一区段相关联。
在操作914处,该过程可以包括基于安全区域来控制车辆。可以基于安全区域的部分的宽度被设置为第一距离来控制车辆。
示例条款
A:一种***,包括:一个或多个处理器;以及一个或多个计算机可读介质,其存储能够由一个或多个处理器执行的指令,其中,该指令当被执行时,使***执行操作,该操作包括:接收与穿过环境的车辆相关联的轨迹;基于轨迹确定车辆的第一安全区域;基于轨迹确定第二安全区域;从传感器接收与车辆穿过的环境相关联的传感器数据;确定与第一安全区域和第二安全区域相关联的传感器数据的子集;检测传感器数据的子集中表示的对象;至少部分地基于传感器数据的子集,确定对象将与轨迹相交的可能性;基于可能性确定与车辆相关联的经修改的加速度简档;以及基于经修改的加速度简档控制车辆。
B:根据段落A的***,其中:轨迹包括穿过交叉;以及确定第二安全区域是至少部分地基于环境的部分与轨迹实质上垂直的。
C:根据段落A或B的***,其中,轨迹包括左转弯,并且其中,第二安全区域包括环境中接近车辆当前所位于的车道的区域。
D:根据段落A-C中任一段的***,其中,第二安全区域实质上垂直于第一安全区域。
E:根据段落A-D中任一段的***,其中,确定第二安全区域的定向是至少部分地基于和关联于第一安全区域的点相切的线的。
F:一种方法,包括:接收与车辆相关联的轨迹;至少部分地基于轨迹来确定第一安全区域;至少部分地基于轨迹来确定第二安全区域,第二安全区域不同于第一安全区域;确定与第一安全区域或第二安全区域中的一个或多个相关联的传感器数据的子集;确定传感器数据的子集中表示的对象的轨迹与车辆的轨迹相交的可能性;以及至少部分地基于可能性来控制车辆。
G:根据段落F的方法,其中,控制车辆包括:至少部分地基于对象的轨迹来确定与车辆相关联的经修改的加速度简档;以及至少部分地基于经修改的加速度简档来控制车辆。
H:根据段落F或G的方法,其中,控制车辆还包括:至少部分地基于可能性达到或超过阈值可能性来控制车辆减速至停止。
I:根据段落F-H中任一段的方法,其中,至少部分地基于车辆在未来时间沿着第一安全区域的位置处的表示来扩展第一安全区域的部分的宽度。
J:根据段落F-I中任一段的方法,其中,确定第二安全区域还包括:确定与第一安全区域相关联的第一边界;至少部分地基于轨迹,确定第一边界与关联于第二边界的线之间的交叉,该第二边界与第一安全区域相关联;以及至少部分地基于交叉来确定第二安全区域。
K:根据段落F-J中任一段的方法,其中,第二安全区域实质上垂直于第一安全区域。
L:根据段落F-K中任一段的方法,其中,第一安全区域的第一宽度与车辆当前所位于的车道的宽度相关联,并且第二安全区域的第二宽度与接近车辆当前所位于的车道的对向车道的宽度相关联。
M:根据段落F-L中任一段的方法,其中,确定第二安全区域还包括:确定轨迹与左转弯相关联;以及将环境的与接近车辆当前所位于的车道的对向车道相关联的部分确定为第二安全区域。
N:根据段落F-M中任一段的方法,其中,确定第二安全区域还包括:至少部分地基于车辆的速度低于阈值速度来确定第二安全区域。
O:根据段落F-N中任一段的方法,其中,确定第二安全区域还至少部分地基于与车辆相关联的点。
P:一种或多种非暂时性计算机可读介质,其存储指令,该指令当被执行时,使一个或多个处理器执行操作,该操作包括:接收与车辆相关联的轨迹;至少部分地基于轨迹来确定第一安全区域;至少部分地基于轨迹来确定第二安全区域,第二安全区域不同于第一安全区域;确定与第一安全区域或第二安全区域中的一个或多个相关联的传感器数据的子集;确定传感器数据的子集中表示的对象的轨迹与车辆的轨迹相交的可能性;以及至少部分地基于可能性来控制车辆。
Q:根据段落P的一种或多种非暂时性计算机可读介质,其中,控制车辆包括:至少部分地基于对象的轨迹,确定与车辆相关联的经修改的加速度简档;以及至少部分地基于经修改的加速度简档来控制车辆。
R:根据段落P或Q的一种或多种非暂时性计算机可读介质,其中,控制车辆还包括:至少部分地基于可能性达到或超过阈值可能性来控制车辆减速至停止。
S:根据段落P-R中任一段的一种或多种非暂时性计算机可读介质,其中,至少部分地基于车辆在未来时间沿着第一安全区域的位置处的表示来扩展第一安全区域的部分的宽度。
T:根据段落P-S中任一段的一种或多种非暂时性计算机可读介质,其中,确定第二安全区域还包括:确定与第一安全区域相关联的第一边界;至少部分地基于轨迹,确定第一边界与关联于第二边界的线之间的交叉,该第二边界与第一安全区域相关联;以及基于交叉来确定第二安全区域。
U:一种***,包括:一个或多个处理器;以及一个或多个计算机可读介质,其存储能够由一个或多个处理器执行的指令,其中,该指令当被执行时,使***执行操作,该操作包括:接收与车辆相关联的轨迹;至少部分地基于该轨迹确定安全区域;确定与安全区域相关联的多个区段,多个区段中的区段从该轨迹实质上垂直地延伸第一距离;确定边界框沿着轨迹的位置,该边界框表示在未来时间的车辆;确定边界框的点与轨迹上的最接近的点之间的第二距离;确定第二距离达到或超过第一距离;基于第二距离超过第一距离,确定经修改的安全区域;以及基于经修改的安全区域来控制车辆。
V:根据段落U的***,其中:边界框的位置至少部分地基于车辆在未来时间沿着轨迹穿越的模拟;以及边界框的点与边界框的拐角相关联。
W:根据段落U或V的***,操作还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于经修改的安全区域来确定传感器数据的子集;检测传感器数据的子集中表示的对象;以及确定对象将与轨迹相交的可能性,其中控制车辆还至少部分地基于该可能性。
X:根据段落U-W中任一段的***,其中,安全区域的宽度与车辆的宽度相关联。
Y:根据段落U-X中任一段的***,其中,经修改的安全区域的宽度与车辆当前所位于的车道的宽度相关联。
Z:一种方法,包括:接收与车辆相关联的轨迹;至少部分地基于轨迹,确定与车辆相关联的安全区域;确定在未来时间沿着安全区域的与车辆相关联的位置;确定与车辆在未来时间的表示相关联的点在该位置处距轨迹的最大距离;将安全区域的部分的宽度定义为该位置处的最大距离;以及至少部分地基于安全区域来控制车辆。
AA:根据段落Z的方法,还包括:确定与轨迹相关联的多个区段,其中,位置与多个区段中的区段相关联。
AB:根据段落Z或AA的方法,其中:沿着安全区域的与车辆相关联的位置至少部分地基于车辆在未来时间沿着轨迹穿越的模拟;以及该点与表示车辆的边界框的拐角相关联。
AC:根据段落Z-AB中任一段的方法,还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于包括安全区域的部分的经修改的安全区域,确定传感器数据的子集;检测在传感器数据的子集中表示的对象;以及确定对象将与轨迹相交的可能性,其中,控制车辆还至少部分地基于该可能性。
AD:根据段落Z-AC中任一段的方法,其中,安全区域的最大宽度与车辆的宽度相关联。
AE:根据段落Z-AD中任一段的方法,其中,包括安全区域的部分的经修改的安全区域的最大宽度与车辆当前所位于的车道的宽度相关联。
AF:根据段落Z-AE中任一段的方法,其中,车辆的表示包括边界框。
AG:根据段落Z-AF中任一段的方法,还包括:接收传感器数据;至少部分地基于安全区域来确定传感器数据的子集;检测在传感器数据的子集中表示的对象;以及确定对象将与轨迹相交的可能性,其中,控制车辆还至少部分地基于该可能性。
AH:根据段落AG的方法,其中,控制车辆包括修改加速度或转向命令中的一个或多个以降低相交的可能性。
AI:根据段落Z-AH中任一段的方法,还包括:从与车辆相关联的传感器接收传感器数据,其中,传感器数据包括激光雷达数据、相机数据、雷达数据、超声数据、或深度数据中的一个或多个。
AJ:一种或多种非暂时性计算机可读介质,其存储指令,该指令当被执行时,使一个或多个处理器执行操作,该操作包括:接收与车辆相关联的轨迹;至少部分地基于该轨迹确定与车辆相关联的安全区域;确定在未来时间沿着安全区域的与车辆相关联的位置;确定与车辆在未来时间的表示相关联的点在该位置处距轨迹的最大距离;将安全区域的部分的宽度定义为该位置处的最大距离;以及至少部分地基于安全区域来控制车辆。
AK:根据段落AJ的一种或多种非暂时性计算机可读介质,操作还包括:确定与轨迹相关联的多个区段,并且其中,位置与多个区段中的区段相关联。
AL:根据段落AJ或AK的一种或多种非暂时性计算机可读介质,其中:沿着安全区域的与车辆相关联的位置至少部分地基于车辆在未来时间沿着轨迹穿越的模拟;以及该点与表示车辆的边界框的拐角相关联。
AM:根据段落AJ-AL中任一段的一种或多种非暂时性计算机可读介质,操作还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于包括安全区域的部分的经修改的安全区域,确定传感器数据的子集;检测在传感器数据的子集中表示的对象;以及确定对象将与轨迹相交的可能性,其中,控制车辆还至少部分地基于该可能性。
AN:根据段落AJ-AM中任一段的一种或多种非暂时性计算机可读介质,其中,安全区域的最大宽度与车辆的宽度相关联。
尽管关于一个特定实现描述了上述示例条款,但是应当理解,在本文档的上下文中,示例条款的内容也可以经由方法、设备、***、计算机可读介质和/或另一种实现方式来实现。此外,示例A-AN中的任一个可以单独实现或者与示例A-AN中的任何其他一个或多个组合。
结论
尽管已经描述了本文描述的技术的一个或多个示例,但是各种变更、添加、置换和其等同物也被包括在本文描述的技术的范围内。
在示例的描述中,参考构成其一部分的附图,其通过说明的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例,并且可以进行诸如结构改变之类的改变或变更。这样的示例、改变或变更不一定相对于旨在要求保护的主题偏离范围。尽管本文的步骤可以按一定次序呈现,但在一些情况下,可以改变次序,使得在不改变所描述的***和方法的功能的情况下,在不同时间或以不同次序提供某些输入。所公开的过程也可以以不同的次序执行。另外地,不需要以所公开的次序执行本文的各种计算,并且可以容易地实现使用计算的替代次序的其他示例。除了被重新排序外,这些计算还可以被分解为具有相同结果的子计算。
Claims (15)
1.一种方法,包括:
接收与车辆相关联的轨迹;
至少部分地基于所述轨迹来确定第一安全区域;
至少部分地基于所述轨迹来确定第二安全区域,所述第二安全区域不同于所述第一安全区域;
确定与所述第一安全区域或所述第二安全区域中的一个或多个相关联的传感器数据的子集;
确定所述传感器数据的子集中表示的对象的轨迹与所述车辆的所述轨迹相交的可能性;以及
至少部分地基于所述可能性来控制所述车辆。
2.根据权利要求1所述的方法,还包括:
从传感器接收所述传感器数据,所述传感器数据与所述车辆行驶通过的环境相关联;以及
检测所述传感器数据的子集中表示的所述对象,
其中,所述传感器数据的子集与所述第一安全区域和所述第二安全区域相关联。
3.根据权利要求1或2所述的方法,其中,控制所述车辆包括:
至少部分地基于所述对象的所述轨迹,确定与所述车辆相关联的经修改的加速度简档;以及
至少部分地基于所述经修改的加速度简档来控制所述车辆。
4.根据权利要求1-3中任一项所述的方法,其中,确定所述第二安全区域还包括:
确定与所述第一安全区域相关联的第一边界;
至少部分地基于所述轨迹,确定所述第一边界与关联于第二边界的线之间的交叉,所述第二边界与所述第一安全区域相关联;以及
至少部分地基于所述交叉来确定所述第二安全区域。
5.根据权利要求1-4中任一项所述的方法,其中,以下各项中的至少一项成立:
所述第一安全区域的部分的宽度是至少部分地基于所述车辆在未来时间在沿着所述第一安全区域的位置处的表示来扩展的;
所述第二安全区域是至少部分地基于所述车辆的速度低于阈值速度来确定的;或者
所述第二安全区域是至少部分地基于与所述车辆相关联的点来确定的。
6.根据权利要求1-5中任一项所述的方法,还包括:
确定与所述第一安全区域相关联的多个区段,所述多个区段中的区段从所述轨迹实质上垂直地延伸第一距离;
确定沿着所述轨迹的边界框的位置,所述边界框表示在未来时间的所述车辆;
确定所述边界框的点与所述轨迹上的最接近的点之间的第二距离;
确定所述第二距离达到或超过所述第一距离;以及
至少部分地基于所述第二距离超过所述第一距离来确定经修改的安全区域。
7.根据权利要求1-6中任一项所述的方法,还包括以下各项中的至少一项:
i)确定沿着所述轨迹的边界框的位置,所述边界框表示在未来时间的所述车辆,所述边界框的位置至少部分地基于所述车辆在所述未来时间沿着所述轨迹穿越的模拟;
ii)将所述第一安全区域的部分的宽度定义为与所述车辆的第一宽度相关联,或与所述车辆当前所位于的车道的第二宽度相关联;
iii)确定表示在未来时间的所述车辆的边界框的位置,所述位置与多个区段中的与所述轨迹相关联的区段相关联;或者
iv)至少部分地基于所述车辆在未来时间沿着所述轨迹穿越的模拟来确定沿着所述第一安全区域的与所述车辆相关联的位置,在所述未来时间的所述车辆由边界框表示,所述边界框用于至少部分地基于与所述边界框的拐角相关联的点和所述轨迹上的最接近的点之间的距离来确定包括所述第一安全区域的部分的经修改的安全区域。
8.根据权利要求1-7中任一项所述的方法,还包括:
确定包括所述第一安全区域的部分的经修改的安全区域,其中:
所述经修改的安全区域的最大宽度与所述车辆当前所位于的车道的宽度相关联;以及
所述传感器数据的子集与所述经修改的安全区域相关联。
9.一种包括编码指令的计算机程序产品,所述编码指令当在计算机上运行时,实现根据权利要求1-8中任一项所述的方法。
10.一种***,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,其存储能够由所述一个或多个处理器执行的指令,其中,所述指令当被执行时,使所述***执行操作,所述操作包括:
接收与车辆相关联的轨迹;
至少部分地基于所述轨迹来确定第一安全区域;
至少部分地基于所述轨迹来确定第二安全区域,所述第二安全区域不同于所述第一安全区域;
确定与所述第一安全区域或所述第二安全区域中的一个或多个相关联的传感器数据的子集;
确定所述传感器数据的子集中表示的对象的轨迹与所述车辆的所述轨迹相交的可能性;以及
至少部分地基于所述可能性来控制所述车辆。
11.根据权利要求10所述的***,其中,以下各项中的至少一项成立:
所述第二安全区域包括环境的靠近所述车辆当前所位于的车道的区域;或者
所述第二安全区域的定向是至少部分地基于与关联于所述第一安全区域的点相切的线来确定的。
12.根据权利要求10或11所述的***,所述操作还包括:
至少部分地基于所述车辆在未来时间沿着所述轨迹穿越的模拟,确定在所述未来时间沿着所述第一安全区域的与所述车辆相关联的位置;
确定与所述车辆在所述未来时间的表示相关联的点在所述位置处距所述轨迹的最大距离;以及
将所述第一安全区域的部分的宽度定义为在所述位置处的所述最大距离。
13.根据权利要求10-12中任一项所述的***,其中,以下各项中的至少一项成立:
i)所述第二安全区域是至少部分地基于环境的实质上垂直于所述轨迹的部分来确定的,所述轨迹包括穿过十字路口;或者
ii)确定所述第二安全区域还包括:至少部分地基于确定所述轨迹与左转弯相关联,将环境的与靠近所述车辆当前所位于的车道的对向车道相关联的部分确定为所述第二安全区域。
14.根据权利要求10-13中任一项所述的***,其中:
控制所述车辆包括修改加速度或转向命令中的一个或多个以减少相交的可能性;或者
控制所述车辆包括至少部分地基于所述可能性达到或超过阈值可能性来控制所述车辆停止。
15.根据权利要求10-14中任一项所述的***,其中,所述传感器数据包括激光雷达数据、相机数据、雷达数据、超声波数据、或深度数据中的一个或多个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/124,237 | 2020-12-16 | ||
US17/124,237 US11603116B2 (en) | 2020-12-16 | 2020-12-16 | Determining safety area based on bounding box |
US17/124,220 | 2020-12-16 | ||
PCT/US2021/063236 WO2022132713A1 (en) | 2020-12-16 | 2021-12-14 | Lateral safety area |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116670000A true CN116670000A (zh) | 2023-08-29 |
Family
ID=81943220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180082715.4A Pending CN116670000A (zh) | 2020-12-16 | 2021-12-14 | 横向安全区域 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11603116B2 (zh) |
CN (1) | CN116670000A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220194424A1 (en) * | 2020-12-22 | 2022-06-23 | Waymo Llc | Autonomous vehicle trajectory computed using box-based probabilistic overlap model |
US12012097B2 (en) * | 2021-07-29 | 2024-06-18 | Ford Global Technologies, Llc | Complementary control system for an autonomous vehicle |
US12030528B2 (en) * | 2021-12-03 | 2024-07-09 | Zoox, Inc. | Vehicle perception system with temporal tracker |
CN117873050A (zh) * | 2022-09-30 | 2024-04-12 | 华为技术有限公司 | 一种控车方法及相关装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102623680B1 (ko) * | 2015-02-10 | 2024-01-12 | 모빌아이 비젼 테크놀로지스 엘티디. | 자율 주행을 위한 약도 |
SE539097C2 (en) * | 2015-08-20 | 2017-04-11 | Scania Cv Ab | Method, control unit and system for avoiding collision with vulnerable road users |
DE102015220646A1 (de) | 2015-10-22 | 2017-04-27 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Verringern eines Kollisionsrisikos einer Kollision eines Kraftfahrzeugs mit einem Objekt |
JP6323473B2 (ja) * | 2016-02-25 | 2018-05-16 | トヨタ自動車株式会社 | 走行制御装置 |
WO2017208296A1 (ja) * | 2016-05-30 | 2017-12-07 | 日産自動車株式会社 | 物体検出方法及び物体検出装置 |
US11644834B2 (en) * | 2017-11-10 | 2023-05-09 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
US11353872B2 (en) * | 2018-07-30 | 2022-06-07 | Pony Ai Inc. | Systems and methods for selectively capturing and filtering sensor data of an autonomous vehicle |
US10609148B1 (en) * | 2019-09-17 | 2020-03-31 | Ha Q Tran | Smart vehicle |
US11279349B2 (en) * | 2019-09-26 | 2022-03-22 | Intel Corporation | Safety module, automated driving system, and methods thereof |
US20220185288A1 (en) * | 2020-12-16 | 2022-06-16 | Zoox, Inc. | Lateral safety area |
-
2020
- 2020-12-16 US US17/124,237 patent/US11603116B2/en active Active
-
2021
- 2021-12-14 CN CN202180082715.4A patent/CN116670000A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11603116B2 (en) | 2023-03-14 |
US20220185330A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11420630B2 (en) | Trajectory modifications based on a collision zone | |
US11643073B2 (en) | Trajectory modifications based on a collision zone | |
US11970168B2 (en) | Vehicle trajectory modification for following | |
US11875681B2 (en) | Drive envelope determination | |
US11021148B2 (en) | Pedestrian prediction based on attributes | |
US11351991B2 (en) | Prediction based on attributes | |
CN112752950B (zh) | 修改与地图数据相关联的地图元素 | |
WO2020198189A1 (en) | Pedestrian prediction based on attributes | |
JP2022544715A (ja) | 譲歩挙動のモデリングおよび予測 | |
US20200285244A1 (en) | State machine for traversing junctions | |
CN112955358A (zh) | 轨迹生成 | |
US11603116B2 (en) | Determining safety area based on bounding box | |
US11858529B1 (en) | Predicting articulated object states | |
US11801864B1 (en) | Cost-based action determination | |
WO2021108215A1 (en) | Height estimation using sensor data | |
US11480962B1 (en) | Dynamic lane expansion | |
CN116261540A (zh) | 碰撞避免规划*** | |
US20220366703A1 (en) | Tracking articulated objects | |
US20220185288A1 (en) | Lateral safety area | |
US12039784B1 (en) | Articulated object determination | |
EP4263306A1 (en) | Lateral safety area | |
US20240034356A1 (en) | Reference trajectory validating and collision checking management | |
WO2023244982A1 (en) | Vehicle safety system |
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 |