本专利文档的公开的一部分包含受到版权保护的材料。版权所有人不反对任何人对专利文档或专利公开(如其在专利和商标局中的专利文件或记录中出现的原样)进行复制再现,但是在其他情况下版权所有人保留所有版权。
本申请涉及于2019年3月28日提交的、题为“TECHNIQUES FOR SWITCHING BETWEENAUTONOMOUS AND MANUAL CONTROL FOR A MOVABLE OBJECT”的国际申请PCT/CN2019/077510,其通过引用整体并入本文中。
具体实施方式
在附图的图中通过示例而非限制的方式示出了本发明,在附图中,相同的附图标记表示相似的元件。应注意的是,在本公开中对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同的实施例,并且这种引用意味着至少一个实施例。
本发明的以下描述描述了使用可移动物体的目标映射。为了简化说明,通常使用无人机(UAV)作为可移动物体的示例。对本领域技术人员显而易见的是,可以使用其他类型的可移动物体而没有限制。
一些自动驾驶车辆是全时自动驾驶的,即它们仅支持自主驾驶,并且不会提供驾驶座椅或驾驶员可访问控件。一些自动驾驶车辆可以短暂地由驾驶员控制,但是在大多数情况下,车辆将自主驾驶。
实施例提供了用于管理从手动驾驶模式到自主驾驶模式的转变以及用于管理从自主驾驶模式到手动驾驶模式的转变的切换策略,以便改善驾驶和乘坐体验。
图1示出了根据本发明的各种实施例的可移动物体环境100中的可移动物体的示例。如图1中所示,可移动物体可以是无人飞行器、无人车辆、手持式装置和/或机器人。尽管可移动物体102总体上被描述为地面车辆,但这并不旨在进行限制,并且可以使用任何合适类型的可移动物体。本领域的技术人员将理解的是,本文中所描述的任何实施例可以应用于任何合适的可移动物体(例如,自动驾驶车辆、无人机(UAV)等)。如本文中所使用的,“飞行器”可以用来指代能够飞行的可移动物体的子集(例如,飞机、UAV等),而“地面车辆”可以用来指代在地面上行进的可移动物体的子集(例如,驾驶员手动控制和自主控制的轿车和卡车)。
可移动物体102可以包括车辆控制单元和各种传感器106,比如扫描传感器108和110、惯性测量单元(IMU)112和定位传感器114。在一些实施例中,扫描传感器108、110可以包括LiDAR传感器、超声波传感器、红外传感器、雷达传感器、成像传感器或可操作以收集与可移动物体的周围环境有关的信息(例如,相对于可移动物体的到周围环境中的其他物体的距离)的其他传感器。可移动物体102可以包括通信系统120,通信系统120负责处理经由通信系统120B的可移动物体102与其他可移动物体、客户端装置与可移动物体102之间的通信。例如,无人飞行器可以包括上行链路通信路径和下行链路通信路径。上行链路可以用于发送控制信号,下行链路可以用于发送媒体、视频流、针对另一装置的控制指令等。在一些实施例中,可移动物体可以与客户端装置通信。客户端装置可以是便携式个人计算装置、智能电话、遥控器、可穿戴计算机、虚拟现实/增强现实系统和/或个人计算机。客户端装置可以向可移动物体提供控制指令和/或从可移动物体接收数据,比如图像或视频数据。
根据本发明的各种实施例,通信系统可以使用基于各种无线技术(比如,WiFi、蓝牙、3G/4G/5G和其他射频技术)的网络进行通信。此外,通信系统120可以使用基于诸如互联网技术(比如,TCP/IP、HTTP、HTTPS、HTTP/2或其他协议)之类的其他计算机网络技术或任何其他的有线或无线联网技术进行通信。在一些实施例中,通信系统120使用的通信链路可以是非网络技术,包括诸如通用串行总线(USB)或通用异步接收器-发送器(UART)之类的直接点对点连接。
根据本发明的各种实施例,可移动物体102可以包括车辆驾驶系统128。车辆驾驶系统128可以包括各种移动机构,比如旋翼、螺旋桨、叶片、发动机、马达、轮子、轴、磁体、喷嘴、动物或人类中的一种或多种。例如,可移动物体可以具有一个或多个推进机构。移动机构可以都是相同的类型。备选地,移动机构可以是不同类型的移动机构。移动机构可以使用诸如支撑元件(例如,驱动轴)之类的任何合适的装置安装在可移动物体102上(或者,反之亦然)。移动机构可以安装在可移动物体102的任何合适的部分上,比如顶部、底部、前部、后部、侧面或其合适的组合。
在一些实施例中,可以通过例如在客户端装置、车辆控制单元104或与移动机构通信的其他计算装置上执行的应用,独立于其他移动机构来控制一个或多个移动机构。备选地,移动机构可以被配置为同时受到控制。例如,可移动物体102可以是前轮驱动车辆或后轮驱动车辆,其中前轮或后轮同时受到控制。车辆控制单元104可以向移动机构发送移动命令以控制可移动物体102的移动。这些移动命令可以基于和/或源自于从客户端装置、自主驾驶单元124、输入装置118(例如,内置的车辆控件,比如加速踏板、制动踏板、方向盘等)或其他实体接收的指令。
可移动物体102可以包括多个传感器106。传感器106可以包括可以感测可移动物体102(例如,相对于各个平移度和各个旋转度)的空间布局、速度和/或加速度的一个或多个传感器。一个或多个传感器可以包括各种传感器,包括全球导航卫星服务(GNSS)传感器(例如,全球定位系统(GPS)、北斗、伽利略等)、运动传感器、惯性传感器、近距离传感器或图像传感器。由传感器106提供的感测数据可以用于控制可移动物体102的空间布局、速度和/或取向(例如,使用合适的处理单元和/或控制模块,比如车辆控制单元104)。附加地或备选地,传感器可以用于提供关于可移动物体周围的环境的数据,比如天气条件、与潜在障碍物的接近度、地理特征的位置、人造结构的位置等。在一些实施例中,传感器106中的一个或多个传感器可以经由载体耦接到可移动物体102。载体可以使传感器能够独立于可移动物体移动。例如,可以使用载体改变图像传感器的取向来定向图像传感器,以捕获可移动物体周围的图像。这使得能够独立于可移动物体的当前取向在各种方向上捕获图像。在一些实施例中,安装到载体的传感器可以被称为搭载物。
通信系统120可以包括适合于无线通信的任何数量的发送器、接收器和/或收发器。所述通信可以是单向通信,使得只能在一个方向上发送数据。例如,单向通信可以仅涉及可移动物体102向客户端装置110发送数据,或者反之亦然。可以从客户端装置的通信系统120A的一个或多个发送器向可移动物体的通信系统120B的一个或多个接收器发送数据,或者反之亦然。备选地,通信可以是双向通信,使得可以在可移动物体102和客户端装置110之间的两个方向上发送数据。双向通信可以涉及从通信系统120B的一个或多个发送器向客户端装置110的通信系统120A的一个或多个接收器发送数据,并且反之亦然。
在一些实施例中,在与可移动物体通信的车辆控制单元104、客户端装置或计算装置上执行的应用可以向可移动物体102、载体或一个或多个传感器106中的一个或多个提供控制数据,并且从可移动物体102、载体或传感器106中的一个或多个接收信息(例如,可移动物体、载体或搭载物的位置和/或运动信息;由搭载物感测的数据,例如由搭载物相机捕获的图像数据;以及根据搭载物相机捕获的图像数据生成的数据)。
在一些实施例中,控制数据可以使得可移动物体102的位置和/或取向修改(例如,经由对移动机构的控制),或者使得搭载物相对于可移动物体移动(例如,经由对载体的控制)。来自应用的控制数据可以实现对搭载物的控制,比如对扫描传感器124、相机或其他图像捕获装置的操作的控制(例如,拍摄静态或动态图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。
在一些实例中,来自可移动物体、载体和/或搭载物的通信可以包括来自一个或多个传感器106的信息和/或基于感测信息生成的数据。通信可以包括来自一种或多种不同类型的传感器106(例如,GNSS传感器、运动传感器、惯性传感器、近距离传感器或图像传感器)的感测信息。这种信息可以涉及可移动物体、载体和/或搭载物的定位(例如位置、取向)、移动或加速度。来自搭载物的这种信息可以包括搭载物所捕获的数据或搭载物的感测状态。
在一些实施例中,车辆控制单元104可以被实现在可以被添加到可移动物体102的计算装置上。计算装置可以由可移动物体供电,并且可以包括一个或多个处理器,比如CPU、GPU、现场可编程门阵列(FPGA)、片上系统(SoC)、专用集成电路(ASIC)或其他处理器。计算装置可以包括操作系统(OS),比如基于/>的操作系统或其他OS。在各种实施例中,控制管理器122可以在计算装置、客户端装置、搭载物装置、远程服务器(未示出)或其他计算装置上执行。
在各种实施例中,自主驾驶单元124可以对可移动物体102提供一级或多级自主控制。例如,汽车工程师协会定义了从L0至L5的六个级别的自主驾驶,在L0下手动驾驶车辆,但是会有与道路环境、驾驶条件等相关的警告或通知,在L5下是全自主驾驶而无需驾驶员输入。当在L0下驾驶时,可以通过使用输入装置118的驾驶来控制可移动物体102。输入装置可以包括各种车辆控制机构,比如制动踏板和加速踏板、方向盘、变速杆、离合器踏板、触摸屏、开关/切换/按钮、通过其接收语音命令的麦克风、用于监控驾驶员的相机(例如,注视检测、身体手势、姿势等)、客户端装置(例如,便携式计算装置,比如平板计算机、智能电话、膝上型计算机、遥控器或其他计算装置)等。这些控制机构可以由驾驶员机械地操作,并且可以各自产生被发送到控制管理器122的信号。例如,转向信号可以指示方向盘从中立位置向左或向右转多大程度和/或施加到方向盘的扭力,并且控制管理器122可以将转向信号转换为控制指令,所述控制指令可以经由车辆接口126传递到车辆驾驶系统128(例如,控制指令可以使耦接到可移动物体的转向系统的电机将一个或多个可移动物体的车轮旋转到基于转向信号的程度)。
在手动模式(例如,L0)下,控制管理器不会从自主驾驶单元124接收任何输入,或者如果接收到任何输入,它会忽略它们。结果是,基于从输入装置118接收的手动输入来驾驶可移动物体。在全自主模式(例如,L5)下,从输入装置118接收的任何输入可以被控制管理器122忽略,并且基于从自主驾驶单元124接收的自主输入来驾驶可移动物体。自主驾驶单元124可以将其控制指令基于传感器106经由传感器接口116接收的传感器数据。在各种实施例中,类似于上述关于手动输入的描述,可以由控制管理器122将从自主驾驶单元124接收的自主输入转变为控制指令并传递给车辆驾驶系统128。在一些实施例中,从自主驾驶单元124接收的自主输入可以是控制指令,所述控制指令可以由车辆驾驶系统本地处理,并且可以未经修改地由控制管理器122传递,或者可以由自主驾驶单元124经由车辆接口126直接传送到车辆驾驶系统128。
在一些实施例中,取决于传感器的类型,车辆控制单元104可以经由诸如以太网或通用串行总线(USB)之类的高带宽连接或诸如通用异步接收器-发送器(UART)之类的低带宽连接而连接到传感器106。在各种实施例中,车辆驾驶单元104可以是从可移动物体上可移除的。
控制管理器122可以基于例如从传感器106接收的传感器数据、经由输入装置118接收的输入或从自主驾驶单元124接收的输入来确定可移动物体何时在驾驶模式之间进行切换。控制管理器122可以基于当前驾驶状态来确定是否根据要求切换驾驶模式。当前驾驶状态可以从传感器106获得或可以基于从传感器106接收的数据获得。驾驶状态可以指示例如车辆的当前速度、位置、航向等,并且还可以指示与在其中操作车辆的当前道路环境有关的信息,比如当前交通条件、天气条件、地形、道路类型、位置详情等。在一些实施例中,驾驶状态还可以包括驾驶员状态,比如驾驶员疲劳和准备就绪。驾驶员状态的示例可以包括驾驶员是否在驾驶员座椅上、以及驾驶员座椅的位置(例如,它是否直立)、驾驶员的安全带是否系紧等。如果控制管理器122确定当前驾驶状态允许切换驾驶模式,则可以将车辆置于其中控制在驾驶员与自主驾驶单元之间转变的待切换状态。在待切换状态中,控制管理器可以将从驾驶员和自主驾驶单元接收的输入进行组合,以确定传递到车辆驾驶系统128的控制指令。将待切换状态用作转变模式防止控制管理器基于驾驶状态在手动模式与自主模式之间来回摆动,并且实现从一种状态到另一种状态的平稳且安全的转变。当车辆在模式之间完全转变时,可以向驾驶员提供指示驾驶模式已改变的指示。
图2示出了根据本发明的各种实施例的可移动物体环境中的车辆控制单元的示例200。如图2中所示,控制管理器122可以在车辆控制单元104的一个或多个处理器202上执行。一个或多个处理器202可以包括CPU、GPU、GPGPU、FGPA、SoC或其他处理器,并且可以是由车辆控制单元104实现的并行计算架构的一部分。控制管理器202可以经由传感器接口116接收传感器数据,并且经由车辆接口126向车辆发送控制指令。控制管理器可以包括驾驶模式控制器204、控制输出管理器212和驾驶员通信模块222。驾驶模式控制器可以包括驾驶状态监控器206,并且可以存储驾驶状态数据和一个或多个切换标准210。控制输出管理器212可以包括由驾驶模式控制器204设置的当前驾驶模式214和一组或多组控制权重220。在一些实施例中,控制输出管理器212所使用的控制权重可以根据当前驾驶模式214而变化。
如图2中所示,驾驶模式控制器可以使用驾驶状态监控器206来监控可移动物体102的当前驾驶状态。驾驶状态监控器可以经由传感器接口116从传感器106获取传感器数据。在一些实施例中,为了进行传感器数据更新,驾驶状态监控器206可以以规则的间隔轮询传感器。在一些实施例中,传感器106中的一个或多个传感器可以将传感器数据更新推送到驾驶状态监控器。驾驶状态监控器可以使用传感器数据来生成当前驾驶状态,当前驾驶状态可以存储在驾驶状态数据存储208中。驾驶状态可以指示当前位置、速度、加速度、环境信息、驾驶信息或交通信息中的一个或多个。例如,驾驶状态可以指示可移动物体的阈值距离内的车辆的数量及其当前速度和/或行进的方向。环境信息可以包括例如当前天气数据(经由通信系统120从天气服务获取的或基于传感器数据)。驾驶信息可以包括轿车自上次停车以来已驾驶了多长时间、平均速度、燃料消耗、当前驾驶模式(例如,L0至L5)等。
在一些实施例中,驾驶状态数据存储208可以保持驾驶状态的滚动窗口。例如,驾驶状态监控器206可以每毫秒(或者,其他频率)记录驾驶状态,并且驾驶状态数据存储208可以保持五分钟(或者,其他时间长度)的驾驶状态。当从控制输入215接收到用于改变驾驶模式的请求时,驾驶状态监控器可以将当前驾驶状态与存储在切换标准数据存储210中的一个或多个切换标准进行比较。如所讨论的,用于改变驾驶模式的请求可以来自使用一个或多个输入装置118(比如物理按钮、开关、切换等)的驾驶员,或者通过与用户界面(例如,触摸屏界面、抬头式显示器(HUD)或可移动物体内可用的其他图形用户界面)进行交互得到。在一些实施例中,请求可以由自主驾驶单元124基于从传感器106接收的数据来做出。例如,如果传感器106中存在使得自主驾驶不可靠的干扰,如果检测到特定的天气或道路条件,如果可移动物体进入禁止自主驾驶的区域等,则自主驾驶单元124可以请求改变为手动模式。类似地,如果自主驾驶单元检测到自主驾驶可以提高安全性的条件(比如,处于走走停停的交通、没有交通量(no traffic)、在执行了特定量的手动驾驶时间之后等),则自主驾驶单元可以请求将驾驶模式改变为自主模式。
在一些实施例中,除了当前驾驶状态之外,驾驶状态监控器206还可以将过去的驾驶状态与切换标准进行比较。在各种实施例中,切换标准可以包括可移动物体的当前位置的最大速度、当前驾驶时间、地形类型、交叉口类型、当前速度、距最近车辆的阈值距离或相对于最近车辆的当前运动。例如,如果可移动物体在其当前位置超过速度限制,则可以禁止改变驾驶模式。类似地,如果可移动物体处于四向停车、环岛或其他交叉口类型,则可以不切换驾驶模式。在一些实施例中,如果当前交通条件太密集或太稀疏(例如,如果到最近车辆的当前距离大于或小于阈值),如果可移动物体正在变道,由此引起车辆之间的横向相对运动,或者如果可移动物体正在超越车另一车辆或正在被另一车辆超车,则可以不改变驾驶模式。
在一些实施例中,当前驾驶状态可以由多个切换标准上的表示当前状态的矢量、张量或其他数据结构来表示。同样,可接受的切换状态可以由类似格式的数据结构表示。驾驶状态监控器206可以将表示当前驾驶状态的数据结构与表示切换状态的一个或多个数据结构进行比较。如果匹配,则可以改变驾驶模式。在一些实施例中,驾驶状态监控器206可以将表示当前驾驶状态的数据结构与表示禁止改变驾驶模式的切换状态的一个或多个数据结构进行比较。如果匹配,则可以不改变驾驶模式。在一些实施例中,驾驶模式控制器204可以基于当前驾驶状态与一个或多个切换状态的比较,通过驾驶员通信模块222向驾驶员返回指示驾驶模式是否可以改变的消息。所述消息可以例如以可听见的方式向驾驶员广播、显示在可移动物体内的控制台、仪表板或其他显示器上、和/或通过方向盘、座椅或车辆内部与驾驶员接触的其他部分以触觉方式传达。
当驾驶模式控制器204已确定可以改变驾驶模式时,驾驶模式控制器可以将驾驶模式214更新为待切换状态。待切换状态可以是暂时驾驶模式,在暂时驾驶模式期间,驾驶模式控制器可以确保驾驶状态的任何改变都不应导致驾驶模式改变被停止。例如,可以通过驾驶员操纵一个或多个输入装置、或者通过自主驾驶单元基于传感器数据检测到条件的改变来接收取消驾驶模式改变指令。在一些实施例中,可以生成取消驾驶模式改变指令的条件的这种改变可以包括附近车辆的速度的突然改变,指示交通的突然减速或减速的结束。可移动物体处于待切换状态的时间长度可以是固定的,或者可以根据当前驾驶条件而变化。例如,待切换状态在低交通条件下可以是第一时间长度,而在高交通条件下可以是更长的第二时间长度。在一些实施例中,当在任何模式之间切换时,待切换状态可以持续相同的时间量,或者当从自主模式切换到手动模式时,与从手动模式切换到自主模式相比,待切换状态可以具有不同的时间长度。
当可移动物体处于待切换状态模式时,自主驾驶单元124和驾驶员都向控制管理器122提供驾驶输入。控制管理器122可以经由与自主驾驶单元124交互的自主输入管理器216和与一个或多个输入装置118交互的驾驶员输入管理器218来接收驾驶输入。在待切换状态模式下,可以使用控制权重220将输入进行组合。控制权重220可以被索引为可移动物体已处于待切换状态多长时间。例如,最大权重值可以为1,最小权重值可以为0。当可移动物体首先从自主模式进入待切换状态模式时,可以将自主输入的权重设置为1,将手动输入的权重设置为0,从而有效地使可移动物体处于自主模式。随着在待切换状态模式下时间流逝,施加于自主输入的权重可以随着施加于手动输入的权重的增加而减小,直到在待切换状态结束时,施加于手动输入的权重为1且施加于自主输入的权重为0为止。类似地,当从手动模式切换到自主模式时,上述权重可以颠倒。在一些实施例中,可以通过对加权输入求和,或者以其他方式将加权输入组合为单个控制输出来获得控制输出。在待切换状态结束时,驾驶模式控制器204可以将驾驶模式更新为新的状态。通过以上述方式将输入进行组合,在驾驶员首次对可移动物体进行控制时提供的任何突然的、无意的输入将被忽略或静音,从而有利于自主输入。
图3示出了根据本发明的各种实施例的驾驶模式的示例。如上所述,在手动驾驶模式300下,驾驶员接管了对车辆的全部控制,包括加速、转向、制动和其他输入装置。如304处所示,在手动驾驶模式300下,车辆控制单元104不接收或忽略来自自主驾驶单元124的输入。这样,所有控制输入均由驾驶员提供。在一些实施例中,在处于手动模式时,自主驾驶单元可以向驾驶员提供警报,比如车道改变警告、接近度警报等。
在自主驾驶模式302下,自主驾驶单元124可以接管对车辆的全部控制,包括车辆驾驶系统128的加速、转向、制动和其他功能。如306处所示,在自主驾驶模式下,不会经由输入装置118从驾驶员接收输入,或者车辆控制单元104会忽略该输入。在一些实施例中,如果驾驶员确实试图经由输入装置118提供驾驶输入,则车辆控制单元可以超控自主驾驶单元124所接收的任何指令。备选地,车辆控制单元可以在全部或部分执行驾驶员的输入之前确定驾驶员提供的输入是否安全(例如,通过向输入施加控制权重,就好像车辆处于上述的待切换状态模式下那样)。备选地,车辆控制单元104可以拒绝经由输入装置118从驾驶员接收的任何输入。
图4示出了根据本发明的各种实施例的附加驾驶模式的示例。如图4中所示,在待切换状态模式400下,可以从驾驶员(经由输入装置118)和自主驾驶单元124两者接收输入。在处于待切换状态模式时,控制输出管理器212可以向所接收的输入施加一组待决权重404。如上所述,最大权重值可以为1,最小权重值可以为0。当可移动物体首先从自主模式进入待切换状态模式时,可以将自主输入的权重设置为1,将手动输入的权重设置为0,从而有效地使可移动物体处于自主模式。随着在待切换状态模式下时间流逝,施加于自主输入的权重可以随着施加于手动输入的权重的增加而减小,直到在待切换状态结束时,施加于手动输入的权重为1且施加于自主输入的权重为0为止。类似地,当从手动模式切换到自主模式时,上述权重可以颠倒。在待切换状态结束时,驾驶模式控制器204可以将驾驶模式更新为新的状态。通过以上述方式将输入进行组合,在驾驶员首次对可移动物体进行控制时提供的任何突然的、无意的输入将被忽略或静音,从而有利于自主输入。
在一些实施例中,可移动物体可以进入安全模式。例如,如果驾驶员在预定时间内和/或在预定情况下不再经由输入装置118提供任何驾驶输入,则车辆控制单元104可以使可移动物体进入安全模式402。控制输出管理器可以向从输入装置118和自主驾驶单元124接收的输入施加一组安全权重406。安全权重可以施加于特定类型的控制输入。在一些实施例中,安全权重可以被索引为控制输入值的幅度。例如,安全权重可以在1与0之间变化,并且可以通过将最大控制输出限制为特定“安全”值的功能来定义。这可以包括通过基于安全权重406操纵控制输出来限制可移动物体的最大加速度、最大速度等。在一些实施例中,权重可以使除控制输入的子集以外的所有控制输入被显著地减少为控制输出。例如,基于可移动物体在道路上的位置,除了会使得可移动物体靠边停到故障车道或路肩的那些控制输入之外的任何控制输入可以具有施加于其的接近0的权重。而使得可移动物体靠边停车的控制输入可以具有施加于其的接近1的权重。
图5示出了根据本发明的各种实施例的在可移动物体环境中切换驾驶模式的示例。如图5中所示,驾驶状态监控器206可以控制至少四个驾驶模式之中的可移动物体的当前驾驶模式:手动驾驶模式500、自主驾驶模式502、待切换状态模式504和安全驾驶模式506。使得可移动物体在每种驾驶模式之间转变的条件可以根据当前驾驶模式和可移动物体正在向其转变的目标驾驶模式而变化。
在一些实施例中,当可移动物体处于手动驾驶模式500时,可以接收用于将驾驶模式改变为自主驾驶模式的请求。如所讨论的,这种请求可以由驾驶员通过输入装置118做出,或者由自主驾驶单元自动做出。驾驶状态监控器206然后可以基于当前驾驶状态来确定是否可以改变驾驶模式。如所讨论的,驾驶状态监控器206可以将当前驾驶状态与一个或多个切换标准(比如,当前速度和位置标准)进行比较(例如,当车辆的速度在市区不大于60km/h时,或者当在高速公路上不大于100km/h时,则可以进行切换),或者将当前驾驶状态与驾驶条件进行比较(例如,可以在驾驶超过一个小时或其他时间限制之后进行切换)。基于驾驶条件、交通条件等的附加切换标准可以包括:在正在超车时,或者在正在被超车时,或者在特定的交叉口(比如,四向停车)处,或者如果可移动物体在其当前位置处超过速度限制,则禁止切换。类似地,可以定义地形和/或道路约束。例如,仅在平坦且笔直的道路上和/或当预定阈值距离内没有车辆时才允许切换。在一些实施例中,阈值距离可以根据可移动物体的当前速度而变化。
如所讨论的,车辆通过传感器106获取当前驾驶状态,所述当前驾驶状态可以包括:车辆的位置、速度、加速度、环境信息、驾驶行为、交通控制信息等。驾驶状态监控器206可以将当前驾驶状态与切换标准进行比较。如果满足要求,则在508处,可以将驾驶状态更新为待切换状态504。在一些实施例中,可以向驾驶员提供指示可移动物体正在转变为自主驾驶模式的通知。在一些实施例中,在处于手动驾驶模式500时,不需要驾驶员确认该通知。在一些实施例中,所述通知可以示出在显示器(例如,控制台显示器、仪表板显示器、抬头式显示器等)上。驾驶员可以通过语音命令、激活多个输入装置中的一个装置(比如,触摸触摸屏显示器上的位置,按下仪表板或控制台上的后退按钮等)来消除通知。
此时,可以激活自主驾驶模式(或者,如果已经激活,则可以由控制管理器接收由自主驾驶单元生成的控制输入)。如上所述,自主驾驶单元可以在后台操作,并且其输入与从驾驶员接收的输入相组合。在一些实施例中,在处于待切换状态时,驾驶员可以接收第二通知,所述第二通知指示即将发生的驾驶模式的改变。在一些实施例中,驾驶员可以通过与手动驾驶模式相关联的一个或多个动作来提供对第二通知的确认。例如,驾驶员可以使用多个输入装置将驾驶员座椅从驾驶位置重新置于倾斜位置。在一些实施例中,驾驶员可以经由语音命令提供确认。在手动驾驶模式下,没有驾驶员的明确确认不会使得控制管理器中止驾驶模式的改变。相反,在手动驾驶模式下且在第二通知之后,没有驾驶输入可以被解释为对驾驶模式改变的确认。如果驾驶员取消了改变,则在510处,模式可以返回到手动驾驶模式。附加地或备选地,自主驾驶单元可以如所讨论的那样由于驾驶、交通、环境或其他条件的改变而取消驾驶模式的改变,并且在510处,驾驶模式可以同样地返回到手动驾驶模式。如果在待切换状态结束时尚未取消改变,则在512处,可以将驾驶模式更新为自主驾驶模式502。
在一些实施例中,如果在向驾驶员通知驾驶状态监控器无法将驾驶模式从手动驾驶模式切换到自主驾驶模式之后,未从驾驶员接收到进一步的输入,则在516处,驾驶状态监控器可以迫使可移动物体进入安全驾驶模式506。如所讨论的,当处于安全驾驶模式时,可以限制控制,以便降低可移动物体的速度和/或在停车之前将物体移动到安全位置。在一些实施例中,如果不满足切换标准且驾驶员未能提供附加控制输入,则驾驶状态监控器可以迫使可移动物体进入受限的自主驾驶模式,驾驶状态监控器可能会迫使可移动物体进入受限的自主驾驶模式,所述受限的自主驾驶模式会在停车之前将可移动物体导航到安全位置。在车辆停车之后,在确定如何行进之前,在514或518处,驾驶状态监控器可以将可移动物体的驾驶状态改变回待切换状态。
不同于可以由自主驾驶单元自动请求的从手动驾驶模式到自主驾驶模式的切换,在一些实施例中,仅能通过驾驶员通过输入装置118的明确请求将可移动物体从自主模式切换到手动模式。附加地,在切换驾驶模式之前可以要求多个确认。在自主驾驶模式下所需的确认可以特定于自主驾驶模式,并且可以用于确认驾驶员准备好控制可移动物体。
在一些实施例中,当可移动物体处于自主驾驶模式502时,可以接收用于将驾驶模式改变为手动驾驶模式500的请求。如所讨论的,这种请求可以由驾驶员通过输入装置118做出。在接收到用于从自主驾驶模式改变模式的请求时,可以向驾驶员发送指示接收到该请求并请求确认的消息。在一些实施例中,所述消息可以显示在可移动物体中的一个或多个显示器(例如,控制台显示器、仪表板显示器、抬头式显示器等)上。许多车辆基于驾驶状态间歇地向驾驶员提供消息。当提供许多消息时,驾驶员可能会习惯于在不首先确定消息实际指示什么的情况下消除该消息或确认该消息。这样,为了确保驾驶员知道用于改变驾驶模式的请求,所述消息可以指示输入装置中一个或多个输入装置要被驾驶员激活以确认该请求。一个或多个输入装置可以与由控制管理器选择的确认类型相关联。在一些实施例中,控制管理器可以获取当前驾驶状态的全部或一部分以选择确认类型。例如,控制管理器可以获取可移动物体的当前每分钟转数(RPM),并且将该值用作伪随机数生成器的种子。每种确认类型可以与伪随机数生成器的可能输出值的不同范围相关联。当已获取基于当前驾驶状态的输出值时,可以确定对应的确认类型。每种确认类型可以与不同的一个或多个输入装置和/或驾驶员将使用一个或多个输入装置执行的动作相关联。例如,所述消息可以指示驾驶员要大声说出特定短语以确认驾驶模式切换,或者所述消息可以指示以特定顺序激活(例如,由驾驶员按下、轻击或以其他方式使用)输入装置的子集。因为确认类型是伪随机地选择的,因此所述确认对驾驶员而言不会变为常规,从而减小了在驾驶员不准备接管手动控制的情况下确认驾驶模式改变的可能性。
在接收到确认之后,然后驾驶状态监控器206可以基于当前驾驶状态来确定是否可以改变驾驶模式。可移动物体通过传感器106获取当前驾驶状态,所述当前驾驶状态可以包括:车辆的位置、速度、加速度、环境信息、驾驶行为、交通控制信息等。在一些实施例中,驾驶状态还可以包括驾驶员状态,比如驾驶员疲劳和准备就绪。驾驶员状态的示例可以包括驾驶员是否在驾驶员座椅上、以及驾驶员座椅的位置(例如,它是否直立)、驾驶员的安全带是否系紧等。
如果驾驶状态满足切换标准,则在514处,可以将驾驶模式从自主驾驶模式502切换到待切换状态504。如所讨论的,驾驶状态监控器206可以将当前驾驶状态与一个或多个切换标准进行比较,比如由车辆进行驾驶员疲劳检测并由车辆进行驾驶员准备检测。在一些实施例中,切换标准还可以包括驾驶条件、地形条件、环境条件等,比如在正在超车时、在特定的交叉口类型处、在当前位置处超过速度限制时,禁止模式改变。在一些实施例中,一些位置可以要求仅手动驾驶模式或仅自主驾驶模式。例如,市中心可以包括自主驾驶区和手动驾驶区。在一些实施例中,当确定当前驾驶状态满足切换标准时,可以向驾驶员提供第二确认提示(例如,通过显示在可移动物体中的控制台、HUD、仪表板或其他屏幕上的图形用户界面)。如果驾驶员未能在阈值时间量内做出响应来确认驾驶模式切换,则在512处,驾驶模式可以恢复到自主驾驶模式。
在阈值时间量内做出响应之后,可移动物体可以保持在待切换状态。在处于待切换状态时,可以要求一个或多个附加确认。例如,可以向驾驶员提供手动驾驶准备警告。该警告可以作为可听见的警告提供给驾驶员,以例如将座椅调整到驾驶位置、系紧安全带等。在一些实施例中,安全带被自动拉紧,且方向盘振动以指示正在将手动控制转变到驾驶员。该第二警告还可以要求驾驶员在阈值时间量内确认。在各种实施例中,确认可以要求输入装置的特定激活序列。该序列可以显示给驾驶员,并且仅在按所显示的序列激活了输入装置时,才能接收到确认。例如,在第二警告之后,如果驾驶员没有将他们的座椅调整为驾驶位置,则驾驶模式可以恢复到自主驾驶模式。类似地,如果驾驶员没有在特定位置(例如,方向盘正在振动的位置)处握住方向盘,则驾驶模式可以恢复为自主驾驶模式。在一些实施例中,可以要求驾驶员在连续的一系列位置(例如,方向盘正在振动的位置)处握紧方向盘以提供对驾驶准备就绪的确认。在一些实施例中,可以要求驾驶员按有声地向驾驶员指示而显示的序列踩下每个踏板,以确认驾驶员坐在能够到踏板的位置并且能在踏板上施加足够的力以安全地操作踏板。
在一些实施例中,自主驾驶单元可以在车辆已转变为手动驾驶模式之后继续操作。控制管理器可以识别与自主驾驶单元所生成的输入偏差超过阈值的手动输入。这种差异可以指示驾驶员正在以不安全的方式操作车辆。如果偏差持续了可配置的时间量,则控制管理器可以如上所述那样自动发起从手动驾驶模式到自主驾驶模式的驾驶模式切换。
在一些实施例中,在进入手动驾驶模式之后,如果驾驶员在预定时间量内和/或在预定情况下未提供任何驾驶输入,则控制管理器可以自动发起从手动驾驶模式到安全驾驶模式的驾驶模式改变。在一些实施例中,传感器106和/或通信系统120可以从其他可移动物体和/或交通基础设施接收驾驶状态数据。例如,车辆可以将其位置处的交通数据传送给道路上位于其后方的车辆。这样,如果交通即将发生改变(例如,由于事故而突然减速),则控制管理器可以拒绝改变可移动物体的驾驶模式。类似地,道路、灯杆、标志、交通信号灯或其他基础设施中包括的传感器可以同样地将驾驶状态信息传送给可移动物体,所述驾驶状态信息可以包括在关于是否允许改变驾驶状态的决策中。
在一些实施例中,在已拒绝驾驶模式切换之后,驾驶员可以通过做出第二驾驶模式切换请求来超控(override)控制管理器。在一些实施例中,第二驾驶模式切换请求可以要求来自驾驶员的附加凭证信息,比如在可以超控控制管理器之前对驾驶员身份的验证。当确认时,可以将驾驶模式改变为所请求的驾驶模式。在一些实施例中,超控拒绝改变驾驶模式可以迫使可移动物体在无限制的时间量内进入待切换状态。这有效地将可移动物体保持在控制管理器可以接收手动输入和自主输入两者的状态。在一些实施例中,该迫使的模式可以不与权重相关联,或者可以相等地对来自驾驶员和自主驾驶单元的输入进行加权。
图6示出了根据本发明的各种实施例的示例600驾驶员控制和反馈系统。如图6中所示,可移动物体可以包括各种输入装置118,比如方向盘602、踏板604、变速杆606以及一个或多个开关608。在一些实施例中,可移动物体可以包括一个或多个显示器,比如控制台显示器610、仪表板显示器608和抬头式显示器614。这些显示器中的每一个都可以用于向驾驶员提供反馈。例如,可以在控制台显示器610上显示要激活的输入装置的顺序,当驾驶员以所显示的顺序激活了装置时,可以切换驾驶模式。在一些实施例中,侧镜612和后视镜616还可以包括显示器或可以被配置为向驾驶员提供警告或通知。附加地,驾驶员的座椅可以包括一个或多个传感器618至620,这些传感器可以确定驾驶员的座椅的位置和/或驾驶员在驾驶员的座椅中的位置。在一些实施例中,传感器618至620可以通过比如振动向驾驶员提供触觉反馈,以向驾驶员警报即将发生驾驶模式的改变。
图7示出了根据本发明的各种实施例的示例驾驶状态700。如图7中所示,可移动物体102可以使用耦接到可移动物体的一个或多个传感器106来获取驾驶状态。例如,可移动物体可以在可移动物体104附近获取与其他可移动物体(例如,车辆702)相关的传感器数据。如所讨论的,可移动物体104可以包括LiDAR传感器704,利用LiDAR传感器704,可移动物体可以以与在其附近的其他物体的相对位置有关的精确信息为目标。使用其传感器,可移动物体可以确定其当前驾驶状态包括可移动物体的阈值距离内的另一车辆。附加地或备选地,可移动物体104可以确定其正被车辆702超车,或者可移动物体正在超越车辆702。在一些实施例中,车辆702可以通过通信系统120将附加驾驶状态传送给可移动物体102。例如,因为车辆702在可移动物体102的前方,因此其传感器可能已识别出即将到来的交通改变、道路改变或可移动物体102可以包括在其当前驾驶状态中的其他条件。在一些实施例中,交通基础设施(比如,交通信号灯706)可以类似地向可移动物体104提供附加驾驶状态。
图8示出了根据本发明的各种实施例的另一示例驾驶状态800。类似与图7中所示的示例,可移动物体102可以使用耦接到可移动物体的一个或多个传感器106来获取驾驶状态。例如,可移动物体102可以使用例如车道检测警告系统来检测可移动物体正在变道,所述车道检测警告系统可以在视觉上识别耦接到可移动物体的传感器106所捕获的图像数据中的车道标记。在一些实施例中,可以防止可移动物体在变道时改变驾驶模式。在一些实施例中,集成到道路中的传感器装置802(例如,作为反射器,或者以其他方式包含到道路表面中)可以将驾驶状态数据传送到可移动物体。驾驶状态数据可以包括例如与传感器装置的位置相关联的当前速度限制、传感器装置所在的道路的即将到来的交通数据、道路保持笔直的距离、或者到道路中的超过给定角度值的下一条弯道的距离、或者其他驾驶状态信息。当确定是否改变驾驶模式时,可移动物体102可以包括从传感器装置接收的驾驶状态信息。
图9示出了根据本发明的各种实施例的在可移动物体环境中切换驾驶状态的方法900的流程图。在902处,可以接收用于在自动驾驶车辆中将驾驶模式从第一模式切换到第二模式的请求,所述自动驾驶车辆包括多个传感器和多个车辆控件。在一些实施例中,在驾驶员在至少阈值时间量内未提供任何控制输入之后生成用于切换驾驶模式的请求,其中第二模式是使自动驾驶车辆安全停车的安全模式。在一些实施例中,用于将驾驶模式从第一模式切换到第二模式的请求是由通过多个车辆控件接收的输入生成的。
在904处,使用耦接到自动驾驶车辆的多个传感器来获取驾驶状态。在一些实施例中,驾驶状态可以包括位置、速度、加速度、环境信息、驾驶信息或交通信息中的一个或多个。在一些实施例中,多个传感器包括通信单元,以从不同的自动驾驶车辆或交通基础设施接收传感器数据。
在906处,确定驾驶状态满足切换标准。在一些实施例中,切换标准包括多个正切换标准和多个负切换标准。切换标准包括以下项中的一项或多项:当前环境的最大速度、驾驶时间、地形类型、交叉口类型、当前速度、距最近车辆的阈值距离或相对于最近车辆的当前运动。在一些实施例中,切换标准基于从不同的自动驾驶车辆或交通基础设施接收的传感器数据。
在908处,进入在其中激活第二模式的待切换状态。在待切换状态下,针对第一模式接收的控制输入与针对第二模式接收的控制输入进行组合以生成车辆控制输出。在一些实施例中,将针对第一模式和第二模式接收的控制输入进行组合可以包括:确定针对第二模式接收的控制输入的幅度大于阈值输入值;向针对第二模式接收的控制输入施加第一权重值,以获取第一加权控制输入;向针对第一模式接收的控制输入施加第二权重值,以获取第二加权控制输入,第二权重值大于第一权重值;以及基于第一加权控制输入和第二加权控制输入来生成车辆控制输出。
在910处,发送指示驾驶模式将从第一模式切换到第二模式的消息,所述消息包括取消选项。在912处,将驾驶模式从第一模式切换到第二模式。在一些实施例中,第一模式是手动驾驶模式,第二模式是自主驾驶模式,并且其中用于将驾驶模式从第一模式切换到第二模式的请求由车辆控制单元自动生成。
在一些实施例中,所述方法还可以包括:接收用于将驾驶模式从第二模式切换到第一模式的第二请求;获取第二驾驶状态;确定第二驾驶状态不满足第二切换标准;以及基于第二驾驶状态返回指示无法切换驾驶模式的警告。在一些实施例中,所述方法还可以包括:响应于警告而接收用于将驾驶模式从第二模式切换到第一模式的第三请求,第三请求超控警告;以及将驾驶模式从第二模式切换到第一模式。
图10示出了根据本发明的各种实施例的在可移动物体环境中切换驾驶状态的方法1000的流程图。在1002处,接收用于在自动驾驶车辆中将驾驶模式从自主模式切换到手动模式的请求,所述自动驾驶车辆包括多个传感器和多个车辆控件。在一些实施例中,用于将驾驶模式从自主模式切换到手动模式的请求是由通过多个车辆控件接收的输入生成的。
在1004处,发送指示已接收到用于切换驾驶模式的请求并请求确认的消息,所述确认基于自主模式。在一些实施例中,发送消息可以包括在自动驾驶车辆中的一个或多个显示器上显示该消息,并且经由一个或多个显示器接收确认。在一些实施例中,与确认相关联的确认类型可以由可移动物体进行选择。可以从与自主模式相关联的多个确认类型中选择确认类型。可以在显示在一个或多个显示器上的消息中显示确认类型,所述确认类型指示要激活多个车辆控件中的一个或多个车辆控件以提供确认。在一些实施例中,基于驾驶状态伪随机地选择确认类型。一个或多个显示器包括控制台显示器、仪表板显示器和抬头式显示器。
在1006处,可以接收对用于切换驾驶模式的请求的第一确认。在1008处,可以使用多个传感器来获取驾驶状态。在一些实施例中,驾驶状态包括位置、速度、加速度、环境信息、驾驶信息或交通信息中的一个或多个。在一些实施例中,驾驶状态还包括驾驶员疲劳信息和驾驶员准备信息。在1010处,确定驾驶状态满足切换标准。在一些实施例中,切换标准可以包括下项中的一项或多项:模式受限的地理区域、当前环境的最大速度、驾驶时间、地形类型、交叉口类型、当前速度、距最近车辆的阈值距离、或相对于最近车辆的当前运动。
在1012处,可以进入在其中激活手动模式的待切换状态。在待切换状态下,将针对自主模式接收的控制输入与针对手动模式接收的控制输入进行组合以生成车辆控制输出。在一些实施例中,将控制输入进行组合可以包括:确定针对手动模式接收的控制输入的幅度大于阈值输入值;向针对手动模式接收的控制输入施加第一权重值,以获取第一加权控制输入;向针对自主模式接收的控制输入施加第二权重值,以获取第二加权控制输入,第二权重值大于第一权重值;以及基于第一加权控制输入和第二加权控制输入来生成车辆控制输出。
在1014处,通过多个车辆控件向驾驶员提供机械反馈,机械反馈指示自动驾驶车辆正在驾驶模式之间切换,机械反馈基于待切换状态。在一些实施例中,提供机械反馈可以包括:选择与待切换状态相关联的多个车辆控件的子集;以及显示用于提供第二确认而要被激活的多个车辆控件的子集的顺序。在一些实施例中,机械反馈包括下项中的至少一项:将座椅调整到驾驶模式位置、系紧安全带、将踏板移动到驾驶模式位置、改变车窗色调、或者通过方向盘的触觉反馈。
在1016处,基于机械反馈来接收对用于切换驾驶模式的请求的第二确认。在一些实施例中,接收第二确认可以包括以所显示的顺序从多个车辆控件的子集中的每个车辆控件接收输入。在1018处,将驾驶模式从自主模式切换到手动模式。
在一些实施例中,所述方法还可以包括:使用多个传感器来获取新的驾驶状态;基于新的驾驶状态来检测模式切换状态;生成用于将驾驶模式从手动模式切换到自主模式的第二请求;以及发送指示已接收到用于切换驾驶模式的请求的第二消息,其中在手动模式下不需要确认。
在一些实施例中,所述方法还可以包括:在切换驾驶模式之后,监控通过多个车辆控件从驾驶员接收的多个手动控制输入;确定多个手动控制输入将使得自动驾驶车辆在安全操作参数之外进行操作;以及作为响应,将驾驶模式从手动模式切换到自主模式。
在一些实施例中,所述方法还可以包括:在将驾驶模式切换到手动模式之后,确定驾驶员在至少阈值时间量内未提供任何控制输入;以及将驾驶模式切换到使自动驾驶车辆安全停车的安全模式。
图11是根据本发明的各种实施例的计算装置的示例性图示。计算装置1100是包括许多不同部件的电子装置。这些部件可以被实现为集成电路(IC)、分立电子装置或适于电路板(比如,计算系统的主板或附加卡)的其他模块,或者被实现为以其他方式包含到计算系统的底盘内的部件。在一些实施例中,关于图11描述的部件的全部或一部分可以被包括在耦接到可移动物体的计算装置中。在一些实施例中,计算装置1100可以是可移动物体。还要注意的是,计算装置1100旨在示出计算系统的许多部件的高层视图。然而,应理解的是,在某些实施方式中可以存在附加部件,此外,在其他实现方式中可以出现所示部件的不同布置。
在一个实施例中,计算装置1100包括经由总线或互连1110互连的一个或多个微处理器1101、推进单元1102、非暂时性机器可读存储介质1103以及部件1104至1108。一个或多个微处理器1101表示一个或多个通用微处理器,比如中央处理单元(CPU)、图形处理单元(GPU)、通用图形处理单元(GPGPU)或其他处理装置。更具体地,微处理器1101可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其他指令集的微处理器或实现指令集的组合的微处理器。微处理器1101也可以是一个或多个专用处理器,诸如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。
一个或多个微处理器1101可以与诸如磁盘、光盘、只读存储器(ROM)、闪存装置和相变存储器的非暂时性机器可读存储介质1103(也被称为计算机可读存储介质)通信。非暂时性机器可读存储介质1103可以存储包括指令序列(比如,计算机程序)的信息,所述指令序列由一个或多个微处理器1101或任何其他装置单元执行。例如,可以将可执行代码和/或各种操作系统的数据、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用加载到一个或多个微处理器1101中并由一个或多个微处理器1101执行。
非暂时性机器可读存储介质1103可以包括用于实现以上关于至少车辆控制单元114及其各种部件(例如,控制管理器122、自主驾驶单元124、驾驶模型控制器204、控制输出管理器212、自主输入管理器216、驾驶员输入管理器218、驾驶员通信模块318等)描述的功能的全部或一部分的逻辑,其包括用于执行上文中所讨论的操作的指令和/或信息。根据本发明的各种实施例,非暂时性机器可读存储介质1103还可以存储计算机程序代码,计算机程序代码可由一个或多个微处理器1101执行,以执行在上文中在方法900和1000中所讨论的操作。
推进单元1102可以包括可操作以生成用于维持计算装置1100的受控移动的力的一个或多个装置或系统。推进单元1102可以共享或可以分别包括或可操作地连接到动力源,比如,马达(例如,电机、液压马达、气动马达等)、引擎(例如,内燃机、涡轮引擎等)、电池组等、或其组合。推进单元1102可以包括一个或多个致动器,以响应于从车辆控制单元接收到的指令(例如,电输入、消息、信号等)而控制可移动物体的各种部件。例如,致动器可以通过控制车辆驾驶系统内的各种阀、襟翼等来调节车辆驾驶系统128的流体流动、压力、空气流动和其他方面(例如,制动系统、转向系统等)。推进单元1102还可以包括一个或多个旋转部件,所述一个或多个旋转部件连接到电源并被配置为参与生成用于维持受控飞行的力。例如,旋转部件可以包括旋翼、螺旋桨、叶片、喷嘴等,旋转部件可以在轴、轮轴、轮子、液压系统、气动系统上或被配置为传递来自动力源的动力的其他部件或系统上受到驱动,或者被它们驱动。推进单元1102和/或旋转部件可以相对于彼此和/或相对于计算装置1100进行调整。推进单元1102可以被配置为在一个或多个垂直和水平方向上推进计算装置1100并允许计算装置1100围绕一个或多个轴旋转。也就是说,推进单元1102可以被配置为提供升力和/或推力以用于创建和保持计算装置1100的平移和旋转移动。
如图所示,计算装置1100还可以包括显示器控制器和/或显示装置单元1104、无线收发器1105、视频I/O装置单元1106、音频I/O装置单元1107和其他I/O装置单元1108。无线收发器1105可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其他射频(RF)收发器、或它们的组合。
视频I/O装置单元1106可以包括成像处理子系统(例如,相机),成像处理子系统可以包括诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器之类的光学传感器,该光学传感器用于促进相机功能,比如记录照片和视频剪辑以及会议。在一个实施例中,视频I/O装置单元1106可以是4K相机/摄像机。
音频I/O装置单元1107可以包括扬声器和/或麦克风以促进语音使能功能,比如语音识别、语音复制、数字记录和/或电话功能。其他装置单元1108可以包括存储装置(例如,硬盘驱动器、闪存装置)、通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥接器(例如,PCI-PCI桥接器)、传感器(例如,诸如加速度计、陀螺仪、磁力计、光传感器、指南针、近距离传感器之类的运动传感器)或它们的组合。根据计算装置1100的具体配置或设计,装置单元1108还可以包括经由传感器集线器(未示出)耦接到互连1110的某些传感器,而诸如热传感器、高度传感器、加速度计和环境光传感器之类的其他装置可以由嵌入式控制器(未示出)控制。
本发明的许多特征可以以硬件、软件、固件或它们的组合的形式执行,或者使用硬件、软件、固件或它们的组合执行,或者借助于硬件、软件、固件或它们的组合执行。因此,可以使用处理系统(例如,包括一个或多个处理器)来实现本发明的特征。示例性处理器可以包括但不限于:一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、图形处理单元、物理处理单元、数字信号处理单元、协处理器、网络处理单元、音频处理单元、加密处理单元等。
本发明的特征可以以计算机程序产品的形式、或者使用计算机程序产品、或者借助于计算机程序产品实现,计算机程序产品是具有存储在其上/内的指令的存储介质(媒介)或计算机可读介质(媒介),这些指令可以用于对处理系统进行编程以执行本文陈述的任何特征。存储介质可以包括但不限于:任何类型的盘,包括:软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存装置、磁卡或光卡、纳米系统(包括分子存储器IC)、或者适于存储指令和/或数据的任何类型的介质或装置。
存储在任何一种机器可读介质(媒介)上的本发明的特征可以并入软件和/或固件中,用于控制处理系统的硬件,并且用于使处理系统能够利用本发明的结果与其他机构进行交互。这种软件或固件可以包括但不限于应用代码、装置驱动程序、操作系统和执行环境/容器。
本发明的特征还可以例如使用诸如专用集成电路(ASIC)和现场可编程门阵列(FPGA)装置之类的硬件部件以硬件实现。实现硬件状态机以执行本文中所描述的功能对于相关领域的技术人员将是显而易见的。
此外,可以使用包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质的一个或多个常规通用或专用数字计算机、计算装置、机器或微处理器,来方便地实现本发明。编程技术人员可以基于本公开的教导容易地准备适当的软件编码,这对软件领域的技术人员将是显而易见的。
尽管上面已描述了本发明的各种实施例,但是应理解的是,它们仅是作为示例而不是限制来提出的。对本领域普通技术人员将显而易见的是,在不脱离本发明的精神和范围的情况下,可以进行形式和细节上的各种改变。
以上已在功能构建块的辅助下描述了本发明,这些功能构建块示出了指定功能及其关系的执行。为便于描述,在本文中通常任意定义这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义备选边界。因此任何这样的备选边界都在本发明的范围和精神之内。
已提供了本发明的上述描述,用于说明和描述的目的。这并不旨在穷举或将本发明限制于所公开的确切形式。本发明的宽度和范围不应当受到上述示例性实施例中任意一个的限制。许多修改和变化对本领域普通技术人员将是显而易见的。这些修改和变化包括所公开的特征的任意相关组合。对实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明的各实施例以及适于预期特定用途的各种修改。意图在于,本发明的范围由所附权利要求及其等同物限定。
在上述各种实施例中,除非另外特别指出,否则诸如短语“A、B或C中的至少一个”之类的分离性语言旨在被理解为意指A、B或C中任一个或它们的任意组合(例如,A、B和/或C)。因此,分离性语言不意图也不应理解为暗示给定实施例要求存在至少一个A、至少一个B或者至少一个C。