CN114341759A - 用于将远程操作指令提供到自主车辆的系统和方法 - Google Patents
用于将远程操作指令提供到自主车辆的系统和方法 Download PDFInfo
- Publication number
- CN114341759A CN114341759A CN202080061377.1A CN202080061377A CN114341759A CN 114341759 A CN114341759 A CN 114341759A CN 202080061377 A CN202080061377 A CN 202080061377A CN 114341759 A CN114341759 A CN 114341759A
- Authority
- CN
- China
- Prior art keywords
- autonomous vehicle
- instructions
- data
- vehicle
- destination
- 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 title claims abstract description 133
- 238000003860 storage Methods 0.000 claims description 37
- 238000013439 planning Methods 0.000 abstract description 11
- 238000011022 operating instruction Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 68
- 238000004891 communication Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 47
- 230000015654 memory Effects 0.000 description 33
- 238000010801 machine learning Methods 0.000 description 28
- 238000004458 analytical method Methods 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000013500 data storage Methods 0.000 description 13
- 238000005266 casting Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000007613 environmental effect Effects 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000000513 principal component analysis Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method 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
- 238000012628 principal component regression Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000003891 environmental analysis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0038—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
- G08G1/127—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams to a central station ; Indicators in a central station
- G08G1/13—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams to a central station ; Indicators in a central station the indicator being in the form of a map
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本公开涉及用于将远程操作指令提供到自主车辆的系统和技术。在所述自主车辆行驶向目的地时,所述自主车辆可能会碰到阻止所述自主车辆行驶到所述目的地的情形。控制中心可以从所述自主车辆接收信息并且提供具有有限控制的指令以使所述自主车辆导航到中间位置。在此类中间位置,所述车辆可以为应急车辆让路、获得额外传感器数据以继续自主规划、将意图用信号通知给环境中的其他对象等等。
Description
相关申请的交叉引用
本申请要求2019年7月26日提交并且标题为“SYSTEM AND METHOD FOR PROVIDINGA TELEOPERATION INSTRUCTION TO AN AUTONOMOUS VEHICLE”的美国专利申请No.16/523,809以及2019年7月26日提交并且标题为“SYSTEM AND METHOD FOR CONTROLLING ANAUTONOMOUS VEHICLE”的美国专利申请No.16/523,833的优先权,以上各案的全部公开内容通过全文引用并且出于所有目的并入。
背景技术
自主车辆通常使用各种技术来在真实世界条件下进行导航。为此,自主车辆在执行任务的同时要一直考虑环境情况以及周围环境。尽管努力地开发由自主车辆用于导航的系统,但在阻止车辆完全自主地工作方面,真实世界可能是无法预测的。例如,在一些情形中,环境情况的变化,诸如交通或应急车辆的突然冒出,可能会产生阻碍自主车辆执行任务的能力的挑战。
附图说明
参考附图来描述详细描述。在图中,附图标记最左侧的数字标识所述附图标记首次出现的图。在不同图中使用相同附图标记来指示类似或相同的组件或特征。
图1示出其中自主车辆传输传感器数据以及从控制中心接收指令的示例系统。
图2示出其中自主车辆传输传感器数据以及从控制中心接收指令的示例。
图3示出控制中心的示例图。
图4示出其中自主车辆传输传感器数据以及从控制中心接收指令的另一个示例系统。
图5示出自主车辆与控制中心之间的示例通信。
图6示出用于处理环境并导航到目的地的示例过程。
图7示出用于导航到目的地的示例过程。
图8示出用于处理传感器数据并传输指令的示例过程。
图9示出自主车辆的子系统的示例。
具体实施方式
本公开描述了用于基于影响自主车辆的操作的环境情况变化来在自主车辆中实施远程操作(例如,远程)指令的方法、设备和系统。自主车辆可以被编程有任务,诸如前往目的地。自主车辆可以包括它可以利用来导航到目的地的各种传感器和处理系统。在去往目的地的途中,自主车辆可能会碰到它可能无法进行处理和导航的各种情形。在一些示例中,此类情形可以包括交通堵塞、应急车辆的突然冒出、落下的碎片、留在街道上的体育用球等。自主车辆可以将所碰到的情形的各个方面,诸如传感器数据、位置数据和关于车辆和情形的其他信息,传输到控制中心。控制中心可以接收数据,并且对所述数据执行各种处理和分析。控制中心可以将另外的指令传输到自主车辆,使得自主车辆可以对所述情形进行处理和导航,并且继续前往目的地。自主车辆可以接收这些指令,并且将它们与自主车辆包括的其他各种处理系统一起使用来对所碰到的情形进行导航并且继续行驶向目的地。在本文描述的至少一些示例中,此类指导可以包括对位置和/或取向(例如,姿势)的微小调整,使得车辆可以继续自主地进行规划和行驶。在至少一些示例中,所述调整可以向环境中的其他驾驶员或人表明意图。通过车辆,所述意图允许道路上的其他驾驶员例如更好地理解车辆想要做什么或执行什么(例如,车辆向右开了几米并停下,使得它向其他驾驶员表明车辆想要或将要在下个红绿灯向右转)。在一些示例中,所述调整可以提供额外的传感器数据、不同的起始约束等,使得车辆(假设新的起始位置)能够规划之前在初始位置被排除的轨迹。作为非限制性示例,由于算法限制,起始位置可能不会得到用于沿着路径继续下去的可行轨迹。在此类示例中,远程操作者可以提供指导来进行调整,并且在此类调整之后,可以由车辆自主地确定轨迹。
在一些示例中,自主车辆可以被编程有目的地,使得自主车辆可以行驶到目的地。目的地可以是全球定位系统(GPS)坐标、地标、地址或其他位置指示符。各种处理系统可以包括各种机器学习算法、机器学习模型、神经网络和/或其变形以将指令提供到在去往目的地途中的自主车辆。
在执行与机器学习模型相关联的操作时,自主车辆可能会碰到某种情形。控制中心可以从自主车辆获得关于所碰到的情形的通信。控制中心随后可以基于与所述情形相关联的所接收到的数据来向自主车辆提供指令。在一些示例中,所述指令可以被称为指导指令或远程操作指令并且包括自主车辆可以利用来对所述情形进行导航的信息,诸如位置和/或取向。
自主车辆可以从控制中心接收指令/指导指令,并且利用它们来对所碰到的情形进行导航。在一些示例中,自主车辆可以简单地遵循所接收到的指令。在一些示例中,自主车辆可以利用所接收到的指令与它可以包括的各种处理系统来对所碰到的情形进行导航。在自主车辆从控制中心获得指令之后,与控制中心的通信通道可以中止。在一些示例中,自主车辆可以继续与控制中心通信,直到所碰到的情形被导航或被解决为止或甚至在情形被解决之后。
在某种情形阻止自主车辆前进到目的地时,利用本文中描述的技术来允许自主车辆安全地对所述情形进行导航。在一些示例中,所述情形可以是自主车辆被困在某个位置和/或碰到某种环境状况,在所述环境状况中,它需要额外指导才能从所述位置和/或情形导航出去(例如,被困在车流中的汽车后面、碰到道路上的对象、紧跟在自主车辆后面的处于紧急状态时的应急车辆)。自主车辆可以向控制中心发送对指导的请求。控制中心随后可以向自主车辆提供用于以安全方式对所述情形进行导航的指令。所提供的指令通常由自主车辆在有限的控制下以速度阈值或低于速度阈值来执行,使得其防止怀有恶意的人控制车辆进入车流中。通过寻求来自控制中心的指导,自主车辆可以能够快速地、有效地并且安全地对所述情形进行导航并且在受控的环境下从其当前位置脱困,使得其最终可以前进到其目的地。
图1示出示例系统100,其中控制中心102(其由实体104、用户或计算装置(在任何情况下在本文中也可以被称为远程操作者)控制)从自主车辆106接收传感器数据108(其可以包括激光雷达数据110和图像数据112)并且向自主车辆106提供指令114。在一些示例中,自主车辆106可以是用于运输的任何合适的机器,诸如有轨车辆、机动车辆、水运工具、水陆两栖车和/或其变形。在一些示例中,自主车辆106可以包括下文参考图9描述的架构900的一个或多个子系统。
自主车辆106可以包括生成传感器读数的各种传感器。所述传感器可以连续地分析自主车辆106周围的环境,并且可以生成传感器数据108。传感器数据108可以包括激光雷达数据110和图像数据112,以及来自自主车辆106的各种子系统和传感器的其他数据。在各种示例中,传感器数据108包括从可能存在于自主车辆106上的激光雷达传感器、相机和/或雷达获得或者与自主车辆106相关联或由自主车辆106访问的数据。自主车辆106可以另外包括可以控制自主车辆106的各种处理系统和子系统。此类处理系统可以包括各种机器学习算法、分析工具和/或其变形。在一些示例中,自主车辆106可以利用车辆控制器(图1中未绘示,但关于车辆控制器的另外的信息可见于图4的描述中)。
在一些示例中,自主车辆106可以被编程以导航到目的地。目的地可以由控制中心102、实体104、图1中未绘示的其他实体和/或其变形提供给自主车辆106。自主车辆106可以利用各种处理系统来导航到目的地。在一些示例中,目的地可以是特定位置,所述特定位置可以由GPS坐标、航路点、地址和/或其变形指示。目的地还可以是地标、建筑物、房屋或区域。自主车辆可以利用其包括的各种传感器来连续地分析其环境、产生来自传感器的传感器数据,并且利用所述传感器数据和自主车辆106可以包括的各种处理系统来导航到目的地。另外,自主车辆106可以利用可以由各种处理系统实施的机器学习模型来进行导航。
自主车辆106可能会碰到它无法进行处理和/或导航的情形。在至少一些但并非所有示例中,在自主车辆106以低于特定速度阈值的有限速度移动时,可以执行本文中描述的技术。有限速度的示例可以是自主车辆106以每小时5公里或低于每小时5公里来操作。所述情形可能会阻止自主车辆106前进到其目的地。作为示例,所述情形可以是自主车辆106被困在车流中或在车流中非常缓慢地移动。为了检测自主车辆106实际上被困在车流中,自主车辆106可以检测到自主车辆106在一段时间内(例如,5分钟)没有移动。在另一个示例中,所述情形可以是自主车辆106被对象堵住并且无法安全地确定如何经过特定位置。在又一个示例中,所述情形可以是自主车辆106等待交通停止灯,并且警报响起且处于紧急状态时的应急车辆刚好在自主车辆106后面寻求通过。换句话说,应急车辆处于紧急状态的情形可以包括应急车辆呈现出一个或多个指示符,诸如紧急灯、音频信号(例如,警报)和其他方式(例如,经由短程无线电信号、通过互联网等来传输关于其紧急状态的信息)。自主车辆106可能试图处理所述情形,并且鉴于机器学习模型基于来自自主车辆106的各种传感器数据来确定其无法在允许其进行导航(或者能够由于运动学和/或各种规划算法的规划约束而确定导航轨迹)的参数内对所述情形进行导航。在一些示例中,自主车辆106可以能够对所述情形进行导航,但对所述情形的导航可能需要违反各种道路规章。在诸如上文提出的那些情形中,自主车辆106可以检测到这些情形(以及其中自主车辆106无法确定轨迹的解决方案的其他情形)满足一组条件,并且基于该满足,自主车辆106可以寻求来自控制中心102的指导。此类条件可以包括多种因素,所述因素鉴于道路规章、伤到人或动物的潜在风险、导航可能性和/或其变形来分析自主车辆106周围的情形。在替代实施方案中,自主车辆106可以利用阈值来确定情形(例如,必须被满足一组条件中最低的特定数目的条件以确定所述情形无法进行导航)是否指示可能需要呼叫控制中心102来寻求指导。
响应于检测到此类情形,自主车辆106可以联系控制中心102。自主车辆106可以经由一个或多个通信通道和/或网络(诸如蜂窝网络、无线电网络和/或其变形)与控制中心102相互通信。自主车辆106可以将情形的各个方面传输到控制中心102,诸如传感器数据108(所述传感器数据具体地可以是关于所述情形的传感器数据)、用于确定所述情形的状况以及来自自主车辆106的其他子系统的其他各种数据。传感器数据108可以包括照片数据,包括由自主车辆106的一个或多个相机捕获以使得操作者能够视觉上查看车辆在其环境中碰到什么的视频流,以及其任何表示(边界框、按语义分段的图像等)。传感器数据108可以包括由自主车辆106的一个或多个音频记录器或传声器捕获以使得操作者能够听到车辆在其环境中碰到什么的音频数据。当然,任何传感器数据和/或其表示(包括下采样或压缩的版本)可以被流式传输到此类远程操作者。
控制中心102(其可以处于与自主车辆106分开的物理位置)可以包括被配置为促进对传感器数据108的分析和指令114的生成的各种计算系统,诸如一个或多个服务器、虚拟计算实例、数据存储区等和/或其变形。在一些示例中,控制中心102可以是单个计算装置,诸如移动电话、平板计算机或膝上型计算机。控制中心102可以雇用授权的用户或工程师经由控制中心102处的计算装置来分析在自主车辆106周围获得的数据并且将指令/指导指令提供给自主车辆106来执行。在一个示例中,将指令/指导提供给自主车辆106以使用以缓慢或特定速度转向的四个车轮来执行所述指令/指导。换句话说,控制中心102发出具有对自主车辆106的有限控制的指令/指导,使得其以特定速度或低于特定速度操作或执行指令/指导。在一个示例中,自主车辆106可以按每小时5公里或更小的速度来执行指令/指导并且随后停下并前进到目的地或寻求来自控制中心102的进一步指导。在一些示例中,控制中心102可以被称为命令中心、远程操作中心或中心命令。
在一些示例中,控制中心102可以包括存储装置、一个或多个处理器、存储器和操作系统。所述存储装置、处理器、存储器和操作系统可以经由通信基础设施通信地耦合。任选地,控制中心102可以经由输入/输出(I/O)装置与用户或环境交互,以及通过网络经由通信基础设施与一个或多个其他计算装置和/或实体(诸如自主车辆106)交互。操作系统可以与其他组件交互以控制一个或多个应用。在一些情况下,控制中心102可以实施任何硬件和/或软件以实施如本文所描述的各种子系统。
控制中心102可以利用所获得的传感器数据来确定自主车辆106可以利用来对所述情形进行导航的指令114。在一些示例中,实体104(其可以是操作者、控制中心102的被授权用户、操作者的网络、人工智能程序、计算机应用程序/程序和/或其变形)可以基于传感器数据108以及来自自主车辆106的任何其他所传输的数据来确定指令114。实体104可以利用传感器数据108、自主车辆106的位置以及自主车辆106周围的环境的其他各种状况来确定指令114。实体104可以利用图形用户界面(GUI),诸如结合图2描述的GUI 214,来确定指令114。
指令114可以包括位置和/或取向指令。例如,指令114指示自主车辆106向前移动三英尺并旋转90度。指令114还可以包括位置或航路点。例如,指令114可以指示自主车辆106行驶到特定位置或航路点,所述特定位置或航路点可以表示为中间目的地。在各种示例中,指令114可以呈计算机文件的格式,诸如文本文件、信号和/或其变形。在一些示例中,指令114可以向自主车辆106指示导致自主车辆106移动到不同位置的移动,其中所述不同位置可以允许自主车辆106从它可能处于的死锁位置脱困,所述死锁位置作为它无法进行导航的情形的部分。例如,在车辆被堵住的那些场景中,远程操作者可以识别出此类情形并且明确地批准车辆向前移动3英尺(可能超控某些策略,诸如停在指定的停车标记处),使得车辆可以接收足够的数据来自主地规划通过交叉路口。
在接收到指令114之后,自主车辆106可以利用指令114以及其各种处理系统来对所述情形进行导航,所述处理系统可实施如上文所述的机器学习模型。在一些示例中,自主车辆106经由机器学习模型可以确定指令114是可行的并且可以简单地遵循指令114。例如,指令114可以指示自主车辆106必须向前移动三英尺;自主车辆106经由机器学习模型可以确定指令114是可行的(例如,自主车辆106往前三英尺没有堵塞),并且向前移动三英尺。在其他示例中,自主车辆106经由机器学习模型可以确定指令114不是即刻可行的,并且在指令114可行或不再需要之前采取各种中间步骤。例如,指令114可以指示自主车辆106必须向前移动三英尺,然而,在前面两英尺可能有个排球;自主车辆106可以等到排球不再在前面两英尺处并且向前移动三英尺,或完全抛弃指令114并向控制中心102请求另外的指令。请注意,在各种示例中,自主车辆106经由机器学习模型可以以任何适格性利用指令114,从不以任何适格性利用指令114、到最低限度地考虑指令114以确定对所碰到的情形进行导航的步骤、到完全利用指令114来确定对所碰到情形进行导航的步骤。
图2示出在包括排球206的环境204内的自主车辆202的示例200,所述自主车辆将传感器数据208传送到控制中心212,所述控制中心利用GUI 214并将指令210传输给自主车辆202。在各种示例中,自主车辆202、传感器数据208、指令210和控制中心212分别与结合图1描述的自主车辆106、传感器数据108、指令114和控制中心102相同。在一些示例中,自主车辆202可以包括下文参考图9描述的架构900的一个或多个子系统。
自主车辆202可以被编程有目的地,所述目的地需要自主车辆202穿越环境204。自主车辆202可以穿越环境204,并且碰到排球206。排球206可能会阻挡机器学习模型指示自主车辆202采用来行驶到目的地的路线。自主车辆202可以分析环境204和排球206,并且确定它已经碰到了它无法进行导航的情形。在一些示例中,自主车辆202可以利用各种标准和来自自主车辆202的其他传感器数据来确定所述情形被阻止进行导航。例如,参考示例200,自主车辆202可分析所述情形满足一组条件,该组条件可以包括确定排球206正阻挡去往目的地的路线,并且绕过排球206可能会违反各种道路规章。
在确定满足该组条件并且所述情形无法进行导航之后,自主车辆202可以向控制中心212通信以寻求指导。自主车辆202可以将所述情形的各种方面传输到控制中心212。自主车辆202可以传输传感器数据208,所述传感器数据可以是从自主车辆202可以包括的各种传感器收集到的数据,诸如激光雷达数据、图像数据和/或其变形。控制中心212可以接收传感器数据208并且生成绘示自主车辆202无法进行导航的情形的GUI 214。
GUI 214或图形用户界面可以是允许实体与控制中心212交互以确定指令210的用户界面。GUI 214可以由能够访问控制中心212的实体操作,诸如操作者、管理员、人工智能程序和/或其变形。所述实体可以确定自主车辆202对所述情形进行导航的接下来的动作流程或指令。例如,关于示例200,GUI 214可以包括对自主车辆202已经碰到并且无法进行导航的情形的视觉绘示。继续所述示例,实体可以确定自主车辆202的最好的动作流程是绕过排球206。另外,继续所述示例,实体可以通过GUI 214选择自主车辆202绕过排球206的路径和/或位置,尽管绕过排球可能会与机器学习模型提供的指令冲突。另外,继续所述示例,所述选择可以由实体通过GUI 214提交,所述选择可以由控制中心212处理为适当格式并且作为指令210传输到自主车辆202。在各种示例中,通过GUI 214,实体可以输入用于自主车辆202的任何形式的指令,诸如输入基本方向、半径和/或取向指令,所述指令可以作为用于自主车辆202的指令210来传输。所发出的指令210可以被约束或限制为小半径和取向以便自主车辆202执行。在一个示例中,指令210可以是小的运动范围(例如,移动3英尺并停下)和/或取向变化(例如,偏转90度并停下)。
自主车辆202可以接收指令210,并且确定指令210的可行性。指令210可以包括让自主车辆202遵循的信息,诸如位置、方向和/或速度。所述指令可以包括使自主车辆202导航到在自主车辆202的当前位置的一定半径内的中间目的地的信息。自主车辆202可以将指令210输入到自主车辆202可以包括的各种处理系统中。自主车辆202可以分析环境204,以及指令210,并且确定指令210是可行的。例如,自主车辆202可以分析环境204,并且确定没有障碍物挡住由指令210指示的路径。自主车辆202随后可以以有限的速度遵循指令210并且执行指令210以到达中间目的地。继续所述示例,中间目的地可以是自主车辆202绕过排球206的位置,使得排球206在自主车辆202后面。也就是说,自主车辆202可以利用指令210并且自主地调整其控制和导航计划以便围绕排球206进行导航并且继续前往其目的地。
图3示出控制中心302和至少一个或多个GUI 304的示例300。在各种示例中,控制中心302与如结合图2描述的控制中心212相同。GUI 304可以是由控制中心302利用来确定用于自主车辆的指令的图形用户界面。自主车辆可以被编程有目的地,使得它将利用自主车辆可以包括的各种处理系统来行驶到目的地。在一些示例中,自主车辆可以包括下文参考图9描述的架构900的一个或多个子系统。自主车辆可能会碰到一定情形,并且确定要寻求来自控制中心302的指令。作为向控制中心302请求指令的部分,自主车辆可以向控制中心302提交各种数据,诸如传感器数据、关于所述情形的数据和/或其变形。
GUI 304可以由能够访问控制中心302的实体306利用。实体306可以是一个或多个操作者、一个或多个人工智能程序、一个或多个管理员(其可以是控制中心302的管理员)、一个或多个计算机应用程序和/或其变形。在一个实施方案中,操作GUI 304的实体306是可确定用于自主车辆的指令的任何适当实体。GUI 304可以包括使得实体306能够确定用于自主车辆的指令的各种图像元件。如示例300中所绘示,GUI 304包括对自主车辆及其环境的绘示以及允许实体306确定自主车辆的移动的各种控制。例如,实体306指明自主车辆在由箭头选择的方向上行驶的距离,所述距离控制自主车辆如何微移。在一些示例中,实体306可以指示自主车辆执行所期望取向,因为实体306已使用四轮转向来控制自主车辆。在一个示例中,使用箭头按钮可以用于指示自主车辆旋转到所期望取向。在其他示例中,可以由实体306r在控制中心处经由GUI 304输入额外参数,诸如速度。
实体306可以基于从自主车辆接收到的数据来选择方向和距离,用于使自主车辆对所述情形进行导航。此类数据可以包括可以反映自主车辆周围的环境的状态的传感器数据,所述传感器数据可以基于与自主车辆相关联的传感器。作为一个示例,传感器数据可以表示为GUI 304上的原始图像流。在实体306选择了方向(例如,经由箭头)和在所选方向上移动的距离之后,控制中心302可以将所选方向和距离处理为使自主车辆在所选方向上移动所选距离的适当指令,并且将所述指令传输到自主车辆。自主车辆可以将所述指令与各种处理系统(其可以包括机器学习模型或规划器系统)一起使用,来导航到中间目的地,所述中间目的地可能会导致自主车辆对它先前无法进行导航(例如,基于额外可行性、用于求解运动方程的初始位置等)的所碰到的情形进行导航。在一些示例中,实体306还可以选择用于自主车辆的额外方向和距离;控制中心302还可以处理额外选择并且将它们作为用于自主车辆的第二指令进行传输。所述第二指令可能会导致自主车辆行驶到第二中间目的地,所述第二中间目的地可以允许自主车辆对它先前无法进行导航的所碰到的情形进行导航。第二指令可以由实体306确定并且从控制中心302传输,而没有来自自主车辆的额外输入。请注意,在各种示例中,GUI 304可以按各种格式绘示,并且可以包括各种用户元件,所述用户元件允许实体306选择让自主车辆执行的多个选项,诸如位置、取向、定位、航路点、基本方向、距离、速度输入和/或其变形,所述选项可以用于确定用于自主车辆的指令。
图4示出示例系统400,其中自主车辆经由包括车辆传感器接口410、车辆控制接口412、车辆控制系统416和车辆控件的车辆控制器404传输传感器数据422并且从包括GUI406和数据存储区408的控制中心402接收指令420。在各种示例中,利用车辆控制器404的自主车辆、传感器数据422、指令420、控制中心402和GUI 406分别与结合图2描述的自主车辆202、传感器数据208、指令210、控制中心212和GUI 214相同。在一些示例中,自主车辆可以包括下文参考图9描述的架构900的一个或多个子系统。
车辆控制器404可以包括被配置为提供用于自主车辆的控制的各种计算系统,诸如一个或多个服务器、虚拟计算实例、数据存储区等和/或其变形。车辆控制器404可以实施为硬件、软件和/或两者的各种组合的形式。车辆控制器404可以物理上存在于自主车辆上,或可以由自主车辆通过一个或多个网络访问。在一个实施方案中,车辆控制器404提供用于使自主车辆自主地操作的控制。
车辆控制器404可以包括车辆传感器接口410。车辆传感器接口410可以是被设计为在自主车辆可以包括的各种传感器与自主车辆之间传送信息的计算机硬件和/或软件的集合。各种传感器可以包括多种装置,诸如雷达检测系统、激光雷达系统、飞行时间、成像系统、GPS系统、位置/取向系统和/或其变形。车辆传感器接口410可以从各种传感器收集数据并且将数据提供到自主车辆可以包括的各种子系统。另外,在一些示例中,车辆传感器接口410可以将数据提供到在外部的多方,诸如控制中心402。
车辆控制器404还可以包括车辆控制接口412。车辆控制接口412可以是被配置为对自主车辆提供控制的计算机硬件和/或软件的集合,所述控制可以由车辆控制系统416生成。车辆控制接口412可以与自主车辆的各种组件介接,使得自主车辆可以完全通过车辆控制接口412来控制。车辆控制器404还可以包括车辆控制系统416。车辆控制系统416可以是被配置为确定用于自主车辆的控制的计算机硬件和/或软件的集合。车辆控制系统416可以包括可以被实施为硬件和/或软件的各种机器学习和人工智能程序和/或应用程序。车辆控制系统416可以利用可以由车辆传感器接口410提供的传感器数据来确定用于自主车辆的控制。在一些示例中,可以向车辆控制系统416提供目的地,其中车辆控制系统可以确定用于使自主车辆前往目的地的控制。
控制中心402可以包括数据存储区408。数据存储区408可以是数据对象的仓库,诸如数据库记录、平面文件和其他数据对象。数据存储区的示例包括文件系统、关系数据库、非关系数据库、面向对象的数据库、逗号分隔的文件和其他文件。在一些示例中,数据存储区408可以与控制中心402分离并且由数据存储服务或其他联网计算服务提供商或系统托管或提供。数据存储区408可以存储可以由控制中心402访问和利用的数据,诸如传感器数据、控制数据和导航数据。
在一些示例中,自主车辆可以被编程有(或以其他方式接收)目的地。自主车辆可以利用车辆控制器404来前进到目的地。自主车辆可能会碰到它无法进行导航但必须要导航以便前进到目的地的情形。自主车辆可以至少部分地基于来自自主车辆的传感器数据来检测无法进行导航的情形。自主车辆可以将传感器数据422以及关于所述情形的其他数据和寻求指导的请求传输到控制中心402。控制中心402可以接收和分析所传输的传感器数据422以及所述请求。实体,诸如操作者,可以利用控制中心402来经由GUI406选择用于使自主车辆对所述情形进行导航的动作流程。所述动作流程可以被传输回到自主车辆,所述动作流程可以被自主车辆经由车辆控制器404以指令420的形式接收。自主车辆可以利用指令420以及车辆控制器404的各种系统来对所述情形进行导航。
图5示出车辆传感器502与自主车辆的车载计算系统504和控制中心506之间的示例通信500。在各种示例中,自主车辆和控制中心506与如结合图2描述的自主车辆202和控制中心212相同。在一些示例中,车载计算系统504可以包括如结合图4描述的车辆控制器404的一个或多个系统。在一些示例中,自主车辆可以包括下文参考图9描述的架构900的一个或多个子系统。
自主车辆可以被编程有目的地,并且可以利用机器学习模型、具有一组指令的导航计划和/或自主车辆可以包括的被编程指令来前进到目的地。自主车辆可能会碰到它无法进行导航的情形。所述情形可以包括导致自主车辆被困住的对象或环境状况(或者车辆为了安全而必须违反策略的情形--例如,因为应急车辆而移动越过双黄线)。自主车辆可以至少部分地基于来自自主车辆的传感器数据来检测到所述情形无法进行导航并且可能需要一些帮助来从所述情形中脱困。在操作508处,在自主车辆(“A/V”)沿着轨迹行驶时,车辆传感器502可以获得传感器数据。车辆传感器502可以获得各种传感器数据。在操作510处,可以将传感器数据传送到一个或多个车载计算系统504。在一些示例中,车辆传感器502可以将传感器读数和数据传送到一个或多个车辆子系统的一个或多个计算系统。在操作512处,车载计算系统504可以处理传感器数据。在一个实施方案中,车载计算系统504分析传感器数据以确定是否已满足一组条件来向控件506发送对指导的请求。也就是说,在一个实施方案中,车载计算系统504可以基于处理传感器数据来确定自主车辆被困住并且可能需要来自控制中心的帮助以将自主车辆从被困住的位置脱困。在至少一些示例中,此类请求可以包括车辆状态是停下或缓慢移动(例如,5mph)并且车辆已处于某位置好一会(例如,30秒、1分钟等)的指示、某些信号的存在(例如,应急车辆的灯)、堵塞量(例如,40%、50%等)或其他。
在一些示例中,在操作514处,车载计算系统504或车辆的一个或多个子系统的一个或多个计算系统可以对传感器数据(和/或其表示)的子集和对另外的指令的请求进行打包。在操作516处,车载计算系统504可以将所述包传输到控制中心506。在一些示例中,车载计算系统504可以通过将传感器数据转换为用于控制中心506的适当格式来处理传感器数据。在一些示例中,车载计算系统504可以通过一个或多个网络(诸如蜂窝网络和/或其变形)来传输所述包。
在操作518处,控制中心506在接收到打包的传感器数据的子集和对指令的请求之后可以发出导航指令。所述指令可以包括信息,诸如自主车辆行驶到达在距自主车辆的当前位置和/或取向的某一半径或距离内的中间目的地时所遵循的速度、距离和/或方向。控制中心506可以利用传感器数据来确定用于使自主车辆对它无法进行导航的情形进行导航的适当指令。控制中心506可以将所述指令处理为适当格式,并且在操作520处,将所述指令发送到自主车辆,所述指令可以由自主车辆经由车载计算系统504接收。在一些示例中,控制中心506可以经由一个或多个网络向自主车辆发送指令,通过所述一个或多个网络,控制中心506已接收到所传输的打包的传感器数据的子集和对指令的请求。在其他示例中,控制中心506可以利用一个或多个其他网络来将指令发送到车载计算系统504。在各种示例中,此类指令可以限于移动到某一位置(例如,在当前位置的3米范围内)和/或所期望取向(例如,偏转90度)。
在操作522处,车载计算系统504可以获得导航到中间目的地的指令。车载计算系统504可以接收由控制中心506发送的指令,并且处理所述指令以从所述指令中确定中间目的地。所述中间目的地可以是允许自主车辆对它无法进行导航的情形进行导航的目的地。例如,所述情形可以是堵塞;继续所述示例,中间目的地可以是向自主车辆提供更多传感器可行性的位置并且从所述中间目的地可以经过当前位置并且导航通过所述情形。
在操作524处,车载计算系统504可以用从控制中心506获得的指令进行规划,以导航到中间目的地。车载计算系统504可以利用指令/指导以及本地决策决定来提供用于使自主车辆导航到中间目的地的控制。在一些示例中,导航到中间目的地可能不会完全允许自主车辆成功地克服它之前无法进行导航的情形。在这种情况下,自主车辆可以重复操作508524,直到所述情形已被解决或被导航为止。请注意,取决于实施方式,示例通信500的步骤可以按与图5中所示的步骤不同的次序执行,甚至是并行执行,具有更多或更少的步骤。另外,示例通信500可以由比说明性示例中绘示的实体更多的、更少的或不同的实体利用。
图6示出用于处理环境并导航到目的地的示例过程600。过程600可以由任何合适的系统执行,诸如例如由机器人装置或自主车辆或其子系统,诸如结合图5描述的车载计算系统504。在其他示例中,过程600的不同操作可以由各种实体执行,诸如机器人装置、自主车辆,诸如结合图2描述的自主车辆202,和/或其变形。
在操作602处,执行过程600的系统可以接收在自主车辆在去往目的地的途中根据各种策略和算法进行操作期间获得的传感器数据。自主车辆可以朝向目的地行驶,并且可以包括可以用于行驶到目的地的各种算法。自主车辆还可以包括各种子系统和传感器,并且可以在去往目的地的途中产生传感器数据。所述传感器数据可以包括数据,诸如激光雷达数据、图像数据和/或其变形。
在操作604处,执行过程600的系统可以至少部分地基于传感器数据来确定在自主车辆在其中行驶的环境中是否存在指示由于自主车辆周围的环境中的条件阻止自主车辆前进到目的地而需要获得来自第二或不同系统(例如,控制中心、命令中心、移动电话或膝上型计算机等)的指导的状况。在各种示例中,该组条件可以包括鉴于多种状况,诸如遵守道路规章、潜在风险、导航可能性和/或其变形,来分析在环境中操作的自主车辆的当前位置和情形。例如,所述系统可以通过传感器数据来检测排球正阻挡自主车辆前进,并且没有可行的路径绕过排球来继续前往目的地。在另一个示例中,所述系统可以通过传感器数据来检测自主车辆经过了特定的时间量(或时间限制、阈值)还没有移动并且困在其当前位置并且因此指示自主车辆处于被困位置。继续所述示例,所述系统,由于检测到自主车辆被困住,已识别出满足一个或多个条件并且随后寻求指导或向控制中心发出请求来寻求指导。通过获得指导,自主车辆可以使用该指导来导航绕过排球。在至少一些示例中,车辆可以至少部分地基于确定应急车辆、急救车辆等的存在来确定需要指导/指令。
在操作606处,执行过程600的系统可以将传感器数据的至少一子集与对指导的请求传输到第二系统。所述系统可以经由一个或多个网络将关于被满足的一组条件和环境的传感器数据以及对克服阻止自主车辆前进到目的地的情形的指导的请求传输到不同的系统。第二系统可以接收所述传感器数据和请求,并且确定用于自主车辆的指令。所述不同系统可以返回响应,所述响应包括用于使自主车辆克服阻止自主车辆前进到目的地的情形的指令。用于自主车辆的指令可以是一小组数据,在应用该组数据时,自主车辆可以按特定速度(例如,5mph)或低于特定速度的速度来进行小的移动。
在操作608处,执行过程600的系统可以接收对请求的响应,所述响应包括将自主车辆导航到在去往目的地的途中的中间目的地的指令,其中所述中间目的地是在自主车辆的当前位置的一定半径内。所述响应可以经由一个或多个网络从不同系统传输。所述指令可以指导自主车辆行驶到中间目的地。在一些示例中,中间目的地可以是使自主车辆能够继续对自主车辆当前所处的情形进行导航或绕过所述情形的目的地,使得自主车辆可以最终到达目的地。在各种示例中,中间目的地可以位于自主车辆的当前位置附近。在一些示例中,中间目的地可以是自主车辆的旋转,而不必行驶某一段距离。
在操作610处,执行过程600的系统可以控制自主车辆穿越所述环境到达中间目的地。自主车辆可以使用规划器系统来确定如何在去往目的地的途中完成所述指令。所述系统可以利用所述指令作为到规划系统的输入。自主车辆可以利用规划系统以及所述指令来前进到中间目的地并且随后到目的地。在其他示例中,自主车辆可以确定在根据所述指令继续前进之前需要另外的动作,并且在根据所述指令继续前进之前需要另外的额外动作。在又一个示例中,自主车辆可以确定所述指令不是可行的并且向不同的系统请求另外的指导。请注意,取决于实施方式,过程600的步骤可以按与图6中所绘示的步骤不同的次序执行,甚至是同时执行,具有更多或更少的步骤。
图7示出用于导航到目的地的示例过程700。过程700可以由任何合适的系统执行,诸如例如由机器人装置或自主车辆或其子系统,诸如结合图5描述的车载计算系统504。在其他示例中,过程700的不同操作可以由各种实体执行,诸如机器人装置、自主车辆,诸如结合图2描述的自主车辆202,和/或其变形。
在操作702处,执行过程700的系统可以获得使自主车辆前进到目的地的传感器数据。在各种示例中,执行过程700的系统可以是自主车辆包括的系统。自主车辆可以被编程以经由一定路线前进到目的地,并且可以利用各种机器学习模型和/或应用程序来经由所述路线行驶到目的地。在去往目的地的途中,自主车辆可能会碰到它无法进行导航或被困住的情形。在操作704处,执行过程700的系统可以检测到自主车辆被困在某一位置。所述位置可以是自主车辆无法从中导航出来的位置。所述位置还可以是包括自主车辆的环境的状态的结果,其可能会阻止自主车辆完成到目的地的路线。
在操作706处,执行过程700的系统可以请求指导。所述系统可以向控制中心(诸如结合图5描述的控制中心506)请求指导。所述系统可以请求指导,并且将关于所述位置的各种数据以及来自自主车辆可以包括的传感器的传感器数据提供到控制中心。在操作710处,执行过程700的系统可以获得指导指令。所述指令是在控制中心处通过分析从自主车辆提供的数据来生成,使得可以确定呈指令形式的使自主车辆从被困位置导航出来的动作流程。在一些示例中,所述指令是在控制中心处由在计算装置上操作的另一个机器学习模型生成。也就是说,在控制中心处的机器学习模型可被配置为分析来自自主车辆的数据并且在没有来自操作者或用户的帮助的情况下生成指令。
在操作714处,执行过程700的系统将规划器系统与所述指令一起使用。在一些示例中,自主车辆可以包括各种处理系统,所述处理系统利用规划器系统来对自主车辆进行控制和导航。自主车辆可以利用其各种处理系统来处理所述指令以确定所述指令和用于执行所述指令的控制的可行性。在操作716处,执行过程700的系统可以执行到达中间目的地和/或取向的操作。在一些示例中,所述指令可以指示中间目的地的坐标,所述坐标可以是与自主车辆的当前位置相距有限的半径。作为一个示例,中间目的地可以位于自主车辆的当前位置的5英尺半径范围内。在各种示例中,由所述系统执行的操作可以基于所述指令。所述系统可以结合自主车辆执行各种操作,所述操作可能会导致自主车辆前进到中间目的地。在一些示例中,自主车辆可能无法前进到中间目的地。在任一种情况下,在操作718处,执行过程700的系统可以确定自主车辆是否仍被困在同一个位置。
如果自主车辆被困在同一个位置,则执行过程700的系统可以返回到操作706,并且请求额外指导。所述系统可以识别可能会阻止系统利用和/或完成所述指令的额外状况,诸如位置变化、新的障碍物和/或外来对象等,并且提交对指导的第二请求。所述系统可以获得用于使自主车辆按不同的特定路线进行导航的第二指令,所述路线可以允许自主车辆脱困。所述系统可以重复操作706-718,直到自主车辆不再被困在同一个位置为止。如果自主车辆不再被困在同一个位置,则在操作720处,执行过程700的系统可以继续到达最终目的地的操作。所述系统可以利用其各种处理系统来继续前进到最终目的地。请注意,取决于实施方式,过程700的步骤可以按与图7中所绘示的步骤不同的次序执行,甚至是并行执行,具有更多或更少的步骤。
图8示出用于处理传感器数据并传输指令的示例过程800。过程800可以由任何合适的系统执行,诸如结合图5描述的控制中心506。在其他示例中,过程800的不同操作可以由各种实体执行,诸如机器人装置、自主车辆,服务、系统和/或其变形。
在操作802处,执行过程800的系统可以从穿过环境去往目的地的自主车辆的传感器接收至少一部分的传感器数据。也就是说,从装置(例如,自主车辆)接收数据和/或由此得到的数据,在以有限速度操作时,反映所述装置在去往目的地途中的环境的状态的多个传感器数据。在各种示例中,所述装置可以是自主装置,如自主车辆,诸如结合图2描述的自主车辆202。所述装置可以包括各种处理系统并利用各种处理系统来进行导航,所述处理系统可以包括各种机器学习模型。所述装置可处理一组指令、使用规划器系统和/或被编程有目的地,使得所述装置将自主地导航到目的地。所述装置可能会碰到它无法进行导航的情形。所述装置可以在碰到所述情形期间以有限速度进行操作。所述装置可以识别情形并且随后停下和/或慢下来。所述装置可以将传感器数据(和/或由此得到的数据)以及关于所述情形的额外数据传输到执行过程800的系统,所述传感器数据可以是从所述装置可以包括的各种传感器收集并进行处理的数据,诸如激光雷达数据和/或图像数据。在各种示例中,在804处,执行过程800的系统可以导致显示器显示所述环境中的自主车辆的第一表示和所述传感器数据的第二表示。在一个实施方案中,显示器是基于所接收到的传输数据来显示在所述环境中的自主车辆的第一表示和第二表示的GUI,诸如结合图2描述的GUI 214。
在806处,执行过程800的系统可以接收指示自主车辆要行驶到的中间目的地的输入,所述指示被限于第一表示中的自主车辆的一定半径并且包括位置或取向中的一者或多者。所述系统可以经由一个或多个实体(诸如能够访问所述系统的操作者)来获得输入。执行过程800的系统可以通过所生成的GUI获得所述输入。关于GUI的另外的信息可以见于图2、图3和图4的描述中。所述输入可以指示为了去到中间目的地而将执行的位置或取向中的一者或多者;中间目的地可以是所述装置为了导航通过它无法进行导航的所碰到的情形而可能行驶到的目的地。
执行过程800的系统可以将所述输入处理为指令。所述输入可以被处理为适合于所述装置的格式。在808处,执行过程800的系统可以将指令传输到所述装置以致使所述装置使用机器学习模型来行驶到在去往目的地途中的中间目的地。在一个示例中,传送给所述装置的指令可能会致使所述装置以非常慢的速度远离其当前位置移动某一段距离并且随后停下。在另一个示例中,传送给所述装置的指令可能会致使所述装置以非常慢的旋转速度旋转45度并且随后停下。所述装置可以接收所述指令,并且利用规划器系统、机器学习模型和/或任何种类的处理系统来处理所述指令。在一些示例中,所述装置可以采取各种中间步骤来行驶到中间目的地,所述中间步骤可以由所述装置的计划确定,诸如等待经定义的时间量和/或其变形。在一些示例中,各种处理系统和/或机器学习模型可以向所述装置指示行驶到中间目的地是不可能的;所述装置可能会联系执行过程800的系统以获得另外的指令。请注意,取决于实施方式,过程800的步骤可以按与图8中所示的步骤不同的次序执行,甚至是并行执行,具有更多或更少的步骤。
图9示出了根据自主车辆的架构(例如,组件)900可以使用的元件的示例。自主车辆可以被表征为具有耦合到各种控制器的自主车辆操作系统902,所述各种控制器进而耦合到自主车辆的各种组件以处置运动、功率管理等。如本文所述,自主车辆操作系统902的元件提供了用于实施对象识别和环境分析的计算系统。这些元件可以用于除了自主车辆之外的其他应用中。
架构900可以指定一个或多个计算机系统,包括各种硬件、软件、固件等,以实施本文所述的系统、方法和设备的方面。例如,自主车辆操作系统902可以包括周围环境分析系统903以及可用于自主车辆的各种方面的其他组件。周围环境分析系统903可以用于获取自主车辆操作系统902可以用于操作马达、转向、对象躲避等的控制器的信息。
在一个实施方案中,周围环境分析系统903是机器人监视器并且被编程为发出轨迹推荐。周围环境分析系统903可以被组织为多个子系统以简化实施方式,允许单独的团队针对特定子系统或出于其他原因进行开发。在一些示例中,独立地实施子系统,而在其他示例中,一个以上子系统被部分地或完全地集成在一起。子系统可以包括激光雷达子系统904、相机子系统906、雷达子系统908、声纳子系统910、体素空间子系统912、地面确定子系统914、聚类子系统916、内插子系统918、对象确定子系统920、动态对象确定子系统922、光线投射子系统924、跟踪子系统926、规划子系统928、传感器校准子系统930、注释子系统932和可能的其他子系统934。
给定的子系统可以用程序代码或硬件来实施以便与其他子系统进行通信,以接收输入并提供输出。所述输入中的一些可以来自传感器。在本文的一些描述中,为了可读性,子系统可能被描述为包括传感器和/或发射器,子系统从所述传感器获得数据或信号,子系统将数据或信号输出到所述发射器。例如,声纳子系统可能被描述为具有超声波传感器或可能被描述为从超声波传感器接收信号。作为另一个示例,相机子系统可能被描述为具有相机和显示器,或者可能被描述为从相机接收信号或数据并向显示器发送信号或数据。
虽然未在图9中示出,但应理解,可以根据需要来提供子系统间的通信。给定的子系统可以通过将数据通过某个通道直接发送到另一个子系统来与另一个子系统通信,或者周围环境分析系统903可以包括总线子系统或通信基础设施,子系统可以经由所述总线子系统或通信基础设施通过在其间传递数据和/或信号来进行通信。周围环境分析系统903还可以被配置为接收外部数据并将信息传送到周围环境分析系统903的外部。
给定的子系统可能具有一些它自己的计算处理,所述计算处理可以由专用于该给定子系统的硬件执行,或者可以由被分配来执行该子系统的计算的处理器或电路执行,在子系统完全用软件实施并且使用存储器938(诸如程序代码存储器和数据存储存储器)由一个或多个处理器936执行的情况下,情况可能是这样。存储器可以是用于变量和数据的暂时存储,诸如RAM,以及用于永久存储(即,数据无需刷新、电源等也能保存某一段时间)的存储器,并且即便没有明确提及,在指出时也应有所暗示。例如,在子系统被描述为对数据库进行操作或存储数据的情况下,则将有某种形式的存储器用于以电子可读形式存储数据。在一些情况下,存储器中的数据库或数据存储并非是一个子系统特定的并且不是在一个子系统内部。在这些情况下,存储器可被一个以上子系统存取/访问。例如,一个子系统可能基于由该子系统获得的传感器数据来创建记录并且将那些记录写入到数据库或其他数据结构,进而,另一个子系统可以读取和使用该数据。在子系统以软件实施的情况下,子系统可能包括耦合到该子系统特定的处理器的程序代码或更一般的程序代码存储器和处理器。
在一些情况下,在自主车辆中采用周围环境分析系统903。在一些情况下,周围环境分析系统903可以为自主车辆提供感知和规划功能性。通常,周围环境分析系统903可以提供激光雷达感知、雷达感知、视觉(相机)感知、声学感知、分割和分类、跟踪和融合以及预测/规划,以及与其他控制器介接,所述其他控制器诸如驱动控制器、电源控制器、环境控制器和通信控制器。
自主车辆操作系统902可以包括规划系统940、道路导航系统942、清单管理器944以及审计/故障记录器946。自主车辆操作系统902还可以包括各种传感器950和发射器952或与之介接。
自主车辆操作系统902可以与以下各者介接:驱动控制器970,所述驱动控制器与马达980、转向装置982、制动器984和悬架986交互;电源控制器972,所述电源控制器与电池988和逆变器/充电器990交互;环境控制器974,所述环境控制器与加热、通风、空调(HVAC)组件992和照明装置994交互;以及通信控制器976,所述通信控制器处置在自主车辆、与自主车辆一起使用的装置和外部装置之间的通信,诸如经由网络、蜂窝通道或Wi-Fi通道996。自主车辆操作系统902、控制器和安装在自主车辆中的车辆组件的组合可以提供能够在没有持续的人工干预的情况下安全导航的车辆。
再次参考周围环境分析系统903以及其子系统,激光雷达子系统904,如本文所描述,激光雷达子系统904可以包括一个或多个激光雷达传感器以捕获激光雷达数据来进行分割,并且如本文详细描述的,可以包括任何一个或多个深度传感器。在一些情况下,激光雷达子系统904可以包括用于组合或合成来自多个激光雷达传感器的激光雷达数据以生成激光雷达数据的元自旋的功能性,所述元自旋(meta spin)可以涉及基于多个激光雷达传感器的激光雷达数据。在激光雷达数据的元自旋的情况下,激光雷达子系统904可以包括用于确定元自旋数据的虚拟原点(例如,所有激光雷达传感器共同的坐标参考系)并且执行数据变换使得相对于虚拟原点来表达来自一个或多个激光雷达传感器中的每一者的激光雷达数据的功能性。如在本公开的上下文中可以理解的,激光雷达子系统904可以捕获数据并且可以将数据集传输到周围环境分析系统903的其他子系统以进行后续处理。
相机子系统906可以包括一个或多个相机传感器或与之介接以捕获视觉数据来进行图像分割和/或分类。相机子系统906可以包括任何数量和类型的相机传感器。例如,相机子系统906可以包括任何彩色相机、单色相机、深度相机、RGB-D相机、立体相机、红外(IR)相机、紫外(UV)相机等。如在本公开的上下文中可以理解的,相机子系统906可以捕获数据并且可以将数据集传输到其他系统以进行后续处理。例如,来自相机子系统906的数据可以被包括作为多通道图像的一个或多个通道,所述多通道图像被另一个子系统照此处理。
雷达子系统908可以包括一个或多个雷达传感器以捕获环境中的对象的距离、角度和/或速度。如在本公开的上下文中可以理解的,雷达子系统908可以捕获数据并且可以将数据集传输到周围环境分析系统903的其他子系统以进行后续处理。例如,来自雷达子系统908的数据可以被包括作为多通道图像的一个或多个通道,所述多通道图像被提供到另一个子系统。
声纳子系统910可以包括一个或多个扬声器或发声器和一个或多个传声器(诸如传声器阵列)或与之介接以捕获来自环境中的对象的声学信息。另外地或替代地,此类声纳子系统910可以包括各种超声换能器。例如,声纳子系统910可以使超声换能器发射声音脉冲并且可以监听回声以确定与环境中的对象相关联的位置和/或运动信息。如在本公开的上下文中可以理解的,声纳子系统910可以捕获数据并且可以将数据集传输到其他子系统以进行后续处理。例如,周围环境分析系统903的另一个子系统可以将从声纳子系统910获得的数据与从激光雷达子系统904获得的数据融合,以便更准确地分割对象和/或确定关于对象的信息,或实现其他目的。
除了所示的那些之外,自主车辆操作系统902还可以包括适合于在自主车辆中使用的任何数量或类型的其他传感器。各种传感器950可以包括但不限于超声换能器、车轮编码器、环境传感器、传声器、惯性测量单元(IMU)、加速度计、陀螺仪、磁力计、温度传感器、湿度传感器、光传感器、全球定位系统(GPS)传感器、位置传感器等。
在一些情况下,激光雷达子系统904、相机子系统906、雷达子系统908和/或声纳子系统910可以为周围环境分析系统903的其他子系统提供一个或多个数据集,用于组合和/或合成所述数据以使分割得到改进。
周围环境分析系统903还可以包括用于已由计算机模拟算法生成的模拟数据的存储装置,以便部分用于测试。在一些情况下,模拟数据可以包括任何类型的模拟数据,诸如相机数据、激光雷达数据、雷达数据、声纳数据、惯性数据、GPS数据等。在一些情况下,周围环境分析系统903可以对模拟数据进行修改、变换和/或执行本文所述的转换操作,以用于验证操作和/或用于训练机器学习算法,如本文所述。例如,为了在实验室环境中测试某些功能性,可以将模拟传感器数据/信号如同实际传感器数据一样供应到子系统,以测试一些子系统的性能。
体素空间子系统912可以包括将数据转换或映射到体素地图的功能性。例如,体素空间子系统912可以接收激光雷达数据、相机数据、雷达数据、声纳数据等,并将单独数据点映射、转换或关联到表示环境中的三维空间的体素地图。体素空间是三维环境(诸如自主车辆周围的空间)的逻辑表示,所述三维环境被表示为离散的小体积,例如体素。体素地图为体素空间中的相应体素提供数据或值。作为三维环境的表示,体素地图可以存储在存储器中并且由处理器操纵。
在一些情况下,体素空间子系统912可以定义体素空间的尺寸,包括体素空间的长度、宽度和高度。此外,体素空间子系统912可以确定各个体素的大小。在一些情况下,体素在整个体素空间中可以具有均一的大小和形状,而在一些情况下,体素的大小和/或密度可以基于体素空间中的相对位置而变化。例如,体素的大小可以与体素距体素空间的原点或中心的距离成比例地增大或减小。另外地或替代地,此类体素空间子系统912可以包括虚拟原点与体素空间的原点之间的变换。在一些情况下,体素空间子系统912可以包括生成稀疏体素空间的功能性,在稀疏体素空间中,不包括数据或包括低于数据阈值的数据量的体素不需要存在体素地图中,并且可以假设或忽略那些体素的值。在此类情况下,体素地图可以被组织为八叉树图(octomap)、体素散列等。在一些情况下,体素空间子系统912可以包括通过在数据映射到体素空间并存储在体素地图中时对数据进行滤波来减少体素地图的数据或用于生成体素地图的数据中的噪声的量的功能性。例如,滤波可以包括去除低于每体素的数据阈值量(例如,与体素相关联的激光雷达数据点的数目)或超过预定数目的体素(例如,与多个邻近体素相关联的激光雷达数据点的数目)的数据。在一些情况下,体素空间子系统912可以随着时间推移在收集数据时和或响应于自主车辆在体素空间对应于的真实世界环境内导航而更新体素地图。例如,在自主车辆在一定环境中导航时,体素空间子系统912可以添加数据和/或丢弃体素地图中的数据。
在一些情况下,体素空间子系统912可以初始化体素地图以及其他体素空间参数,诸如体素大小、取向和范围,将初始体素地图处理为表示为空的空间,并且体素空间子系统912可以随着时间推移在捕获激光雷达数据时建立对象的表示。在其他情况下,体素空间子系统912可以使用全局地图数据来初始化体素地图和体素空间参数,使得在本地捕获的激光雷达数据可以用于确定自主车辆在全局地图空间内的位置,并且可以用于清理或清除全局地图的体素。
地面确定子系统914可以包括解析体素空间的各个体素以确定与体素空间中的环境相关联的地面的功能性。例如,地面确定子系统914可以通过估计表示与特定体素相关联的数据的平面并且确定所述平面的法向向量来确定局部平坦的体素。例如,地面确定子系统914可以对体素地图的体素执行主成分分析以确定与和体素的关联数据相关联的最小主成分。在一些示例中,对于主成分分析,最小特征向量可以对应于平面的法向向量,而与特征向量相关联的特征值可以对应于与特定体素相关联的数据在最小特征向量的方向上的扩展或扩散程度。
再举例来说而非限制,此类表面法线确定可以通过计算指示从体素中的点P到P的两个最近邻的方向的向量的叉积的法线来完成。再举例来说而非限制,此类表面法线确定可以通过对与单个体素相关联的协方差矩阵执行特征值分解来完成。在一些情况下,地面确定子系统914可以通过基于与邻近体素相关联的值来确定与目标体素相关联的表面来确定目标体素是否是局部平坦的体素。此外,在一些情况下,地面确定子系统914可以利用移动立方类型算法来基于与体素相关联的平均点值来创建网格以确定包括至少三个点的三角形以创建表面。此外,地面确定子系统914可以接收参考取向,所述参考取向可以对应于自主车辆的方向或取向。如上所述,如果与体素相关联的法向向量在参考取向的阈值量之内,则地面确定子系统914可以确定体素是局部平坦的体素。
聚类子系统916可以与地面确定子系统914结合操作以确定地面区域,可能是通过在存储器中从最接近于激光雷达数据的区域的表面开始或从自主车辆下面的表面开始来生长地面区域的表示。即,体素空间中对应于接近自主车辆的真实世界位置的位置处的体素可以由聚类子系统916用作种子体素,聚类子系统随后可以从那些种子体素扩展体素的表示。聚类子系统916可以确定相邻的局部平坦的体素属于同一集群,并且可以生长区域以涵盖地面平面。此外,聚类子系统916可以与下文讨论的对象确定子系统920结合操作,以确定体素(集群形式或其他形式)与特定对象相关联。聚类子系统916可以利用各种聚类算法,包括但不限于区域生长、层次聚类、划分聚类、平方误差聚类、图论聚类、混合解析聚类、寻找均值聚类、k均值聚类、N切聚类、邻近聚类等。
内插子系统918可以与地面确定子系统914和/或聚类子系统916结合操作以将各种集群组合或关联到一起以扩展地面平面的表示。例如,在确定与自主车辆相关联的地面区域时,局部平坦的体素可能不会形成单个集群,在该种情况下,内插子系统918可以内插在点之间以确定梯度是高于还是低于用于生长地面平面集群的阈值梯度。可以根据需要在本文的别处提供地面确定子系统914、聚类子系统916和内插子系统918的额外示例,以便于理解那些子系统。
对象确定子系统920可以包括确定在体素空间中由体素地图表示的对象的功能性。例如,对象确定子系统920可以从地面确定子系统914接收地面平面的指示和/或接收一些或所有的局部平坦的体素的指示,并且可以从体素空间移除与地面相关联的体素,使得体素地图可能仅含有其他体素的值。接下来,对象确定子系统920可以解析其余体素以基于体素的连接性来确定对象。例如,对象确定子系统920可以与聚类子系统916结合操作以通过确定相邻体素被视为同一个对象的一部分来在体素空间中生长与对象对应的区域。对象确定子系统920可以将对象标识符分配给与特定对象相关联的所有体素,并且在一些情况下,由对象确定子系统920分配或确定的对象标识符可以传播到与包括特定对象的体素相关联的激光雷达数据。关于对象、地面、集群等的额外信息可以与体素地图一起或作为单独的数据结构来存储。可以根据需要在本文的别处提供对象确定子系统920的额外示例,以便于理解对象确定子系统920。
动态对象确定子系统922可以包括将可能被确定为在对应于体素空间的空间中存在的静态对象和动态对象区分开的功能性。例如,动态对象确定子系统922可以随着时间推移积累数据以通过将第一时间时的体素值与第二时间时的体素值进行比较以确定体素的占用是否随着时间而改变来确定对象的运动。例如,如果体素在第一时间时被对象占用并且在第二时间时未被对象占用,则动态对象确定子系统922可能将该对象视为动态对象并且将该评估记录为体素地图数据。基于哪些体素随着时间推移是被占用还是未被占用,动态对象确定子系统922可以确定动态对象的移动,诸如移动的速度和方向。在一些情况下,动态对象确定子系统922可以提供用于确定动态对象的移动的指示。可以根据需要在本文的别处提供动态对象确定子系统922的额外示例,以便于理解对象确定子系统922。
光线投射子系统924可以与动态对象确定子系统922结合操作以将静态对象与动态对象区分开。此外,光线投射子系统924可以包括随着数据在体素地图的表示中积累而随着时间推移清除体素地图的功能性。例如,当对象随着时间推移在体素空间中移动时,被动态对象占用的体素的表示可能随着时间推移涉及越来越多的数据。然而,光线投射子系统924可以分析与激光雷达数据相关联的光线的路径,例如,以确定光线从中穿过的一些体素应被视为清除的并且清除体素地图中的对应存储。因此,光线投射子系统924可以提供额外功能性来确定在第一时间时被占用的体素在第二时间未被占用,这可以提供给各种子系统以确定对象是例如动态对象。在一些情况下,体素地图可以以稀疏方式(例如,提供表示被占用体素的数据且忽略未被占用的体素)或以密集方式(例如,不丢弃体素)来表示。在一些情况下,光线投射子系统924可以以密集方式存储光线投射信息,也就是说,稀疏体素表示中不存在的体素(例如,因为体素不具有相关联的激光雷达数据)可能具有与此类体素相关联的光线投射信息。例如,没有相关联的激光雷达数据的体素仍然可以在密集体素地图中表示以包括与体素空间的体素相关联的光线投射信息。在一些情况下,至少部分地响应于本文讨论的光线投射操作,密集体素表示可以将体素未被占用的肯定信息与体素相关联。此外,随着针对各个体素的激光雷达数据积累,可以在体素地图中将否定信息与各个体素相关联以指示它们被例如静态对象占用。随着数据随着时间推移而积累,可以部分地聚合信息以确定体素是例如对应于开放空间还是静态对象。此外,光线投射子系统924可以用于通过将在本地捕获的激光雷达数据与全局地图数据进行比较来清理全局地图。可以根据需要在本文的别处提供光线投射子系统924的额外示例,以便于理解光线投射子系统924。
跟踪子系统926可以包括接收一个或多个动态对象的指示并执行额外处理以便跟踪对象的功能性。例如,跟踪子系统926可以确定动态对象的速度和/或可以确定并存储动态对象随着时间推移的轨迹。在一些情况下,跟踪子系统926可以被编程以执行预测算法,所述预测算法可以基于对象的先前运动来预测将要跟踪的对象的路径。
规划子系统928可以包括接收分割的数据和/或地面平面、静态对象和/或动态对象的指示以确定自主车辆的轨迹的功能性。例如,规划子系统928可以接收识别地面平面的分割信息并且可以生成自主车辆要遵循的轨迹。
传感器校准子系统930可以包括至少部分基于相对于环境确定的分割信息来校准一个或多个传感器的功能性。例如,虽然可以使用来自激光雷达子系统904、相机子系统906、雷达子系统908和/或声纳子系统910的传感器数据来估计位置和/或取向(例如,使用同时定位与地图构建(SLAM)),但是自主车辆还可以包括用于确定自主车辆在环境中的位置的额外传感器,诸如惯性测量单元(IMU)和/或GPS单元。在一些情况下,IMU可以指示自主车辆处于第一位置,而本文讨论的激光雷达数据的分析指示车辆处于与第一位置不同的第二位置。传感器校准子系统930可以确定位置的差异并且可以调整或校准一个或多个传感器以更新自主车辆的位置或一个或多个传感器内在特性或外在特性。
注释子系统932可以包括接收本文讨论的分割信息的功能性并且可以用与对象相关联的、作为数据与体素地图一起或以其他方式存储的信息来对地面平面、静态对象和/或动态对象加注释。在一些情况下,注释子系统932可以在图形用户界面中提供分割信息以例如由技术人员进行人工验证和/或调整。在一些情况下,注释子系统932可以包括确定并应用本文讨论的对象的分类的功能性。注释子系统932可以被编程以执行机器学习算法,诸如神经网络过程,以执行分割和分类操作。
示例性神经网络可以将输入数据传递经过一连串连接的层以产生输出。神经网络的一个示例可以包括卷积神经网络或CNN。CNN中的每个层还可以包括另一个CNN,或可以包括多个层。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指一大类这样的算法,其中基于学习的参数来生成输出。
尽管在神经网络的背景下进行了讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘法回归(OLSR)、线性回归、逻辑回归、逐步回归、多变量自适应回归样条(MARS)、本地散点平滑估计(LOESS))、基于实例的算法(例如,岭回归、最小绝对收缩和选择算子(LASSO)、弹性网络、最小角度回归(LARS))、决策树算法(例如,分类和回归树(CART)、迭代二叉树3代(ID3)、卡方自动交互检测(CHAID)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类算法(例如k-均值、k-中值、期望最大化(EM)、层次聚类)、关联规则学习算法(例如感知器、反向传播、霍普菲尔德网络、径向基函数网络(RBFN))、深度学习算法(例如,深度玻尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、堆叠自动编码器)、降维算法(例如,主成分分析(PCA)、主成分回归(PCR)、偏最小二乘回归(PLSR)、萨蒙映射、多维缩放(MDS)、投影寻踪、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集成算法(例如,提升、自助聚合(Bagging)、AdaBoost、堆栈泛化(混合)、梯度提升机(GBM)、梯度提升回归树(GBRT)、随机森林)、SVM(支持向量机)、监督学习、无监督学习、半监督学习等。
图9中绘示的环境可以用一个或多个计算机系统来实施,所述计算机系统包括存储装置、一个或多个处理器、存储器以及可能还有操作系统。
本文描述的系统和方法可以用软件或硬件或其任何组合来实施。本文描述的系统和方法可以使用一个或多个计算装置来实施,所述计算装置可以是或可以不是彼此物理上或逻辑上分离的。所述方法可以由被布置为本地硬件、本地虚拟系统或托管专用实例的组件来执行。此外,本文描述的方法的各个示例可以组合或融合到其他功能中。
用于实施所述系统和方法的示例性环境和计算机化系统可以包括处理器或计算机系统,所述处理器或计算机系统可以被配置为具体地执行本文所述的一些或所有的方法。在一些示例中,可以通过一个或多个计算机或处理器而使所述方法部分地或完全地自动化。本文描述的系统和方法可以使用硬件、固件和/或软件中的任一者的组合来实施。本文描述的当前系统和方法(或其任何部分或功能)可以使用硬件、软件、固件或其组合来实施,并且可以在一个或多个计算机系统或其他处理系统中实施。在一些示例中,所示的系统元件可以组合到单个硬件装置中或分开到多个硬件装置中。如果使用多个硬件装置,则所述硬件装置可以彼此在物理上接近或远离。所描述和示出的方法的示例意欲是说明性而非限制性的。例如,在不同的示例中,所述方法的一些或所有的步骤可以被组合、重新布置和/或省略。
在一个示例性实施方案中,本文描述的系统和方法可能会涉及能够实施本文描述的功能性的一个或多个计算机系统。示例计算装置可以是但不限于运行任何操作系统的个人计算机(PC)系统,所述操作系统诸如但不限于OS XTM、iOSTM、LinuxTM、AndroidTM和MicrosoftTMWindowsTM。然而,本文描述的系统和方法可能不限于这些平台。而是,本文描述的系统和方法可以在运行任何适当的操作系统的任何适当的计算机系统上实施。
所述系统可以包括一个或多个处理器。处理器可以连接到通信基础设施,诸如但不限于通信总线、交叉条或网络等。进程和处理器无需位于相同的物理位置。换句话说,进程可以经由例如LAN或WAN连接在一个或多个地理上相距甚远的处理器处执行。计算装置可以包括显示接口,所述显示接口可以转发来自通信基础设施的图形、文本和其他数据以在显示单元上显示。
计算机系统还可以包括但不限于主存储器、随机存取存储器(RAM)和辅助存储器等。辅助存储器可以包括例如硬盘驱动器和/或可移动存储驱动器,诸如压缩光盘驱动器CD-ROM等。可移动存储驱动器可以从可移动存储单元读取和/或对可移动存储单元写入。如可以理解的,可移动存储单元可以包括其中存储有计算机软件和/或数据的计算机可用存储介质。在一些示例中,机器可存取介质可以指用于存储可由计算机存取的数据的任何存储装置。机器可存取介质的示例可以包括,例如但不限于:磁性硬盘;软盘;光盘,像压缩光盘只读存储器(CD-ROM)或数字通用光盘(DVD);磁带;和/或存储卡等。
处理器还可以包括用于存储数据的一个或多个数据存储装置、或可操作地耦合到所述一个或多个数据存储装置以与之通信。作为非限制性示例,此类数据存储装置可以包括磁盘(包括内部硬盘和可移动磁盘)、磁光盘、光盘、只读存储器、随机存取存储器和/或快闪存储装置。适合于有形地体现计算机程序指令和数据的存储装置还可以包括所有形式的非易失性存储器,包括例如半导体存储器装置,诸如EPROM、EEPROM和快闪存储器装置;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或结合到ASIC中。
处理系统可以与计算机化的数据存储系统通信。数据存储系统可以包括非关系或关系数据存储区,诸如MySQLTM或其他关系数据库。可以使用其他物理和逻辑数据库类型。数据存储区可以是数据库服务器,诸如Microsoft SQL ServerTM、OracleTM、IBM DB2TM、SQLITETM或任何其他数据库软件、关系或其他。数据存储区可以存储识别句法标签的信息以及对句法标签进行操作所需的任何信息。在一些示例中,处理系统可以使用面向对象的编程并且可以将数据存储在对象中。在这些示例中,处理系统可以使用对象关系映射器(ORM)来将数据对象存储在关系数据库中。可以使用任意数量的物理数据模型来实施本文描述的系统和方法。在一个示例实施方案中,可以使用关系数据库管理系统(RDBMS)。在那些示例中,RDBMS中的表可以包括表示坐标的列。在经济系统的情况下,表示公司、产品等的数据可以存储在RDBMS的表中。表之间可以具有预定义的关系。表还可以具有与坐标相关联的附件。
在替代的示例性示例中,辅助存储器可以包括用于允许将计算机程序或其他指令加载到计算机系统中的其他类似装置。此类装置可以包括例如可移动存储单元和接口。此类装置的示例可以包括程序盒式存储器和盒式存储器接口(诸如,例如但不限于见于视频游戏装置中的那些)、可移动存储器芯片(诸如,例如但不限于可擦除可编程只读存储器(EPROM),或可编程只读存储器(PROM)和相关的套接口),以及其他可移动存储单元和接口,它们可以允许软件和数据从可移动存储单元传输到计算机系统。
计算装置还可以包括输入装置,诸如但不限于语音输入装置(诸如传声器)触摸屏、手势识别装置(诸如相机)、其他自然用户接口、鼠标或其他指点装置(诸如数字化仪),以及键盘或其他数据输入装置。计算装置还可以包括输出装置,诸如但不限于显示器和显示接口。计算装置可以包括输入/输出(I/O)装置,诸如但不限于通信接口、缆线和通信路径等。这些装置可以包括但不限于网络接口卡和调制解调器。通信接口可以允许在计算机系统与一个或多个外部装置之间传输软件和数据。
在一个或多个示例中,计算装置可以可操作地耦合到汽车系统。此类汽车系统可以是手动操作的、半自主的或完全自主的。在此类实施方案中,输入装置和输出装置可以包括一个或多个图像捕获装置、控制器、微控制器和/或其他处理器,以控制汽车功能,诸如但不限于加速、制动和转向。此外,此类示例中的通信基础设施还可以包括控制器局域网(CAN)总线。
在一个或多个示例中,计算装置可以可操作地耦合到任何基于机器视觉的系统。例如,此类基于机器的视觉系统包括但不限于手动操作、半自主或完全自主的工业或农业机器人、家用机器人、检查系统、安全系统等。即,本文描述的示例不限于一个特定的上下文并且可以适用于利用机器视觉的任何应用。
在一个或多个示例中,当前示例可以在一个或多个计算机网络的环境中实施。网络可以包括专用网络或公共网络(例如因特网,如下所述),或两者的组合。网络可以包括硬件、软件或两者的组合。
从面向电信的角度来看,网络可以被描述为由通信设施互连的一组硬件节点,一个或多个进程(硬件、软件或其组合)在每个此类节点处起作用。进程可以使用进程间通信路径通过它们之间的通信路径相互通信和交换信息。在这些路径上,使用了适当的通信协议。
根据当前示例,示例性计算机和/或电信网络环境可以包括节点,所述节点可以包括硬件、软件或硬件与软件的组合。节点可以通过通信网络互连。每个节点可以包括可由结合到节点中的处理器执行的一个或多个进程。例如,单个进程可以由多个处理器运行,或者多个进程可以由单个处理器运行。另外,每个节点可以提供网络与外部世界之间的接口点,并且可以结合子网络的集合。
在示例性实施方案中,进程可以通过支持通过任何通信协议进行通信的进程间通信路径彼此通信。所述路径可以依次或并行、连续或间歇地起作用。除了许多计算机使用的标准并行指令集之外,所述路径还可以使用本文相对于通信网络描述的任何通信标准、协议或技术。
节点可以包括能够执行处理功能的任何实体。如所述,可以与示例一起使用的此类节点的示例包括计算机(诸如个人计算机、工作站、服务器或大型机)、手持无线装置和有线装置(诸如个人数字助理(PDA)、具有处理能力的调制解调器手机、包括BlackBerryTM装置的无线电子邮件装置)、文件处理装置(诸如扫描仪、打印机、传真机或多功能文件机)或与处理器的集合连接的复杂实体(诸如局域网或广域网)。例如,在本公开的上下文中,节点自身可以是广域网(WAN)、局域网(LAN)、专用网络(诸如虚拟专用网(VPN))或网络集合。
节点之间的通信可以通过通信网络来实现。节点可以连续地或间断地与通信网络连接。作为示例,在本公开的上下文中,通信网络可以是提供足够带宽和信息安全性的数字通信基础设施。
通信网络可以包括按任何频率、使用任何类型的标准、协议或技术的有线通信能力、无线通信能力或两者的组合。另外,在当前示例中,通信网络可以是专用网络(例如VPN)或公共网络(例如因特网)。
通信网络使用的示例性无线协议和技术的非包括性列表可以包括BluetoothTM、通用分组无线电服务(GPRS)、蜂窝数字分组数据(CDPD)、移动解决方案平台(MSP)、多媒体消息(MMS)、无线应用协议(WAP)、码分多址(CDMA)、短消息服务(SMS)、无线标记语言(WML)、手持装置标记语言(HDML)、无线二进制运行环境(BREW)、无线接入网络(RAN)和分组交换核心网络(PS-CN)。还包括各代无线技术。通信网络使用的主要有线协议和技术的示例性非包括性列表包括异步传输模式(ATM)、增强型内部网关路由协议(EIGRP)、帧中继(FR)、高级数据链路控制(HDLC)、因特网控制消息协议(ICMP)、内部网关路由协议(IGRP)、互联网分组交换(IPX)、ISDN、点对点协议(PPP)、传输控制协议/互联网协议(TCP/IP)、路由信息协议(RIP)和用户数据报协议(UDP)。技术人员将认识到,可以使用任何其他已知或预期的无线或有线协议和技术。
本公开的示例可以包括用于执行本文中的操作的设备。设备可以针对期望的目的而专门建构,或者它可以包括由存储在装置中的程序选择性地激活或重新配置的通用装置。
在一个或多个示例中,当前示例体现在机器可执行指令中。指令可用于致使被编程有指令的处理装置(例如,通用或专用处理器)执行本公开的步骤。替代地,本公开的步骤可以由含有用于执行步骤的硬线逻辑的特定硬件组件或由被编程的计算机组件和定制的硬件组件的任何组合执行。例如,如上所述,本公开可以作为计算机程序产品提供。在该环境中,示例可以包括上面存储有指令的机器可读介质。指令可用于对任何一个或多个处理器(或其他电子装置)进行编程以执行根据当前示例性示例的过程或方法。另外,本公开也可以被下载并存储在计算机程序产品上。在此,程序可以经由通信链路(例如调制解调器或网络连接)通过载波或其他传播介质中体现的数据信号从远程计算机(例如服务器)传输到请求计算机(例如客户端),并且最终此类信号可以存储在计算机系统上以供后续执行。
所述方法可以在可从计算机可用或计算机可读存储介质存取的计算机程序产品中实施,所述计算机可用或计算机可读存储介质提供由计算机或任何指令执行系统使用或与其结合使用的程序代码。计算机可用或计算机可读存储介质可以是可含有或存储供计算机或指令执行系统、设备或装置使用或与其结合使用的程序的任何设备。
适合于存储和/或执行对应程序代码的数据处理系统可以包括直接地或间接地耦合到计算机化数据存储装置(诸如存储器元件)的至少一个处理器。输入/输出(I/O)装置(包括但不限于键盘、显示器、指点装置等)可以耦合到所述系统。网络适配器也可以耦合到所述系统,以使数据处理系统能够通过中间的专用网或公共网络耦合到其他数据处理系统或远程打印机或存储装置。为了提供与用户的交互,可以在计算机上实施所述特征,所述计算机具有显示装置,诸如LCD(液晶显示器)或用于向用户显示信息的另一类监视器,以及键盘和输入装置,诸如鼠标或轨迹球,用户可以通过所述轨迹球来将输入提供到计算机。
计算机程序可以是一组可以在计算机中直接或间接使用的指令。本文描述的系统和方法可以使用编程语言(诸如CUDA、OpenCL、FlashTM、JAVATM、C++、C、C#、Python、VisualBasicTM、JavaScriptTMPHP、XML、HTML等)或编程语言的组合(包括编译或解译语言)来实施,并且可以以任何形式部署,包括作为独立程序或作为子系统、组件、子例程或适合在计算环境中使用的其他单元。软件可以包括但不限于固件、常驻软件、微码等。诸如SOAP/HTTP的协议可用于实施编程子系统之间的接口。本文描述的组件和功能性可以在虚拟化或非虚拟化环境中执行的任何桌面操作系统上使用适合于软件开发的任何编程语言来实施,所述编程语言包括但不限于不同版本的Microsoft WindowsTM、AppleTMMacTM、iOSTM、UnixTM/X-WindowsTM、LinuxTM等。所述系统可以使用web应用程序框架(诸如Ruby on Rails)来实施。
用于执行指令程序的合适处理器包括但不限于通用和专用微处理器,以及任何类型计算机的唯一处理器或多个处理器或核心中的一者。处理器可以从计算机化的数据存储装置接收和存储指令和数据,所述计算机化的数据存储装置诸如只读存储器、随机存取存储器、两者或本文所述的数据存储装置的任何组合。处理器可以包括可操作以控制电子装置的操作和性能的任何处理电路或控制电路。
本文描述的系统、子系统和方法可以使用软件或硬件元件的任何组合来实施。本文描述的系统、子系统和方法可以使用一个或多个单独操作或彼此一起操作的虚拟机来实施。任何适用的虚拟化解决方案都可以用于将物理计算机器平台封装为在硬件计算平台或主机上运行的虚拟化软件的控制下执行的虚拟机。虚拟机可以具有虚拟系统硬件和客户操作系统软件。
本文描述的系统和方法可以在计算机系统中实施,所述计算机系统包括后端组件,诸如数据服务器;或者包括中间件组件,诸如应用服务器或因特网服务器;或者包括前端组件,诸如具有图形用户界面或因特网浏览器的客户端计算机;或其任何组合。系统的组件可以通过任何形式或介质的数字数据通信(诸如,通信网络)连接。通信网络的示例包括例如LAN、WAN以及形成因特网的计算机和网络。
本公开的一个或多个示例可以用其他计算机系统配置来实施,包括手持装置、微处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。本文描述的系统和方法也可以在分布式计算环境中实施,其中任务由通过网络链接的远程处理装置执行。
术语“计算机程序介质”和“计算机可读介质”可用于泛指诸如但不限于可移动存储驱动器、安装在硬盘驱动器中的硬盘的介质。这些计算机程序产品可以向计算机系统提供软件。本文描述的系统和方法可以针对此类计算机程序产品。
对“一个实施方案”、“实施方案”、“示例实施方案”、“各种示例”等等的提及可以指示本公开的实施方案可以包括特定特征、结构或特性,但不是每个实施方案都必须包括所述特定特征、结构或特性。此外,短语“在一个实施方案中”或“在示例性实施方案中”的重复使用不一定指代相同的实施方案,但是可能是这样。类似地,对“实例”的提及可以指示本公开的各种实例可以包括特定特征、结构或特性,但不是每个实例都必须包括所述特定特征、结构或特性。此外,短语“在一些情况下”的重复使用不一定指同一种情况,但是可能是这样。
在说明书和权利要求书中,可以使用术语“耦合”和“连接”及其派生词。应理解,这些术语可能并不意欲作为彼此的同义词。而是,在特定示例中,“连接”可用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可能意味着两个或更多个元件直接物理或电接触。然而,“耦合”也可能意味着两个或更多个元件彼此不直接接触,但仍然相互合作或相互作用。
算法在这里并且通常可以被认为是导致期望结果的动作或操作的自动连贯式过程。这些包括对物理量的物理操纵。尽管并非必要,但这些量通常采取能够被存储、传输、组合、比较及以其他方式操控的电信号或磁信号的形式。已经证实,主要出于普遍使用原因,有时可以适宜地将这些信号称为比特、值、要素、符号、字符、项、数字等。然而,应理解,所有这些和类似的术语均与适当的物理量关联,并且仅仅是应用于这些量的适宜标记。
除非另外特别指出,否则可理解,在整个本说明书中,诸如“处理”、“计算”、“运算”、“确定”等术语是指计算机或计算系统或类似电子计算装置的动作和/或过程,所述动作和/或过程操纵计算系统寄存器和/或存储器内的表示为物理量(诸如电子量)的数据和/或将所述数据转换成计算系统存储器、寄存器或其他此类信息存储、传输或显示装置内的类似地表示为物理量的其他数据。
以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据以将该电子数据转变为可以存储在寄存器和/或存储器中的其他电子数据的任何装置或装置的一部分。作为非限制性示例,“处理器”可以是中央处理单元(CPU)或图形处理单元(GPU)。“计算平台”可以包括一个或多个处理器。如本文所用,“软件”进程可以包括例如随着时间推移执行工作的软件和/或硬件实体,诸如任务、线程和智能代理。此外,每个进程可以指多个进程,用于依次或并行、连续或间歇地执行指令。术语“系统”和“方法”在本文中可互换使用,只要所述系统可以体现一种或多种方法并且所述方法可以被认为是系统。
此外,如本文所使用,术语“和/或”可以指代与“或”相同的含义并且可以指代列表中的一个或多个项目。
虽然已经描述了一个或多个示例,但是其各种改变、添加、置换和等效物包括在本公开的范围内。
在示例的描述中,参考构成其一部分的附图,在附图中举例示出要求权利保护的主题的特定示例。应理解,可以使用其他示例并且可以做出改变或变更,诸如结构改变。此类示例、改变或变更不一定偏离关于预期要求权利保护的主题的范围。虽然步骤在本文中可以按特定顺序呈现,但在一些情况下,可以改变顺序,使得某些输入是在不同的时间或按不同的顺序提供,而不会改变所描述的系统和方法的功能。所公开的程序也可以以不同的顺序执行。另外,本文中的各种计算不需要按照所公开的顺序执行,并且可以容易地实施使用替代计算顺序的其他示例。除了重新排序之外,计算还可以分解为具有相同结果的子计算。
尽管上面的讨论阐述了所描述技术的示例实施方式,但是其他架构可以用于实施所描述的功能性,并且意欲落入本公开的范围内。此外,虽然上面为了讨论的目的定义了具体的职责分配,但是根据情况,各种功能和职责可能以不同的方式分配和划分。
此外,尽管已用特定于结构特征和/或方法动作的语言描述了主题,但是应理解,所附权利要求书中限定的主题不一定限于所述的特定特征或动作。而是,公开了特定特征和动作作为实施权利要求的说明性形式。
示例条款
可鉴于以下条款来描述本公开的实施方案:
1.一种系统,所述系统包括:一个或多个处理器;以及非暂时性计算机可读存储器,所述非暂时性计算机可读存储器包括指令,所述指令在由所述一个或多个处理器执行时致使所述系统执行包括以下各项的操作:从正在导航到目的地的自主车辆上的传感器接收传感器数据;至少部分地基于所述传感器数据来确定在所述自主车辆正在行驶通过的环境中是否存在阻止所述自主车辆前进到所述目的地的状况;将所述传感器数据的至少一子集与对指导的请求传输到第二系统;接收对所述请求的响应,所述响应包括使所述自主车辆导航到在所述自主车辆的当前位置的一定半径范围内的中间目的地的指令;以及控制所述自主车辆穿越所述环境到达所述中间目的地。
2.如条款1所述的系统,其中确定在所述自主车辆正在行驶通过的所述环境中是否存在阻止所述自主车辆前进到所述目的地的状况包括以下各项中的一者或多者:确定所述自主车辆已停留在当前位置达指定的时间量,或确定应急车辆的存在。
3.如条款1或2所述的系统,其中确定所述应急车辆的所述存在包括:确定所述应急车辆是在紧急状态下操作;以及确定所述应急车辆是在所述自主车辆后面操作,使得所述自主车辆需要给所述应急车辆让路。
4.如条款1至3中任一项所述的系统,其中所述指令包括用于使所述自主车辆旋转到所期望取向的指示。
5.如条款1至4中任一项所述的系统,其中所述指令包括用于使所述自主车辆通过以有限速度移动离开指定距离来前进到所述中间目的地并停下的指示,所述中间目的地是在与所述自主车辆的当前位置相距经定义半径的范围内。
6.如条款1至5中任一项所述的系统,其中所述操作还包括:从所述传感器接收第二传感器数据;至少部分地基于所述第二传感器数据来确定在所述自主车辆正行驶通过的所述环境中是否存在阻止所述自主车辆前进到所述目的地的额外状况;以及将与所述额外状况相关联的所述传感器数据的至少一子集与对指导的第二请求传输到所述第二系统。
7.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令由于被计算机系统的一个或多个处理器执行而致使所述计算机系统至少进行以下操作:从在去往目的地途中的装置上的传感器接收传感器数据;至少部分地基于所述传感器数据来确定用于获得指导的一组条件的满足;由于检测到该组条件的满足,获得导航到中间位置的指令,其中所述指令包括用于所述装置的所期望取向或所期望位置中的一者或多者的指示;以及致使所述装置在去往所述目的地的途中时执行所述指令。
8.如条款7所述的非暂时性计算机可读存储介质,其中所述传感器包括激光雷达传感器、相机、传声器或雷达中的一者或多者。
9.如条款7或8所述的非暂时性计算机可读存储介质,其中检测该组条件的满足包括以下各项中的一者或多者:确定所述装置处于当前位置的时间量达到或超过阈值时间量;或确定应急车辆的存在。
10.如条款7至9中任一项所述的非暂时性计算机可读存储介质,其中确定所述应急车辆的所述存在包括:确定所述应急车辆是在紧急状态下操作;以及确定所述应急车辆是在所述装置后面操作,使得所述装置需要给所述应急车辆让路。
11.如条款7至10中任一项所述的非暂时性计算机可读存储介质,其中所述中间位置是在与所述装置的当前位置相距一定半径的范围内;并且其中执行所述指令致使所述装置以小于或等于阈值速度的速度移动。
12.如条款7至11中任一项所述的非暂时性计算机可读存储介质,其中所述装置包括自主车辆,并且其中所述指令在由所述一个或多个处理器执行时进一步致使所述计算机系统进行以下操作:确定控制所述装置到达所述目的地的轨迹;以及致使所述装置根据所述轨迹穿过环境。
13.如条款7至12中任一项所述的非暂时性计算机可读存储介质,其中:用于按特定路线进行导航的所述指令包括致使所述装置旋转并停下的指令;和/或所述指令包括用于使所述自主车辆通过以有限速度移动离开指定距离来前进到所述中间目的地并停下的指示,所述中间目的地是在与所述自主车辆的当前位置相距经定义半径的范围内。
14.一种方法,所述方法包括:从装置上的传感器接收传感器数据;至少部分地基于所述传感器数据来确定所述装置正在行驶通过的环境的状况;至少部分地基于所述状况来将请求传输到远程系统以请求指导;从所述远程系统接收指令;并且至少部分地基于所述指令致使所述装置移动到中间位置。
15.如条款14所述的方法,其中所述传感器包括激光雷达传感器、相机、传声器或雷达中的一者或多者。
16.如条款14或15所述的方法,其中确定所述状况包括以下各项中的一者或多者:确定交通状况阻止所述装置前进到目的地;确定所述装置处于当前位置已超过特定的时间量;或确定在所述装置附近存在应急车辆。
17.如条款14至16中任一项所述的方法,其中确定所述应急车辆的所述存在包括:确定所述应急车辆是在紧急状态下操作;以及确定所述装置挡住了与所述应急车辆相关联的路径。
18.如条款14至17中任一项所述的方法,其中至少部分地基于所述指令而致使所述装置移动到所述中间位置允许所述装置增加可行性。
19.如条款14至18中任一项所述的方法,其中所述装置是自主车辆,并且其中所述中间位置包括在当前位置的一定半径内的中间位置或中间位置中的一者或多者,并且其中致使所述装置移动到所述中间位置包括致使所述装置以阈值速度或低于阈值速度的速度移动。
20.如条款14至19中任一项所述的方法,所述方法还包括:在所述中间位置处确定到达目的地的轨迹;以及致使所述自主车辆根据所述轨迹导航到所述目的地。
21.一种方法,所述方法包括:从正在穿越环境去往目的地的自主车辆上的传感器接收至少一部分的传感器数据;致使显示器显示在所述环境中的所述自主车辆的第一表示;致使所述显示器显示所述传感器数据的第二表示;接收指示所述自主车辆要行驶到的中间位置的输入,所述指示限制于所述第一表示中的所述自主车辆的一定半径并且包括位置或取向中的一者或多者;以及至少部分地基于所述输入而将指令传输到所述自主车辆以致使所述自主车辆行驶到所述中间位置。
22.如条款21所述的方法,其中所述第一表示包括所述自主车辆附近的所述环境的地图以及表示所述环境中的对象的边界框。
23.如条款21或22所述的方法,其中所述对象包括应急车辆,并且
其中所述中间位置包括在所述环境中的使得所述应急车辆能够从所述自主车辆后面通过的位置。
24.如条款21至23中任一项所述的方法,其中所述部分的传感器数据包括指示所述自主车辆碰到阻止所述自主车辆到达所述目的地的情形的信息。
25.如条款21至24中任一项所述的方法,其中所述指令进一步提供用于使所述自主车辆在移向所述中间位置时以小于或等于阈值速度的速度移动的指示。
26.如条款21至25中任一项所述的方法,所述方法还包括:致使所述显示器显示多个箭头,所述多个箭头中的一个箭头与基本方向相关联,其中所述输入与所述多个箭头相关联,并且其中所述中间位置是至少部分地基于所述输入来确定。
27.一种系统,所述系统包括:一个或多个处理器;以及非暂时性计算机可读存储器,所述非暂时性计算机可读存储器包括指令,所述指令在由所述一个或多个处理器执行时致使所述系统执行包括以下各项的操作:在显示器处从装置的传感器接收至少一部分的传感器数据,所述传感器数据反映在去往目的地途中的所述装置周围的环境的状态;接收指示中间目的地的输入,所述中间目的地是根据所述装置的行驶速度阈值在所述装置的当前位置的特定半径范围内的距离;以及将指令传输到所述装置以致使所述装置使用规划来行驶到在去往所述目的地途中的所述中间目的地。
28.如条款27所述的系统,其中所述显示器是包括所述装置周围的环境的状态的表示的图形用户界面(GUI),并且其中所述表示包括所述环境的地图以及表示所述环境中的对象的边界框。
29.如条款27或28所述的系统,其中所述对象包括应急车辆,并且
其中所述中间目的地包括在所述环境中的使得所述应急车辆能够从所述装置后面通过的位置。
30.如条款27至29中任一项所述的系统,其中所述部分的传感器数据包括指示所述装置碰到阻止所述装置到达所述目的地的情形的信息。
31.如条款27至30中任一项所述的系统,其中所述指令在由所述一个或多个处理器执行时进一步致使所述系统执行包括以下各项的操作:致使所述显示器显示多个箭头,所述多个箭头中的一个箭头与基本方向相关联,其中所述输入与所述多个箭头相关联,并且其中所述中间目的地是至少部分地基于所述输入来确定。
32.如条款27至31中任一项所述的系统,其中所述指令进一步提供用于使所述装置在移向所述中间目的地时以小于或等于速度阈值的速度移动的指示。
33.如条款27至32中任一项所述的系统,其中所述指令向所述装置指示将使用四轮转向来执行去往所述中间目的地的指令。
34.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令由于被计算机系统的一个或多个处理器执行而致使所述计算机系统至少执行以下操作:在图形用户界面处从装置的传感器接收至少一部分的传感器数据,所述传感器数据反映在去往目的地途中的所述装置周围的环境的状态;接收指示中间目的地的输入,所述中间目的地是根据所述装置的行驶速度阈值在所述装置的当前位置的特定半径范围内的距离;以及将指令传输到所述装置以致使所述装置使用规划来行驶到在去往所述目的地途中的所述中间目的地。
35.如条款34所述的非暂时性计算机可读存储介质,其中所述可执行指令由于被所述计算机系统的一个或多个处理器执行而进一步致使所述计算机系统至少致使所述图形用户界面显示:所述装置周围的环境的状态的第一表示,其中所述第一表示包括所述环境的地图以及表示所述环境中的对象的边界框;以及所述传感器数据的第二表示,其中所述第二表示包括原始图像流。
36.如条款34或35所述的非暂时性计算机可读存储介质,其中所述对象包括应急车辆,并且其中所述中间目的地包括在所述环境中的使得所述应急车辆能够从所述装置后面通过的位置。
37.如条款34至36中任一项所述的非暂时性计算机可读存储介质,其中所述部分的传感器数据包括指示所述装置碰到阻止所述装置到达所述目的地的情形的信息。
38.如条款34至37中任一项所述的非暂时性计算机可读存储介质,其中所述速度阈值进一步提供用于使所述装置在移向所述中间目的地时以小于或等于阈值速度的速度移动的指示。
39.如条款34至38中任一项所述的非暂时性计算机可读存储介质,其中所述可执行指令由于被所述计算机系统的一个或多个处理器执行而进一步致使所述计算机系统至少执行以下操作:致使所述图形用户界面显示多个箭头,所述多个箭头中的一个箭头与基本方向相关联,其中所述输入与所述多个箭头相关联,并且其中所述中间目的地是至少部分地基于所述输入来确定。
40.如条款34至39中任一项所述的非暂时性计算机可读存储介质,其中所述指令向所述装置指示将使用四轮转向来执行去往所述中间目的地的指令。
Claims (15)
1.一种系统,所述系统包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读存储介质,所述一个或多个非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令由于被所述一个或多个处理器执行而致使所述计算机系统至少:
从与装置相关联的传感器接收传感器数据;
至少部分地基于所述传感器数据来确定用于获得指导的一组条件的满足;
由于检测到该组条件的满足,获得导航到中间位置的指令,其中所述指令包括用于所述装置的所期望取向或所期望位置中的一者或多者的指示;并且
致使所述装置执行所述指令。
2.如权利要求1所述的系统,其中所述传感器包括激光雷达传感器、相机、传声器或雷达中的一者或多者,并且
其中所述指令进一步致使所述计算机系统将至少一部分的所述传感器数据传输到第二系统。
3.如权利要求1或权利要求2所述的系统,其中检测该组条件的所述满足包括以下各项中的一者或多者:
确定所述装置处于当前位置的时间量达到或超过阈值时间量;或
确定应急车辆的存在。
4.如权利要求1至3中任一项所述的系统,其中确定所述应急车辆的所述存在包括:
确定所述应急车辆是在紧急状态下操作;以及
确定所述应急车辆是在所述装置后面操作,使得所述装置需要为所述应急车辆让路。
5.如权利要求1至4中任一项所述的系统,其中所述中间位置是在距所述装置的当前位置一定半径内,并且
其中执行所述指令致使所述装置以小于或等于阈值速度的速度移动。
6.如权利要求1至5中任一项所述的系统,其中所述装置包括自主车辆,并且其中所述指令在由所述一个或多个处理器执行时进一步致使所述计算机系统:
确定控制所述装置行驶到目的地的轨迹;并且
致使所述装置根据所述轨迹穿过环境。
7.如权利要求1至6中任一项所述的系统,其中执行所述指令的所述指令包括致使所述装置旋转并停下的指令。
8.一种方法,所述方法包括:
从装置上的传感器接收传感器数据;
至少部分地基于所述传感器数据来确定所述装置正在行驶通过的环境的状况;
至少部分地基于所述状况将请求传输到远程系统以请求指导;
从所述远程系统接收指令;并且
至少部分地基于所述指令而致使所述装置移动到中间位置。
9.如权利要求8所述的方法,其中所述传感器包括激光雷达传感器、相机、传声器或雷达中的一者或多者。
10.如权利要求8或权利要求9所述的方法,其中确定所述状况包括以下各项中的一者或多者:
确定交通状况阻止所述装置前进到目的地;
确定所述装置处于当前位置已超过特定的时间量;或
确定在所述装置附近存在应急车辆。
11.如权利要求8至10中任一项所述的方法,其中确定所述应急车辆的所述存在包括:
确定所述应急车辆是在紧急状态下操作;以及
确定所述装置挡住了与所述应急车辆相关联的路径。
12.如权利要求8至11中任一项所述的方法,其中至少部分地基于所述指令而致使所述装置移动到所述中间位置允许所述装置增加可行性。
13.如权利要求8至12中任一项所述的方法,其中所述装置是自主车辆,并且
其中所述中间位置包括在当前位置的一定半径内的中间位置或中间位置中的一者或多者,并且
其中致使所述装置移动到所述中间位置包括致使所述装置以阈值速度或低于阈值速度的速度移动。
14.如权利要求8至13中任一项所述的方法,所述方法还包括:
在所述中间位置处确定到达目的地的轨迹;以及
致使所述自主车辆根据到所述目的地的所述轨迹进行导航。
15.一种或多种非暂时性计算机可读存储介质,所述一种或多种非暂时性计算机可读存储介质上面存储指令,所述指令能够由一个或多个处理器执行以致使所述一个或多个处理器执行如权利要求7至14中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/523,809 US11409278B2 (en) | 2019-07-26 | 2019-07-26 | System and method for providing a teleoperation instruction to an autonomous vehicle |
US16/523,833 US11892835B2 (en) | 2019-07-26 | 2019-07-26 | System and method for controlling an autonomous vehicle |
US16/523,833 | 2019-07-26 | ||
US16/523,809 | 2019-07-26 | ||
PCT/US2020/043623 WO2021021680A1 (en) | 2019-07-26 | 2020-07-24 | System and method for providing a teleoperation instruction to an autonomous vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114341759A true CN114341759A (zh) | 2022-04-12 |
Family
ID=74228760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080061377.1A Pending CN114341759A (zh) | 2019-07-26 | 2020-07-24 | 用于将远程操作指令提供到自主车辆的系统和方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4004671A4 (zh) |
JP (1) | JP2022541343A (zh) |
CN (1) | CN114341759A (zh) |
WO (1) | WO2021021680A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002245588A (ja) * | 2001-02-13 | 2002-08-30 | Toshiba Corp | 緊急車両優先通過支援システム |
US9008890B1 (en) * | 2013-03-15 | 2015-04-14 | Google Inc. | Augmented trajectories for autonomous vehicles |
US8849494B1 (en) * | 2013-03-15 | 2014-09-30 | Google Inc. | Data selection by an autonomous vehicle for trajectory modification |
US9690290B2 (en) * | 2015-06-04 | 2017-06-27 | Toyota Motor Engineering & Manufacturing North America, Inc. | Situation-based transfer of vehicle sensor data during remote operation of autonomous vehicles |
JP6528583B2 (ja) * | 2015-07-31 | 2019-06-12 | 株式会社デンソー | 運転支援制御装置 |
US10401852B2 (en) * | 2015-11-04 | 2019-09-03 | Zoox, Inc. | Teleoperation system and method for trajectory modification of autonomous vehicles |
MX2019006128A (es) * | 2016-11-30 | 2020-01-27 | Nissan North America Inc | Teleoperacion de carros autonomos para negociar situaciones problematicas. |
US11112789B2 (en) * | 2017-06-16 | 2021-09-07 | Motional Ad Llc | Intervention in operation of a vehicle having autonomous driving capabilities |
US10431082B2 (en) * | 2017-06-19 | 2019-10-01 | GM Global Technology Operations LLC | Systems and methods for emergency vehicle response in an autonomous vehicle |
JP7095968B2 (ja) * | 2017-10-02 | 2022-07-05 | トヨタ自動車株式会社 | 管理装置 |
-
2020
- 2020-07-24 CN CN202080061377.1A patent/CN114341759A/zh active Pending
- 2020-07-24 WO PCT/US2020/043623 patent/WO2021021680A1/en unknown
- 2020-07-24 EP EP20848342.0A patent/EP4004671A4/en active Pending
- 2020-07-24 JP JP2022505373A patent/JP2022541343A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022541343A (ja) | 2022-09-22 |
EP4004671A4 (en) | 2023-05-24 |
EP4004671A1 (en) | 2022-06-01 |
WO2021021680A1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019253703B2 (en) | Improving the safety of reinforcement learning models | |
US11062461B2 (en) | Pose determination from contact points | |
CN111742310B (zh) | 创建包含语义信息的干净的地图 | |
US10691127B2 (en) | Trajectory generation using temporal logic and tree search | |
US20240053763A1 (en) | Analysis of scenarios for controlling vehicle operations | |
US11625036B2 (en) | User interface for presenting decisions | |
US11407409B2 (en) | System and method for trajectory validation | |
US11892835B2 (en) | System and method for controlling an autonomous vehicle | |
WO2019199876A1 (en) | Dynamically controlling sensor behavior | |
US11914368B2 (en) | Modifying limits on vehicle dynamics for trajectories | |
US11397434B2 (en) | Consistency validation for vehicle trajectory selection | |
US11458965B2 (en) | Feasibility validation for vehicle trajectory selection | |
US11378962B2 (en) | System and method for effecting a safety stop release in an autonomous vehicle | |
JP2023514618A (ja) | レーダー追跡されたオブジェクト速度及び/又はヨー | |
CN114222690A (zh) | 修改轨迹的车辆动力学限制 | |
US11409278B2 (en) | System and method for providing a teleoperation instruction to an autonomous vehicle | |
CN114341759A (zh) | 用于将远程操作指令提供到自主车辆的系统和方法 | |
US20240087450A1 (en) | Emergency vehicle intent detection | |
WO2023009546A1 (en) | Systematic fault detection in vehicle control systems |
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 |