本公开大体上涉及车辆驾驶领域,并且更具体地,涉及自主车辆牵引。
背景技术:
以完全自主模式驾驶机动车辆可能需要车辆上的大量计算能力。例如,完全自主车辆可能具有多个互连的计算机,这些计算机需要大量的存储器和相对高的处理速度。为了以完全自主模式运行,这些计算机可以被配置为确定和执行路径和轨迹规划,例如使用定位数据以及来自多个实时车辆传感器的输入,以避免与道路上的静止物体、行人和其他车辆发生碰撞。与非自主车辆或仅以部分自主模式运行的车辆的计算负担相比,所产生的计算负担相对较高。
技术实现要素:
根据第一示例,描述了一种计算机,其可以被编程为:指示主车辆跟随引导车辆;监视引导车辆的驾驶行为;并基于引导车辆的异常驾驶动作指示主车辆停止跟随引导车辆。
根据另一示例,所述计算机还可以被编程为在执行跟随引导车辆的指令之前:向多个目标车辆发送跟随请求;并且基于对跟随请求的响应从多个目标车辆中选择引导车辆。
根据另一示例,响应包括一个或多个标准,该一个或多个标准包括:引导车辆的预定路线数据、引导车辆的接近度数据、与引导车辆相关联的驾驶者资格数据或与引导车辆相关联的费用数据,其中跟随引导车辆的指令基于所述一个或多个标准中的至少一个。
根据另一示例,计算机还可以被编程为在执行跟随引导车辆的指令之前:向多个目标车辆发送跟随请求;从相应的多个目标车辆接收多个响应;并且基于包括在所述多个响应中的至少一个内的预定路线数据来选择引导车辆。
根据另一示例,计算机还可以被编程为,响应于检测到异常驾驶动作,向多个目标车辆发送跟随请求、基于对跟随请求的响应来选择新的引导车辆并且指示主车辆跟随新的引导车辆。
根据另一个示例,监测驾驶行为还可以包括在主车辆处监测引导车辆是否遵循先前由引导车辆提供的预定路线,其中异常驾驶动作包括与预定路线的路线偏差。
根据另一示例,监测驾驶行为还可以包括在主车辆处监测引导车辆是否遵循先前由引导车辆提供的预定路线,其中异常驾驶动作包括与预定路线的路线偏离大于预定阈值。
根据另一示例,计算机还可以被编程为在执行停止跟随引导车辆的指令之后,指示主车辆在自主模式下停车。
根据另一示例,计算机还可以被编程为在监测引导车辆的驾驶行为之后,在主车辆移动的同时向主车辆的驾驶员提供在主车辆处禁用自主牵引模式的通知。
根据另一示例,计算机还可以被编程为确定主车辆已经到达预定目的地,并且基于该确定,指示主车辆停车。
根据另一示例,计算机还可以被编程为确定主车辆正在接近预定目的地,并且基于该确定,向主车辆的驾驶员提供通知,以在主车辆处禁用自主牵引模式。
根据第二示例,描述了一种计算机,其可被编程为:指示主车辆以自主牵引模式跟随第一车辆;在跟随第一辆车的同时广播跟随请求;基于接收到来自第二车辆的对跟随请求的响应,指示主车辆在自主牵引模式下跟随第二车辆。
根据另一示例,所述计算机还可以被编程为在执行跟随第一车辆的指令之前:将早前的跟随请求发送到多个目标车辆;并且基于接收到对早前的跟随请求的响应,从多个目标车辆中选择第一车辆。
根据另一示例,计算机还可以被编程为:存储主车辆目的地并且存储由第一车辆提供给主车辆的第一预定路线,其中所述第一预定路线当至少部分被所述主车辆遵循时使主车辆向目的地前进。
根据另一示例,计算机还可以被编程为基于由第二车辆提供给主车辆的第二预定路线指示主车辆跟随第二车辆,其中所述第二预定路线在至少部分被主车辆遵循时:使主车辆比继续遵循第一预定路线更靠近目的地前进、使主车辆比至少部分遵循第一预定路线更快地朝目的地前进,或两者都有。
根据另一示例,计算机还可以被编程为确定第一车辆的异常驾驶动作,并且响应于确定异常驾驶动作执行以下操作中的至少一个:选择第三车辆并指示主车辆在自主牵引模式下跟随第三车辆;指示主车辆停车;或将主车辆的至少一些车辆控制移交到用户。
根据另一个示例,计算机还可以被编程为确定第一车辆的异常驾驶动作,其中异常驾驶动作包括与先前由第一车辆提供的预定路线的路线偏差大于预定阈值。
根据另一示例,计算机还可以被编程为确定主车辆已经到达预定的目的地,并且基于该确定,指示主车辆停车。
根据另一示例,计算机还可以被编程为确定主车辆正在接近预定目的地,并且基于该确定,向主车辆的驾驶员提供在主车辆处禁用自主牵引模式的通知。
根据另一个示例,响应可以包括多个标准,其包括:第二车辆的预定路线数据、第二车辆的接近度数据、与第二车辆相关联的驾驶者资格数据以及与第二车辆相关联的费用数据,其中跟随第二车辆的指令基于多个标准中的至少一个。
上文和此处描述的计算机编程指令中的任一个可以作为方法或过程来执行。类似地,上面和这里描述的任何方法或过程可以作为可由例如车辆计算机的计算设备执行的指令来执行。此外,上述任何示例可以彼此以任何合适的组合使用。
附图说明
图1是示出与多个目标车辆通信的主车辆的示意图;
图2是示出图1所示的主车辆的说明性地图和预定目的地的示意图;
图3是示出了图2的说明性地图的示意图,进一步示出了几个目标车辆的预定路线;
图4是示出主车辆自主跟随至少一个目标车辆的过程的流程图。
具体实施方式
参考附图,其中相同的附图标记在几个视图中表示相同的部件,示出了包括自主牵引系统12的主车辆10。在自主驾驶期间,自主牵引系统12可以通过有效地将与车辆路径规划、车辆轨迹规划有关的计算的责任转移到执行这些计算的引导车辆(例如引导车辆以完全自主模式或由驾驶员操作)来最小化操作主车辆10(其否则可以以完全自主模式运行)所需的一些计算需求。因此,为了使主车辆10到达预定的目的地,车辆10可以被编程为以自主牵引模式操作,从而跟随引导车辆的动作(例如加速、减速、停止、转向、发信号等)和/或对来自引导车辆的关于其即将到来的行动的车辆到车辆通信做出反应。
此外,当主车辆10由引导车辆自主牵引时,引导车辆可以不需要离开其道路以将主车辆10送到其期望的目的地。例如,主车辆10可以重复地监测道路13上的其他潜在引导车辆,例如搜索可以帮助主车辆10更迅速地(例如更直达的路线)到达其目的地和/或可以帮助主车辆10更靠近其目的地(例如如果引导车辆不去或者不经过目的地)的其他潜在引导车辆。也就是说,主车辆10可以被编程为切换并跟随第二(或第三、第四,...)引导车辆以自主地牵引整段距离到其目的地。如将在下面更详细地解释的,主车辆10的牵引系统12尤其可以包括:用于做出与自主牵引过程相关联的确定的至少一个车载计算机14、用于与一个或多个潜在引导车辆18、20、22通信的无线通信模块16、用于接收用户输入和/或向车辆用户(未示出)提供牵引相关输出的人机界面(hmi)模块24以及通过提供导航相关数据来支持计算机14的导航系统26。
主车辆10(以及车辆18-22)可以是乘用车或任何其他合适的车辆。例如,这包括包含车载计算机14的任何合适的卡车、运动型多用途车辆(suv)、休闲车辆、船舶、飞机、轨道和/或轮式军用和/或重型设备车辆等。车辆10可以以一种或多种自主模式操作,诸如上面讨论的自主牵引模式。例如,汽车工程师协会(sae)已经将自主模式操作定义为多个不同级别(例如级别0-5),其中在级别0-2,驾驶员通常在没有车辆10的帮助的情况下监视或控制大部分驾驶任务。例如,在0级别(“非自动化”),人类驾驶员负责所有车辆操作。在级别1(“驾驶员辅助”)中,车辆10有时辅助转向、加速或制动,但驾驶员仍然负责绝大多数车辆控制。在等级2(“部分自动化”)下,车辆10可以在某些情况下控制转向、加速和制动而无需人为干预。在级别3-5,车辆10承担更多驾驶相关任务。在级别3(“有条件自动化”)下,车辆10可以在某些情况下处理转向、加速和制动以及监测驾驶环境。然而,级别3可能需要驾驶员偶尔进行干预。在级别4(“高度自动化”)下,车辆10可以处理与级别3相同的任务,但不依赖于驾驶员干预某些驾驶模式。在级别5(“全自动”)下,车辆10可以处理所有任务,而无需驾驶员干预。
在至少一个示例中,替代地或除了上述水平之外,主车辆10可以以可以是级别4和5的混合的自主牵引模式操作。在进入该模式之前,用户可以创建或输入自动牵引模式设置,例如配置用户可调节的参数(在下面更详细地描述)。然后,用户可以选择性地进入自主牵引模式,例如通过经由hmi模块24进行选择。此外,一旦从用户的角度选择了自主牵引模式,则当车辆10朝向其目的地移动时,主车辆10可以呈现以完全自主模式操作(例如呈现模仿5级自主;例如不需要用户交互)。然而,在计算层面上,主车辆10可以执行与在完全自主模式下操作时通常所需的一个或多个不同算法、例程、传感器数据收集和分析等。更具体地,在计算层面上,在自主牵引模式下操作主车辆10可能需要较少的存储器和较少的处理能力,或者替代地,利用较少的现有临时存储器并为其他车辆操作保留现有的处理能力。下面将更详细地描述该自主牵引模式(参见过程400,图4)。
如图1所示,主车辆10可以包括能够在诸如计算机14、无线通信模块16、hmi模块24、导航系统26等电子设备之间进行通信的任何合适的有线或无线网络连接28。在至少一个示例中,网络连接28包括控制器局域网络(can)总线、以太网、本地互连网络(lin)等中的一个或多个。其他的示例也存在。例如,替代地或者与例如can总线组合,网络连接28可以包括一个或多个分立的有线或无线连接。
计算机14可以是单个计算机(或多个计算设备—例如与其他车辆系统和/或子系统共享)。在至少一个示例中,计算机14是自主牵引控制模块;但是,这仅仅是一个示例。计算机14可以包括联接到存储器34的处理器或处理电路32。例如,处理器32可以是能够处理电子指令的任何类型的设备,包括微处理器、微控制器或控制器、专用集成电路(asic)等的非限制性示例—仅举几例。通常,计算机14可以被编程为执行可以存储在存储器34中的数字存储的指令,所述指令使得计算机14尤其能够:从主车辆用户接收预定的目的地数据(例如经由hmi模块24);指示无线通信模块16向潜在的引导车辆18-20(例如以下称为目标车辆18-20)广播跟随请求;接收来自一个或多个目标车辆18-20的响应;基于接收到的响应中的一个或多个标准从目标车辆18-22中选择引导车辆;指示主车辆10跟随引导车辆(例如引导车辆18);在跟随引导车辆18的同时广播另外的跟随请求;接收一个或多个响应(例如可能来自不同的目标车辆);基于接收到的响应中的标准,选择并跟随新的引导车辆(例如从这些目标车辆中);并且当主车辆10到达用户的预定目的地时,指示主车辆10停止跟随当前的引导车辆。
存储器34可以包括任何非暂时性计算机可用或可读介质,其可以包括一个或多个存储设备或物品。示例性的非暂时性计算机可用存储设备包括常规计算机系统ram(随机存取存储器)、rom(只读存储器)、eprom(可擦除可编程rom)、eeprom(电可擦除可编程rom)以及任何其他易失性或非易失性介质。非易失性介质包括例如光盘或磁盘以及其他持久性存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(dram)。计算机可读介质的常规形式包括,如软盘、柔性盘、硬盘、磁盘、任何其他磁性介质、cd-rom、dvd、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、ram、prom(可编程只读存储器)、eprom、flash-eeprom(闪速电可擦除可编程只读存储器)、任何其他存储器芯片或盒,或者任何其他计算机可读取的介质。如上所述,存储器34可以存储一个或多个可以体现为软件、固件等的计算机程序产品,包括但不限于自主牵引模式计算机程序产品。
无线通信模块16可以是被配置成与其它电子设备无线通信的任何合适的远程信息处理设备,即与其他车辆(例如目标车辆18-22)无线通信。这样的无线通信(例如通常被称为车辆到车辆(v2v)通信)可以包括使用蜂窝技术、短程无线通信技术或其组合。因此,例如,模块16可以利用使得justworkstm或其他合适配对技术能够与目标车辆18-22通信的蓝牙低能量(ble)协议。通常,模块16可以充当网关设备,例如将ble通信转换成合适的串行数据,以通过网络连接28传输到计算机14,反之亦然。因此,使用网络连接28,如下面将要解释的,模块16可以从计算机14接收跟随请求消息指令,响应于该指令经由任何合适的协议发送或广播跟随请求消息,然后从目标车辆18-22接收一个或多个相关联的响应消息,并随后将响应消息提供给计算机14进行评估。
如下面将更详细地描述的,计算机14可以使用这样的v2v通信来选择引导车辆,以在自主牵引模式下跟随以及在自主牵引期间保持与引导车辆的通信。例如,使用v2v,引导车辆可以向主车辆10指示其打算在前面的指定街道处左转或右转、它正在并入前面的另一个行车道、引导车辆打算通过前面的黄色交通灯、引导车辆偏离原来的预定路线以及为什么引导车辆偏离原来的预定路线(例如事故、交通繁忙、引导车辆改变了预定的目的地等),仅举几个非限制性示例。
人机界面(hmi)模块24可以包括例如在主车辆10的仪表板、方向盘等上的通信地联接到计算机14的任何合适的输入和/或输出设备,例如开关、旋钮、控制器等。在一个非限制性示例中,hmi模块24可以包括向车辆用户提供导航信息(例如包括文本、图像等)的交互式触摸屏或显示器,该交互式触摸屏或显示器允许用户输入或调整与自主牵引模式相关联的参数,使用户能够选择期望的目的地,并且如下面将更详细地解释的,使得用户能够脱离或退出与特定引导车辆相关联的自主牵引模式。
导航系统26包括用于确定主车辆10的位置数据和/或前进方向数据的任何合适的电子设备。系统26的非限制性示例包括全球定位系统(gps)单元和全球导航卫星系统(glonass)设备。如下所述,导航系统数据可以由计算机14接收,并且可以用于:预定到用户请求的目的地的路线;确定多个目标车辆路线中的哪一个最适合于主车辆10遵循;并识别主车辆10何时处于或接近其期望的目的地。
因此,主车辆10可以包括便于在自主模式下操作的多个额外的机械和/或电气系统、控制系统等(此处未示出或者未在此详细描述),所有这些都是本领域已知的。这样的系统的非限制性示例包括向车辆10的车轮提供向前和/或向后推进的动力传动系统、提供向右、向左转弯能力的转向系统、减慢或停止主车辆10的制动系统、用于定位并识别道路13中相对于主车辆10的其它物体(例如包括其他车辆、道路障碍物等)的物体检测系统、能够车道监测、物体追踪、物体跟随(例如引导车辆之后)的数字成像系统等。这个列表并不是限制性的,只是为了说明的目的而提供的。这些和其他系统中的每一个可以接收任何合适的传感器数据并且利用一个或多个软件算法中的这个数据来执行其指定的功能。在一个非限制性示例中,主车辆10从车载传感器接收激光雷达数据、雷达数据和/或摄像机数据,并且执行追踪和跟随引导车辆的自主牵引模式算法(例如在视线内(los))—例如,在安全距离上在后方跟随引导车辆。这种引导-跟随算法是已知的,并且在此不再详细描述。
图1还示出了许多其他通信组件,例如短程无线收发器40,其可以被联接到任何合适的道路或路边基础设施(例如以促进所谓的车辆到基础设施(v2i)通信)。收发器40可以联接到陆地通信网络42,陆地通信网络42也可以联接到无线通信网络44。陆地通信网络42可以实现到公共交换电话网络(pstn)的连接,例如用于提供硬连线电话、分组交换数据通信、互联网基础设施等。无线通信网络44可以包括卫星通信架构和/或可以包括在广泛的地理区域上的蜂窝电话通信。因此,在至少一个示例中,网络44包括可以包括enodeb(演进基站)、服务网关、基站收发器等的任何合适的蜂窝基础设施。此外,网络44可以利用任何合适的现有或未来的蜂窝技术(例如包括lte(长期演进技术)、cdma(码分多址)、gsm(全球移动通信系统)等)。v2i40、陆地通信网络42和无线通信网络44在本领域中通常是已知的,在此不再进一步描述。应当理解的是,v2v通信也可以利用v2i40,例如其中v2i40在所谓的轴辐式网络中用作无线接入点(wap)或集线器并且车辆10、18-22是轮辐(spoke)。
在至少一些示例中,移动设备50也可以与主车辆10一起使用,例如用于请求自主出租车(例如像挥手招呼出租车一样招呼引导车辆)以向计算机14提供用户期望目的地的指示(例如在进入车辆10之前)等。因此,在至少一个示例中,设备50可以经由无线通信模块16与车辆10(和计算机14)通信。移动设备50的非限制性示例包括蜂窝电话、个人数字助理(pda)、智能电话、具有双向通信能力(例如经由陆地和/或无线连接)的笔记本电脑或平板电脑、上网本计算机等。
现在转到图2-3,主车辆10和目标车辆18-22被显示为在道路13上行驶。更具体地,图2示出了主车辆10的当前位置51(例如由计算机14经由导航系统26接收到的位置数据)和车辆用户的预定目的地位置52(例如经由hmi模块24、移动设备50等在计算机14处接收到的)。位置51、52可以存储在存储器34中。还示出位置51、52之间的建议路线54,其可以由导航系统26基于用户的目的地输入数据生成,并且然后可以被提供并存储在存储器34。在许多情况下,该路线54可以是主车辆10可以行驶到达目的地52的最直接路径(例如需要最少里程的路线)。但是,也存在其他示例。例如,路线54可能不总是最短的距离;相反,建议的路线54可以由导航系统26确定为最快的(例如位置51、52之间的最快速路径)。如本领域技术人员将理解的,路线的更快速性可以基于多个因素:总里程、沿建议路线54的可允许速度限制、交通量、沿着路线的车辆事故的存在、临时封闭的道路等等。在一些情况下,导航系统26可以确定多于一个的路线,例如等距的多个路线、相同快速的多个路线等。
图3示出了与图2所示的相同位置处的相同的示例性道路13和相同的车辆10、18-22。然而,图3示出了目标车辆18-22的预定路线56、58、60(例如车辆18-22可以先前已经确定了要遵循的路线或到他们各自的目的地的路线)。路线56-60可以基于输入到这些车辆18-22中的每一个上的计算机中的导航数据(例如类似于上述导航系统26)、或者路线56-60可由相应车辆18-22上的计算机预定、或者路线56-60可以是预先配置的路线(例如像公共汽车路线)。这些仅仅是示例;其他路线类型也可以使用。不管类型如何,各个目标车辆18-22可以具有某种形式的预定路线。如下面将要解释的,当主车辆10提出跟随请求时,这些车辆18-22中的每一个可以利用预定的路线数据等来响应。在图3中,示出的不响应跟随请求的车辆可能不具有预定的路线数据、可能不希望响应主车辆的跟随请求等,例如不是所有位置接近的车辆都可能是主车辆10的潜在引导车辆。
现在转到图4,示出了主车辆10使用自主牵引模式跟随目标车辆18-22中的至少一个的过程400。在框410中,主车辆10广播跟随请求—例如,计算机14指示无线通信模块16发送指示主车辆10希望进入通过使另一车辆(至少部分地)将其引导到预定的目的地52(也参见图2-3)的自主牵引模式的无线消息(例如经由wi-fi(无线保真技术)、蓝牙、ble等)。如上所述,跟随请求可以由主车辆10的车辆用户发起;例如用户可以经由hmi模块24、移动设备50等提供目的地数据。进而,计算机14可以指示无线通信模块16根据任何合适的无线协议向一个或多个潜在的引导车辆广播跟随请求。
响应于跟随请求,主车辆10可以从无线传输的接收范围内的潜在车辆接收一个或多个响应(框420)。如果没有接收到响应,则过程400可以循环返回并重复框410。仅为了说明的目的而不是限制,在框420中,可以从每个目标车辆18-22接收响应。这些响应中的每一个可以包括一个或多个自主牵引标准,包括但不限于:预定路线数据、接近度数据、驾驶员资格数据和/或费用数据。在至少一个示例中,在响应中仅提供预定的路线数据;然而,在其他示例中,在至少一个响应中提供预定路线数据和一个或多个附加标准。
如本文所使用的,预定路线数据是关于相应目标车辆打算行驶(例如以到达其期望目的地)的路径的数据。例如,预定路线数据可以包括相应目标车辆打算在其上行驶的街道、公路等的段、沿着每个段行驶的距离、向右和/或向左转弯到不同段等。预定路线数据还可以包括定义行驶路径的多个路途点或者到相应目标车辆的目的地的任何其他合适的导航手段。提供给主车辆10的预定路线数据不需要包括相应目标车辆的整个行程—例如,其可以仅包括至少包含位置51和目的地位置52之间的路径的合适部分的路线数据。
如本文所使用的,接近度数据是相应的目标车辆与主车辆10的相对邻近度的指示。例如,接近度数据可以包括前进方向数据(例如方向和/或速率/速度)和相应目标车辆的位置数据(例如维度和经度坐标),使得计算机14能够确定相应目标车辆的相对邻近度。使用接近度数据,邻近度可以由计算机14根据距离、时间或其组合来确定。在至少一个示例中,所接收的接近度数据被用于确定时间上的相对邻近度—例如直到相应的目标车辆从相应的目标车辆的当前位置到达主车辆10的持续时间,例如表示车辆10的自主牵引可以开始的最快时间。
如本文所使用的,驾驶员资格数据是与相应目标车辆的驾驶员相关联的任何信息。该信息可以包括与人类驾驶员相关联的交通违章历史、与相应目标车辆相关联的事故的数量、与相应的人类驾驶员相关联的事故的数量、自主牵引经历的持续时间(例如小时数、月数、年数等)等等—这些只是示例;还存在其他的示例。因此,驾驶员可以是一个或多个计算机和/或人类。在至少一个示例中,驾驶员资格数据包括驾驶风格的评级—例如,侵略性的、中性的、被动的等,例如其可以用于目标车辆选择过程(框430,如下所述)。
如本文所使用的,费用数据是与从引导车辆向主车辆10的用户发出的用于执行自主牵引服务的货币费用相关联的任何信息。因此,费用数据可以包括用于将主车辆10自主地牵引到或者朝向其预定目的地52的估计费用。如下面所解释的,费用数据可以关于或可以不关于用于牵引车辆10位置51、52之间的整个距离的费用。
在接下来的框430中,主车辆10中的计算机14可以从响应于跟随请求从多个目标车辆中选择引导车辆(例如继续上面的示例,从目标车辆中选择引导车辆18-22)。该选择可以基于在框420处在响应中接收到的一个或多个自主牵引标准。在至少一个示例中,计算机14评估由每个车辆18-22提供的预定路线数据,并将每个目标车辆18-22的预定路线56-60与建议路线(例如54)进行比较。在这个简化的示例中,车辆18-22中的每一个都靠近(或将要经过)主车辆10,并且如果主车辆10跟随,将使主车辆更靠近其目的地52。例如,路线58可以使主车辆10前进从位置51到位置52的距离大约66%,而路线60可以使主车辆10前进从位置51到位置52的距离的大约33%;然而,如果主车辆10跟随目标车辆20、22中的一个,则既不偏离其预期路径,也将自主地将车辆10一直牵引到目的地52。因此,在至少一个示例中,主车辆10可以选择目标车辆18牵引或引导它(因此现在称为引导车辆18),因为其路线56可以使主车辆10前进从位置51到位置52的整个距离。因此,如这里所使用的,引导车辆是潜在的目标车辆,其响应来自主车辆10的跟随请求,并且由计算机14选择以在两个位置(例如51、52)之间跟随其行程的至少一部分。
在框430中(作为引导车辆选择过程的一部分),计算机14也可以评估其他自主牵引标准—而不是由各个目标车辆提供的预定路线数据是否包括位置51、52或者除此之外还评估其他自主牵引标准。例如,计算机14可以考虑在位置51、52之间行驶的距离,例如虽然在图2-3中未示出,但是两个不同的目标车辆都可以经过位置51、52;然而,一个可以更直接地从位置51行驶到位置52,而另一个可以行驶更长的路线。
由计算机14考虑的另一个标准可以是位置51、52之间的自主牵引模式行程时间。继续两个不同目标车辆的每一个都在位置51、52之间行驶的示例,计算机14可以选择可能首先到达目的地52的目标车辆。例如,计算机14可以使用导航系统26和/或其他合适的数据来计算两个相应目标车辆的预期行驶时间。该确定可以包括或不包括交通量计算、评估沿着一条或两条建议的路线的事故信息等。因此,在至少一些情况下,位置51、52之间的最短距离可能不是最快的,并且计算机14可以被编程来选择提供最快速路线的目标车辆。
在框430中由计算机14考虑的另一个标准可以是在目标车辆18-22的响应内发送的接近度数据。例如,替代地或除了上述确定之外,计算机14可以确定车辆18-22中的每一个到达其位置51需要多长时间—例如,以便其可以开始自主牵引。因此,计算机14可以被编程为选择可能最快到达位置51的目标车辆。
计算机14在框430中考虑的另一个标准可以是驾驶员资格数据。例如,主车辆10的车辆用户可以使用hmi模块24(或移动设备50)预先配置了自主牵引模式设置;并且这些设置可以被存储在计算机存储器34中。例如,这些设置可以使得用户能够调整与引导车辆选择相关联的参数,该参数包括(潜在引导车辆的驾驶员的)阈值交通违章历史、与相应的目标车辆相关联事故的阈值数量、与相应的人类驾驶员相关联的事故的阈值数量、相应的人类驾驶员的自主牵引经历的阈值持续时间、相应的人类驾驶员的阈值驾驶风格等。为了说明而不是限制,存储在存储器34中的参数可以包括“过去三年的交通0违章”、“与任何目标车辆相关联的0事故”、“与任何目标车辆人类驾驶员相关的0事故”、“自主车辆牵引经验的最小1000小时”以及“被动的驾驶风格”。
计算机14在框430中考虑的另一个示例性标准可以是费用数据。例如,主车辆10的用户也可以在自主牵引模式设置中预先配置费用参数。因此,计算机14可以将从潜在引导车辆接收的费用数据与所存储的参数进行比较。费用参数的非限制性示例包括每英里的最大费用、预先配置的行程的最大费用(例如从位置51到位置52,其可以是例如从机场到本地旅馆等)等等。因此,计算机14可以不选择具有比阈值更大(或者甚至更小)的费用数据的潜在引导车辆。
在至少一个示例中,计算机14基于这些标准的任何适当组合来选择引导车辆(例如目标车辆18)—此外,计算机14可以权衡比其他标准更重的一些标准。赋予目标车辆路线参数、目标车辆接近度参数、各个目标车辆的驾驶员资格参数、各个目标车辆的费用参数等的权重可以或不可以由车辆用户在自主牵引模式设置中预先配置。在至少一个非限制性示例中,可以考虑来自目标车辆18-22的多个标准来确定位置51、52之间的最快速的行程。
一旦引导车辆18被选择,过程400可以继续框440。在框440中,计算机14可以指示主车辆10进入自主牵引模式并跟随所选择的引导车辆18。此外,在框440,计算机14开始监测引导车辆18的驾驶行为—例如,因为其跟随它。监测引导车辆18包括任何感测监测,例如使用激光雷达、雷达和/或摄像机监测技术等。例如,如下所述,计算机14可以监测车辆18的任何异常驾驶动作。其还可以包括监测从引导车辆18到主车辆10的v2v通信,例如包括但不限于来自引导车辆18的改变其路线56、更新其目的地等的通信。
在框440之后,过程400接下来可以执行与框450和/或460(每个都可以包括多个子框)相关联的指令。从下面的讨论中可以明显看出,框450、460可以至少部分同时发生。每个将依次讨论。
关于框450的子框450a,计算机14可以确定在引导车辆18处是否发生了异常驾驶动作。如果发生了异常驾驶动作,则过程400可以前进到子框450b,并且如果没有发生异常驾驶动作,则过程400可以循环回到框440并且继续监测引导车辆18的驾驶行为。框440和框450a的循环可以重复地发生。如本文所使用的,异常驾驶动作包括在自主牵引期间由计算机14确定危及车辆用户或主车辆10的安全的任何驾驶动作和/或由计算机14确定是引导车辆18从其预定路线(例如之前在其响应中提供的,框420)偏离超过阈值的指示的任何驾驶动作。可能危及车辆用户或主车辆10的安全的驾驶动作的非限制性示例包括:引导车辆18超出道路13上的最大标示速度限制;引导车辆18超过由车辆用户配置的最大速度(例如在自主牵引模式设置中);引导车辆18在道路13上过分地改变车道(例如在道路13的预定距离内改变车道的次数超过阈值次数);引导车辆18显示表示不希望的驾驶风格的行为(例如驾驶员资格数据指示的引导车辆驾驶风格是“被动的”,然而驾驶动作表明驾驶风格目前是“侵略性的”);引导车辆18未能在红色交通灯停下;引导车辆18未能停在黄色交通灯处,并且主车辆10不能安全地从中通过;引导车辆18在行车道内迂回前进(例如暗示引导车辆的人类驾驶员昏昏欲睡、喝醉等)。
可以指示引导车辆18从其预定路线偏离多于阈值(即路线偏差)的驾驶动作的非限制性示例包括:与框420的响应中提供的预定路线数据的任何偏离,例如允许零路线偏差的阈值;与在框420的响应中提供的预定路线数据的任何偏差大于计算机确定的阈值或用户定义的阈值(例如先前在自主牵引模式设置中配置的);在引导车辆18作出偏离之前(例如可能需要或不需要主车辆确认/接受),引导车辆18与预定路线的任何偏离没有通过引导车辆通信到主车辆10(例如经由v2v通信);和/或引导车辆18已经改变其目的地并将不再遵循框420中提供的预定路线数据的任何v2v通信。计算机确定的或用户定义的阈值可以基于增加的行驶距离、增加的行驶时间等。因此,阈值可以是行驶额外1英里,或行驶额外5分钟等;因此,大于这个量的偏差可以触发计算机14识别异常的驾驶动作。在至少一个示例中,计算机14可以通过引导车辆18观察路线偏差,确定(使用来自导航系统26的数据)路线偏差的原因是由于临时道路延迟(例如封闭的道路、涉及其他车辆的车辆事故、交通量大等),并相应地确定偏差不是异常驾驶动作;因此,计算机14可以循环回来并且重复框440(而不是进行到子框450b)。
在至少一个示例中,异常驾驶动作可以被分类为软异常驾驶动作或者硬异常驾驶动作。例如,当由计算机14确定时,软异常驾驶动作可以允许主车辆10的用户选择性地脱离自主牵引模式(例如基于偏好)和/或可以要求计算机14在计算机14被配置成脱离引导车辆18之前确定引导车辆18的多个不期望的软异常驾驶动作。但是,例如,当计算机14确定硬异常驾驶动作时,计算机14可以被配置为立即脱离自主牵引模式(例如将车辆10的控制移交给用户、以完全自主模式操作车辆10和/或安全地减慢车辆10以停车并将车辆10的变速器置于驻车挡),例如直接进行到子框450d或450e(下面讨论)。软操作和硬动作的示例很多,这里将不提供详尽的列表;然而,为了说明,软异常驾驶动作可能会过于频繁地改变车道,而硬异常驾驶动作可能是引导车辆行驶过红色交通灯,这两个非限制性示例如上所述。
在子框450b中(其可以在子框450a之后),计算机14可以通知主车辆10的车辆用户脱离自主牵引模式(例如当车辆10正在移动时—例如通过经由hmi模块24显示通知)。该通知可以包括视觉警报、声音警报、触觉警报或其任何组合。
在子框450c中(在子框450b之后),计算机14可以确定车辆用户是否确认通知。例如,车辆用户可以通过经由hmi模块24提供一个或多个输入来确认。当用户确认时,过程400可以进行到子框450d,并且当用户不确认通知(例如用户分心、睡着等)时,则过程可以进行到子框450e。
在子框450d中,计算机14可以执行切换程序以将车辆控制移交到主车辆10的车辆用户。例如,一旦计算机14验证用户已经控制(例如以任何适当的方式),计算机14可以退出自主牵引模式。之后,该过程可能结束。
在子框450e中,计算机14可以被编程为例如进入完全自主模式和/或安全地停止车辆10,并且之后在安全的位置将车辆10的变速器置于驻车挡。之后,该过程可能结束。当然,在子框450d或450e中的任一个之后,计算机14可选地循环返回并重复框410、420以使得主车辆10能够到达其目的地52。
返回到框460(也可以在框440之后,如上所述),计算机14可以确定主车辆10是否已经到达其目的地位置52(子框460a)。在至少一个示例中,主车辆计算机14可以评估其当前位置信息(例如使用来自导航系统26的数据),并将其位置信息与预定目的地52进行比较。如果在子框460a中计算机14确定其当前位置信息与目的地位置52匹配(或者在阈值距离(例如500英尺)内),则可以确定主车辆10已经到达,并且过程400可以进行到子框460b。然而,如果当前位置信息与目的地位置52不匹配,则过程400可以进行到子框460c。
在子框460b(已经到达目的地52)处,计算机14可以指示主车辆10脱离自主牵引模式,并因此停止跟随引导车辆18。例如,在脱离之后,车辆10可以以完全自主的模式运行,以将车辆10安全地停在安全的位置,并且将变速器置于驻车挡(例如类似于上面关于子框450e所讨论的)。当然,可选地,计算机14可以通知车辆用户并且指示主车辆10内的系统执行上面讨论的移交程序(例如在子框450c、450d等中)。此后,在将主车辆10自主地牵引到目的地位置52之后,过程400可以结束。
应该认识到,子框460a类似地可以确定主车辆10是否正在接近目的地52。然后,例如,基于确定(在子框460b中),计算机14可以向主车辆10的用户提供通知以禁用自主牵引模式—从而在车辆10到达目的地52之前给用户一些通知。之后,用户可以经由移交程序等来接管控制。
在子框460c中(其中计算机14确定主车辆10还没有到达目的地52),计算机14可以重复框410和420的主题以考虑是否有其他潜在的引导车辆可用。由于一个或多个原因,这可能是可取的。例如,基于引导车辆18先前提供的预定路线数据,主车辆10可以知道引导车辆18可能不能将车辆10自主地牵引位置51和52之间的整个距离。或者例如,计算机14可以确定,通过切换引导车辆,主车辆10可以更快到达目的地52,主车辆10将被收取较少的总费用等。图4还示出了过程400可以从子框450a进行到子框460c,例如,示出了切换引导车辆可以基于引导车辆18的异常驾驶动作。在至少一个示例中,过程400基于软异常驾驶动作从子框450a前进到子框460c;然而,这不是必需的(例如也可以基于硬异常驾驶动作进行到子框460c)。
在子框460c之后的子框460d中,计算机14可以确定是否跟随新的引导车辆。在至少一个示例中,计算机14在子框460d中执行的评估可以与上述框430相同;因此,这里不再详述。在子框460d中,计算机14还可以计算关于主车辆10继续跟随引导车辆18的剩余距离(到位置52)和/或行驶时间;当然,如上所述,还可以评估其他标准。计算机14可以将这些计算与潜在的新引导车辆的响应中提供的预定路线数据和/或其他标准进行比较。
在子框460e中,计算机14确定继续跟随当前或最先选择的引导车辆(例如车辆18);此后,过程400循环回到框440并重复框450和/或460。在子框460f中,计算机14确定继续跟随新的引导车辆;因此,计算机14关于引导车辆18脱离自主牵引模式,并且相对于新选择的引导车辆重新启用自主牵引模式。之后,过程400循环回到框440并且重复框450和/或460,除了关于新的引导车辆之外。
应该认识到,虽然在图4中未示出,但是车辆用户可以在任何合适的时间手动地脱离自主牵引模式。例如,用户可以改变他或她期望的目的地(例如不再希望前往位置52),或者用户可以检测引导车辆18的异常驾驶动作或其他非偏好的驾驶行为,并且向hmi模块24提供输入以脱离自主牵引模式。这样的输入被提供给计算机14,并且计算机14指示主车辆10脱离。此后,用户可以采取对主车辆10的控制,主车辆10可以进入完全自主模式,或者计算机14可以促进其组合。
还存在其他自主牵引模式实施方式,例如,未示出或关于过程400进行描述。例如,如上所述,主车辆10可以在自主牵引模式中使用激光雷达数据、雷达数据和摄像机数据来跟踪和跟随引导车辆18。这些传感器可以设置在车辆10中,因为在完全自主模式下的操作可能需要冗余数据;然而,在至少一个非限制性示例中,在自主牵引模式中的操作不需要与完全自主模式所需的冗余相同的冗余。例如,车辆10可以通过仅使用雷达和车辆到车辆(v2v)通信(例如主车辆10和相应的引导车辆之间的通信)来执行自主牵引模式。以这种方式,可以在不利于接收摄像机数据的环境条件下(例如在低能见度条件下(例如黑暗、浓雾、暴雨、烟雾或灰尘条件等))执行自主牵引模式。这使得在传感器故障的情况下适合使用自主牵引模式,例如如果一个或多个主车辆摄像机发生故障和/或一个或多个激光雷达传感器发生故障,则主车辆10可能不适合以完全自主模式运行;然而,它仍然可以在自主牵引模式下操作。因此,这可以使主车辆10能够跟随引导车辆行驶到车辆服务中心进行维修等。
因此,已经描述了用于主车辆的自主牵引系统。该系统包括能够指示主车辆以自主牵引模式跟随引导车辆的计算机。此外,计算机可以基于计算机做出的各种确定(例如包括但不限于引导车辆的异常驾驶动作)来确定脱离自主牵引模式。
通常,计算系统和/或设备可以采用任意数量的计算机操作系统,包括但决不限于各种版本和/或各种变体的福特同步(ford
计算设备通常包括计算机可执行指令,其中该指令可以由一个或多个例如上述类型的计算设备执行。计算机可执行指令可以由计算机程序编译或解释,计算机程序采用多种编程语言和/或技术创建,这些编程语言和/或技术包括但并不限于单独地或组合的javatm、c、c++、visualbasic、javascript、perl等。这些应用程序中的一些应用程序可以在诸如java虚拟机、dalvik虚拟机等的虚拟机上编译和执行。通常,处理器(例如微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此执行一个或多个过程,包括这里所描述的一个或多个过程。这样的指令或其他数据可以采用各种计算机可读介质存储和发送。
计算机可读介质(也简称为处理器可读介质)包括任意非暂时性(例如有形的)的参与提供数据(例如指令)的介质,该数据可以由计算机(例如计算机处理器)读取。这样的介质可以采用多种形式,包括但不限于非易失性介质和易失性介质。非易失性介质可以包括例如光盘或磁盘或其他永久性存储器。易失性介质可以包括例如典型地构成主存储器的动态随机存取存储器(dram)。这样的指令可以通过一种或多种传输介质,包括同轴线缆、铜线和光纤,包括包含耦接于计算机处理器的系统总线的线缆。计算机可读介质的常规形式包括,如软盘、柔性盘、硬盘、磁盘、任何其他磁性介质、cd-rom、dvd、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、ram、prom、eprom、flasheeprom(闪速电可擦除可编程只读存储器)、任何其他存储器芯片或盒,或者任何其他计算机可读取的介质。
数据库、数据仓库或本文所公开的其他数据存储可以包括用于存储、访问和检索各种数据的各种机构,该数据包括分层数据库、系统文件的文件组、具有专有格式应用程序的应用数据库、关系数据库管理系统(rdbms)等。每一个这样的数据库存储通常包括在采用了例如上述之一的计算机操作系统的计算设备内,并且通过网络以任意一种或多种方式被访问。文件系统可以从计算机操作系统访问,并且包括以多种形式存储的文件。除了用于创建、存储、编辑、执行存储程序的语言,rdbms通常采用结构化查询语言(sql),例如前面所述的pl/sql语言。
在一些示例中,系统元件是在一个或多个计算设备(例如服务器、私人电脑等)上实施的计算机可读指令(例如软件),该指令存储在与此相关(例如盘、存储器等)的计算机可读介质上。计算机程序产品可以包括这样存储于计算机可读介质用于实施上述功能的指令。
处理器经由电路、芯片或其他电子组件来实现,并且可以包括一个或多个微控制器、一个或多个现场可编程门阵列(fpga)、一个或多个专用电路(asic)、一个或多个数字信号处理器(dsp)、一个或多个客户集成电路等。处理器可以接收来自传感器的数据,并根据数据确定如何跟随引导车辆。处理器可以被编程来处理传感器数据。处理数据可以包括处理由传感器捕获的视频馈送或其他数据流,以确定主车辆的行车道和任何目标车辆的存在。如下所述,处理器指示车辆组件根据传感器数据进行致动。处理器可以被结合到控制器中,例如自主模式控制器。
存储器(或数据存储设备)经由电路、芯片或其他电子组件来实现,并且可以包括只读存储器(rom)、随机存取存储器(ram)、闪存、电可编程存储器(eprom)、电可编程和可擦除存储器(eeprom)、嵌入式多媒体卡(emmc)、硬盘驱动器或任何易失性或非易失性介质等中的一个或多个。存储器可以存储从传感器收集的数据。
已经以说明性方式描述了本公开内容,并且应当理解的是,已经使用的术语旨在具有描述性文字的性质,而不是限制性的。鉴于上述教导,本公开的许多修改和变化是可能的,并且本公开可以以与具体描述不同的方式实施。