CN114008591A - 车辆控制和指导 - Google Patents
车辆控制和指导 Download PDFInfo
- Publication number
- CN114008591A CN114008591A CN202080047152.0A CN202080047152A CN114008591A CN 114008591 A CN114008591 A CN 114008591A CN 202080047152 A CN202080047152 A CN 202080047152A CN 114008591 A CN114008591 A CN 114008591A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- waypoint
- computing device
- determining
- instances
- 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 117
- 230000015654 memory Effects 0.000 claims description 32
- 230000033001 locomotion Effects 0.000 claims description 20
- 238000011217 control strategy Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 10
- 238000010200 validation analysis Methods 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 76
- 230000008569 process Effects 0.000 description 46
- 238000012795 verification Methods 0.000 description 24
- 230000003068 static effect Effects 0.000 description 16
- 230000008447 perception Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 238000001514 detection method Methods 0.000 description 13
- 230000007704 transition Effects 0.000 description 12
- 238000010276 construction Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000036541 health Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 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
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002441 reversible effect Effects 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
- 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
- 230000007613 environmental effect Effects 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 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
- 238000002310 reflectometry Methods 0.000 description 2
- 238000006467 substitution reaction 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
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 239000003086 colorant Substances 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
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000004807 localization Effects 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
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000008520 organization Effects 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
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
- G05D1/0282—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0011—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
- G05D1/0016—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/10—Interpretation of driver requests or demands
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0055—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
- G05D1/0061—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
Abstract
一种可以识别违反操作限制的环境中的场景的车辆计算机系统。车辆计算系统可以从服务计算设备的指导系统请求远程指导。车辆计算机系统可以从指导系统接收输入,该输入包括一个或多个航路点和/或相关联的方位,以使车辆导航穿过场景。车辆计算机系统可以被配置为验证输入。验证可以包括处理该输入以确定与之相关联的航路点(一个或多个)和/或方位(一个或多个)是否可能导致车辆违反安全协议。基于确定输入不会导致车辆违反安全协议时,车辆计算机系统可以基于该输入来控制车辆,诸如通过使驱动系统将车辆操作到相关方向的每个航路点。
Description
相关申请的交叉引用
该PCT国际专利申请是2019年6月28日提交的标题为“VEHICLE CONTROL ANDGUIDANCE”的美国专利申请No.16/457,654的继续申请并要求其优先权,其全部内容通过引用合并于此。
背景技术
车辆在经常变化的动态环境中运行。在变化的条件中有由于施工,事故等引起的道路阻塞。可以对自动驾驶车辆进行编程以对变化的条件做出反应,同时将车辆保持在指定的操作协议之内。该操作协议可以包括定义的操作规则,诸如不将车辆操作到指定用于相反方向交通的车道上。但是,通常在事故、施工区域等周围绕道而行可能表明路线超出了操作协议的参数范围。未经授权在操作协议范围之外操作的自动驾驶车辆可能无法绕过障碍物前进,因此可能会困在原地。
附图说明
参照附图进行详细描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的组件或特征。
图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。传感器(一个或多个)可以包括摄像机、运动检测器、激光雷达(lidar)、雷达(radar)、飞行时间和/或安装在车辆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相对于远程指导场景106的一个或多个障碍物的位置,例如初始位置108。如根据图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)处停止,直到接收到进一步的指导。
在各个实例中,输入可以包括在相关联的航路点112处的车辆102的方位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(1)之类的航路点112放置在驾驶通道110中的某个位置。驾驶通道110可以包括车辆102可以通过的一段确定的道路,以在远程指导场景106中导航。在各个实例中,服务计算设备可以基于从车辆上的传感器接收的传感器数据来生成驾驶通道110。在一些实例中,服务计算设备可以基于环境100中的一个或多个检测到的障碍物来生成驾驶通道110。例如,远程指导场景106可以包括在车辆102的右侧和左侧上的障碍物。行驶通道110和/或其宽度可以由障碍物和/或安全缓冲之间的距离(例如,使车辆102保持远离障碍物的预定距离)来限定。在各个实例中,可以基于车辆的宽度来确定驾驶通道110的宽度。在一些实例中,驾驶通道110的宽度可以另外在车辆102的任一侧上包括安全缓冲。在各个实例中,驾驶通道110可以代表操作员可以在其中输入航路点112的区域。在这样的实例中,GUI可能不允许将航路点112输入到驾驶通道110的外部。
在各个实例中,GUI可以限制航路点112之间和/或初始位置108与第一航路点112(1)之间的距离D(例如,10英尺,15英尺,7米等)。在一些实例中,GUI可能不允许输入的航路点112超过彼此之间的距离D。在一些例子中,GUI可以激活车辆102周围半径为D的区域,操作员可以在该区域输入路径点112。在一些实例中,GUI可以向操作员提供通知,例如在弹出通知中,该输入在距离D之外并且将不被接受。在各个实例中,限制航路点之间的距离可以使车辆102能够通过环境100进行增量指导,并且可以确保车辆102可以安全地操纵远程指导场景106。
在各个实例中,操作员可以将航路点112和/或相关联的方位114(例如,航路点112(1)和方位114(1))输入到GUI中。如将在下面关于图2更详细地讨论的,操作员可以通过在环境100中为航路点112(1)选择位置并确认该位置来输入航路点112(1)。在一些实例中,位置的确认可以包括在该位置处单击鼠标和/或在GUI上选择确认选项。在各个实例中,响应于接收到对航路点112和/或方位114的确认,服务计算设备可以验证航路点112和/或方位114。对航路点112和/或方位114的验证可以包括以下验证:航路点112和/或方位114满足车辆的安全协议。该安全协议可以包括与车辆102的安全操作相关联的一个或多个规则,诸如,道路上的航路点112的位置(例如,从道路的边缘或可驾驶表面起不少于车辆102的宽度的1/2)、初始位置108的阈值距离内或彼此的阈值距离内的航路点112、车辆102保持远离动态和/或静态物体的一个或多个阈值距离、最大横摆率、和/或其他与车辆102通过环境100的安全导航相关的标准。
在一些实例中,操作员可以使服务计算设备向车辆计算设备发送航路点(一个或多个)112和/或方位(一个或多个)114。在一些实例中,服务计算设备可以响应于操作员的输入来自动发送航路点112和/或相关联的方位114。在这样的实例中,基于确定在特定地点确认了航路点112和/或确定了方位114,服务计算设备可以自动发送航路点112和/或方位114。可以基于对点进行验证的确定(例如,通过安全协议,远程指导协议和/或运动学验证)来发送一个或多个航路点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的消息。在一些实例中,该消息可以包括拒绝的原因。例如,车辆计算系统可以确定航路点小于距环境100中的静态物体的阈值距离。基于该确定,车辆计算系统可以拒绝该航路点并将消息发送到服务计算设备,以指示该距离小于阈值距离。
响应于确定航路点(一个或多个)112和/或相关联的方位(一个或多个)114通过安全协议,车辆计算系统可以接受航路点(一个或多个)112和/或方位(一个或多个)114。车辆计算系统可以处理航路点(一个或多个)112和/或方位(一个或多个)114,并生成一条或多条轨迹116,以使车辆102在航路点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(2)操纵越过第一航路点112(1)。在一些实例中,可以在减慢到特定航路点(例如,第一航路点112(1))的停止的同时提供后续指导。在这样的实例中,车辆计算设备可以使车辆回退至适当的速度并且朝第二路口112(2)导航车辆。
在各个实例中,车辆计算设备可以根据远程指导协议来控制车辆。远程指导协议可以包括在以远程指导模式操作时对车辆102的运动的一个或多个限制。远程指导协议可以包括路径偏差(例如,车辆102可能偏离的两个航路点之间的路径的距离,诸如避开障碍物,车辆的1/2宽度,1个车辆宽度等),响应于静态物体检测(例如,尝试避开静态物体以到达后续航路点112),响应于动态物体检测(例如,让路于预测进入与航路点相对应的路径的智能体),跟随与车辆在相同方向上移动的动态物体(例如,在与航路点112相对应的路径中),根据路权在交叉路口(例如,四路停止处,交通灯,环形交叉路口等)适当让路,如果没有收到其他指导(例如,另一个航路点,恢复导航的指令等),则停止前进。
在各个实例中,车辆计算系统可以以适合于环境条件的速度控制车辆102。条件可以包括在环境中检测到的动态物体的数量和/或类型(例如,道路上的其他车辆的数量,行人的数量,在附近玩耍的儿童等),与环境相关联的区域(例如,学校区,操场等)等。在一些实例中,车辆计算系统可以被配置为动态地确定车辆的最大速度,以最大化安全性,同时仍然允许向前运动。例如,车辆计算设备可以在以指导模式操作时确定其在学校区域中。车辆计算可以确定与车辆102相关联的最大速度是每小时7英里,以便在检测到学生接近与车辆102相关联的路径时允许车辆102立即停止。例如,车辆102可能在交通中跟随另一车辆。车辆计算设备可以以一定速度控制车辆102以保持在前车辆后面的安全距离。
在各个实例中,车辆计算系统可以将车辆102控制在预定的最大速度以下(例如,每小时20公里,每小时15英里,每小时10英里等)。在一些实例中,预定的最大速度可以包括与远程指导相关联的最大速度。在各个实例中,车辆计算系统可以以等于或低于与环境和/或场景相关联的速度来控制车辆102。在至少一个实例中,车辆计算系统可以以预定最大速度或与环境和/或场景相关联的最大速度中的较小者来控制车辆102。例如,车辆计算系统在以远程指导模式操作时,可以以每小时15英里的预定最大速度(例如,每小时0到15英里之间的速度)操作车辆。车辆计算系统可以检测远程指导场景106,并请求来自服务计算设备的导航输入。车辆计算系统和/或操作者可以基于传感器数据确定远程指导场景106已将其与每小时10英里的速度限制相关联。根据每小时10英里的速度限制小于每小时15英里的预定最大速度,当在远程指导场景106中导航时,车辆计算系统可能会将车辆的速度限制为每小时不超过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日提交的标题为“TrajectoryPrediction on Top-Down Scenes”的第16/151,607号美国专利申请中描述的技术,其全部内容通过引用合并于此。附加地或可替代地,车辆计算系统可以利用热图、树搜索方法和/或时间逻辑公式,诸如在2017年11月8日提交的标题为“Probabilistic Heat Maps forBehavior Prediction”的第15/807,521号美国专利申请中描述的那些(其全部内容通过引用并入本文),以确定与检测到的物体118相关的一条或多条物体轨迹120。
在各个实例中,车辆计算系统可以处理与环境100中的检测到的物体(一个或多个)118相关联的物体轨迹120,并且可以确定车辆102和物体(一个或多个)118是否可以相互作用(例如,碰撞,接近错过等)。例如,车辆计算系统可以控制车辆102从航路点112(8)到随后的航路点112(N)。车辆计算系统可以检测具有看起来与车辆102相关联的轨迹相交的物体轨迹120的物体118(例如,行人)。车辆计算设备可以确定物体118可能导致车辆102违反安全协议(例如,行进时在车辆102的阈值距离内的行人等)和/或远程指导协议(例如,在远程指导模式下物体进行穿过车辆的路径)。车辆计算系统可以基于行人来确定要采取的动作,例如让路于行人,以确保车辆102维持安全协议和/或远程指导协议。
在各个实例中,服务计算设备可以确定场景已完成(例如,车辆通过远程指导场景106,可以恢复常规操作),并且可以从远程导航中释放车辆102。在一些实例中,场景完成可以部分地基于以下确定:车辆可以安全地导航远程指导场景106的其余部分。例如,对于在初始位置108处的车辆计算系统不可见的被遮挡物体是由感知系统检测到的并且和车辆计算系统信号可以被配置为绕过被遮挡的物体。对于另一个实例,远程指导场景106的第一部分可以包括违反操作协议,诸如在指定用于相反方向的交通的车道上行驶。远程指导场景106的第二部分可以包括在操作协议的范围内旅行。因此,操作员可以基于第一部分的完成(例如,基于在用于行驶方向的适当车道中行驶的车辆)来确定场景可以完成。
在一些实例中,场景完成可以部分基于所生成的航路点112,例如在与车辆102关联的原始路线的阈值距离(例如,0.5米,0.5英尺,10英寸等)内的112(N)。在一些实例中,情景完成可以基于在传感器数据输入上。在这样的实例中,操作员可以通过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(图示为由操作员控制的输入光标)可以输入航路点206和/或方位208指导,诸如在远程指导模式下操作的车辆210(诸如,车辆102)的航路点112和/或方位114。如上所述,与车辆210相关联的车辆计算设备可以检测包括远程指导场景214(诸如,远程指导场景106)的一个或多个障碍物212。响应于检测到远程指导场景214,车辆计算系统可以建立与服务计算设备200的连接。在各个实例中,车辆计算系统可以从服务计算设备200发送对指导数据的请求(例如,指导输入)。在至少一些实例中,车辆计算系统可以在必须全面和完全停止之前识别这样的远程指导场景214(例如,可以提前足够远地识别这样的场景,使得这里讨论的技术可以使车辆继续不停地向目的地移动)。
在各个实例中,响应于与车辆计算设备的连接和/或对指导数据的请求的接收,服务计算设备200可以确定是否满足一个或多个指导条件。用于指导的条件(一个或多个)可以包括系统检查,以确保服务计算设备200可以有效地向车辆210提供指导。条件(一个或多个)可以包括低于阈值(例如,每小时小于15英里,每小时少于20公里等)的车速,阈值数量和/或传感器的类型(例如,至少有四个摄像头可提供前、后、左和右视图,可与空中透视图操作相关联的传感器,等)是可使用的、阈值带宽(例如,等于或大于每秒10兆字节,每秒15兆字节等)、阈值等待时间(例如,等于或小于300毫秒,250毫秒等)、无关车辆健康的故障(例如,转向柱故障等)等。
在一些实例中,基于确定不满足条件,服务计算设备200可以将缺乏条件传达给车辆计算设备。在这样的实例中,服务计算设备200可能无法提供指导数据,直到满足条件为止(例如,带宽增加,等待时间减少,无关车辆健康的故障,车速降低到阈值以下,传感器数据可用性增加等)。在一些实例中,基于确定不满足条件,服务计算设备200可以不启动GUI202。在一些实例中,基于确定不满足条件,服务计算设备200可以启动对GUI 202的确定,但可能无法启用输入控件。在这样的实例中,操作员204可能无法提供航路点206和/或方位208的指导。在任何这样的实例中,车辆可以执行后退操纵(例如,保持当前位置和/或驶过安全停止区域)。
在各个实例中,基于确定满足条件(一个或多个),服务计算设备200可以启动GUI202并且可以不启用输入控件。在这样的实例中,操作员204可能能够提供航路点206和/或方位208的指导。GUI 202可包括描绘来自车辆210上的一个或多个传感器的传感器数据的一个或多个窗口216。在至少一个实例中,窗口(一个或多个)216可描绘由车辆210上的摄像机捕获的流图像。窗口(一个或多个)216可以描绘数据以帮助操作员确定车辆采用的路径218。该路径可以包括航路点之间的直线,其可以指示或可以不指示车辆可以行进穿过环境的实际路径230。在一些实例中,路径218与实际路径230之间的差异可以至少部分地基于方位208或车辆将在航路点206处面向的方向,例如与第一航路点206(1)相关联的第一方位208(1)。在这样的实例中,车辆计算系统可以生成指示车辆的一条或多条轨迹的实际路径230,以到达第一方位208(1)中的第一航路点206(1)。在这样的实例中,轨迹可以包括一个或多个状态,以在有限的时间范围内和/或在后续航路点之间获得(位置、方位、速度、加速度等)。如上所述,这样的航路点可以用于确定诸如成本和/或约束的轨迹。
在说明性实例中,GUI 202包括描绘左前视图的第一窗口216(1)、描绘前视图的第二窗口216(2)、描绘右前视图的第三窗口216(3)和描绘了与车辆210相关联的后视图的第四窗口216(4)。操作员可以评估每个视图,以确定车辆通过远程指导场景214的路径218。路径218可以表示车辆210的初始位置222和第一航路点206(1)之间的直线距离和/或航路点206之间的直线距离,诸如在第一航路点206(1)和第二航路点206(2)之间的直线距离。
在各个实例中,GUI 202可以包括车辆210的顶视图220(例如,鸟瞰图)和远程指导场景214的描绘,在至少一些实例中,可以根据操作员204来对其进行调整以提供不同的观点。在一些实例中,顶视图220可以包括基于传感器数据的计算机生成的环境视图。在一些实例中,顶视图220可以最初包括车辆210相对于远程指导场景214的障碍物(一个或多个)212的位置222。在示例性实例中,顶视图220描绘了车辆210接近多个橙色圆锥体,它们阻塞了车辆210的规划路径224(例如,初始路径,规划路线等),诸如规划路线(例如,规划路径)104。
在各个实例中,顶视图220可以配置为接收来自操作员204的指导输入。在这样的实例中,操作员204可以向车辆提供指导以导航通过远程指导场景214,诸如与之相关联的围绕障碍物(一个或多个)212。输入可以包括一个或多个航路点206。航路点(一个或多个)206可以包括车辆将行驶的位置。在各个实例中,航路点(一个或多个)206可各自包括停止点,诸如没有进一步的指导。在这样的实例中,车辆210可以被配置为在没有接收或验证后续航路点(一个或多个)206的情况下在每个航路点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面向的方向。在一些实例中,可以基于先前和/或后续航路点206确定方位208。在此类实例中,在特定航路点206的方位可以使车辆在指导路线上各航路点之间平稳过渡。在各个实例中,如果车辆在航路点206处停止,则与航路点206相关联的方位208可以基于优选的方位208。
在一些实例中,GUI 202可以被配置为在已经输入(例如,确认放置)的航路点206上接收方位输入。例如,响应于操作员204点击(例如,选择)第二航路点206(2),从而改变颜色以匹配输入的航路点206(1),操作员204能够输入与之相关联的方位208,诸如方位208(2)。在说明性实例中,操作员204可以使光标或其他输入设备绕第二航路点206(2)移动(例如,抓取光标),并选择车辆210将面向第二航路点206(2)的方向。该方向可以表示方位208(2)或车辆210在第二航路点206(2)处的横摆。如上所述,在各个实例中,方向可以与由GUI202生成的路径218一致。在各个实例中,光标的移动可以由方位限制242限制。方位限制242可以包括其中可以设置方位208的一系列方向。在各个实例中,GUI 202可以阻止方位限制242之外的方位输入。方位限制242可以基于放置在车辆210上的物理约束(例如,最大横摆率、最大横摆角、最大横向距离、最大转弯角度等)。例如,顶视图220可能不接受会导致车辆在航路点206执行大转弯的方位输入,例如90度或180度转弯。
在各个实例中,服务计算设备200可以被配置为验证经由GUI输入的航路点(一个或多个)206和/或方位(一个或多个)208。如上所述,航路点206和/或方位208的验证可以包括验证车辆210将不会违反(例如,通过)与根据航路点206进行导航的车辆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(1)时,可以接收第二航路点206(2),以使车辆可以继续通过所有航路点而不停止。
如上所述,响应于接收到航路点206和/或方位208,诸如第一航路点206(1)和/或第一方位208(1),车辆计算系统可以为车辆210生成一条或多条轨迹。轨迹可以表示在以指导模式操作时车辆210在位置之间行进的实际路径230。在各个实例中,与实际路径230相关联的轨迹可包括将导致车辆以第一方位208(1)到达第一航路点206(1)的轨迹。
在各个实例中,车辆计算系统可以向服务计算设备发送其无法继续进行超出当前位置的指示。当前位置可以包括例如航路点206(1)的航路点206或环境中的另一位置。在一些实例中,车辆可以基于以下确定而停止在当前位置:车辆计算设备无法生成用于车辆210的一条或多条轨迹;尚未接收到诸如第二航路点206(2)的后续航路点206;到第二航路点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可以在启用航路点206编辑之前验证车辆210已经停止。在车辆计算系统当前正在使用航路点来控制车辆的实例中,航路点可以被锁定以进行编辑。在这样的实例中,这阻止了操作员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)。在各个实例中,响应于未接收到后续指导,车辆可以在由停止杆306表示的第一航路点112(1)处停止。在一些实例中,车辆102可以响应于接收到保持信号而在停止杆306处停止,诸如以上关于图2所描述的。在这样的实例中,服务计算设备可以响应于从操作员接收到保持车辆102的输入而发送保持信号。
在操作308处,服务计算设备可以将第二航路点112(2)和第三航路点112(3)发送到车辆计算系统。在各个实例中,可以至少部分地基于最初在第一航路点112(1)处检测到的被遮挡的物体310来确定第二航路点112(2)和第三航路点112(3)。被遮挡的物体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颜色信息)等),强度信息(例如激光雷达信息,雷达信息等);空间信息(例如,投影到网格上的图像数据,单独的“surfels”(例如,与单独的颜色和/或强度关联的多边形)),反射率信息(例如,镜面反射率信息,回射率信息,BRDF信息,BSSRDF信息等)。在一实例中,地图可以包括环境的三维网格。在一些实例中,可以至少部分地基于地图(一个或多个)828来控制车辆802。也就是说,可以将地图(一个或多个)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均值,k中位数,期望最大化(EM),分层聚类),关联规则学习技术(例如,感知器,反向传播,hopfield网络,径向基函数网络(RBFN)),深度学习技术(例如,深玻尔兹曼机(DBM),深度信念网络(DBN),卷积神经网络(CNN),堆叠式自动编码器),降维技术(例如,主成分分析(PCA),主成分回归(PCR)),偏最小二乘回归(PLSR),Sammon映射,多维缩放(MDS),投影追踪,线性判别分析(LDA),混合判别分析(MDA),二次判别分析(QDA),柔性判别分析(FDA),集成技术(例如,增强,自举聚合(装袋),AdaBoost,堆叠泛化(混合),梯度增强机(GBM),梯度增强回归树(GBRT),随机森林),SVM(支持向量机),监督学习,无监督学习,半监督学习等。体系结构的其他实例包括神经网络,诸如ResNet50,ResNet101,VGG,DenseNet,PointNet等。
在至少一个实例中,传感器系统806可以包括激光雷达传感器,雷达传感器,超声换能器,声纳传感器,位置传感器(例如,GPS,指南针等),惯性传感器(例如,惯性测量单元(EMU),加速度计,磁力计,陀螺仪等),摄像机(例如RGB,IR,强度,深度,飞行时间等),麦克风,车轮编码器,环境传感器(例如温度传感器,湿度传感器,光传感器,压力传感器等)等。传感器系统806可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆802的拐角,前,后,侧面和/或顶部的单独的激光雷达传感器。作为另一个实例,相机传感器可以包括多个摄相机,这些摄相机布置在围绕车辆802的外部和内部的各个位置。传感器系统806可以向车辆计算设备804提供输入。
车辆802还可包括一个或多个用于发射光和/或声音的发射器808。发射器(一个或多个)808可以包括内部音频和视觉发射器以与车辆802的乘客进行通信。作为实例而非限制,内部发射器可以包括扬声器,灯,标志,显示屏,触摸屏,触觉发射器(例如,振动和/或力反馈),机械执行器(例如,安全带拉紧器,座椅定位器,头枕定位器等)等。发射器808也可以包括外部发射器。作为实例而非限制,外部发射器可包括指示行进方向的灯光或车辆动作的其他指示符(例如,指示灯,标志,灯阵列等),以及一个或多个音频发射器(例如,扬声器,扬声器阵列,喇叭等),以与行人或其他附近的车辆进行听觉通信,其中一个或多个包含声束转向技术。
车辆802和/或服务计算设备832还可包括一个或多个通信连接件810,其使得能够在车辆802和车辆802上的服务计算设备832和/或其他本地计算设备和/或驱动系统814之间进行通信。通信连接件810可以允许车辆802与其他附近的计算设备(一个或多个)(例如,其他附近的车辆等)通信。
通信连接件810可以包括用于将车辆计算设备804连接到另一计算设备或诸如网络836的网络的物理和/或逻辑接口。例如,通信连接件810可以启用基于Wi-Fi的通信,例如通过IEEE 802.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可以包括驱动系统控制器,该驱动系统控制器可以接收和预处理来自传感器系统的数据并控制各种车辆系统的操作。在一些实例中,驱动系统控制器可以包括一个或多个处理器以及与该一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个系统以执行驱动系统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可以经由网络836从服务计算设备832接收传感器数据。传感器数据可以包括原始传感器数据和/或处理后的传感器数据和/或传感器数据的表示。在一些实例中,传感器数据(原始或已处理)可以作为一个或多个日志文件发送和/或接收。
服务计算设备832可以包括一个或多个处理器842和存储器834,存储器834存储具有图形用户界面838的远程指导组件830。图形用户界面838可以被配置为从操作员接收代表一个或多个航路点和/或方位的输入,以向车辆802提供远程指导,例如上述。可以经由一个或多个输入/输出设备840来接收输入。一个或多个输入/输出设备840可以包括键盘,鼠标,触摸屏显示器,触觉设备,麦克风,摄像机和/或配置为向一个或多个服务计算设备832输入数据和/或从服务计算设备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所述的车辆,其中,航路点数据包括第一航路点数据,第一航路点数据包括与第一位置和第一方位相关联的第一航路点,并且其中,所述指令还将车辆配置为:
从服务计算设备接收第二航路点数据,第二航路点数据包括与第二位置和第二方位相关联的第二航路点;
至少部分地基于安全协议验证第二航路点;以及
至少部分地基于验证第二航路点,确定用于将车辆从第一航路点导航到第二航路点的轨迹;以及
至少部分地基于轨迹控制车辆从第一航路点到第二航路点,其中,控制车辆从第一航路点到第二航路点而不停止向前运动。
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,654 US11467573B2 (en) | 2019-06-28 | 2019-06-28 | Vehicle control and guidance |
US16/457,654 | 2019-06-28 | ||
PCT/US2020/039575 WO2020264131A1 (en) | 2019-06-28 | 2020-06-25 | Vehicle control and guidance |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114008591A true CN114008591A (zh) | 2022-02-01 |
Family
ID=71662331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080047152.0A Pending CN114008591A (zh) | 2019-06-28 | 2020-06-25 | 车辆控制和指导 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11467573B2 (zh) |
EP (1) | EP3991000B1 (zh) |
JP (1) | JP2022539151A (zh) |
CN (1) | CN114008591A (zh) |
WO (1) | WO2020264131A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981377A (zh) * | 2023-03-21 | 2023-04-18 | 西安羚控电子科技有限公司 | 一种无人机动态避障方法及系统 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768493B2 (en) | 2019-06-28 | 2023-09-26 | Zoox, Inc. | Remote vehicle guidance |
US11351996B2 (en) * | 2019-11-01 | 2022-06-07 | Denso International America, Inc. | Trajectory prediction of surrounding vehicles using predefined routes |
US11603094B2 (en) | 2020-02-20 | 2023-03-14 | Toyota Motor North America, Inc. | Poor driving countermeasures |
US11527154B2 (en) | 2020-02-20 | 2022-12-13 | Toyota Motor North America, Inc. | Wrong way driving prevention |
US11644830B1 (en) | 2020-06-02 | 2023-05-09 | Aurora Operations, Inc. | Autonomous vehicle remote teleoperations system with scenario selection |
US11560154B1 (en) | 2020-06-02 | 2023-01-24 | Aurora Operations, Inc. | Autonomous vehicle remote teleoperations system |
US11595619B1 (en) * | 2020-06-02 | 2023-02-28 | Aurora Operations, Inc. | Autonomous vehicle teleoperations system |
US11726471B2 (en) * | 2020-08-27 | 2023-08-15 | Waymo Llc | Methods and systems for gradually adjusting vehicle sensor perspective using remote assistance |
US11680384B2 (en) * | 2021-03-03 | 2023-06-20 | Built Robotics, Inc. | Autonomous operation by earth-moving vehicle based on triggering conditions |
WO2023034061A1 (en) * | 2021-08-31 | 2023-03-09 | Zoox, Inc. | Remote assistance for vehicles |
US20230177839A1 (en) * | 2021-12-02 | 2023-06-08 | Nvidia Corporation | Deep learning based operational domain verification using camera-based inputs for autonomous systems and applications |
US20230322270A1 (en) * | 2022-04-08 | 2023-10-12 | Motional Ad Llc | Tracker Position Updates for Vehicle Trajectory Generation |
Family Cites Families (17)
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 |
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 | トヨタ自動車株式会社 | 遠隔操作システム、車両及び遠隔操作装置 |
US20180194344A1 (en) * | 2016-07-29 | 2018-07-12 | Faraday&Future Inc. | System and method for autonomous vehicle navigation |
US10293818B2 (en) | 2017-03-07 | 2019-05-21 | Uber Technologies, Inc. | Teleassistance data prioritization for self-driving vehicles |
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 |
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 | 深圳眸瞳科技有限公司 | 无人机迁移轨迹生成方法、装置、电子设备和存储介质 |
US11768493B2 (en) | 2019-06-28 | 2023-09-26 | Zoox, Inc. | Remote vehicle guidance |
-
2019
- 2019-06-28 US US16/457,654 patent/US11467573B2/en active Active
-
2020
- 2020-06-25 WO PCT/US2020/039575 patent/WO2020264131A1/en active Application Filing
- 2020-06-25 EP EP20742560.4A patent/EP3991000B1/en active Active
- 2020-06-25 JP JP2021577397A patent/JP2022539151A/ja active Pending
- 2020-06-25 CN CN202080047152.0A patent/CN114008591A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981377A (zh) * | 2023-03-21 | 2023-04-18 | 西安羚控电子科技有限公司 | 一种无人机动态避障方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200409352A1 (en) | 2020-12-31 |
US11467573B2 (en) | 2022-10-11 |
EP3991000A1 (en) | 2022-05-04 |
WO2020264131A1 (en) | 2020-12-30 |
JP2022539151A (ja) | 2022-09-07 |
EP3991000B1 (en) | 2023-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11768493B2 (en) | Remote vehicle guidance | |
CN114008591A (zh) | 车辆控制和指导 | |
US11970168B2 (en) | Vehicle trajectory modification for following | |
US11532167B2 (en) | State machine for obstacle avoidance | |
CN113544035A (zh) | 遮挡预测和轨迹评估 | |
US11427191B2 (en) | Obstacle avoidance action | |
JP2022553310A (ja) | 衝突ゾーンに基づく軌道修正 | |
CN113544696A (zh) | 确定遮挡区域的占有率 | |
CN112789481A (zh) | 对自上而下场景的轨迹预测 | |
CN112313663A (zh) | 遮挡感知规划 | |
US11513519B1 (en) | Sharing occlusion data | |
US11353877B2 (en) | Blocked region guidance | |
JP2023500825A (ja) | 障害物回避アクション | |
CN116670000A (zh) | 横向安全区域 | |
CN114080341A (zh) | 联系远程操作员的技术 | |
CN115443233A (zh) | 针对协作车辆引导的遥操作 | |
US20230060435A1 (en) | Remote assistance for vehicles | |
US20230060500A1 (en) | Remote assistance for vehicles | |
WO2023034061A1 (en) | Remote assistance for vehicles |
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 |