CN114026514A - 远程车辆导引 - Google Patents
远程车辆导引 Download PDFInfo
- Publication number
- CN114026514A CN114026514A CN202080047153.5A CN202080047153A CN114026514A CN 114026514 A CN114026514 A CN 114026514A CN 202080047153 A CN202080047153 A CN 202080047153A CN 114026514 A CN114026514 A CN 114026514A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- computing device
- path point
- waypoint
- guidance
- 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 description 112
- 230000015654 memory Effects 0.000 claims description 32
- 230000033001 locomotion Effects 0.000 claims description 26
- 230000036541 health Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 abstract description 18
- 230000004044 response Effects 0.000 description 80
- 230000008569 process Effects 0.000 description 43
- 230000003068 static effect Effects 0.000 description 17
- 230000009471 action Effects 0.000 description 15
- 230000008447 perception Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 12
- 238000010276 construction Methods 0.000 description 11
- 238000011217 control strategy Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 102000010410 Nogo Proteins Human genes 0.000 description 2
- 108010077641 Nogo Proteins Proteins 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005315 distribution function 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
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000007689 inspection Methods 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
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- 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
- 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/0027—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 involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- 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/0044—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 a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
-
- 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/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种车辆计算系统可以识别沿行进路线的障碍,并可以连接到服务计算设备以获得导引。服务计算设备可以包括导引系统,该系统被配置为接收由操作员输入的路径点和/或取向。操作员可以评估场景,并为车辆确定一个或多个路径点和/或相关取向,以导航该场景。在一些示例中,导引系统可以验证(多个)路径点和/或(多个)相关取向。服务计算设备可以将(多个)路径点和/或(多个)相关取向发送到车辆计算系统。车辆计算系统可以验证(多个)路径点和/或(多个)相关取向,并基于验证,根据输入控制车辆。基于确定车辆已经导航了该场景,导引系统可以将车辆导引释放回车辆计算系统。
Description
相关申请的交叉引用
本PCT国际申请是标题为“REMOTE VEHICLE GUIDANCE”、于2019年6月28日提交的第16/457646号的美国专利申请的继续申请并要求其优先权的权益,其全部内容通过援引并入本文。
背景技术
车辆在动态环境中运行,其中的条件经常变化。在不断变化的条件中,包括由于施工、事故等造成的道路堵塞。自动驾驶车辆可以被编程为对不断变化的条件做出反应,同时将车辆保持在指定的操作协议内。操作协议可以包括确定的操作规则,如不将车辆驶入指定的相反方向交通的车道。然而,通常情况下,围绕事故、施工区或类似情况的绕行,可能会指出超出操作协议参数的路线。在未经授权在操作协议界限之外操作的情况下,自动驾驶车辆可能无法绕过障碍物继续前进,因此可能被堵在原地。
附图说明
详细说明参照所附附图来描述。在附图中,附图标记的最左边的(多个)数字表示该附图标记首次出现所在的附图。不同附图中的相同附图标记表示相似或相同的零部件或特征。
图1是环境中的自动驾驶车辆的图示,其中远程车辆导引系统可用于协助引导车辆通过环境。
图2是具有图形用户界面的示例性服务计算设备的图示,其中操作员可以为在远程导引模式下操作的车辆输入路径点和/或取向导引。
图3描绘了向车辆提供增量导引的示例过程。
图4是描绘了用于通过图形用户界面向车辆提供远程导引的操作员工作流程的示例性流程图的图示。
图5是描绘了响应于远程导引输入的车辆动作的示例流程图。
图6描绘了用于向车辆计算设备提供远程导引的示例过程。
图7描绘了基于从服务计算设备收到的导引输入控制车辆的示例过程。
图8是用于实施本文所述技术的示例系统的框图。
具体实施方式
本公开内容涉及向在环境中操作的车辆远程提供增量导引的技术,该车辆遇到了难以导航的场景(例如,在其中规划者无法根据一组驾驶策略规划路线,或其他情况)。该车辆可以包括自动驾驶或半自动驾驶车辆,其车辆计算系统被配置为基于在操作环境中遇到的障碍物而从远程车辆导引系统请求导引。远程车辆导引系统可包括图形用户界面(GUI),操作员可通过该界面输入建议的路径点和/或取向(例如,车辆在相应路径点的偏航),以便车辆在场景中导航(例如,围绕一个或多个障碍物)。车辆可以接收建议的路径点和/或取向,并验证沿着由建议的路径点和/或取向定义的路径导航是否满足车辆的安全协议。因此,本文描述的技术提高了车辆在环境中操作的安全性。
车辆计算系统可以从车辆的一个或多个传感器(例如,相机、运动检测器、激光雷达、雷达、飞行时间传感器等)接收传感器数据。车辆计算系统可以根据传感器数据确定车辆正在接近路线上的障碍物,车辆可能没有被配置为确定可行的路径(例如,道路堵塞、道路上的施工区、车辆视线之外的驾驶线路(例如,由于道路的海拔和/或道路的转弯造成的传感器视觉受损),围绕障碍物的轨迹将违反控制策略等等),在此称为远程导引场景。远程导引场景可以包括车辆计算系统未被编程执行的场景(例如,未知场景)和/或似乎违反操作协议的场景(例如,导航该场景所需的轨迹将违反操作协议(例如控制策略))。操作协议可以包括一个或多个规则,管理车辆可以或不可以采取的动作,例如不越过双黄线、不驶入迎面的交通车道、不超过道路的可驾驶表面的界限,或类似情况。例如,车辆计算系统可以检测到车辆行驶的道路被封锁,而绕过封锁的方法包括驶入指定给相反方向行驶的车道,这违反了操作协议。
在一些示例中,响应于检测远程导引场景,车辆计算系统可以自动连接到配置有GUI的服务计算设备。在各种示例中,车辆操作员和/或安全观察者可以检测到远程导引场景并可以连接到服务计算设备。在一些示例中,车辆计算系统可以向服务计算设备发送导引请求。在各种示例中,在从服务计算设备接收响应(例如,导引输入)之前,车辆计算系统可以确定用于导航远程导引场景的解决方案。在这样的示例中,车辆计算系统可以根据该解决方案来控制车辆。在一些示例中,车辆计算系统可以向服务计算设备发送第二消息,指示不再需要导引输入(例如,指示车辆在没有远程导引的情况下行进)。在一些示例中,车辆计算系统可以继续控制车辆而不向服务计算设备发送第二消息。在这样的示例中,车辆计算系统或服务计算设备中的至少一个可以确定导引输入是不必要的,并且可以与其他计算设备断开连接。
在一些示例中,响应于接收导引请求,服务计算设备可以确定提供导引的一个或多个条件得到满足。(多个)条件可以包括连接阈值(例如,阈值延迟、阈值带宽等)、低于阈值速度的车辆速度(例如,每小时15英里、每小时20公里等)、传感器操作的阈值数量/类型(例如,4个相机操作的阈值、所有车辆激光雷达传感器操作等)、没有车辆健康相关的故障(例如,与不一致的传感器读数有关的故障、一个或多个不工作的传感器、与避免碰撞系统、规划器系统和/或其他车辆系统有关的故障等),和/或可能影响远程导引系统有效性的其他条件。在一些示例中,响应于确定条件未被满足,服务计算设备可以不与车辆计算系统连接。在一些示例中,响应于确定条件未被满足,服务计算设备拒绝操作员对GUI的访问和/或拒绝对GUI的输入。在这样的示例中,拒绝访问可以提高车辆操作的安全性,例如,不允许在没有足够的延迟的情况下进行远程导引,以确保车辆计算系统能够在足够的时间范围内做出响应,以避免不安全的结果。在一些示例中,响应于确定条件未被满足,服务计算设备可以启动GUI。
在一些示例中,GUI可以包括一个或多个窗口,描绘来自车辆上的一个或多个传感器的传感器数据。在至少一个示例中,GUI可以包括描绘由车辆上的相机捕获的流式图像的窗口。(多个)窗口可以描绘数据,以协助操作员确定车辆要走的路径。例如,GUI可以包括四个窗口,描绘与车辆相关的左前视图、前视图、右前视图和后视图。操作员可以评估每个视图,以确定车辆通过远程导引场景的安全路径。
在各种示例中,GUI可以包括对环境中的车辆和远程导引场景的顶视图的描绘。在这样的示例中,顶视图可以包括基于传感器数据的计算机生成的环境视图。在一些示例中,顶视图可以包括车辆相对于远程导引场景的一个或多个障碍物的位置。例如,顶视图可以描绘车辆接近多个橙色锥体,这些锥体阻挡了车辆的预定(例如规划)路径。顶视图可以包括车辆和锥体。
在各种示例中,GUI可以被配置为通过顶视图接收来自操作员的输入。在这样的示例中,操作员可以向车辆提供导引,以导航通过远程导引场景,例如围绕与之相关的(多个)障碍物。输入可以包括一个或多个路径点。(多个)路径点可包括车辆将行驶的地点。在不同的示例中,每个路径点可以包括停车点。在这样的示例中,车辆可被配置为在每个路径点停止,例如,在没有收到或没有验证后续路径点的情况下。在至少一些示例中,在提供后续路径点的情况下,车辆可以继续规划并在路径点之间移动而不停止。
在各种示例中,输入可以包括车辆在相关路径点的取向(例如偏航)。在这样的示例中,操作员可能能够使车辆在相关的路径点处面向特定的方向。在一些示例中,取向可以根据先前和/或随后的路径点来确定。在这样的示例中,在特定的路径点上的取向可以使车辆在导引路线上的路径点之间平稳渡越。在各种示例中,与路径点相关的取向可以基于如果车辆停在该路径点的优选取向。例如,与至少部分位于与相反方向交通相关的车道中的车辆相关的优选取向可以与该车道平行,从而位于该车道中的车辆的数量可以被最小化。
在一些示例中,操作员可以使服务计算设备将(多个)路径点和/或(多个)取向发送到车辆计算系统。在一些示例中,服务计算设备可以响应于操作员的输入而自动发送路径点和/或相关取向。在这样的示例中,基于确定在特定布局确认了路径点和/或确认了取向,服务计算设备可以自动发送路径点和/或取向。在一些示例中,可以响应于从操作员接收到发送命令(例如,选择发送选项)而发送该路径点和/或相关取向。在这样的示例中,操作员可以单独和/或成组地发送路径点。
在一些示例中,服务计算设备可以被配置为在向车辆计算系统发送导引数据之前验证(多个)路径点和/或(多个)取向。在一些示例中,验证可以包括初始验证,即(多个)路径点和/或(多个)取向通过与车辆相关的安全协议。安全协议可以包括用于确保车辆安全的一组预先确定的条件。安全协议可以包括车辆保持远离动态和/或静态对象的一个或多个阈值距离、最大偏航率和/或与车辆通过远程导引场景的安全导航相关的其他标准。在各种示例中,车辆计算系统可以从服务计算设备接收(多个)路径点和/或(多个)取向,并且可以验证(多个)路径点和/或(多个)取向。在这样的示例中,车辆计算系统可以验证所述(多个)路径点和/或(多个)取向通过安全协议并且可以由车辆安全地执行。
在一些示例中,车辆计算系统可以被配置为至少部分地基于远程导引协议来验证(多个)路径点和/或(多个)取向。在这样的示例中,车辆计算系统可以部分地基于确定所述(多个)路径点和/或(多个)取向通过远程导引协议来验证所述(多个)路径点和/或(多个)取向。远程导引协议可以包括在远程导引模式下操作时对车辆运动的一个或多个限制。远程导引协议可以包括路径偏差(例如,车辆例如为了绕过障碍物可以偏离两个路径点之间的路径的距离,车辆的1/2宽度、1个车辆宽度等),对静态对象检测的响应(例如,试图绕过静态对象以到达后续路径点,对动态对象检测的响应(例如,对预测进入与路径点相对应的路径的施动者让步),跟随与车辆同向运动的动态对象(例如,在与路径点相对应的路径上),在交叉路口(例如,四向站、交通灯、环岛等)酌情让路,如果没有收到进一步导引(例如,另一个路径点、恢复导航的指示等)或类似情况就停止向前运动。
另外或者作为替代方案,车辆计算系统可以被配置为至少部分地基于运动学验证(例如,动力学验证、运动学/动力学检查)来验证(多个)路径点和/或(多个)取向。运动学验证可包括确定车辆能够执行从第一位置(例如,初始位置、与路径点相关的位置等)到第二位置(例如,第一路径点、后续路径点等)的渡越。在一些示例中,执行渡越的能力可以包括确定车辆计算系统是否能够为车辆生成一条或多条轨迹,以基于物理约束执行从而以(多个)取向到达(多个)路径点。物理约束可包括最大偏航率、最大横向距离、最大转弯角度和/或与车辆操纵相关的其他约束条件。
响应于确定路径点和/或相关取向违反安全协议和/或远程导引协议,车辆计算系统可以拒绝该路径点。在一些示例中,车辆计算系统可以不继续前往被拒绝的路径点,例如,不从停止点(例如,停止线、停止标志、交通灯等)继续前进或在被拒绝的路径点之前的路径点处停止。在一些示例中,车辆计算系统可以向服务计算设备发送消息,指示对路径点的拒绝。在一些示例中,该消息可以包括拒绝的原因。例如,车辆计算系统可以确定路径点与水泥障碍物的距离小于阈值距离。基于该判断,车辆计算系统可以拒绝该路径点,并向服务计算设备发送消息,指出该距离小于阈值距离。
响应于确定(多个)路径点和/或相关(多个)取向通过安全协议和/或远程导引协议,车辆计算系统可以接受所述(多个)路径点和/或(多个)取向。车辆计算系统可以处理(多个)路径点和/或(多个)取向,并为车辆生成一条或多条轨迹,以便在路径点之间渡越。例如,车辆计算系统可以接收第一路径点和与第一路径点相关的第一取向。车辆计算系统可以确定第一轨迹(或轨迹组),以从初始位置渡越到在第一取向的第一路径点。
基于生成的轨迹,车辆计算系统可以控制车辆到达处于相关的(多个)取向的(多个)路径点,例如通过一个或多个驱动系统。在各种示例中,车辆计算系统可以以预定速度(例如,每小时20公里、每小时15英里、每小时10英里等)控制车辆。在一些示例中,预定速度可以包括与远程导引相关的最大速度。在各种示例中,车辆计算系统可以以与环境和/或场景相关的速度控制车辆。在至少一个示例中,车辆计算系统可以以预定速度或与环境和/或场景相关的速度中较小的速度控制车辆。例如,车辆计算系统在远程导引模式下操作时,可以以每小时15英里的预定最大速度操作。车辆计算系统可以检测到远程导引场景,并请求来自服务计算设备的导引输入。车辆计算系统和/或操作员可以根据传感器数据确定,远程导引场景具有与之相关的每小时5英里的速度限制。基于每小时5英里的速度限制小于每小时15英里的预定最大速度,车辆计算系统可以将车辆的速度限制在每小时5英里,同时通过远程导引场景进行导航。
在各种示例中,车辆计算系统可以被配置为连续地和/或周期性地验证车辆在通过远程导引场景(例如,在路径点到路径点之间行驶)导航时不会违反安全协议和/或远程导引协议。例如,车辆计算系统可以控制车辆从第一路径点到第二路径点。车辆计算系统可以检测到行人,其轨迹似乎和与车辆相关的轨迹相交。车辆计算系统可以根据该行人确定要采取的动作,例如让路给该行人。
在各种示例中,服务计算设备可以确定场景完成(例如,车辆通过障碍物,可以恢复正常操作)并且可以从远程导引中释放车辆。在一些示例中,场景完成可以部分地基于生成的路径点在与车辆相关的原始路线的阈值距离(例如0.5米、0.5英尺、10英寸等)之内。在一些示例中,场景完成可以基于传感器数据输入。在这样的示例中,操作员可以通过GUI查看传感器数据,以确定该场景已经完成。例如,障碍物可能包括施工区。来自车辆的相机馈送可以描绘出飞行器后面的施工区的末端。基于确定施工区在车辆后面,操作员可以确定场景已经完成。在一些示例中,确定可以基于规划系统确定允许的轨迹(例如不违反控制策略)和/或可以沿着确定的路径继续。
在各种示例中,响应于确定场景已完成,服务计算设备可以向车辆发送释放信号。在这样的示例中,响应于该释放信号,车辆计算系统可以被配置为恢复车辆的导航(例如,自主控制)。在各种示例中,服务计算设备可以确定,该场景阻止了车辆的初始路线。在这样的示例中,服务计算设备可以被配置成为车辆生成更新的路线以到达预先确定的目的地。在一些示例中,服务计算设备可以在发送释放信号之前将更新的路线发送到车辆计算系统。在一些示例中,服务计算设备可以基本上与释放信号同时发送更新的路线(例如,在1秒、2秒等内)。响应于收到更新的路线,车辆计算系统可以控制车辆沿着更新的路线到预先确定的目的地。在一些示例中,车辆计算设备可以确定,该场景阻止了的初始路线。在这样的示例中,车辆计算系统可以被配置为生成更新的路线以导航到目的地。
本文讨论的技术可以改善车辆计算系统的功能。传统上,在自动驾驶车辆的控制规划中,车辆计算系统可以不断地处理传感器数据以确定车辆的可行路线,直到它确定解决方案。在车辆遇到远程导引场景的示例中,基于对车辆计算系统的限制,例如在操作协议中,解决方案可能是无法实现的。在这样的示例中,车辆计算系统可能利用了大量的计算资源而没有达成解决方案。因此,在车辆计算系统继续使用处理能力和/或内存来确定通过远程导引场景的路径时,车辆可能会堵在规划路线上的特定位置。
本文描述的技术通过利用远程计算资源来确定在远程导引场景中导航的近实时解决方案,为车辆计算系统因约束条件而遇到的技术问题提供了技术解决方案。如本文所述,服务计算设备上的图形用户界面可以处理来自车辆计算系统的传感器数据,并向车辆计算系统提供导引,从而减少车辆计算系统使用的处理能力和/或内存的量,在一些示例中,该系统否则可能陷入无限循环的处理中而无法确定解决方案。
此外,本文描述的技术可以提高自动驾驶车辆通过环境的操作的安全性。例如,车辆计算系统可以基于确定进一步运动可能违反操作协议,为了导引输入而连接到服务计算设备。为了确保最大程度的安全,车辆计算系统可以请求远程操作员的导引,该远程操作员可以被配置为评估情况并确定安全的前进路线。此外,车辆计算系统可以接收输入并可以在根据输入控制车辆之前验证导引输入导致车辆的安全操作。
本文描述的技术可以以多种方式实施。下面参照以下附图提供示例性实施例。尽管在自动驾驶车辆的背景下进行了讨论,但本文描述的方法、装置和系统可以应用于各种系统(例如传感器系统或机器人平台),并且不限于自动驾驶车辆。在另一示例中,这些技术可以在航空或航海背景下使用,或在任何使用机器视觉的系统中使用(例如,在使用图像数据的系统中)。
图1是环境100中的自动驾驶车辆102(车辆102)的图示,其中远程导引系统可以基于对远程导引场景106(例如,在规划路线104上的障碍物,车辆可能未被配置为围绕所述障碍物确定可行的路径)的检测来确定与规划路线104(例如,初始路线、规划路径等)的偏离。远程导引场景106可以包括车辆计算系统未被编程执行的场景和/或似乎违反操作协议的场景(例如,导航该场景所需的轨迹将违反操作协议(例如控制策略))。操作协议可以包括一个或多个规则,管理车辆可以或不可以采取的动作,例如不越过双黄线、不驶入迎面的交通车道、不超过道路的可驾驶表面的界限,或类似情况。在一些示例中,远程导引场景106可以包括一个场景,其中障碍物延伸到与车辆102相关的感知距离之外。例如,如图1所示,车辆102可能无法从初始位置108(例如,初始地点和/或取向)感知远程导引场景106的全部。另外,在图1中说明,远程导引场景106可能包括一个或多个障碍物阻挡车辆102的规划路线104,这样,绕过远程导引场景106的导航将导致车辆102在指定为相反方向交通的车道上操作。作为非限制性的示例,远程导引场景106可以包括划定改变的车道边界的锥体、路障等,工人为车辆102发出前进方向的信号,或者以其他方式构成与一组标定驾驶场景不同的场景。
在各种示例中,车辆计算系统可以基于来自一个或多个传感器的传感器数据检测远程导引场景106。该传感器可以包括安装在车辆102上的相机、运动探测器、激光雷达、雷达、飞行时间和/或其他传感器。如下文关于图8的更详细讨论,车辆计算系统的规划组件可被配置为沿规划路线104导航车辆102。规划组件可以从车辆计算系统的感知组件接收经过处理的传感器数据,并且可以根据传感器数据确定车辆沿规划路线104行驶的一个或多个轨迹。所述轨迹可包括车辆可在环境中行驶的方向、取向和/或速度。
与车辆操作相关的轨迹可以部分地基于置于车辆计算系统上的操作协议(例如,一个或多个操作约束条件)来确定。操作协议可以包括一个或多个规则,管理车辆可以或不可以采取的动作,例如不越过双黄线、不驶入迎面的交通车道、不超过道路的可驾驶表面的界限、不超过速度限制或类似情况。例如,操作协议可以包括对车辆保持在道路的铺砌表面上的限制。因此,车辆计算系统可以被配置为生成一个或多个轨迹,以保持车辆102在道路的铺砌表面上。
在各种示例中,车辆计算系统可以接收传感器数据并确定规划路线104被阻挡,例如被障碍物阻挡,或者以其他方式具有行进的高度不确定性,在不违反控制策略的情况下不能行进,或者类似情况。在一些示例中,车辆计算系统可以处理传感器数据,并试图为车辆生成(满足操作协议的)一个或多个轨迹以绕过障碍物进行导航。然而,在一些示例中,遇到的场景,例如图1中描绘的远程导引场景106,可能不包括满足操作协议的可能轨迹(或路径)。在这样的示例中,车辆计算系统可以将该场景识别为远程导引场景106,并且可以使车辆在初始位置108处停止。在各种示例中,基于对远程导引场景106的检测(例如识别),车辆计算系统可以使一个或多个危险信号(例如,危险灯、音频信号等)从车辆发出。
基于对远程导引场景106的检测,车辆计算系统可以自动连接到服务计算设备,例如通过一个或多个网络。(多个)网络可以包括诸如互联网的公共网络、诸如机构和/或个人网络的私人网络或公共和私人网络的一些组合。(多个)网络还可以包括任何类型的有线和/或无线网络,包括但不限于卫星网络、电缆网络、Wi-Fi网络、WiMax网络、移动通信网络(例如,3G、4G、5G等)、局域网(LAN)、广域网(WAN),或其任何组合。在一些示例中,车辆计算系统可以根据从输入/输出设备收到的输入,例如通过按下按钮,连接到服务计算设备。例如,安全观察员、车辆操作员或车辆中的乘客可以按下按钮来连接到服务计算设备,例如用于远程导引。
在各种示例中,车辆计算系统可以发送指示远程导引场景106的信号。在一些示例中,该信号可以包括对来自服务计算设备的导引数据(例如,导引输入)的请求。在一些示例中,响应于与车辆计算设备连接和/或接收来自车辆计算设备的导引数据请求,服务计算设备可以验证导引的条件得到满足。导引条件可以包括系统检查,以确保服务计算设备能够有效地向车辆102提供导引。这些条件可以包括低于阈值的车辆速度(例如,低于每小时15英里,低于每小时20公里等),可用的传感器的阈值数量和/或类型(例如,至少有四个提供前、后、左、右视图的摄像机可以操作,与空中视角相关的传感器可以操作等),阈值带宽(例如,等于或大于每秒10兆字节,每秒15兆字节等),阈值延迟(例如,等于或小于300毫秒,250毫秒等),没有与车辆健康有关的故障(例如,转向柱故障等),或类似情况。
在一些示例中,响应于确定一个或多个条件未得到满足,服务计算设备可以拒绝与车辆计算系统的连接(例如,不连接)。在各种示例中,响应于确定一个或多个条件未得到满足,服务计算设备可以拒绝操作员访问和/或拒绝输入(例如,禁用输入功能)到服务计算设备的图形用户界面(GUI)。在一些示例中,服务计算设备可以向车辆计算设备发送一个指示,即(多个)条件未被满足和/或远程导引系统不可用。
在各种示例中,响应于确定条件未被满足,服务计算设备可以启动显示器上的GUI。在各种示例中,GUI可以包括一个或多个窗口,描绘来自车辆102的传感器的传感器数据。例如,(多个)窗口可以各自描绘由安装在车辆102上的相机捕获的实时或接近实时(例如,例如基于延迟)的相机图像。在各种示例中,在(多个)窗口中描绘的数据可以为操作员提供信息,以协助确定围绕远程导引场景106的路径。
在各种示例中,GUI可以包括对环境100中的车辆102和远程导引场景106的俯视的(或可由远程操作员以其他方式配置的)描绘。在这样的示例中,顶视图可以包括基于传感器数据的计算机生成的环境视图。在一些示例中,顶视图可以包括车辆102、例如在初始位置108的车辆相对于远程导引场景106的一个或多个障碍物的位置。正如将就图2进一步详细讨论的那样,GUI可以被配置为通过顶视图接收来自操作员的输入。在这样的示例中,操作员可以向车辆提供导引,以导航通过远程导引场景106,例如通过驾驶走廊110。驾驶走廊110可以代表远程导引场景106周围的可驾驶表面,其中操作员可以输入一个或多个路径点112。(多个)路径点112可以包括车辆将在其上行驶的地点(例如,X、Y、Z坐标等)。在不同的示例中,(多个)路径点112,如路径点112(1)至路径点112(N),可各自包括停车点。在这样的示例中,车辆可被配置为在每个路径点112停止,例如,在没有收到或没有验证后续路径点112的情况下。例如,操作员可以输入路径点112(1),并且在没有收到路径点112(2)的情况下,车辆计算设备可以使车辆102在路径点112(1)处停止,直到收到进一步导引。
在各种示例中,输入可以包括车辆102在相关路径点112的取向114(例如偏航)。在这样的示例中,操作员可能能够使车辆在相关的路径点112处面向特定的方向。在各种示例中,与路径点112相关的取向114可以基于如果车辆停在该路径点的优选取向来确定。例如,为了在围绕远程导引场景106导航时最小化地暴露于迎面而来的交通,与至少部分位于与相反方向交通相关的车道中的车辆102相关的优选取向可以与该车道基本平行(例如,在5度内等),从而可以最小化位于该车道中的车辆102的数量。因此,至少为了最小化地暴露于相反方向交通,与路径点112(2)相关的取向114(2)可以与车道基本平行。在至少一些示例中,可以提供这样的取向,以使车辆能够找到连接后续路径点的轨迹。
在一些示例中,取向114可以根据先前和/或随后的路径点114来确定。在这样的示例中,在特定的路径点112上的取向114可以使车辆在导引路线上的路径点之间平稳渡越。例如,与第一路径点112(1)相关的第一取向114(1)可以代表第二路径点112(2)的方向上的直线或样条。与第二路径点112(2)相关的第二取向114(2)可以代表第三路径点112(3)的方向上的样条,等等。正如下文将更详细地讨论的那样,车辆计算设备可以接收路径点112和/或取向114,并且可以生成一个或多个轨迹,以便在路径点和/或取向之间平稳地控制车辆102。
在各种示例中,操作员可以将路径点112,例如路径点112(1)置于驾驶走廊110中的位置。驾驶走廊110可以包括车辆102可以渡越以导航远程导引场景106的确定的道路部分。在各种示例中,服务计算设备可以基于从车辆上的传感器接收到的传感器数据生成驾驶走廊110。在一些示例中,服务计算设备可以根据环境100中的一个或多个检测到的障碍物来生成驾驶走廊110。例如,远程导引场景106可以包括车辆102的右侧和左侧的障碍物。驾驶走廊110和/或其宽度可以由障碍物之间的距离和/或安全缓冲区(例如,预先确定的距离以保持车辆102远离障碍物)来定义。在各种示例中,驾驶走廊110的宽度可以根据车辆的宽度来确定。在一些示例中,驾驶走廊110的宽度可以另外包括车辆102的两侧的安全缓冲区。在各种示例中,驾驶走廊110可以代表操作员可以输入路径点112的区域。在这样的示例中,GUI可能不允许在驾驶走廊110之外输入路径点112。
在各种示例中,GUI可以限制路径点112之间和/或初始位置108与第一路径点112(1)之间的距离D(例如,10英尺、15英尺、7米等)。在一些示例中,GUI可能不允许输入超过彼此之间的距离D的路径点112。在一些示例中,GUI可以激活车辆102周围半径为D的区域,操作员可以在其中输入路径点112。在一些示例中,GUI可以向操作员提供通知,例如在弹出的通知中,输入在距离D之外并且将不被接受。在各种示例中,限制路径点之间的距离可以使车辆102通过环境100的增量导引成为可能,并且可以确保车辆102可以安全地操纵远程导引场景106。
在各种示例中,操作员可以将路径点112和/或相关的取向114,例如路径点112(1)和取向114(1),输入GUI。正如将在下面关于图2更详细地讨论的那样,操作员可以通过为路径点112(1)选择环境100中的地点并确认该地点来输入路径点112(1)。在一些示例中,地点的确认可以包括在该地点点击鼠标和/或选择GUI上的确认选项。在各种示例中,响应于接收对路径点112和/或取向114的确认,服务计算设备可以验证路径点112和/或取向114。路径点112和/或取向114的验证可以包括验证路径点112和/或取向114满足车辆的安全协议。安全协议可以包括与车辆102的安全操作相关的一个或多个规则,例如路径点112在道路上的地点(例如,从道路或可驾驶表面的边缘不小于车辆102的1/2宽度)、路径点112在初始位置108的阈值距离内或彼此的阈值距离内、车辆102保持远离动态和/或静态对象的一个或多个阈值距离、最大偏航率和/或与车辆102通过环境100的安全导航相关的其他标准。
在一些示例中,操作员可以使服务计算设备将(多个)路径点112和/或(多个)取向114发送到车辆计算系统。在一些示例中,服务计算设备可以响应于操作员的输入而自动发送路径点112和/或相关取向114。在这样的示例中,基于确定在特定布局确认了路径点112和/或确认了取向114,服务计算设备可以自动发送路径点112和/或取向114。在各种示例中,可以基于确定一个或多个路径点112经验证(例如,通过安全协议、远程导引协议和/或运动学验证)而发送所述一个或多个路径点112和/或相关取向114。在一些示例中,可以响应于接收到例如操作员输入的发送命令(例如,选择发送选项)而发送该路径点112和/或相关取向114。在一些示例中,GUI可以被配置为单独和/或成组地发送路径点112和/或相关取向114。
在各种示例中,车辆计算系统可以从服务计算设备接收(多个)路径点112和/或(多个)取向114,并且可以验证(多个)路径点112和/或(多个)取向114。在这样的示例中,车辆计算系统可以验证(多个)路径点112和/或(多个)取向114通过安全协议并且可以由车辆102安全地执行和/或通过运动学验证(例如,车辆102可以基于物理约束实现期望的路径点)。响应于确定路径点和/或相关取向违反安全协议,车辆计算系统可以拒绝该路径点。在一些示例中,车辆计算系统可以不继续前往被拒绝的路径点,例如,不从停止点(例如初始地点108)继续前进或在被拒绝的路径点之前的路径点处停止。例如,车辆计算设备可以接收第一路径点112(1)和第一取向114(1),并且可以确定第一路径点112(1)和第一取向114(1)是有效的(例如,通过安全协议)。车辆计算设备可以将车辆从初始位置108导航到第一路径点112(1)。车辆计算设备还可以接收第二路径点112(2)和第二取向114(2),并且可以确定第二路径点112(2)或第二取向114(2)中的至少一个没有通过安全协议。车辆计算设备可以拒绝第二路径点112(2)和/或第二取向114(2),并可以使车辆停在第一路径点112(1)以等待更新的导引。
在一些示例中,车辆计算系统可以向服务计算设备发送消息,指示对路径点112和/或相关取向114的拒绝。在一些示例中,该消息可以包括拒绝的原因。例如,车辆计算系统可以确定路径点与环境中的静态对象的距离小于阈值距离。基于该判断,车辆计算系统可以拒绝该路径点,并向服务计算设备发送消息,指出该距离小于阈值距离。
响应于确定(多个)路径点112和/或相关(多个)取向114通过安全协议,车辆计算系统可以接受所述(多个)路径点112和/或(多个)取向114。车辆计算系统可以处理(多个)路径点112和/或(多个)取向114,并为车辆102生成一条或多条轨迹116,以便在路径点112之间渡越。例如,车辆计算系统可以接收第一路径点112(1)和第一取向114(1)。基于确定第一路径点112(1)和第一取向114(1)是有效的,车辆计算系统可以确定第一组轨迹116(一个或多个轨迹),以从初始位置渡越到处于第一取向114(1)的第一路径点112(1)。在至少一些示例中,一个或多个路径点112可被用作确定这种轨迹的约束条件(例如,车辆102必须以特别指定的偏航角通过该路径点)。在额外的或替代的示例中,路径点可以包括成本,其中至少部分地基于与车辆102离路径点多远相关的成本和/或车辆102和相应的路径点112的偏航差来确定轨迹。在所确定的任何一个或多个轨迹中,速度可被约束为不满足或超过阈值速度,该阈值速度可以是固定速度(例如,5mph(英里每小时)、10mph等)和/或在所穿越的可驾驶表面上的相关速度限制的百分比。
基于生成的轨迹116,车辆计算系统可以控制车辆102以到达处于相关的(多个)取向114的(多个)路径点112,例如通过一个或多个驱动系统。在各种示例中,车辆计算系统可以递增地接收路径点112和/或相关取向114。在这样的示例中,车辆计算设备可以控制车辆从初始位置108到达第一路径点112(1)。在一些示例中,车辆计算系统可以在接收和/或验证后续导引、例如第二路径点112(2)之前到达第一路径点112(1)。在这样的示例中,车辆计算系统可使车辆停在第一路径点112(1),直到接收或验证第二路径点112(2)。在一些示例中,车辆计算系统可以在到达第一路径点112(1)之前接收和/或验证第二路径点112(2)。在这样的示例中,车辆计算设备可以控制车辆在不停车的情况下,经过第一路径点112(1)向第二路径点112(2)机动。在一些示例中,可以在减速到在特定的路径点,例如第一路径点112(1)处停止的同时提供后续导引。在这样的示例中,车辆计算设备可以将车辆重新加速到适当的速度,并朝向第二路径点112(2)导航车辆。
在各种示例中,车辆计算设备可以根据远程导引协议控制车辆。远程导引协议可以包括在远程导引模式下操作时对车辆102运动的一个或多个限制。远程导引协议可以包括路径偏差(例如,车辆102例如为了绕过障碍物可以偏离两个路径点之间的路径的距离,车辆的1/2宽度、1个车辆宽度等),对静态对象检测的响应(例如,试图绕过静态对象以到达后续路径点112,对动态对象检测的响应(例如,对预测进入与路径点112相对应的路径的施动者让步),跟随与车辆同向运动的动态对象(例如,在与路径点112相对应的路径上),在交叉路口(例如,四向站、交通灯、环岛等)酌情让路,如果没有收到进一步导引(例如,另一个路径点、恢复导航的指示等)或类似情况就停止向前运动。
在各种示例中,车辆计算系统可以将车辆102控制在适合环境中的条件的速度。所述条件可以包括在环境中检测到的动态对象的数量和/或类型(例如,道路上的其他车辆的数量、行人的数量、在附近玩耍的儿童等)、与环境相关的区域(例如,学校区域、操场等),或类似情况。在一些示例中,车辆计算系统可以被配置为动态地确定车辆的最大速度,以使安全最大化,同时仍然允许向前运动。例如,车辆计算装置可以确定它处于学校区域,同时以导引模式操作。车辆计算装置可以确定与车辆102相关的最大速度为每小时7英里,以便在检测到学生接近与车辆102相关的路径时允许车辆102立即停止。对于另一个示例,车辆102可以在交通中跟随另一车辆。车辆计算设备可以控制车辆102处于保持与前车的安全距离的速度。
在各种示例中,车辆计算系统可以将车辆102控制在预定的最大速度(例如,每小时20公里、每小时15英里、每小时10英里等)以下。在一些示例中,预定的最大速度可以包括与远程导引相关的最大速度。在各种示例中,车辆计算系统可以以与环境和/或场景相关的速度或以低于该速度控制车辆102。在至少一个示例中,车辆计算系统可以以预定的最大速度或与环境和/或场景相关的最大速度中较小的速度控制车辆102。例如,车辆计算系统在远程导引模式下操作时,可以以每小时15英里(例如在每小时0至15英里之间)的预定最大速度操作该车辆。车辆计算系统可以检测到远程导引场景106,并请求来自服务计算设备的导引输入。车辆计算系统和/或操作员可以根据传感器数据确定,远程导引场景106具有与之相关的每小时10英里的速度限制。基于每小时10英里的速度限制小于每小时15英里的预定最大速度,车辆计算系统可以将车辆的速度限制在不高于每小时10英里,同时通过远程导引场景106进行导航。
在各种示例中,车辆计算系统可以被配置为验证车辆102在通过远程导引场景(例如,在路径点到路径点之间行驶)导航时不会违反安全协议。车辆计算设备可以连续地、周期性期地(例如,每0.1秒、0.5秒、1秒等)和/或以随机间隔(例如,以3秒、5秒等)监测周围环境,以确保车辆满足安全协议(例如,车辆不会撞击环境中的对象118)。例如,车辆计算设备可以控制车辆102以确保车辆102与环境中的对象118保持最小距离。
在各种示例中,车辆计算设备可以检测环境100中的一个或多个对象118,例如基于传感器数据。(多个)对象118可以是静态和/或动态对象。在各种示例中,车辆计算系统可以被配置为确定与检测到的每个对象118相关的分类(例如,对象的类型,例如汽车、半拖车卡车、行人、自行车手等)。在各种示例中,车辆计算系统可以根据传感器数据确定一个或多个预测的对象轨迹120。对象轨迹120可以代表任何数量的潜在路径,其中对象118可以从与感知时间相关的位置穿过环境100。对象轨迹120可以基于各种因素来确定,例如,对象118的分类、交通法或规则(例如,道路规则)、驾驶礼仪、在占用/非占用车道中的地点、接近交叉口、其他静止和/或动态对象、可驾驶表面等。
在各种示例中,对象轨迹120可以利用一个或多个机器学习算法来确定。在这样的示例中,车辆计算系统,例如通过预测系统,可以接收与对象118相关联的传感器数据并基于传感器数据预测对象118的行为。例如,车辆计算系统可以对捕获的随时间变化的对象运动的图像数据上进行训练,以便车辆计算系统可以识别可以建议对象118能采取的未来动作(例如,对象轨迹)的行为。在一些示例中,车辆计算系统可以基于环境的俯视表示确定预测的对象轨迹120,例如通过利用于2018年10月4日提交的标题为“俯视场景的轨迹预测(Trajectory Prediction on Top-Down Scenes)”编号为16/151607的美国专利申请中描述的技术,其全部内容通过引用并入本文。此外或者作为替代,车辆计算系统可以利用热图、树形搜索方法和/或时间逻辑公式,例如与2017年11月8日提交的标题为“用于行为预测的概率热图(Probabilistic Heat Maps for Behavior Prediction)”的编号为15/807521的美国专利申请(其全部内容通过引用并入本文)中描述的那些内容,以确定与检测到的对象118相关的一个或多个对象轨迹120。
在各种示例中,车辆计算系统可以处理与环境100中检测到的(多个)对象118相关联的对象轨迹120,并且可以确定车辆102和(多个)对象118是否可能相互作用(例如,碰撞、近距离错过等)。例如,车辆计算系统可以控制车辆102从路径点112(8)到后续路径点112(N)。车辆计算系统可以检测到对象118(例如,行人),其对象轨迹120似乎与车辆102相关的轨迹相交。车辆计算设备可以确定对象118可能导致车辆102违反安全协议(例如,在运动中的车辆102的阈值距离内的行人等)和/或远程导引协议(例如,在远程导引模式下对象穿过车辆的路径)。车辆计算系统可以根据行人确定要采取的动作,例如让路给行人,以确保车辆102保持安全协议和/或远程导引协议。
在各种示例中,服务计算设备可以确定场景完成(例如,车辆通过远程导引场景106,可以恢复正常操作)并且可以从远程导引中释放车辆102。在一些示例中,场景完成可以部分地基于确定车辆可以安全地导航远程导引场景106的剩余部分。例如,由感知系统检测到在初始位置108处对车辆计算系统不可见的被遮挡对象,并且车辆计算系统可以被配置为绕过被遮挡对象。对于另一个示例,远程导引场景106的第一部分可以包括对操作协议的违反,例如,在指定用于相反方向交通的车道上行驶。远程导引场景106的第二部分可以包括在操作协议的范围内行驶。因此,操作员可以根据第一部分的完成情况(例如,根据车辆在行驶方向的适当车道上行驶),确定该场景可以完成。
在一些示例中,场景完成可以部分地基于生成的路径点112,例如112(N)在与车辆102相关的原始路线的阈值距离(例如0.5米、0.5英尺、10英寸等)之内。在一些示例中,场景完成可以基于传感器数据输入。在这样的示例中,操作员可以通过GUI查看传感器数据,以确定该场景已经完成。例如,远程导引场景106可包括施工区。来自车辆的相机馈送可以描绘出车辆102后面的施工区的末端。基于确定施工区在车辆102后面,操作员可以确定场景已经完成。
在各种示例中,响应于确定场景已完成,服务计算设备可以向车辆102发送释放信号。在这样的示例中,响应于该释放信号,车辆计算设备可以被配置为恢复车辆102的导航。在各种示例中,服务计算设备可以确定,该场景阻止了车辆102的规划路线104(例如初始路线)。在这样的示例中,服务计算设备可以被配置成为车辆生成更新的路线以到达预先确定的目的地。在一些示例中,服务计算设备可以在发送释放信号之前将更新的路线发送到车辆计算设备。在一些示例中,服务计算设备可以基本上与释放信号同时发送更新的路线(例如,在1秒、2秒等内)。响应于收到更新的路线,车辆计算系统可以控制车辆102沿着更新的路线到预先确定的目的地。在一些示例中,车辆计算设备可以确定,该场景阻止了的初始路线。在这样的示例中,车辆计算设备可以被配置为生成更新的路线以导航到目的地。在各种示例中,基于确定服务计算设备和车辆计算设备可能都没有确定更新的路线,车辆计算设备可以使车辆靠边(例如,控制车辆离开交通流)并停车以确定更新的路线和/或从服务计算设备接收更新的路线导引。
在各种示例中,在连接到服务计算设备之后,但是在接收导引数据(例如,(多个)路径点112和/或(多个)取向114)之前,车辆计算系统可以确定用于安全导航远程导引场景106的解决方案。在这样的示例中,车辆计算系统可以向服务计算设备发送消息,取消对远程导引的请求。在一些示例中,服务计算设备可以启动GUI,以使操作员能够观察车辆102自主导航通过远程导引场景106,例如充当安全监视器。在一些示例中,服务计算设备可以完成场景并可以禁用与GUI相关的输入控制,拒绝操作员提供路径点112和/或取向114输入。
图2描绘了具有图形用户界面202(GUI 202)的示例性服务计算设备200,其中操作员204(图示为由操作员控制的输入光标)可以为在远程导引模式下操作的车辆210、例如车辆102,输入路径点206和/或取向208导引、例如路径点112和/或取向114。如上所述,与车辆210相关联的车辆计算设备可以检测包括远程导引场景214、例如远程导引场景106的一个或多个障碍物212。响应于检测到远程导引场景214,车辆计算系统可以与服务计算设备200建立连接。在各种示例中,车辆计算系统可以发送对来自服务计算设备200的导引数据(例如,导引输入)的请求。在至少一些示例中,车辆计算系统可以在必须完全和彻底停止之前识别这样的远程导引场景214(例如,可以提前足够长的时间识别这样的场景,以便本文讨论的技术可以使车辆继续运动到目的地而不停止)。
在各种示例中,响应于与车辆计算设备的连接和/或对导引数据的请求的接收,服务计算设备200可以确定是否满足一个或多个导引条件。(多个)导引条件可以包括系统检查,以确保服务计算设备200能够有效地向车辆210提供导引。所述(多个)条件可以包括低于阈值的车辆速度(例如,低于每小时15英里,低于每小时20公里等),可用的传感器的阈值数量和/或类型(例如,至少有四个提供前、后、左、右视图的摄像机可以操作,与空中视角相关的传感器可以操作等),阈值带宽(例如,等于或大于每秒10兆字节,每秒15兆字节等),阈值延迟(例如,等于或小于300毫秒,250毫秒等),没有与车辆健康有关的故障(例如,转向柱故障等),或类似情况。
在一些示例中,基于确定条件未被满足,服务计算设备200可以将缺乏条件传达给车辆计算设备。在这样的示例中,服务计算设备200可能无法提供导引数据,直到条件得到满足(例如,带宽增加、延迟减少、没有车辆健康相关的故障、车辆速度减少到阈值以下、传感器数据可用性增加等)。在一些示例中,基于确定条件未被满足,服务计算设备200可以不启动GUI 202。在一些示例中,基于确定条件未被满足,服务计算设备200可以启动GUI 202,但可以不启用输入控制。在这样的示例中,操作员204可能无法提供路径点206和/或取向208导引。在任何这样的示例中,车辆可以执行回退机动(例如,保持当前位置和/或拉到安全停车区)。
在各种示例中,基于确定(多个)条件被满足,服务计算设备200可以启动GUI 202,但可以不启用输入控制。在这样的示例中,操作员204可以提供路径点206和/或取向208导引。在一些示例中,GUI 202可以包括一个或多个窗口216,描绘来自车辆210上的一个或多个传感器的传感器数据。在至少一个示例中,(多个)窗口216可以描绘由车辆210上的相机捕获的流式图像。(多个)窗口216可以描绘数据,以协助操作员确定车辆要走的路径218。该路径可以包括路径点之间的直线,这可能是也可能不是指示车辆可能穿过环境的实际路径230。在一些示例中,路径218和实际路径230之间的差异可以至少部分地基于车辆在路径点206处将面对的取向208或方向,例如与第一路径点206(1)相关的第一取向208(1)。在这样的示例中,车辆计算系统可以生成指示车辆的一个或多个轨迹的实际路径230,以到达处于第一取向208(1)的第一路径点206(1)。在这样的示例中,轨迹可以包括在有限的时间范围内和/或在随后的路径点之间要获得的一个或多个状态(位置、取向、速度、加速度等)。如上所述,这种路径点可被用来按照成本和/或约束条件确定这种轨迹。
在说明性示例中,GUI 202包括描绘与车辆210相关的左前视图的第一窗口216(1)、描绘前视图的第二窗口216(2)、描绘右前视图的第三窗口216(3)以及描绘后视图的第四窗口216(4)。操作员可以评估每个视图,以确定车辆通过远程导引场景214的路径218。路径218可以表示车辆210的初始位置222和第一路径点206(1)之间的直线距离和/或路径点206之间的直线距离,例如第一路径点206(1)和第二路径点206(2)之间。
在各种示例中,GUI 202可以包括对车辆210和远程导引场景214的顶视图220(例如,鸟瞰视图)的描绘,在至少一些示例中,可以根据操作员204进行调整以提供不同的视图。在一些示例中,顶视图220可以包括基于传感器数据的计算机生成的环境视图。在一些示例中,顶视图220最初可以包括车辆210相对于远程导引场景214的(多个)障碍物212的位置222。在说明性的示例中,顶视图220描绘车辆210接近多个橙色锥体,阻挡车辆210的规划路径224(例如,初始路径、规划路线等),例如规划路线(例如,规划路径)104。
在各种示例中,顶视图220可以被配置为接收来自操作员204的导引输入。在这样的示例中,操作员204可以向车辆提供导引,以导航通过远程导引场景214,例如围绕与之相关的(多个)障碍物212。输入可以包括一个或多个路径点206。(多个)路径点206可包括车辆将行驶的地点。在不同的示例中,(多个)路径点206可以各自包括停止点,例如在缺乏进一步导引的情况下。在这样的示例中,在没有收到或没有验证后续路径点206的情况下,车辆210可被配置为在每个路径点206停止。
在各种示例中,操作员204可以选择路径点录入选项226。在一些示例中,路径点录入选项226能实现将路径点206输入到顶视图220中。在各种示例中,操作员204可以使用与服务计算设备200相关联的输入设备来输入路径点。虽然图示为光标,例如与鼠标相关的光标,但可以考虑其他输入设备,例如触摸屏、键盘等。操作员204可以将光标在顶视图220上移动到路径点206的不同潜在地点。在一些示例中,与路径点206相关的符号,如第二路径点206(2)可以伴随光标。在说明性的示例中,第二路径点206(2)被描绘成具有浅色。在这样的示例中,浅色可以代表还未被操作员204录入的路径点206。响应于录入,例如通过在特定地点上点击鼠标,可以录入路径点206,并且路径点206、例如206(1)可以用不同的颜色表示。在至少一些示例中,GUI 202可以阻止操作员204录入距离先前录入的路径点和/或车辆的最后已知位置超过一定距离的路径点。
在各种示例中,操作员204可以选择取向录入选项228。取向录入选项可以使操作员204能够录入与路径点206相关的取向208(例如,偏航)。如上所述,取向208可以代表车辆在特定的路径点206应该面对的方向。在一些示例中,取向208可以根据先前和/或随后的路径点206来确定。在这样的示例中,在特定的路径点206的取向可以使车辆在导引路线上的路径点之间平稳渡越。在各种示例中,与路径点206相关的取向208可以基于如果车辆停在路径点206的优选取向208来确定。
在一些示例中,GUI 202可以被配置为接收关于已经录入(例如,布局确认)的路径点206的取向录入。例如,响应于操作员204点击(例如,选择)第二路径点206(2),从而改变颜色以匹配录入的路径点206(1),操作员204能够输入与之相关的取向208,例如取向208(2)。在说明性的示例中,操作员204可以围绕第二路径点206(2)移动光标(例如,划动光标)或其他输入设备,并选择车辆210在第二路径点206(2)将面对的方向。该方向可以代表车辆210在第二路径点206(2)的取向208(2)或偏航。如上所述,在各种示例中,该方向可与GUI202生成的路径218相吻合。在各种示例中,光标的移动可以被取向限制242所限制。取向限制242可以包括取向208可以被设置的方向范围。在各种示例中,GUI202可以阻止在取向限制242之外的取向输入。取向限制242可以基于放置在车辆210上的物理约束(例如,最大偏航率、最大偏航角、最大横向距离、最大转角等)。例如,顶视图220可能不接受会导致车辆在路径点206执行大转弯的取向输入,例如90度或180度转弯。
在各种示例中,服务计算设备200可以被配置为验证经由GUI录入的(多个)路径点206和/或(多个)取向208。如上所述,路径点206和/或取向208验证可以包括验证车辆210不会违反(例如,通过)与根据路径点206和/或取向208导航的车辆210相关的安全协议和/或远程导引协议。在一些情况下,这种验证可以包括运动学/动力学检查(验证),确保车辆能够执行这种路径点渡越。
在各种示例中,响应于接收导引输入(例如,(多个)路径点206和/或(多个)取向208),服务计算设备200可以将(多个)路径点206和/或(多个)取向208(例如,路径点数据)发送到车辆计算系统。在一些示例中,服务计算设备200可以在接收与第二路径点206(2)和/或第二取向208(2)相关的输入之前发送第一路径点206(1)和/或第一取向208(1)。在这样的示例中,车辆计算系统可以被配置为接收第一路径点206(1)和/或第一取向208(1)并使车辆从初始位置222开始移动。如果没有收到与第二路径点206(2)相关的数据,车辆计算系统可使车辆210在第一路径点206(1)处停止。在各种示例中,响应于接收(和验证)第二路径点206(2)和/或第二取向208(2),车辆计算系统可使车辆朝着第二路径点206(2)行进。在这样的示例中,服务计算设备200可以实现对车辆计算系统的增量远程导引。在一些示例中,服务计算设备200可以发送与两个或多个路径点206和/或取向208相关的数据。在这样的示例中,基于两个或多个路径点的验证,车辆计算系统可以被配置为在两个或更多路径点206之间导航。在本文描述的任何示例中,第二路径点206(2)可以在车辆穿越到第一路径点206(1)时被接收,从而车辆可以继续穿越所有路径点而不停止。
如上所述,响应于接收路径点206和/或取向208,例如第一路径点206(1)和/或第一取向208(1),车辆计算系统可以为车辆210生成一个或多个轨迹。轨迹可以代表车辆210在导引模式下操作时在不同地点之间行驶的实际路径230。在各种示例中,与实际路径230相关的轨迹可以包括将导致车辆到达处于第一取向208(1)的第一路径点206(1)的轨迹。
在各种示例中,车辆计算系统可以向服务计算设备发送其无法超越当前地点的指示。当前地点可以包括路径点206,例如路径点206(1),或环境中的另一地点。在一些示例中,车辆可以基于确定以下情况在当前地点停止,即车辆计算设备不能为车辆210生成一个或多个轨迹,尚未接收到后续的路径点206、例如第二路径点206(2),通往第二路径点206(2)的路径被阻塞,路径点206被拒绝,或类似情况。在一些示例中,响应于接收所述指示,服务计算设备可以在GUI 202上呈现通知,指示车辆无法继续行进。基于该通知,操作员可以输入第二(后续)路径点206(2)和/或替代路径点206,例如如果第二路径点206(2)被拒绝。
在各种示例中,GUI 202可以使操作员204导致车辆在特定地点停止。在一些示例中,车辆可基于确定未收到后续导引(例如,未收到和/或验证与第二路径点206(2)相关的数据)而在路径点、例如路径点206(1)处停止。在一些示例中,操作员204可以通过选择保持选项232而使车辆210停止。对保持选项232的选择可以使服务计算设备200向车辆210发送保持信号。在一些示例中,响应于接收保持信号,车辆计算系统可以控制车辆以停止。在一些示例中,响应于接收保持信号,车辆计算系统可以将车辆维持在停止位置。
在各种示例中,车辆计算系统可以维持停止位置(例如响应于保持信号),直到收到完成信号(例如释放信号)。完成信号可以由服务计算设备响应于操作员204的释放选项234的输入而发送。在各种示例中,完成信号可以使车辆计算设备根据收到的导引输入控制车辆。在一些示例中,保持和释放可以使操作员一次发送多个路径点206和/或取向208。在一些示例中,在车辆保持期间录入的路径点206和/或取向208可以与完成信号基本同时发送。
在各种示例中,GUI 202可以包括完成选项236。完成选项236可以由操作员响应于确定车辆已经导航了远程导引场景214并且可以自主地行进而被选择。在一些示例中,完成选项236可以响应于确定终止条件已经发生而被选择。终止条件可以包括确定远程导引场景214在车辆后面,车辆210在规划路径224的阈值距离内,车辆210能够自主地行进(例如,根据操作协议、安全协议等控制车辆),或类似情况。在各种示例中,响应于完成选项236的选择,服务计算设备200可以向车辆计算设备发送完成信号。该完成信号可以包括自主地行进的指令。在各种示例中,服务计算设备200可以确定远程导引场景214阻止了车辆210的规划路径224,并且车辆210将沿着另一路线(例如,更新的路线)行进。在一些示例中,服务计算设备200可以自动生成用于车辆导航到目的地的更新的路线。在一些示例中,服务计算设备可以基于操作员对更新路线选项238的输入而生成更新的路线。
在各种示例中,GUI 202可以被配置为接收路径点编辑(例如,删除或修改),例如响应于GUI 202的编辑路径点选项240。编辑路径点选项240可使操作员删除和/或修改与之相关的路径点206(例如,改变位置)和/或取向208(例如,改变偏航)。可以基于确定以下情况编辑路径点206和/或取向208,即确定路径点206未被确认(例如,被车辆计算系统接受),或者确定路径点已被确认但未被车辆完成(例如,车辆210未到达路径点206,车辆未沿着通往路径点206的实际路径230开始)。在各种示例中,响应于确定该路径点已被确认但未完成,GUI 202可以验证车辆210在启用路径点206编辑之前已经停止。在那些当前由车辆计算系统使用该路径点来控制车辆的示例中,该路径点可以被锁定以便编辑。在这样的示例中,这就排除了操作员204在路径点被用于规划后对其进行调整(从而创造更安全的规划过程)。
图3描绘了向车辆102提供增量导引的示例过程300。过程300的部分或全部可由下面关于图8描述的一个或多个组件执行。
在操作302,服务计算设备可以从车辆计算系统接收导引请求。车辆计算系统可以基于对操作环境中的远程导引场景106的检测来发送导引请求。远程导引场景106可以包括障碍物、道路堵塞、道路上的施工区,或类似情况。远程导引场景106可以包括车辆计算系统未被编程为执行的场景和/或似乎违反与车辆102相关的操作协议和/或安全协议的场景。如上所述,这样的场景可以在预期车辆接近该场景时被检测到,从而可以在停车之前传达导引,从而使车辆根本不必停车。
响应于接收导引请求,服务计算设备可以处理该请求并启动图形用户界面(GUI)。GUI可以包括操作员可以通过其向车辆提供导引输入的界面。GUI可以被配置为接收与第一路径点112(1)(例如,第一位置)相对应的输入,以便车辆导航所述远程导引场景106(例如,围绕障碍物)。在一些示例中,GUI可以被配置为接收与第一路径点112(1)相关联的第一取向对应的输入。第一取向可以代表车辆102在第一路径点112(1)处可能面对的方向。
在操作304,服务计算设备可以将第一路径点112(1)(例如,与第一位置和/或与第一路径点112(1)相关的第一取向相关的数据)发送到车辆计算系统。车辆计算系统可以接收与第一路径点112(1)相关联的数据,并且可以控制车辆到达第一路径点112(1)。在一些示例中,车辆计算系统可以根据第一取向额外地控制车辆102,例如使车辆102到达处于第一取向(和/或在其一些阈值内)的第一路径点112(1)。在各种示例中,响应于未接收到后续导引,车辆可在第一路径点112(1)处停止,由停止条306表示。在一些示例中,车辆102可以响应于接收到保持信号,例如上文关于图2所描述的信号,而停在停止条306处。在这样的示例中,服务计算设备可以响应于接收来自操作员的保持车辆102的输入而发送保持信号。
在操作308,服务计算设备可以将第二路径点112(2)和第三路径点112(3)发送到车辆计算系统。在各种示例中,第二路径点112(2)和第三路径点112(3)可以至少部分地基于最初在第一路径点112(1)处检测到的被遮挡对象310来确定。被遮挡对象310可以包括在检测到远程导引场景106时对车辆计算系统最初不可见(例如,由传感器系统检测到)的对象。在一些示例中,服务计算设备可以被配置为基于对环境中的障碍物、对象等的实时或近实时检测而提供增量导引。
在各种示例中,车辆计算设备可以控制车辆到第二路径点112(2),然后到第三路径点112(3),而不在任何路径点112处停止。在这样的示例中,车辆可以基于确定安全协议得到满足(例如,检测到的对象不会影响行驶等),在不停止的情况下行进。
在操作312,服务计算设备可以确定场景(例如,远程导引场景106)已经完成(例如,终止条件已经发生)。在一些示例中,服务计算设备可以基于确定、例如使用传感器数据确定与远程导引场景106和/或被遮挡对象310相关的一个或多个障碍物在车辆后面,来确定场景已经完成。在一些示例中,服务计算设备可以基于确定第三路径点112(3)(例如,最终路径点)在车辆的规划路线104的阈值距离(例如,4英寸、0.5英尺、2英尺、1米等)内来确定场景已完成。在各种示例中,车辆控制系统可以确定它能够为车辆102规划不违反任何控制策略的轨迹(并且安全地穿越环境),并且向服务计算设备发送指示这一点的信号。在这样的示例中,服务计算设备可以根据来自车辆计算系统的信号,确定该场景已经完成。
在操作314,服务计算设备可以从远程导引释放车辆。在一些示例中,服务计算设备可以向车辆计算系统发送完成信号。在一些示例中,响应于接收完成信号,车辆计算系统可以自主地控制车辆。在一些示例中,该完成信号可以包括自主地行进的指令。在这样的示例中,响应于接收该指令,车辆计算系统可以自主地控制车辆。
图4描绘了用于通过图形用户界面402向车辆提供远程导引的操作员工作流程400。在操作404,车辆计算系统可以连接到服务计算设备。服务计算设备可以确定用于提供远程导引的一个或多个条件没有得到满足。在一些示例中,服务计算设备可以根据从车辆计算系统收到的数据和/或与网络连接相关的数据确定(多个)条件未得到满足。(多个)导引条件可以包括系统检查,以确保服务计算设备能够有效地向车辆提供导引。所述(多个)条件可以包括低于阈值的当前车辆速度(例如,低于每小时15英里,低于每小时20公里等),可用的传感器的阈值数量和/或类型(例如,至少有四个提供前、后、左、右视图的摄像机可以操作,与空中视角相关的传感器可以操作等),阈值带宽(例如,等于或大于每秒10兆字节,每秒15兆字节等),阈值延迟(例如,等于或小于300毫秒,250毫秒等),没有与车辆健康有关的故障(例如,转向柱故障等),或类似情况。
基于确定一个或多个条件中的至少一个条件未被满足,服务计算设备可以在操作406确定导引是不可能的。在各种示例中,基于确定(多个)条件中的至少一个条件未被满足,服务计算设备可以在操作408阻止导引被输入到图形用户界面402中。在这样的示例中,操作员可能无法将路径点和/或取向数据输入到图形用户界面402中。
在操作410,车辆计算系统可以连接到服务计算设备并确定用于提供远程导引的(多个)条件被满足。基于确定(多个)条件得到满足,服务计算设备可以在操作412确定导引是可能的。响应于确定在提供导引时条件失败,服务计算设备可以确定导引是不可能的,例如在操作406处描绘的那样。在一些示例中,基于确定导引是不可能的,车辆可以不行进超越初始位置(例如,可以保持停止)。在一些示例中,基于确定导引是不可能的,服务计算设备可以向车辆计算系统发送指示远程导引不可能的消息。在这样的示例中,该消息可以包括不提供远程导引的合理解释(例如,导引不可能的理由)。相反,响应于确定先前失败的至少一个条件、例如在操作404确定的条件当前被满足,服务计算设备可以确定导引是可能的(操作412)。
基于确定导引是可能的,工作流程可以包括,在操作414,激活图形用户界面上的导引。在各种示例中,激活导引可以使操作员能够输入与路径点和/或取向相对应的数据,以协助车辆围绕障碍物导航。因此,操作员可以为车辆建立围绕障碍物的路径。
基于在操作员建立路径时确定(多个)条件中的至少一个条件(与上述失败的条件相同或不同)失败,可以在操作408阻止进一步导引。在一些示例中,基于对至少一个条件失败的确定,车辆可以不行进超越初始位置(例如,可以保持停止)和/或不超越最近接收和/或验证的路径点。在这样的示例中,车辆计算系统可以被配置为使车辆响应于不接收进一步导引(例如,后续路径点、完成信号等)而停止。此外,在操作408,响应于确定至少一个条件被满足,导引可以在图形用户界面402上重新激活,使额外的路径点和/或取向数据输入成为可能。
图5是描绘响应于远程导引输入的车辆动作的流程图500。在操作502,与服务计算设备的图形用户界面相关联的操作员可以连接到车辆计算系统。在各种示例中,操作员可以响应于接收到远程导引请求而连接到车辆计算系统。在一些示例中,所述连接可以基于一个或多个条件的满足。
在操作504,车辆可以在保持中被停止。在各种示例中,车辆可以基于检测到远程导引场景而停止,例如由车辆计算设备停止。在一些示例中,车辆可以基于保持的指令被停止,例如,通过图形用户界面从服务计算设备接收的指令。车辆可以在Go(例如,运动授权)或NoGo(例如,运动未授权)模式下停止。Go模式可以代表在前进之前有必要进行临时延迟的模式。在一些示例中,临时延迟可能是基于输入和/或验证路径点所需的时间。在一些示例中,临时延迟可能是基于对安全协议和/或远程导引协议的满足。例如,车辆计算设备可以检测到车辆前面的另一车辆已经停止。为了在另一车辆后面保持安全距离,车辆计算设备可以将车辆停在Go模式。NoGo模式可以代表远程导引可能不可用的模式,例如基于条件未被满足(例如,检测到的车辆健康故障等),或者以其他方式表示车辆已经执行了故障安全操纵并偏离了标定驾驶行为。
在操作506,车辆可以在释放中移动。在一些示例中,车辆可以基于收到来自与图形用户界面相关联的服务计算设备的释放信号而在释放中移动。在各种示例中,车辆可以在运动时请求远程导引。从操作504或操作506,操作员可以在服务计算设备的图形用户界面上启动导引模式508。
在操作510,车辆可以在保持中被停止。在一些示例中,当车辆处于保持状态时,导引模式508可以是有效的。在这样的示例中,操作员可以输入用于导引绕过障碍物的路径点和/或取向(例如,导航远程导引场景);然而,由于保持,车辆可能不会控制车辆根据路径点穿越环境。
在操作512,车辆可以继续移动,运行正常的规划导引(例如,由车辆计算系统提供的自主控制),直到从服务计算设备接收与路径点相关的数据。响应于操作员添加路径点,车辆在操作514可满足收到的一个或多个路径点(例如,驶向每个路径点)。在一些示例中,响应于接收路径点,车辆计算系统可以验证该路径点以确保该路径点满足车辆的安全协议和/或远程导引协议。
在各种示例中,响应于接收路径点,车辆可以生成一个或多个轨迹以控制车辆到所述路径点。在操作514,车辆计算设备可以从服务计算设备接收对应于一个或多个额外的路径点的数据(例如,操作员在图形用户界面中添加额外的路径点)。车辆计算系统可以持续地生成轨迹,并基于轨迹在随后的路径点之间控制车辆。
在各种示例中,在操作510,在保持中停止的车辆可以被释放,例如通过操作员在图形用户界面上选择释放选项,或类似的方式。在这样的示例中,车辆可在操作514开始运动并满足路径中的剩余路径点。
在操作516处,车辆可以停止并等待额外的导引。在一些示例中,车辆可基于确定其尚未收到后续导引(后续路径点)而在操作516停止。在这样的示例中,响应于接收路径点,车辆可以再次开始运动(操作514)。在一些示例中,车辆可基于确定最终路径点已被满足而停止(例如,车辆到达最终路径点)。在一些示例中,响应于导引的完成,操作员可以完成导引并与车辆计算系统断开连接,例如在操作520。在一些示例中,操作员可以使服务计算设备向车辆计算系统发送完成消息(例如,完成信号),指示导引路径已经完成。响应于导引路径完成,车辆计算系统可以恢复对车辆的自主控制。
在各种示例中,车辆例如在操作514可以继续运动,直到在操作518,车辆满足路径中的最终路径点。在一些示例中,操作员可以在最终路径点之前指示导引完成,例如通过指定一路径点为最终路径点。在一些示例中,响应于导引的完成,操作员可以完成导引并与车辆计算系统断开连接,例如在操作520。响应于导引路径完成,车辆计算系统可以恢复对车辆的自主控制。在各种示例中,服务计算设备可以接收对远程导引的第二请求。在这样的示例中,操作员可以在操作502重新连接到车辆计算系统。
图6和图7说明了根据本公开的实施例的示例过程。这些过程被示出为逻辑流程图,其中的每个操作代表可在硬件、软件或其组合中实现的操作序列。在软件方面,这些操作代表了存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,执行所述的操作。一般来说,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。所述操作的顺序并不打算被解释为一种限制,任何数量的所述操作可以以任何顺序和/或并行地组合起来以实现这些流程。
图6描绘了用于向车辆计算设备提供远程导引的示例过程600。过程600的部分或全部可由下面关于图8描述的一个或多个组件执行。例如,过程600的部分或全部可以由(多个)服务计算设备832执行。
在操作602,该过程可以包括从与车辆相关联的车辆计算系统接收用于导航场景的导引输入请求。导引输入请求可以通过车辆计算系统和服务计算设备之间的网络连接被接收。导引输入请求可以包括对穿过场景的增量导引的请求,例如通过一个或多个路径点和/或相关取向。
在操作604,该过程可以包括确定一个或多个条件是否被满足。这些条件可以包括低于阈值的车辆速度、可用的传感器的阈值数量和/或类型、与网络连接相关的阈值带宽、与网络连接相关的阈值延迟、不存在与车辆健康相关的故障,或类似情况。
响应于确定至少一个条件未被满足(在操作604处为“否”),该过程可以包括,在操作606,禁用服务计算设备的图形用户界面(GUI)的输入功能。在一些示例中,响应于确定至少一个条件未被满足,服务计算设备可以不启动GUI。
响应于确定条件得到满足(在操作604处为“是”),该过程可以包括,在操作608,接收与路径点相对应的输入。该输入可以从与GUI相关联的操作员那里接收,例如通过与服务计算设备相关联的输入/输出设备。在各种示例中,输入可包括路径点的位置和/或取向(例如,偏航)。在这样的示例中,路径点的位置和/或取向可以代表车辆在导引模式下操作时将经过的地点,以及车辆在该地点将面对的方向。
在各种示例中,服务计算设备可以验证与之相关的路径点和/或取向。对路径点的验证可以包括验证路径点和/或与其相关的取向满足与车辆操作相关的安全协议和/或远程导引协议。安全协议可以包括与车辆的安全操作相关的一个或多个规则,例如路径点在道路上的地点(例如,从道路或可驾驶表面的边缘不小于车辆的1/2宽度)、路径点在初始位置的阈值距离内或在另一路径点的阈值距离内、车辆保持远离动态和/或静态对象的一个或多个阈值距离、最大偏航率和/或与车辆通过环境的安全导航相关的其他标准。在其他或替代的示例中,这种验证可以包括运动学和/或动力学检查,以确保车辆能够执行从一个路径点到另一个路径点的渡越。
在操作610,该过程可以包括将与路径点相关的数据发送到车辆计算系统。在一些示例中,该数据可以基于验证相关路径点和/或取向而被发送到车辆计算系统。在一些示例中,该数据可以包括与一个或多个路径点相关的位置和/或取向。在各种示例中,车辆计算系统可以验证(多个)路径点并部分地基于所述(多个)路径点来控制车辆。
在操作612,该过程可以包括确定场景导航是否完成。在各种示例中,服务计算设备可以基于与场景相关的最终路径点的传输来确定场景已经完成。在一些示例中,服务计算设备可以根据该路径点至少超过与该场景相关的障碍物的阈值距离(例如,5英尺、10英尺、3米等)来识别最终路径点。在一些示例中,服务计算设备可以基于路径点与与车辆相关的初始路线的距离小于阈值距离(例如,4英寸、1英尺、1米等)来识别最终路径点。
响应于确定场景导航未完成(操作612处的“否”),服务计算设备可以返回到操作608并接收与路径点对应的输入。在各种示例中,服务计算设备可以继续接收对应于路径点的输入,将与路径点相关的数据发送到车辆计算系统,直到场景导航完成。
响应于确定场景导航已完成(在操作612处为“是”),该过程可包括在操作614向车辆计算系统发送完成信号。在一些示例中,该完成信号可以包括自主地行进到目的地的指令。响应于接收完成信号,车辆计算系统可以恢复正常的规划组件功能以自主控制车辆。
在各种示例中,服务计算设备可以确定与车辆相关联的初始路线由于该情景而被阻断。在这样的示例中,服务计算设备可以确定,车辆可能无法沿着初始路线到达目的地。在一些示例中,服务计算设备可以生成更新的路线。在这样的示例中,服务计算设备可以将更新的路线发送给车辆计算设备,例如,与发送完成信号的阈值时间同时或在该阈值时间(例如,0.5秒、2秒等)内。
图7描绘了基于从服务计算设备收到的导引输入控制车辆的示例过程700。过程700的部分或全部可由下面关于图8描述的一个或多个组件执行。例如,过程700的部分或全部可以由(多个)车辆计算设备804(例如,车辆计算系统)执行。
在操作702,该流程可以包括接收来自环境的传感器的传感器数据。所述传感器可以包括相机、运动探测器、激光雷达、雷达、飞行时间和/或其他传感器。车辆计算设备可以被配置,例如通过使用感知组件,以检测和/或分类车辆操作所在的环境中的一个或多个动态和/或静态物体。
在各种示例中,车辆计算系统可以处理传感器数据以确定车辆在环境中操作时要采取的一个或多个动作。可以根据在环境中检测到的动态和/或静态(多个)对象来确定动作。(多个)动作可以基于与该车辆相关的操作协议和/或安全协议。操作协议可以包括一个或多个规则,管理车辆可以或不可以采取的动作,例如不越过双黄线、不驶入迎面的交通车道、不超过道路的可驾驶表面的界限,或类似情况。安全协议可以包括与车辆的安全操作相关的一个或多个规则、车辆保持远离检测到的动态和/或静态对象的一个或多个阈值距离、最大偏航率和/或与车辆在环境中的安全导航相关的其他标准。在一些示例中,车辆计算设备可以处理传感器数据,并可能无法确定要采取的动作。
在操作704,该过程可以包括基于传感器数据确定车辆是否遇到了远程引导场景。远程导引场景可以包括障碍物、道路堵塞、道路中的施工区、车辆视线之外的驾驶线路(例如,由于道路的海拔和/或道路中的转弯而导致的传感器视觉受损),或类似情况。远程导引场景可以包括车辆计算系统未被编程为执行的场景和/或似乎违反操作协议的场景。
响应于确定车辆没有遇到远程导引场景(在操作704处为“否”),该过程可以包括,在操作706,车辆计算系统自主地控制车辆,例如在正常规划模式下。
响应于确定车辆遇到了远程导引场景(在操作704处为“是”),该过程可以包括,在操作708,向服务计算设备发送导引请求。在一些示例中,车辆计算系统可以建立与服务计算设备的网络连接。在这样的示例中,车辆计算系统可以通过网络连接发送所述请求。在一些示例中,车辆中的观察者可以手动建立车辆计算系统和服务计算设备之间的网络连接。在一些示例中,车辆计算系统可以自动建立网络连接和/或响应于确定车辆已经遇到远程导引场景而发送导引请求。
在操作710,该过程可以包括接收与路径点相关的数据。该数据可以包括与该路径点相关的位置和/或取向。
在操作712,该过程可以包括确定该路径点是否有效。对路径点的验证可以包括验证路径点和/或与其相关的取向满足安全协议、远程导引协议和/或与车辆操作相关的运动学验证。安全协议可以包括与车辆的安全操作相关的一个或多个规则,例如路径点在道路上的地点(例如,从道路或可驾驶表面的边缘不小于车辆的1/2宽度)、路径点在初始位置的阈值距离内或在另一路径点的阈值距离内、车辆保持远离动态和/或静态对象的一个或多个阈值距离、最大偏航率和/或与车辆通过环境的安全导航相关的其他标准。远程导引协议可以包括在远程导引模式下操作时对车辆运动的一个或多个限制。远程导引协议可以包括路径偏差(例如,车辆例如为了绕过障碍物可以偏离两个路径点之间的路径的距离,车辆的1/2宽度、1个车辆宽度等),对静态对象检测的响应(例如,试图绕过静态对象以到达后续路径点,对动态对象检测的响应(例如,对预测进入与路径点相对应的路径的施动者让步),跟随与车辆同向运动的动态对象(例如,在与路径点相对应的路径上),在交叉路口(例如,四向站、交通灯、环岛等)酌情让路,如果没有收到进一步导引(例如,另一个路径点、恢复导航的指示等)或类似情况就停止向前运动。运动学验证可以包括验证车辆计算系统可以生成一个或多个轨迹,以将车辆导航到处于相关取向的路径点。
响应于确定该路径点和/或取向是无效的(在操作712处为“否”),该过程可以包括在操作714拒绝该路径点。在各种示例中,车辆计算系统可以向服务计算设备发送消息,指示对路径点的拒绝。在各种示例中,该消息可以包括确定该路径点无效的一个或多个原因(例如,对拒绝的解释)。
响应于确定车辆已经遇到远程导引场景(在操作712处为“是”),该过程可以包括在操作716,至少部分地基于与该路径点相关的数据控制车辆(例如,在该路径点的包含区控制车辆)。作为非限制性的示例,这样的路径点(和/或相关的取向)可被用作规划从一个路径点到下一个路径点的轨迹的成本或控制中的一个或多个。对车辆的控制可包括向与车辆相关的一个或多个驱动系统发送一个或多个信号,并使车辆保持位置或移动到不同的位置,如与路径点相关的位置,并面向特定的方向,如与路径点对应的确定取向相关的方向。
在至少一些示例中,如果没有超过场景,这样的过程可以继续到710,由此接收和考虑额外的路径点。否则,过程700可以继续到706,以继续自主地控制车辆。
图8是用于实施本文所述技术的示例系统800的框图。在至少一个示例中,系统800可以包括车辆802,例如车辆102。
车辆802可以包括一个或多个车辆计算设备804、一个或多个传感器系统806、一个或多个发射器808、一个或多个通信连接810、至少一个直接连接812、以及一个或多个驱动系统814。
(多个)计算设备804可包括一个或多个处理器816和与一个或多个处理器816通信关联的存储器818。在图示的示例中,车辆802是自动驾驶车辆;然而,车辆802可以是任何其他类型的车辆,例如半自动驾驶车辆,或具有至少图像捕获设备(例如,具有摄像头的智能手机)的任何其他系统。在图示的示例中,(多个)车辆计算设备804的存储器818存储了定位组件820、感知组件822、规划组件824、一个或多个系统控制器826、和一个或多个地图828。虽然在图8中为了说明的目的被描绘为驻留在存储器818中,但可以设想,定位组件820、感知组件822、规划组件824、一个或多个系统控制器826以及一个或多个地图828可以额外地或替代地被车辆802访问(例如,存储在远离车辆802的存储器上,或以其他方式被车辆访问,例如,在(多个)服务计算装置832的存储器834上)。
在至少一个示例中,定位组件820可以包括从(多个)传感器系统806接收数据的功能,以确定车辆802的位置和/或取向(例如x-位置、y-位置、z-位置、侧倾、俯仰或偏航中的一个或多个)。例如,定位组件820可以包括和/或请求/接收环境的地图,例如来自(多个)地图828中的地图,并且可以连续确定自动驾驶车辆在地图中的地点和/或取向。在各种示例中,(多个)地图828可以包括与(多个)地图上的道路的各个部分相关的路段标识(例如,数字等)。在一些示例中,路段标识可以与至少部分地由(多个)服务计算设备832管理的道路网络相关联。在一些情况下,定位组件820可以利用SLAM(同时定位和绘图)、CLAMS(同时校准、定位和绘图)、相对SLAM、捆绑调整、非线性最小二乘法优化等来接收图像数据、激光雷达数据、雷达数据、IMU数据、GPS数据、车轮编码器数据等以准确确定自动驾驶车辆的地点。在一些情况下,定位组件820可向车辆802的各种组件提供数据以确定自动驾驶车辆的初始位置,如本文所述,以确定是否有对象与车辆802相关。
在一些情况下,感知组件822可包括执行物体探测、分段和/或分类的功能。在一些示例中,感知组件822可以提供经过处理的传感器数据,所述传感器数据表明靠近车辆802的对象(例如实体)的存在和/或将该对象分类为对象类型(例如汽车、行人、骑自行车的人、动物、建筑物、树、路面、路缘、人行道、未知等)。在一些示例中,感知组件822可以提供经过处理的传感器数据,所述传感器数据表明靠近车辆802的静态实体的存在和/或将静态实体分类为类型(例如建筑物、树、路面、路缘、人行道、未知等)。在额外的或替代的示例中,感知组件822可以提供经过处理的传感器数据,所述传感器数据表明与检测到的对象(例如被跟踪的对象)和/或对象所处的环境相关的一个或多个特征。在一些示例中,与对象相关的特征可以包括但不限于X-位置(全局和/或局部位置)、Y-位置(全局和/或局部位置)、Z-位置(全局和/或局部位置,例如高度)、取向(例如侧倾、俯仰、偏航)、对象类型(例如分类)、对象的速度、对象的加速度、对象的范围(尺寸)等等。与环境相关的特征可以包括但不限于环境中另一对象的存在、环境中另一对象的状态、与环境相关的区域(例如学校区域、商业街区等)、一天中的某个时间、一周中的某一天、天气状况、黑暗/光线的指示等。
一般来说,规划组件824可以确定车辆802要遵循的路径,例如规划的路线104(例如初始路线、规划路径等),以穿越环境。例如,规划组件624可以确定各种路线和轨迹以及各种级别的细节。例如,规划组件824可以确定从第一地点(例如当前地点)行驶到第二地点(例如目标地点)的路线。在一些示例中,规划组件824可以生成用于导引自动驾驶车辆802沿着从第一地点到第二地点的至少一部分路线的指令。
在各种示例中,规划组件824可以被配置为从一个或多个服务计算设备832的远程导引平台830接收与在远程导引模式下操作的车辆802的路径点和/或取向相关的数据。在一些示例中,规划组件824可以被配置为验证路径点和/或取向。在至少一个示例中,规划组件824可以确定如何引导自动驾驶车辆802从自(多个)服务计算设备832收到的第一路径点到从(多个)服务计算设备832收到的第二路径点。在一些示例中,该指令可以是轨迹、或轨迹的一部分。在一些示例中,可以根据滚动时域技术基本上同时生成多条轨迹(例如在技术公差范围内),其中多条轨迹中的一条轨迹被选择用于车辆802的导航。
在一些示例中,规划组件824可以包括预测组件,以生成环境中对象的预测(例如,对象)的轨迹。例如,预测组件可以为在环境中检测到的动态对象生成一个或多个预测轨迹。在一些示例中,预测轨迹可以包括任何数量的潜在路径,其中检测到的对象可能从当前位置(例如,在感知时的位置)和/或基于行驶方向来行驶。在一些示例中,预测轨迹可以代表对象在一段时间内将行驶的距离和方向。在一些示例中,预测组件可以测量对象的踪迹,并根据观察和预测的行为为该对象生成轨迹。在各种示例中,预测组件可以基于机器学习技术、热图、时间逻辑和/或树状搜索方法中的一个或多个来确定预测轨迹。
在至少一个示例中,(多个)车辆计算设备804可以包括一个或多个系统控制器826,其可以被配置为控制车辆802的转向、推进、制动、安全、发射器、通信和其他系统。这些(多个)系统控制器826可以与(多个)驱动系统814和/或车辆802的其他部件的相应系统通信和/或对其进行控制。
存储器818可以进一步包括可由车辆802用于在环境中导航的一个或多个地图828。就本讨论而言,地图可以是以二维、三维或N维建模的任何数量的数据结构,其能够提供关于环境的信息,例如但不限于拓扑结构(例如十字路口)、街道、山脉、道路、地形和一般环境。在一些情况下,地图可以包括但不限于:纹理信息(例如颜色信息(例如RGB颜色信息、Lab颜色信息、HSV/HSL颜色信息)等)、强度信息(例如激光雷达信息、雷达信息等);空间信息(例如投影到网格上的图像数据,单个“面元”(例如与单个颜色和/或强度相关的多边形))、反射率信息(例如镜面性信息、逆反射率信息、BRDF(双向反射分布函数)信息、BSSRDF(双向散射表面反射分布函数)信息等)。在一个示例中,地图可以包括环境的三维网格。在一些示例中,车辆802可以至少部分地基于(多个)地图828而被控制。也就是说,(多个)地图828可以与定位组件820、感知组件822和/或规划组件824结合使用,以确定车辆802的地点、检测环境中的对象、生成路线、确定动作和/或轨迹以在环境中导航。在各种示例中,(多个)地图828可以包括道路网络。该道路网络可以包括一个或多个不同的路段。
在一些示例中,一个或多个地图828可以存储在一个或多个服务计算设备832上。在一些示例中,可以基于例如特征(例如实体的类型、一天中的某个时间、一周中的一天、一年中的季节等)来存储多个地图828。存储多个地图828可以有类似的内存要求,但增加了地图中的数据可以被访问的速度。
可以理解,本文讨论的组件(例如,定位组件820、感知组件822、规划组件824、一个或多个系统控制器826、以及一个或多个地图828被描绘为为了说明目的而划分。然而,由各个组件执行的操作可以在任何其他组件中结合起来或执行。
在一些情况下,本文讨论的部分或全部组件的方面可以包括任何模型、技术和/或机器学习技术。例如,在一些情况下,存储器818(以及下文讨论的存储器834)中的组件可以实现为神经网络。
如本文所述,示例性神经网络是受生物启发的技术,它将输入数据通过一系列的连接层来产生输出。神经网络的每层也可包括另一神经网络,或可包括任何数量的层(无论是否为卷积的)。正如在本公开内容的上下文中可以理解的那样,神经网络可以利用机器学习,这可以指广泛的此类技术,其中输出是基于学习的参数生成的。
虽然是在神经网络的背景下进行讨论,但任何类型的机器学习都可以符合本公开内容。例如,机器学习技术可以包括但不限于回归技术(例如普通最小二乘回归(OLSR)、线性回归、逻辑回归、逐步回归、多变量自适应回归样条(MARS)、局部估计散点图平滑(LOESS))、基于实例的技术(例如岭回归、最小绝对收缩和选择运算符(LASSO)、弹性网、最小角度回归(LARS))、决策树技术(例如分类和回归树(CART)、迭代二分法3(ID3)、卡方自动交互检测(CHAID)、决策树桩,条件决策树),贝叶斯技术(例如朴素贝叶斯、高斯朴素贝叶斯、多叉朴素贝叶斯、平均单项估计器(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类技术(如k-means、k-medians、期望最大化(EM)、分层聚类)、关联规则学习技术(例如感知、反向传播、霍普菲尔网络、径向基函数网络(RBFN))、深度学习技术(如深度波尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、叠加自动编码器)、降维技术(例如主成分分析(PCA)、主成分回归(PCR)、部分最小二乘回归(PLSR)、萨蒙映射、多维缩放(MDS)、投影追求、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集合技术(例如提升算法,引导聚集算法(Bagging),自适应提升算法,层叠泛化算法(融合),梯度提升机(GBM),梯度回归提升树(GBRT),随机森林)、SVM(支持向量机)、监督学习、无监督学习、半监督学习等等。架构的其他示例包括神经网,如ResNet50、ResNet101、VGG、DenseNet、PointNet,等等。
在至少一个示例中,(多个)传感器系统806可以包括激光雷达传感器、雷达传感器、超声波传感器、声纳传感器、地点传感器(例如GPS、指南针等)、惯性传感器(例如惯性测量单元(IMU)、加速计、磁力计、陀螺仪等)、相机(例如RGB、IR、强度、深度、飞行时间等)、麦克风、车轮编码器、环境传感器(例如温度传感器、湿度传感器、光传感器、压力传感器等)等。(多个)传感器系统806可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆802的拐角、前面、后面、侧面和/或顶部的单个激光雷达传感器。作为另一示例,相机传感器可以包括布置在车辆802的外部和/或内部的不同地点的多个相机。(多个)传感器系统806可以向(多个)车辆计算设备804提供输入。
车辆802还可以包括一个或多个发射器808,用于发射光和/或声音。(多个)发射器808包括用于与车辆802的乘客通信的内部音频和视觉发射器。通过举例而非限制的方式,内部发射器可以包括扬声器、灯、标志、显示屏幕、触摸屏、触觉发射器(例如振动和/或力反馈)、机械致动器(例如安全带张紧器、座椅定位器、头枕定位器等)诸如此类。(多个)发射器808也包括(多个)外部发射器。通过举例而非限制的方式,外部发射器包括发出行驶方向信号或车辆行动的其他指示的灯光(例如指示灯、标志、灯光阵列等)、以及一个或多个音频发射器(例如扬声器、扬声器阵列、喇叭等),以便与行人或其他附近车辆进行声音交流,其中一个或多个音频发射器包括声束转向技术。
车辆802和/或(多个)服务计算设备832还可以包括一个或多个通信连接810,所述通信连接使得车辆802与(多个)服务计算设备832和/或在车辆802上的其他本地计算设备和/或(多个)驱动系统814之间能够通信。而且,(多个)通信连接810可以允许车辆802与附近的(多个)其他计算设备(例如附近的其他车辆等)进行通信。
(多个)通信连接810可包括物理接口和/或逻辑接口,用于将(多个)车辆计算设备804连接至另一计算设备或网络、比如(多个)网络836。例如,(多个)通信连接810可实现基于Wi-Fi的通信,例如通过由IEEE802.11标准规定的频率、短距离无线频率比如蓝牙,也可实现蜂窝通信(例如2G、3G、4G、4G LTE、5G等)或任何合适的有线或无线通信协议,所述通信协议能实现相应计算装置与(多个)其他计算装置通过接口连接。
在至少一个示例中,车辆802可以包括一个或多个驱动系统814。在一些示例中,车辆802可以具有单个驱动系统814。在至少一个示例中,如果车辆802具有多个驱动系统814,那么单独的(多个)驱动系统814可以设置在车辆802的相对两端(例如前端和后端等)。在至少一个示例中,(多个)驱动系统814可以包括一个或多个传感器系统,以检测(多个)驱动系统814和/或车辆802周围环境的条件。作为示例而非限制地,(多个)传感器系统可以包括一个或多个车轮编码器(例如旋转编码器)以感知驱动系统的车轮的旋转,惯性传感器(例如惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动系统的取向和加速度,相机或其他图像传感器,超声波传感器以声学方式检测驱动系统周围的对象,激光雷达传感器,雷达传感器等。一些传感器,如车轮编码器可以是(多个)驱动系统814所特有的。在一些情况下,(多个)驱动系统814上的(多个)传感器系统可以与车辆802的相应系统(例如(多个)传感器系统806)重叠或补充。
(多个)驱动系统814可包括多个车辆系统,包括高压电池、推动车辆的马达、将电池的直流电转换为交流电供其他车辆系统使用的逆变器、包括转向马达和转向架(可以是电动的)的转向系统、包括液压或电动执行器的制动系统、包括液压和/或气动组件的悬挂系统、用于分散制动力以降低牵引力损失并保持控制的稳定性控制系统、HVAC(高压交流电)系统、照明(例如用于照亮车辆外部的头/尾灯的照明)以及一个或多个其他系统(例如冷却系统、安全系统、车载充电系统、其他电气组件比如DC/DC转换器、高压结点、高压电缆、充电系统、充电端口等)。此外,(多个)驱动系统814可包括驱动系统控制器,其可接收和预处理来自(多个)传感器系统的数据以控制不同车辆系统的操作。(多个)计算设备804可包括一个或多个处理器816和与一个或多个处理器816通信关联的存储器818。存储器可存储一个或多个系统,以执行(多个)驱动系统814的各种功能。进一步地,(多个)驱动系统814也可包括一个或多个通信连接,能实现各驱动系统与一个或多个其他本地或远程计算设备的通信。
在至少一个示例中,(多个)直接连接812可以提供物理接口,以将一个或多个驱动系统814与车辆802的车身联接。例如,(多个)直接连接812可以允许在(多个)驱动系统814和车辆之间传递能量、流体、空气、数据等。在一些情况下,(多个)直接连接812可以进一步可释放地将(多个)驱动系统814固定到车辆802的车身。
在至少一个示例中,定位组件820、感知组件822、规划组件824、一个或多个系统控制器826以及一个或多个地图828可以处理传感器数据,如上所述,并且可以通过一个或多个网络836将它们各自的输出发送到(多个)服务计算设备832。在至少一个示例中,定位组件820、感知组件822、规划组件824、一个或多个系统控制器826以及一个或多个地图828可以以特定的频率、在经过预定的时间段后、以接近实时的方式将它们各自的输出发送到(多个)服务计算设备832。
在一些示例中,车辆802可以通过(多个)网络836将传感器数据发送到(多个)服务计算设备832。在一些示例中,车辆802可以通过(多个)网络636从(多个)服务计算设备832接收传感器数据。传感器数据可以包括原始传感器数据和/或经过处理的传感器数据和/或传感器数据的表示。在一些示例中,传感器数据(原始或处理过的)可以作为一个或多个日志文件被发送和/或接收。
(多个)服务计算设备832可以包括一个或多个处理器842和存储器834,存储具有图形用户界面838的远程导引组件830。图形用户界面838可以被配置为接收来自操作员的、代表用于向车辆802提供远程导引的一个或多个路径点和/或取向的输入,例如上述的输入。所述输入可通过一个或多个输入/输出设备840接收。(多个)输入/输出设备840可以包括键盘、鼠标、触摸屏显示器、触觉设备、麦克风、相机和/或配置为向/从(多个)服务计算设备832输入和/或输出数据的任何其他设备中的一个或多个。
车辆802的(多个)处理器816和(多个)服务计算设备832的(多个)处理器842可以是能够执行指令以处理数据和执行本文所述操作的任何合适的处理器。作为示例而非限制地,(多个)处理器816和842可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU),或处理电子数据以将该电子数据转化为可存储在寄存器和/或存储器中的其他电子数据的任何其他装置或装置的一部分。在一些示例中,集成电路(如ASIC等)、门阵列(如FPGA等)和其他硬件设备也可被视为处理器,只要它们被配置为实现编码指令。
存储器818和834是非临时性计算机可读介质的示例。存储器818和834可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据,以实现本文所述的方法和归属于各种系统的功能。在各种实施方案中,存储器可以使用任何合适的存储器技术来实现,如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器、或任何其他能够存储信息的存储器类型。本文所描述的架构、系统和单个元素可以包括许多其他的逻辑、程序和物理组件,其中附图中所示的组件只是与本文讨论有关的示例。
在一些情况下,存储器818和834可以至少包括工作记忆和存储记忆。例如,工作记忆可以是容量有限的高速存储器(例如,高速缓冲存储器),其用于存储将由(多个)处理器816和842操作的数据。在一些情况下,存储器818和834可以包括存储记忆,其可以是容量相对较大的低速存储器,用于长期存储数据。在一些情况下,(多个)处理器816和842不能直接对存储在存储记忆中的数据进行操作,数据可能需要被加载到工作记忆中,以便根据数据执行操作,如本文所讨论的。
示例条款
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:一种系统或设备,包括:处理装置;以及与处理装置联结的存储装置,该存储装置包括指令,用于配置一个或多个设备以执行根据段落F至N中任一段所述的方法。
Q:一种存储指令的非暂时性计算机可读介质,在执行该指令时导致一个或多个处理器执行操作,包括:从与车辆相关联的车辆计算设备接收为了绕过障碍物进行导航的导引输入请求;作为接收的数据并从该车辆计算设备接收传感器数据或至少部分基于该传感器数据的数据;通过与导引系统相关联的用户界面接收对应于第一路径点的第一输入,该第一输入至少部分基于该接收的数据;向该车辆计算设备发送与该第一路径点相关的第一数据;以及使该车辆至少部分基于该第一路径点被控制。
R:根据段落Q该的非暂时性计算机可读介质,该操作进一步包括:通过该用户界面接收第二输入,其指示该车辆要停止的命令;以及向该车辆计算设备发送指令以在与当前地点相关联的地点处停止。
S:根据段落Q或R该的非暂时性计算机可读介质,该操作进一步包括:确定该车辆在一地点停止;以及发送指令以将该车辆从停止位置释放,其中该车辆可至少部分地基于该指令向前行进。
T:根据段落Q至S中任一段该的非暂时性计算机可读介质,该操作进一步包括:接收对应于第二路径点的第二输入;将与该第二路径点相关联的第二数据发送至该车辆计算设备;通过该用户界面接收第三输入,其指示操作员意图编辑该第一路径点或第二路径点中的至少一个;确定该车辆正在渡越至该第一路径点;禁用对该第一路径点的第一编辑;确定该第二路径点没有被该车辆计算设备接受或者该车辆没有前进超过该第一路径点中的至少一个;启用对该第二路径点的第二编辑;并向该车辆计算设备发送指令,以对该第二路径点进行删除或修改中的至少一个操作。
U:根据段落Q至T中任一段该的非暂时性计算机可读介质,该操作进一步包括:接收该车辆无法从一地点行进的指示;通过该用户界面呈现该车辆无法从该地点行进的指示;通过该用户界面接收对应于第二路径点的第二输入;以及将该第二路径点传输到该车辆计算系统。
V:根据段落Q至U中任一段该的非暂时性计算机可读介质,该操作进一步包括:确定该第一路径点满足与车辆控制相关的运动学检查;以及至少部分地基于满足该运动学检查来验证该第一路径点,其中至少部分地基于验证该第一路径点使该车辆被控制。
W:一种车辆,包括:传感器;一个或多个处理器;以及存储处理器可执行指令的存储器,该指令当由该一个或多个处理器执行时将该车辆配置为:确定该车辆穿越环境以到达目的地的路径;从该传感器接收传感器数据;至少部分地基于该传感器数据,生成该车辆沿该路径穿越的第一轨迹;至少部分地基于该第一轨迹,至少部分地基于障碍物或控制策略中的一个或多个,确定该车辆无法沿该路径继续前进;向服务计算设备传输对导引数据的请求;从该服务计算设备接收包括与位置和取向相关联的路径点的路径点数据;至少部分地基于安全协议验证该路径点;至少部分地基于对该路径点的验证,确定该车辆的第二轨迹,以将该车辆从初始位置和初始车辆取向导航到与该路径点相关联的位置和取向;以及至少部分地基于该第二轨迹控制该车辆。
X:根据段落W该的车辆,其中,该指令进一步对该一个或多个处理器进行编程以:接收指示释放作为远程导引平台的该服务计算设备的消息;确定第三轨迹以从沿该路径的路径点控制车辆;以及至少部分地基于该第三轨迹控制该车辆。
Y:根据段落W或X该的车辆,其中,该路径点数据包括第一路径点数据,该第一路径点数据包括与第一位置和第一取向相关联的第一路径点,并且其中,该指令进一步将该车辆配置为:从该服务计算设备接收包括与第二位置和第二取向相关联的第二路径点的第二路径点数据;至少部分地基于该安全协议验证该第二路径点;以及至少部分地基于验证该第二路径点,为该车辆确定第三轨迹,以导航该车辆从第一路径点到第二路径点;以及至少部分地基于该第三轨迹控制该车辆从该第一路径点到第二路径点,其中该车辆被控制从该第一路径点到第二路径点而不停止向前运动。
Z:根据段落W至Z中任一段该的车辆,其中,该指令进一步将该车辆配置为:至少部分地基于该传感器数据检测该环境中的动态对象;确定与该对象相关的对象轨迹;确定该对象该对象轨迹将在该车辆按用于该车辆的该轨迹行驶的阈值距离内穿越;并且至少部分地基于该对象控制该车辆。
AA:根据段落A至D中任一段该的车辆,其中,该指令进一步将该车辆配置为:接收与第二位置和第二车辆取向相关的第二路径点数据;确定该第二路径点或第二车辆取向中的至少一个违反安全协议;以及使该车辆在该第一路径点处停止。
AB:一种方法,包括:从沿环境中的路径操作的车辆的传感器接收传感器数据;至少部分地基于控制策略确定该车辆无法继续沿该路径继续前进;向服务计算设备发送对导引数据的请求,该导引数据包括便于控制该车辆通过该场景的路径点;从该服务计算设备接收与该路径点关联的路径点数据;确定该路径点是有效的路径点;以及至少部分地基于该路径点控制该车辆。
AC:根据段落AB所述的方法,进一步包括:接收与该路径点相关联的车辆取向;确定该车辆取向是有效的车辆取向;以及至少部分地基于该车辆取向控制该车辆。
AD:根据段落AB或AC所述的方法,其中,确定该路径点是有效的路径点包括确定以下项中的至少一个:确定该路径点位于可驾驶表面上;确定导航至该路径点的车辆的操作不违反远程导引协议,该远程导引协议包括在远程导引模式下操作时与车辆运动相关的限制;或确定导航至该路径点的车辆的操作不违反安全协议,其中该安全协议包括确保该车辆的安全的条件。
AE:根据段落AB至AD中任一段所述的方法,其中,该场景在与该车辆相关的环境中被识别,该方法进一步包括:从该服务计算设备接收用于至少部分地基于该场景在环境中导航的更新的路线;接收指示释放作为远程导引平台的该服务计算设备的消息;以及至少部分地基于该更新的路线控制该车辆。
AF:根据段落AB至AE中任一段所述的方法,其中,该场景在与该车辆相关的路线上被识别,该方法进一步包括:从该服务计算设备接收指示释放作为远程导引平台的该服务计算设备的消息;至少部分地基于该更新的路线控制该车辆;识别该路线上违反操作约束条件的第二场景;向该服务计算设备发送对导引数据的第二请求;确定独立于来自该服务计算设备的输入的对该第二场景的解决方案;以及至少部分地基于该解决方案控制该车辆。
AG:根据段落AB至AF中任一段所述的方法,其中,与该路径点相关的路径点数据包括与第一路径点相关的第一数据,该方法进一步包括:接收与第二位置和第二车辆取向相关的第二路径点数据;确定第二路径点或相应的车辆取向中的至少一个违反安全协议;以及至少部分基于确定该第二路径点违反该安全协议,使该车辆停在该第一路径点。
AH:根据段落AB至AG中任一段所述的方法,其中,确定该车辆无法沿着该路径继续前进包括:确定该车辆穿越环境的该路径;至少部分地基于该传感器数据生成该车辆沿着该路径穿越的轨迹;以及确定该轨迹违反该控制策略。
AI:根据段落AB至AH中任一段所述的方法,进一步包括:接收与第二路径点和相应的车辆取向相关的第二路径点数据;验证该第二路径点和相应的车辆取向;以及控制该车辆从该第一路径点到第二路径点而不停止向前运动。
AJ:根据段落AB至AI中任一段所述的方法,其中,该控制策略包括以下项中的至少一个:交通法或规则;良好驾驶规则;或该车辆的路径中的障碍物。
AK:一种系统或设备,包括:处理器;以及存储指令的非暂时性计算机可读介质,在执行该指令时导致处理器执行根据段落AB至AJ中任一段所述的方法。
AL:一种系统或设备,包括:处理装置;以及与处理装置联结的存储装置,该存储装置包括指令,用于配置一个或多个设备以执行根据段落AB至AJ中任一段所述的方法。
AM:一种存储指令的非暂时性计算机可读介质,在执行该指令时导致一个或多个处理器执行操作,该操作包括:从传感器接收传感器数据;至少部分地基于控制策略确定该车辆无法继续沿路径继续前进;向服务计算设备发送对导引数据的请求,该导引数据包括便于控制该车辆通过该场景的路径点;从该服务计算设备接收与该路径点关联的路径点数据;确定该路径点是有效的路径点;以及至少部分地基于该路径点控制该车辆。
AN:根据段落AM该的非暂时性计算机可读介质,该操作进一步包括:接收对应于与该路径点相关联的车辆取向的取向数据;确定该取向是有效的取向;以及至少部分地基于该取向控制该车辆。
AO:根据段落AM或AN该的非暂时性计算机可读介质,其中,至少部分地基于该路径点控制该车辆包括:从与识别该场景相关的初始位置到该路径点确定车辆轨迹;以及使驱动系统至少部分地基于该车辆轨迹操作该车辆。
AP:根据段落AM至AO中任一段该的非暂时性计算机可读介质,其中,与该路径点相关联的路径点数据包括在第一时间接收的与第一路径点相关联的第一路径点数据,该操作进一步包括:在第二时间从该服务计算设备接收与第二路径点相关联的第二路径点数据;确定该第二路径点是有效的;以及至少部分地基于该第二路径点控制该车辆,其中该车辆被配置为从该第一路径点渡越到第二路径点而不停止。
AQ:根据段落AM至AP中任一段该的非暂时性计算机可读介质,其中,与该路径点相关的路径点数据包括在第一时间接收的与第一路径点相关的第一路径点数据,该操作进一步包括:确定该车辆在该第一路径点的阈值距离内;确定尚未接收与第二路径点相关的第二路径点数据;以及使该车辆停在该第一路径点。
AR:根据段落AM至AQ中任一段该的非暂时性计算机可读介质,其中,该场景在与该车辆相关的环境中被识别,该操作进一步包括:从该服务计算设备接收指示释放作为远程导引平台的该服务计算设备的消息;至少部分地基于该更新的路线控制该车辆;识别该路线上违反操作约束条件的第二场景;向该服务计算设备发送对导引数据的第二请求;确定独立于来自该服务计算设备的输入的对该第二场景的解决方案;以及至少部分地基于该解决方案控制该车辆。
虽然上面描述的示例条款是关于一个特定的实施例的,但应该理解,在本文的上下文中,示例条款的内容也可以通过方法、设备、系统、计算机可读介质和/或另一个实施方式来实现。此外,示例A至AR中的任何一个可以单独实施,也可以与示例A至AR中的任何其他一个或多个结合实施。
结论
虽然已经描述了本文该技术的一个或多个示例,但在本文该技术的范围内包括其各种改变、补充、排列组合和等同内容。
在对示例的描述中,参考了构成本文一部分的附图,附图通过说明的方式示出了所要求的主题的具体示例。应当理解的是,可以使用其他示例,并且可以进行改变或变更,例如结构上的改变。这样的示例、改变或变更不一定偏离预期的所要求的主题的范围。虽然本文的步骤可以按照一定的顺序提出,但在一些情况下,可以改变顺序,以便在不同的时间或以不同的顺序提供某些输入,而不改变该系统和方法的功能。所公开的程序也可以以不同的顺序执行。此外,本文的各种计算不需要按照所公开的顺序执行,使用计算的变更顺序的其他示例也可以很容易地实现。除了重新排序之外,计算也可以被分解成具有相同结果的子计算。
Claims (15)
1.一种系统,包括:
一个或多个处理器;和
存储处理器可执行指令的存储器,所述指令当由所述一个或多个处理器执行时将所述系统配置为:
从与所述车辆相关联的车辆计算系统接收为了围绕障碍物进行导航的导引输入请求;
作为接收的数据并从车辆计算设备接收传感器数据或至少部分基于所述传感器数据的数据;
通过与导引系统相关联的用户界面接收对应于第一路径点的第一输入,所述第一输入至少部分基于所述接收的数据;
向所述车辆计算设备发送与所述第一路径点相关的第一数据;以及
使所述车辆至少部分基于所述第一路径点被控制。
2.根据权利要求1所述的系统,其中,所述指令进一步配置所述系统以确定用于提供远程导引的条件被满足,其中所述条件包括以下项中的至少一个:
对应于与所述车辆计算设备的连接的延迟低于阈值延迟;
对应于与所述车辆计算设备的连接的带宽低于阈值带宽;
所述车辆的速度低于阈值速度;
可用于提供所述传感器数据的传感器的数量高于阈值数量;或者
确定所述车辆不包括相关联的健康有关故障。
3.根据权利要求1或权利要求2所述的系统,其中,所述指令进一步配置所述系统,以:
确定第一位置和第一取向满足与所述车辆的操作相关的安全协议或远程导引协议中的至少一个,所述远程导引协议包括在远程导引模式下操作时与车辆运动相关的一个或多个限制;以及
至少部分地基于满足所述安全协议或远程导引协议中的所述至少一个而验证所述第一位置和第一取向。
4.根据权利要求1-3中任一项所述的系统,其中,所述指令进一步配置所述系统,以:
通过所述用户界面接收第二输入,其包括与第二位置和第二取向相关联的第二路径点;
确定所述第二路径点在所述路线的阈值距离内;
至少部分地基于所述阈值距离确定所述障碍物在所述车辆后面;
至少部分地基于所述障碍物在所述车辆后面来确定用于提供导引的终止条件被满足;和
将指令传送给所述车辆计算系统以自主地控制所述车辆。
5.根据权利要求1-4中任一项所述的系统,其中,所述指令进一步配置所述系统,以:
确定所述车辆无法沿所述路线行进到目的地;
生成用于车辆导引到所述目的地的更新的路线;
将所述更新的路线发送到所述车辆计算系统;以及
将指令传送给所述车辆计算系统以至少部分地基于所述更新的路线自主地控制所述车辆。
6.一种方法,包括:
从与所述车辆相关联的车辆计算设备接收为了围绕障碍物进行导航的导引输入请求;
作为接收的数据并从所述车辆计算设备接收传感器数据或至少部分基于所述传感器数据的数据;
通过与导引系统相关联的用户界面接收对应于第一路径点的第一输入,所述第一输入至少部分基于所述接收的数据;
向所述车辆计算设备发送与所述第一路径点相关的第一数据;以及
使所述车辆至少部分基于所述第一路径点被控制。
7.根据权利要求6所述的方法,进一步包括:
在第一时间确定用于提供远程导引的条件被满足;
至少部分地基于所述条件被满足而启用到所述用户界面内的输入;
在第二时间确定用于提供远程导引的条件未被满足;以及
至少部分地基于所述条件未被满足而禁用到所述用户界面内的输入。
8.根据权利要求6或权利要求7所述的方法,进一步包括:
确定所述第一路径点满足与所述车辆的操作相关的安全协议或远程导引协议中的至少一个,所述远程导引协议包括在远程导引模式下操作时与车辆运动相关的一个或多个限制;以及
至少部分地基于满足所述安全协议或远程导引协议中的所述至少一个而验证所述第一路径点,
其中,发送所述第一数据至少部分地基于验证所述第一路径点。
9.根据权利要求6-8中任一项所述的方法,进一步包括:
向所述车辆发送保持信号,所述保持信号使得所述车辆计算设备保持在一位置中;以及
向所述车辆发送释放信号,其中,所述释放信号包括对所述车辆计算设备的指令,以控制所述车辆到所述第一路径点。
10.根据权利要求6-9中任一项所述的方法,其中,所述第一输入包括:
与所述第一路径点相关联的第一地点,所述第一地点对应于所述用户界面的可选择区域;以及
对应于所述车辆在所述第一路径点将面对的第一方向的第一取向。
11.根据权利要求6-10中任一项所述的方法,进一步包括:
接收对应于第二路径点的第二输入;
将与所述第二路径点相关联的第二数据发送至所述车辆计算设备;以及
接收来自所述车辆的拒绝消息,指示至少部分基于安全协议或远程导引协议中的至少一个与所述车辆的操作相对应而拒绝所述第二路径点。
12.根据权利要求6-11中任一项所述的方法,进一步包括:
接收所述车辆无法从一地点行进的指示;
通过所述用户界面呈现所述车辆无法从所述地点行进的指示;
通过所述用户界面接收对应于第二路径点的第二输入;以及
将所述第二路径点传输到所述车辆计算系统。
13.根据权利要求6-12中任一项所述的方法,
接收对应于第二路径点的第二输入;
向所述车辆计算设备发送与所述第二路径点相关的第二数据;
确定所述第二路径点对应于与所述障碍物相关的终止条件;以及
向所述车辆计算设备发送指令以在完成与所述第二路径点相关的操作之后自主地控制所述车辆。
14.根据权利要求6-13中任一项所述的方法,进一步包括:
接收对应于第二路径点的第二输入;
将与所述第二路径点相关联的第二数据发送至所述车辆计算设备;
通过所述用户界面接收第三输入,其指示操作员意图编辑所述第一路径点或第二路径点中的至少一个;
确定所述车辆正在渡越至所述第一路径点;
禁用对所述第一路径点的第一编辑;
确定所述第二路径点没有被所述车辆计算设备接受或者所述车辆没有前进超过所述第一路径点中的至少一个;
启用对所述第二路径点的第二编辑;并
向所述车辆计算设备发送指令,以对所述第二路径点进行删除或修改中的至少一个操作。
15.一种非暂时性计算机可读介质,其上存储有指令,当执行所述指令时,使一个或多个处理器执行根据权利要求6-14中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/457,646 US11768493B2 (en) | 2019-06-28 | 2019-06-28 | Remote vehicle guidance |
US16/457,646 | 2019-06-28 | ||
PCT/US2020/039594 WO2020264144A1 (en) | 2019-06-28 | 2020-06-25 | Remote vehicle guidance |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114026514A true CN114026514A (zh) | 2022-02-08 |
Family
ID=71614967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080047153.5A Pending CN114026514A (zh) | 2019-06-28 | 2020-06-25 | 远程车辆导引 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11768493B2 (zh) |
EP (2) | EP4242776A3 (zh) |
JP (1) | JP2022539149A (zh) |
CN (1) | CN114026514A (zh) |
WO (1) | WO2020264144A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721392A (zh) * | 2022-04-14 | 2022-07-08 | 深圳优地科技有限公司 | 机器人的路径规划方法、装置、机器人及存储介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467573B2 (en) | 2019-06-28 | 2022-10-11 | Zoox, Inc. | Vehicle control and guidance |
US11702090B2 (en) * | 2019-08-06 | 2023-07-18 | Nissan North America | System for an automated vehicle |
JP7234872B2 (ja) * | 2019-09-12 | 2023-03-08 | トヨタ自動車株式会社 | 車両遠隔指示システム |
US20210191387A1 (en) * | 2019-12-23 | 2021-06-24 | Autonomous Solutions, Inc. | System and method for assisted teleoperations of vehicles |
US11644846B2 (en) * | 2020-03-31 | 2023-05-09 | GM Cruise Holdings LLC. | System and method for real-time lane validation |
US11560154B1 (en) | 2020-06-02 | 2023-01-24 | Aurora Operations, Inc. | Autonomous vehicle remote teleoperations system |
US11644830B1 (en) | 2020-06-02 | 2023-05-09 | Aurora Operations, Inc. | Autonomous vehicle remote teleoperations system with scenario selection |
US11595619B1 (en) * | 2020-06-02 | 2023-02-28 | Aurora Operations, Inc. | Autonomous vehicle teleoperations system |
JP7302616B2 (ja) * | 2021-02-24 | 2023-07-04 | トヨタ自動車株式会社 | 遠隔支援システム及び遠隔支援方法 |
CN113762583A (zh) * | 2021-04-20 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种路线规划方法、装置、设备及计算机可读存储介质 |
KR20230001070A (ko) * | 2021-06-25 | 2023-01-04 | 현대자동차주식회사 | 자율 주행 차량, 그를 원격 제어하는 관제 시스템 및 그 방법 |
US20230072633A1 (en) * | 2021-09-06 | 2023-03-09 | Honeywell International Inc. | Methods and systems for managing user-configured custom routes |
WO2023039261A1 (en) * | 2021-09-10 | 2023-03-16 | Cyngn, Inc. | System and method of adaptive, real-time vehicle system identification for autonomous driving |
US20230176573A1 (en) * | 2021-12-06 | 2023-06-08 | Gatik Ai Inc. | Method and system for operating an autonomous agent with a remote operator |
US20230192134A1 (en) * | 2021-12-21 | 2023-06-22 | Waymo Llc | Methods and Systems for Providing Incremental Remote Assistance to an Autonomous Vehicle |
US20230322270A1 (en) * | 2022-04-08 | 2023-10-12 | Motional Ad Llc | Tracker Position Updates for Vehicle Trajectory Generation |
US20240101150A1 (en) * | 2022-06-30 | 2024-03-28 | Zoox, Inc. | Conditional trajectory determination by a machine learned model |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678508B2 (en) | 2009-11-16 | 2017-06-13 | Flanders Electric Motor Service, Inc. | Systems and methods for controlling positions and orientations of autonomous vehicles |
US9104202B2 (en) * | 2010-05-11 | 2015-08-11 | Irobot Corporation | Remote vehicle missions and systems for supporting remote vehicle missions |
US8655538B2 (en) * | 2011-12-16 | 2014-02-18 | Agco Corporation | Systems and methods for switching display modes in agricultural vehicles |
US8996224B1 (en) | 2013-03-15 | 2015-03-31 | Google Inc. | Detecting that an autonomous vehicle is in a stuck condition |
US9008890B1 (en) * | 2013-03-15 | 2015-04-14 | Google Inc. | Augmented trajectories for autonomous vehicles |
US9720410B2 (en) * | 2014-03-03 | 2017-08-01 | Waymo Llc | Remote assistance for autonomous vehicles in predetermined situations |
US10379533B2 (en) | 2016-01-04 | 2019-08-13 | GM Global Technology Operations LLC | System and method for autonomous vehicle fleet routing |
JP6418181B2 (ja) * | 2016-03-04 | 2018-11-07 | トヨタ自動車株式会社 | 遠隔操作システム、車両及び遠隔操作装置 |
CN105955290B (zh) * | 2016-04-27 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 无人飞行器控制方法及装置 |
US20180194344A1 (en) | 2016-07-29 | 2018-07-12 | Faraday&Future Inc. | System and method for autonomous vehicle navigation |
US20190004524A1 (en) * | 2016-08-31 | 2019-01-03 | Faraday&Future Inc. | System and method for planning a vehicle path |
US10293818B2 (en) * | 2017-03-07 | 2019-05-21 | Uber Technologies, Inc. | Teleassistance data prioritization for self-driving vehicles |
US20180300834A1 (en) * | 2017-04-17 | 2018-10-18 | Walmart Apollo, Llc | Systems and methods for delivering merchandise using autonomous ground vehicles and unmanned aerial vehicles |
US20180339703A1 (en) * | 2017-05-26 | 2018-11-29 | Sucxess LLC | Vehicle with remote-controlled operating mode |
US10343698B2 (en) | 2017-06-27 | 2019-07-09 | Uber Technologies, Inc. | Disabling onboard input devices in an autonomous vehicle |
US10268191B1 (en) | 2017-07-07 | 2019-04-23 | Zoox, Inc. | Predictive teleoperator situational awareness |
US10922903B2 (en) | 2017-07-11 | 2021-02-16 | Waymo Llc | Methods and systems for providing remote assistance to a stopped vehicle |
US10710633B2 (en) | 2017-07-14 | 2020-07-14 | Nio Usa, Inc. | Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles |
DE102017213204A1 (de) * | 2017-08-01 | 2019-02-07 | Continental Automotive Gmbh | Verfahren und System zum Fernsteuern eines Fahrzeugs |
JP6969962B2 (ja) * | 2017-10-05 | 2021-11-24 | トヨタ自動車株式会社 | 車両の運転支援及び/又は走行制御のための地図情報提供システム |
IL277233B2 (en) * | 2018-03-18 | 2024-04-01 | Driveu Tech Ltd | Device, system and method for autonomous driving and remotely controlled vehicles |
US10759051B2 (en) * | 2018-04-23 | 2020-09-01 | General Electric Company | Architecture and methods for robotic mobile manipulation system |
US11977378B2 (en) * | 2018-09-17 | 2024-05-07 | The Charles Machine Works, Inc. | Virtual path guidance system |
CN109447326B (zh) * | 2018-09-30 | 2021-11-30 | 深圳眸瞳科技有限公司 | 无人机迁移轨迹生成方法、装置、电子设备和存储介质 |
US11587444B2 (en) * | 2018-11-05 | 2023-02-21 | Ford Global Technologies, Llc | Autonomous vehicle parking and servicing using terminals |
CA3121788A1 (en) * | 2018-12-07 | 2020-06-11 | Serve Robotics Inc. | Delivery robot |
US11467573B2 (en) | 2019-06-28 | 2022-10-11 | Zoox, Inc. | Vehicle control and guidance |
-
2019
- 2019-06-28 US US16/457,646 patent/US11768493B2/en active Active
-
2020
- 2020-06-25 JP JP2021577395A patent/JP2022539149A/ja active Pending
- 2020-06-25 EP EP23184319.4A patent/EP4242776A3/en active Pending
- 2020-06-25 EP EP20740467.4A patent/EP3990999B1/en active Active
- 2020-06-25 CN CN202080047153.5A patent/CN114026514A/zh active Pending
- 2020-06-25 WO PCT/US2020/039594 patent/WO2020264144A1/en active Application Filing
-
2023
- 2023-08-10 US US18/447,516 patent/US20240012419A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721392A (zh) * | 2022-04-14 | 2022-07-08 | 深圳优地科技有限公司 | 机器人的路径规划方法、装置、机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240012419A1 (en) | 2024-01-11 |
US20200409368A1 (en) | 2020-12-31 |
WO2020264144A1 (en) | 2020-12-30 |
EP3990999A1 (en) | 2022-05-04 |
JP2022539149A (ja) | 2022-09-07 |
EP3990999B1 (en) | 2023-07-19 |
EP4242776A2 (en) | 2023-09-13 |
US11768493B2 (en) | 2023-09-26 |
EP4242776A3 (en) | 2023-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3990999B1 (en) | Remote vehicle guidance | |
EP3991000B1 (en) | Vehicle control and guidance | |
US11802969B2 (en) | Occlusion aware planning and control | |
JP7566018B2 (ja) | 衝突ゾーンに基づく軌道修正 | |
CN112789481B (zh) | 对自上而下场景的轨迹预测 | |
JP7444874B2 (ja) | 方法、非一時的コンピュータ可読媒体、および、車両 | |
US11048265B2 (en) | Occlusion aware planning | |
JP7422687B2 (ja) | オクルージョン認識プランニング | |
US11643073B2 (en) | Trajectory modifications based on a collision zone | |
CN113544035A (zh) | 遮挡预测和轨迹评估 | |
US11513519B1 (en) | Sharing occlusion data | |
CN112204634A (zh) | 驱动包络确定 | |
CN112955358A (zh) | 轨迹生成 | |
US11353877B2 (en) | Blocked region guidance | |
CN116670000A (zh) | 横向安全区域 | |
JP2023500825A (ja) | 障害物回避アクション | |
CN114080341A (zh) | 联系远程操作员的技术 | |
CN115443233A (zh) | 针对协作车辆引导的遥操作 | |
US12055942B1 (en) | Validating stopping behaviors of a vehicle |
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 |