自动驾驶中的驾驶模式切换系统和方法与流程
本申请一般涉及自动驾驶的系统和方法,并且特别涉及自动驾驶中的驾驶模式切换系统和方法。
背景技术:
随着微电子和机器人技术的发展,自动驾驶的探索发展迅速。自动驾驶车辆可以用计算机实现的智能代替人类司机以控制和/或驾驶车辆。通常,自动驾驶车辆利用许多传感器和其他自动化技术来帮助导航周围环境。然而,在完成4级及以上的无人系统之前,人类仍然是整个无人系统的重要组成部分。因此,自动驾驶车辆可以在自动驾驶模式(例如,由一个或以上处理器提供的车辆输入)和人工驾驶模式(例如,由人提供的车辆输入)两者中操作。可以允许处理器和用户都改变自动驾驶车辆的驾驶模式。因此,可能希望提供一种方法或系统,以允许自动驾驶模式和人工驾驶模式之间的安全转换。
技术实现要素:
在本申请的第一方面,提供了一种自动驾驶中的驾驶模式切换系统。该系统可以包括至少一个存储介质,其包括一组指令,以及与所述至少一个存储介质通信的至少一个处理器。当执行该组指令时,所述至少一个处理器可以被配置为指示所述系统:获取车辆系统的状态信息,所述状态信息包括所述车辆系统的当前驾驶模式;获取至少一个模式切换条件,所述至少一个模式切换条件中的每一个模式切换条件对应一个候选驾驶模式,所述模式切换条件触发所述车辆系统从所述当前驾驶模式切换到所述候选驾驶模式;确定所述车辆系统的所述状态信息满足所述至少一个模式切换条件中的一个模式切换条件;指定对应于所述至少一个模式切换条件中的一个模式切换条件的候选驾驶模式作为目标驾驶模式;将所述当前驾驶模式切换为所述目标驾驶模式。所述当前驾驶模式和所述至少一个候选驾驶模式可以包括人工驾驶模式、自动驾驶模式和安全模式。所述自动驾驶模式可以包括至少两个子模式。
在一些实施例中,所述自动驾驶模式的所述至少两个子模式可以包括全功能子模式、等待接管子模式和降级子模式。
在一些实施例中,所述至少一个模式切换条件可以包括触发将所述车辆系统从全功能子模式切换到等待接管子模式的第一模式切换条件。所述第一模式切换条件可以包括收到人工操作的指令。
在一些实施例中,所述至少一个模式切换条件可以包括触发将所述车辆系统从等待接管子模式切换到全功能子模式的第二模式切换条件。所述第二模式切换条件可以是在一段时间内没有检测到人工操作。
在一些实施例中,所述至少一个模式切换条件可以包括触发将所述车辆系统从全功能子模式或等待接管子模式切换到降级子模式的第三模式切换条件。所述第三模式切换条件可以是车辆系统存在可解决的故障。
在一些实施例中,所述至少一个模式切换条件可以包括触发将所述车辆系统从降级子模式切换到全功能子模式或等待接管子模式的第四模式切换条件。所述第四模式切换条件可以是所述可解决的故障得到解决。
在一些实施例中,人工驾驶模式还包括初始子模式和就绪子模式。
在一些实施例中,所述车辆系统可以包括车辆平台和自动平台。所述至少一个模式切换条件可以包括触发将所述车辆系统从初始子模式切换到就绪子模式的第五模式切换条件。所述第五模式切换条件是在所述车辆平台或所述自动平台中均未检测到故障。
在一些实施例中,所述至少一个处理器还可以被配置用于指示所述系统执行附加操作,包括:从用户获取用于将所述车辆系统从所述当前驾驶模式切换到所述目标驾驶模式的指令;确定所述车辆系统的所述状态信息满足对应于所述目标驾驶模式的模式切换条件;将所述当前驾驶模式切换到所述目标驾驶模式。
在一些实施例中,所述指令可以包括操作所述车辆系统的制动踏板、操作所述车辆系统的方向盘、按压模式切换按钮或口头或文本指令中的至少一个。
在本申请的第二方面,提供了一种在自动驾驶中驾驶模式切换方法。该方法可以在具有至少一个处理器和非暂时性存储介质的计算设备上实现。该方法可以包括:获取车辆系统的状态信息,所述状态信息包括所述车辆系统的当前驾驶模式;获取至少一个模式切换条件,所述至少一个模式切换条件中的每一个模式切换条件对应一个候选驾驶模式,所述模式切换条件触发所述车辆系统从所述当前驾驶模式切换到所述候选驾驶模式;确定所述车辆系统的所述状态信息满足所述至少一个模式切换条件中的一个模式切换条件;指定对应于所述至少一个模式切换条件中的一个模式切换条件的候选驾驶模式作为目标驾驶模式;将所述当前驾驶模式切换为所述目标驾驶模式。所述当前驾驶模式和所述至少一个候选驾驶模式可以包括人工驾驶模式、自动驾驶模式和安全模式。所述自动驾驶模式可以包括至少两个子模式。
在本申请的第三方面,非暂时性计算机可读介质可以存储指令,所述指令在由至少一个处理器执行时,所述至少一个处理器可以被配置为执行以下操作的一个或以上。可以获取车辆系统的状态信息,并且所述状态信息可以包括所述车辆系统的当前驾驶模式。可以获取至少一个模式切换条件,并且所述至少一个模式切换条件中的每一个模式切换条件可以对应一个候选驾驶模式,所述模式切换条件触发所述车辆系统从所述当前驾驶模式切换到所述候选驾驶模式。所述当前驾驶模式和所述至少一个候选驾驶模式可以包括人工驾驶模式、自动驾驶模式和安全模式。所述自动驾驶模式可包括至少两个子模式。可以确定所述车辆系统的所述状态信息满足所述至少一个模式切换条件中的一个模式切换条件。可以指定对应于所述至少一个模式切换条件中的一个模式切换条件的候选驾驶模式为目标驾驶模式。可以将所述当前驾驶模式切换到所述目标驾驶模式。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1a是根据本申请的一些实施例所示的示例性车辆系统的示意图;
图1b是根据本申请的一些实施例所示的具有自动驾驶能力的示例性车辆的示意图;
图2a是根据本申请的一些实施例所示的示例性人工驾驶模式的框图;
图2b是根据本申请的一些实施例所示的示例性自动驾驶模式的框图;
图3是根据本申请的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理设备的框图;
图5是根据本申请的一些实施例所示的驾驶模式切换的示例性过程的流程图;以及
图6是根据本申请的一些实施例所示的驾驶模式切换的示例性过程的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
此外,虽然本申请中披露的系统和方法主要涉及地面运输系统,但应该理解,这仅是一个示例性实施例。本申请的系统和方法可以应用于任何其他类型的运输系统。例如,本申请的系统和方法可以应用于不同环境的运输系统,包括海洋、航空航天等,或其任何组合。运输系统的车辆可包括汽车、公共汽车、火车、地铁、船只、飞机、宇宙飞船、热气球等,或其任何组合。
本申请中使用的定位技术可以基于全球定位系统(gps)、全球导航卫星系统(glonass)、罗盘导航系统(compass)、伽利略定位系统、准天顶卫星系统(qzss)、无线保真(wifi)定位技术等或其任意组合。上述定位技术中的一种或以上可以在本申请中互换使用。
本申请的一个方面涉及用于在自动车辆中的若干驾驶模式(例如人工驾驶模式、自动驾驶模式、安全模式)之间的驾驶模式切换的系统和方法。驾驶模式还可以包括多个子模式。例如,人工驾驶模式可包括初始子模式和就绪子模式;自动驾驶模式可包括全功能子模式、等待接管子模式和降级子模式。根据本申请的一些系统和方法,处理器可以获得车辆系统的状态信息,获得至少一个模式切换条件,确定车辆系统的状态信息满足至少一个模式切换条件钟的一个模式切换条件,并且将与至少一个模式切换条件中的一个模式切换条件对应的候选驾驶模式指定为目标驾驶模式,其中,所述至少一个模式切换条件中的每个模式切换条件对应于触发将车辆系统从当前驾驶模式切换到候选驾驶模式的候选驾驶模式。此外,根据本申请的一些系统和方法,处理器可以进一步将当前驾驶模式切换到目标驾驶模式,这可以在驾驶模式切换期间提高具有自动能力的车辆的安全性和用户体验。
图1a是根据本申请的一些实施例所示的示例性车辆系统的示意图。在一些实施例中,车辆系统100可包括处理设备110、网络120、车辆130和存储设备140。在一些实施例中,处理设备110和/或存储设备140可以安装在车辆130上,如图1a中的双向虚线箭头所示。在一些实施例中,车辆130可以包括处理引擎和/或车载存储器,并且还经由网络120连接到处理设备和/或存储设备。
在一些实施例中,处理设备110可以是单个服务器或服务器组。服务器组可以是集中的或分布式的(例如,处理设备110可以是分布式系统)。在一些实施例中,处理设备110可以是本地的或远程的。例如,处理设备110可以经由网络120访问存储在车辆130和/或存储设备140中的信息和/或数据。又例如,处理设备110可以直接连接到车辆130和/或存储设备140以访问存储信息和/或数据。在一些实施例中,处理设备110可以在云平台或车载计算机上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,处理设备110可以在计算设备300上实现,该计算设备300包括本申请中的图2中所示的一个或以上组件。
在一些实施例中,处理设备110可以处理与车辆130相关联的驾驶信息相关联的信息和/或数据,以执行本申请中描述的一个或以上功能。例如,处理设备110可以获得车辆130的状态信息,其中状态信息可以包括车辆130的当前驾驶模式。又例如,处理设备110可以确定车辆130的状态信息是否满足模式切换条件。此外,处理设备110可以将满足模式切换条件的候选驾驶模式指定为目标驾驶模式,并且可以将当前驾驶模式切换到目标驾驶模式。如这里所使用的,驾驶模式可以包括人工驾驶模式(包括初始子模式和就绪子模式)、自动驾驶模式(包括全功能子模式、等待接管子模式和降级子模式),或安全模式等。在一些实施例中,所述处理设备110可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理设备110可包括一中央处理器(cpu)、特定应用集成电路(asic)、特定应用指令集处理器(asip)、图像处理器(gpu)、物理运算处理单元(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等或其任意组合。
在一些实施例中,处理设备110可以连接到网络120以与车辆系统100的一个或以上组件(例如,车辆130、存储设备140)通信。在一些实施例中,处理设备110可以直接连接到车辆系统100的一个或以上部件(例如,车辆130、存储设备140)或与之通信。在一些实施例中,处理设备110可以集成到车辆130中。例如,处理设备110可以是安装在车辆130中的计算设备(例如,车载计算机)。
网络120可以促进信息和/或数据的交换。在一些实施例中,车辆系统100的一个或以上组件(例如,处理设备110,车辆130或存储设备140)可以经由网络120将信息和/或数据发送到车辆系统100的其他组件。例如,处理设备110可以经由网络120获得车辆系统100的状态信息。状态信息可以至少包括车辆130的当前驾驶模式。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络、近场通信(nfc)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,车辆系统100的一个或以上组件可以通过该接入点连接到网络120以交换数据和/或信息。
车辆130可以是具有自动驾驶能力的任何类型的车辆。在人工驾驶模式下,车辆130可以在人为干预下驾驶。在自动驾驶模式下,车辆130能够感测环境信息并且能够在没有人类操纵的情况下导航。在一些实施例中,车辆系统100可以包括包括传统车辆的结构(例如,一个或以上发动机、一个或以上车轮,一个或以上方向盘等)的车辆平台,以及被配置用于自动驾驶车辆130的自动平台。关于车辆130的更多描述可以在本申请的其他地方找到。例如参见图1b及其相关描述。
存储设备140可以存储数据和/或指令。在一些实施例中,存储设备140可以存储从车辆系统100获得的数据,例如与车辆系统100相关联的状态信息。在一些实施例中,存储设备140可以存储处理设备110可以执行或用于执行本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备140包括大容量储存设备、可移动储存设备、易失性读写存储器、只读存储器(rom)等,或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存盘、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(ram)。示例性随机存取存储器(ram)可包括动态随机存取存储器(dram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、静态随机存取存储器(sram)、晶闸管随机存取存储器(t-ram)和零电容随机存取存储器(z-ram)等。示例性只读存储器可以包括掩模型只读存储器(mrom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、光盘只读存储器(cd-rom)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备140可在云端平台上执行。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备140可以连接到网络120以与车辆系统100的一个或以上组件(例如,处理设备110、车辆130)通信。车辆系统100的一个或以上组件可以经由网络120访问存储设备140中存储的数据或指令。在一些实施例中,存储设备140可以直接连接到车辆系统100的一个或以上组件(例如,处理设备110、车辆130)或与之通信。在一些实施例中,存储设备140可以是处理设备110的一部分。在一些实施例中,存储设备140可以集成在车辆130中。
应当注意车辆系统100仅用于说明的目的,并不意图限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化或修改。例如,车辆系统100还可以包括数据库、信息源等。又例如,车辆系统100可以在其他设备上执行,以实现类似或不同的功能。然而,这些变化和修改不会背离本申请的范围。
图1b是根据本申请的一些实施例所示的具有自动驾驶能力的示例性车辆的示意图。例如,车辆系统100可以至少包括车辆平台和自动平台,并且车辆130可以自动驾驶,或者在人为控制下驾驶。
车辆平台可以被配置用于在有或没有人类操纵的情况下驾驶车辆130。例如,车辆平台可包括发动机管理系统(ems)132、电子稳定控制(esc)134、电力系统(eps)136、转向柱模块(scm)138、节流系统1322、制动系统1342和转向系统1382。
自动平台可以处理与车辆驾驶相关的信息和/或数据(例如,自动驾驶)以执行本申请中描述的一个或以上功能。在一些实施例中,自动平台可以被配置为自动地驾驶车辆130。在一些实施例中,自动平台可包括自动控制单元150和至少两个传感器1522、1524、1526。自动控制单元150可以输出至少两个控制信号。例如,自动控制单元150可以基于车辆130的环境信息和驾驶模式确定车辆130的至少两个控制信号。至少两个控制信号可以被配置为由至少两个电子控制单元(ecu)接收以控制车辆130的驾驶。
至少两个传感器(例如,至少两个传感器1522、1524、1526)可以被配置用于提供用于控制车辆130的信息。在一些实施例中,传感器可以感测车辆130的状态。车辆130的状态可以包括车辆130的实时操作条件、车辆130周围的环境信息等,或其任何组合。
仅作为示例,至少两个传感器可包括距离传感器、速度传感器、加速度传感器、转向角传感器、牵引相关传感器、相机和/或任何其它传感器。距离传感器(例如,雷达、激光雷达、红外传感器)可以确定车辆130与其他物体(例如,障碍物)之间的距离。距离传感器还可以确定车辆130与一个或以上障碍物(例如,静态障碍物、移动障碍物)之间的距离。速度传感器(例如,霍尔效应传感器)可以确定车辆130的速度(例如,瞬时速度、平均速度)。加速度传感器(例如,加速度计)可以确定车辆130的加速度(例如,瞬时加速度、平均加速度)。转向角传感器(例如,倾斜传感器或微陀螺仪)可以确定车辆130的转向角。牵引相关传感器(例如,力传感器)可以确定车辆130的牵引力。
又如此,至少两个传感器可包括一个或以上视频摄像机、激光传感系统、红外传感系统、声学传感系统、热传感系统等,或其任何组合。至少两个传感器可以检测道路几何形状和/或障碍物(例如,静态障碍物、移动障碍物)。道路几何形状可包括道路宽度、道路长度、道路类型(例如,环形道路、直行道路、单向道路、双向道路)。示例性静态障碍物可包括建筑物、树木、路障等,或其任何组合。示例性移动障碍物可包括移动车辆、行人和/或动物等,或其任何组合。
在一些实施例中,自动控制单元150可包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为范例,自动控制单元150可以包括中央处理单元(cpu)、特定应用集成电路(asic)、特定应用指令集处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等或其任意组合。
在一些实施例中,车辆系统100可包括网关模块154。网关模块154可以基于车辆的当前驾驶模式确定至少两个ecu(例如,ems132、eps136、esc134和scm138)的命令源。命令源可以来自人类司机、来自自动控制单元150、来自处理设备110等,或其任何组合。
网关模块154可以确定车辆的当前驾驶模式。车辆130的驾驶模式可以包括人工驾驶模式、半自动驾驶模式、自动驾驶模式、安全模式等,或其任何组合。例如,网关模块154可以基于来自人类司机的输入将车辆130的当前驾驶模式确定为人工驾驶模式。又例如,当自动控制单元150输出控制信号时,网关模块154可以将车辆130的当前驾驶模式确定为自动驾驶模式。作为又一示例,当发生异常(例如,信号中断、处理器崩溃)时,网关模块154可以将车辆130的当前驾驶模式确定为安全模式。
在一些实施例中,网关模块154可以响应于确定车辆130的当前驾驶模式是人工驾驶模式,而将人类司机的操作发送到至少两个ecu。例如,网关模块154可以响应于确定车辆130的当前驾驶模式是人工驾驶模式,而将由人类司机执行的对车辆130的加速器的按压操作发送到ems132。当确定车辆130的当前驾驶模式是自动驾驶模式时,网关模块154可以将自动控制单元150的控制信号发送到至少两个ecu。例如,网关模块154可以响应于确定车辆130的当前驾驶模式是自动驾驶模式,而将与转向操作相关联的控制信号发送到scm138。当确定车辆130的当前驾驶模式是半自动驾驶模式时,网关模块154可以将人类司机的操作和自动控制单元150的控制信号发送到至少两个ecu。当确定车辆130的当前驾驶模式是安全模式时,网关模块154可以将错误信号发送到至少两个ecu。在一些实施例中,当车辆130处于自动驾驶模式并且接收司机操纵时,网关模块154可以将人类司机的操作发送到至少两个ecu。
在一些实施例中,车辆系统100可包括控制器区域网络(can)160。can160可以是鲁棒的车辆总线标准(例如,基于消息的协议),其允许微控制器(例如,自动控制单元150)和设备(例如,ems132、eps136、esc134和/或scm138等)在没有主计算机的应用中彼此通信。can160可以被配置用于将自动控制单元150与至少两个ecu(例如,ems132、eps136、esc134或scm138)连接。
ems132可以被配置用于确定车辆130的发动机性能。在一些实施例中,ems132可以基于来自自动控制单元150的控制信号确定车辆130的发动机性能。例如,当当前驾驶模式是自动驾驶模式时,ems132可以基于与来自自动控制单元150的加速度相关联的控制信号来确定车辆130的发动机性能。在一些实施例中,ems132可以基于人类司机的操作来确定车辆130的发动机性能。例如,当当前驾驶模式是人工驾驶模式时,ems132可以基于人类司机对加速器的按压来确定车辆130的发动机性能。
ems132可以包括至少两个传感器和至少一个微处理器。至少两个传感器可以被配置用于检测一个或以上的物理信号,并将一个或以上的物理信号转换成电信号以进行处理。在一些实施例中,至少两个传感器可包括各种温度传感器、空气流量传感器、节气门位置传感器、泵压力传感器、速度传感器、氧传感器、载荷传感器、爆震传感器等,或其任何组合。一个或以上物理信号可包括但不限于发动机温度、发动机进气量、冷却水温度、发动机速度等,或其任何组合。微处理器可以基于至少两个发动机控制参数来确定发动机性能。微处理器可以基于至少两个电信号确定至少两个发动机控制参数。可以确定至少两个发动机控制参数以优化发动机性能。至少两个发动机控制参数可包括点火正时、燃料输送、怠速气流等,或其任何组合。
节流系统1322可以被配置用于改变车辆130的运动。例如,节流系统1322可以基于发动机输出确定车辆130的速度。又例如,节流系统1322可以基于发动机输出引起车辆130的加速。节流系统1322可包括燃料喷射器、燃料压力调节器、辅助空气阀、温度开关、节气门、空转速度电动机、故障指示器、点火线圈、继电器等,或其任何组合。
在一些实施例中,节流系统1322可以是ems132的外部执行器。节流系统1322可以被配置用于基于由ems132确定的至少两个发动机控制参数来控制发动机输出。
esc134可以是配置用于改善车辆130的稳定性。例如,esc134可以通过检测和/或压缩牵引力损失来改善车辆130的稳定性。在一些实施例中,esc134可以控制制动系统1342的操作,以响应于确定esc134检测到转向控制的损失,帮助控制车辆130。例如,当车辆130通过制动在上坡上起动时,esc134可以改善车辆130的稳定性。在一些实施例中,esc134可以进一步控制发动机性能以改善车辆的稳定性。例如,当可能发生转向控制的损失时,esc134可以降低发动机功率。当车辆在实话道路上的判断失误的转向中转向不足或过度时,当车辆130在紧急避让转弯中滑行时,可能会失去转向控制。
制动系统1342可以被配置用于控制车辆130的运动状态。例如,制动系统1342可以使车辆130减速。又例如,制动系统1342可以在一个或以上道路条件(例如,下坡)中使车辆130停止。作为又一示例,当车辆130在下坡上行驶时,制动系统1342可以使车辆130保持恒定速度。
制动系统1342可包括机械控制部件、液压单元、动力单元(例如,真空泵)、执行单元等,或其任何组合。机械控制部件可包括踏板、手刹等。液压单元可包括液压油、液压软管、制动泵等。执行单元可包括制动钳、制动踏板、制动盘等。
eps136可以被配置用于控制车辆130的电力供应。eps136可以为车辆130供应、传输和/或存储电力。例如,eps136可包括一个或以上电池和交流发电机。交流发电机可以被配置为电池充电,并且电池可以连接到车辆130的其他部分(例如,提供电力的起动器)。在一些实施例中,eps136可以控制对转向系统1382的供电。例如,eps136可以向转向系统1382提供大量电力以产生用于车辆130的大转向扭矩,响应于确定车辆130需要进行急转弯(例如,将方向盘一直转向左侧或一直转向右转)。
scm138可以被配置用于控制车辆130的方向盘。例如,scm138可以锁定/解锁车辆130的方向盘。在一些实施例中,scm138可以基于车辆130的当前驾驶模式来锁定/解锁车辆130的方向盘。例如,scm138可以响应于确定当前驾驶模式是自动驾驶模式而锁定车辆130的方向盘。当确定当前行驶模式是自动驾驶模式时,scm138可以进一步缩回转向柱轴。又例如,scm138可以响应于确定当前驾驶模式是半自驾驾驶模式,人工驾驶模式和/或安全模式而解锁车辆130的方向盘。
scm138可以基于自动控制单元150的控制信号来控制车辆130的转向。控制信号可包括与转弯方向、转弯位置、转弯角度等有关的信息,或其任何组合。
转向系统1382可以被配置用于操纵车辆130.在一些实施例中,转向系统1382可以基于从scm138发送的信号来操纵车辆130。例如,转向系统1382可以基于从scm138发送的自动控制单元150的控制信号来控制车辆130,以确定当前驾驶模式是自动驾驶模式。在一些实施例中,转向系统1382可以基于人类司机的操作来操纵车辆130。例如,当人类司机将方向盘转向左方向时,转向系统1382可以将车辆130转向左方向,以确定当前驾驶模式是人工驾驶模式。
在一些实施例中,车辆130可以包括用于司机与车辆系统100交互的接口。例如,界面可以显示用于人工驾驶模式、自动驾驶模式和安全模式中的每一个的图标。司机可以通过口头指令、文本指令或按下与驾驶模式对应的图标等,经由界面切换驾驶模式。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,车辆系统100可包括能够为车辆130选择档位的传动系统。又例如,车辆系统100可包括用于致动自动平台的致动器。
图2a是根据本申请的一些实施例所示的示例性人工驾驶模式的框图。人工驾驶模式可以是车辆130在人为控制下驾驶的模式,并且网关模块154可以将人工操作发送到至少两个ecu(例如,ems132、eps136、esc134和scm138)。人工驾驶模式中的操作可包括提供机械输入,并将机械输入传递到车辆平台。例如,转向系统1382可以与用于人工操作的方向盘连接或连通。当司机转动方向盘时,连接方向盘的轴可以转动与齿条相互啮合的齿轮。齿条可以连接车辆130的前轮,并且可以基于机械输入使前轮在适当的方向上转动。
在一些实施例中,人工驾驶模式还可包括初始子模式212和就绪子模式214。初始子模式212可以是车辆系统100在车辆130的发动机启动之后立即进入的模式。在初始子模式212中,车辆平台和/或自动平台可能尚未准备好使车辆130自动驾驶。例如,自动控制单元150可以在车辆130启动之后开始初始化过程,并且可能尚未准备好生成控制信号。又例如,网关模块154可能尚未准备好确定命令源。
在一些实施例中,车辆系统100可以进入自检过程,以检测在特定时间段之后车辆平台和/或自动平台中是否存在错误或者车辆系统100是否接收到来自用户的指令。如果在车辆平台和自动平台中没有检测到错误,则处理设备110可以将车辆系统100从初始子模式212切换到就绪子模式214。就绪子模式214可以是车辆系统100良好运行并准备进入自动驾驶模式的模式。在就绪子模式214下,车辆平台和/或自动平台可以在功能上准备好使车辆130自动驾驶。在一些实施例中,时间段可以由用户预先确定,例如在车辆130启动后1分钟。在一些实施例中,时间段可以由车辆系统100自动确定。例如,车辆系统100可以在发动机平稳运行之后进入自检过程。
图2b是根据本申请的一些实施例所示的示例性自动驾驶模式的框图。自动驾驶模式可以是车辆130的至少一部分处于计算机控制下的模式,包括例如机器人或远程操作。在机器人控制下,自动控制单元150可以向至少两个电子控制单元(ecu)输出至少两个控制信号以控制车辆130的驾驶。在远程操作下,用户(不同于司机)可以使用远程监视和控制系统远程驾驶车辆130,例如,用户可以经由网络120通过处理设备110远程驾驶车辆130。远程监控器可以依赖于相机或传感器,例如至少两个传感器1522、1524、1526,以确定车辆130的位置和状态。
在一些实施例中,自动驾驶模式可包括全功能子模式222、等待接管子模式224和降级子模式226。全功能子模式可以是车辆系统100完全起作用,并且车辆130可以自动驾驶的模式。例如,车辆系统100可以在全功能子模式222中独立地处理所有驾驶任务,例如驾驶路径规划、障碍物躲避、速度控制、稳定性控制等。在全功能子模式中,可以实时监控车辆平台和/或自动平台,以检测诸如硬件损坏、数据传输拥塞等故障。如果检测到任何故障,则车辆系统100可以将车辆从全功能子模式222切换到用于处理紧急情况的另一模式(例如,降级子模式226)。
在车辆系统100在自动驾驶过程期间从司机接收到用于接管车辆130的请求之后,处理设备110可以将车辆系统100从全功能子模式222切换到等待接管子模式224。等待接管子模式224可以是全功能子模式222和手动驾驶模式之间的过渡模式。在等待接管子模式224中,车辆系统100可以等待用户接管车辆130。
网关模块154可以准备将控制命令源从自动控制单元150切换到司机。在全功能子模式222或等待接管子模式224中,车辆130可以继续自动驾驶。当在车辆系统100中检测到故障或错误(例如,单个传感器故障、单个处理器故障等),并且车辆系统100可以在车辆130运行时或在车辆130停止之后在没有人为干预的情况下解决故障或错误,处理设备110可以将全功能子模式222或等待接管子模式224切换到降级子模式226。在车辆130运行时或在车辆130停止之后车辆系统100可以在没有人为干预的情况下解决的这种故障或错误可被称为可处理的故障或错误、或可解决的故障或错误、或可解决的故障或错误。降级子模式226可以是当车辆系统100检测到可解决的故障(例如,单个传感器故障、单个处理器故障等)时,车辆130继续运行但车辆系统100的至少一些功能降级的模式,目的在于解决检测到的故障或准备停止汽车。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,可以省略上述车辆系统100的一个或以上驾驶模式,或者可以由能够执行相同或类似功能的任何其他模式替换。例如,除了或替换等待接管子模式224之外,车辆系统100可以包括半自动驾驶模式。在半自动驾驶模式下,车辆130可以从自动驾驶转换到人驾驶。
在一些实施例中,车辆系统100可包括一个或以上附加驾驶模式。例如,车辆系统100可以包括安全模式。当车辆系统100发生故障(例如,处理器崩溃、ecu故障等)时,并且司机和自动平台(例如,自动控制单元150)都不能够完全控制车辆130,处理设备110可以将当前驾驶模式(例如,全功能子模式222、等待接管子模式224或降级子模式226)切换到安全模式。安全模式可以是当车辆系统100具有在车辆130运行时不能自动解决的故障时车辆130可以根据默认指令驾驶的模式。然后,车辆130可以根据默认指令驾驶,例如,缓慢地拉直方向盘,并且使车辆130减速直到车辆130停止。
图3是根据本申请的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图。在一些实施例中,处理设备110可以在计算设备300上实现。例如,处理设备110可以在计算设备300上实现,并且被配置用于执行本申请中披露的处理设备110的功能。
计算设备300可用于实现本申请的车辆系统100的任何组件。例如,车辆系统100的处理设备110可以通过其硬件、软件程序、固件或其组合在计算设备300上实现。尽管为了方便仅示出了一个这样的计算机,但是如本文所述的与车辆系统100相关联的计算机功能可以在多个类似平台上以分布式方式实现以分配处理负载。
例如,计算设备300可以包括连接到与其连接的网络(例如,网络120)的通信(comm)端口350,以促进数据通信。计算设备300还可以包括处理器(例如,处理器320),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器包括其中的接口电路和处理电路。接口电路可以被配置为从总线310接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线310从处理电路发出电信号。
计算设备300还可以包括不同形式的程序存储和数据存储,例如磁盘370、只读存储器(rom)330或随机存取存储器(ram)340,用于存储由计算设备300处理和/或传输的各种数据文件。计算设备300还可以包括存储在只读存储器(rom)、随机存取存储器(ram)340和/或由处理器320执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备300还包括i/o组件360,支持计算设备300与其中的其他组件之间的输入/输出。计算设备300也可以通过网络通信接收程序设计和数据。
仅为了说明,计算设备300只描述了一个处理器,然而,应当注意,本申请中的计算设备300还可以包括多个处理器,因此由本申请中描述的一个处理器执行的操作也可以由多个处理器联合或单独执行。例如,计算设备300的处理器执行操作a和操作b.如在另一示例中,操作a和操作b也可以由计算设备300中的两个不同处理器联合或单独地执行(例如,第一处理器执行操作a,第二处理器执行操作b,或者第一和第二处理器共同执行操作a和b)。
图4是根据本申请的一些实施例所示的示例性处理设备的框图;处理设备110可以包括状态信息获取模块410、驾驶模式确定模块420和驾驶模式切换模块430。状态信息获取模块410可以被配置用于获得车辆系统100的状态信息。
在一些实施例中,状态信息可包括与车辆130的驾驶相关联的信息。状态信息可以包括车辆平台的操作状态信息、自动平台的操作状态信息、或者由车辆系统100接收的用户指令等,或其任何组合。在一些实施例中,状态信息可以包括车辆系统100的当前驾驶模式。当前驾驶模式可以指的是当获得车辆系统100的状态信息时车辆系统处于的驾驶模式。驾驶模式可以包括初始子模式(例如,初始子模式212)、就绪子模式(例如,就绪子模式214)、全功能子模式(例如,全功能子模式222)、等待接管子模式(例如,等待接管子模式224)、降级子模式(例如,降级子模式226),或安全模式等。
驾驶模式确定模块420可以被配置用于获得至少一个模式切换条件。这里的模式切换条件可以指预设条件。如果满足预设条件,则车辆系统100的驾驶模式可以切换到预设驾驶模式。预设驾驶模式也可以被称为对应于模式切换条件的候选驾驶模式。在一些实施例中,至少一个模式切换条件中的每个模式切换条件可以对应于触发将车辆系统100从当前驾驶模式切换到候选驾驶模式的候选驾驶模式。所述至少一个模式切换条件可以包括第一模式切换条件、第二模式切换条件、第三模式切换条件、第四模式切换条件和第五模式切换条件。第一模式切换条件可以包括当车辆系统100当前处于全功能子模式时,车辆系统100从司机接收用于人工操作的指令。对应于第一模式切换条件的候选驾驶模式可以包括等待接管子模式。第二模式切换条件可以包括在车辆系统100当前处于等待接管子模式的时间段内没有检测到人工操作(例如,接管转向轮、踩踏加速器踏板等)。对应于第二模式切换条件的候选驾驶模式可以包括全功能子模式。第三模式切换条件可以包括当车辆系统100当前处于全功能子模式或等待接管子模式时在车辆系统100中检测到可校正的故障。对应于第三模式切换条件的候选驾驶模式可以包括降级子模式。第四模式切换条件可以包括当车辆当前处于降级子模式时解决可校正的故障。对应于第四模式切换条件的候选驾驶模式可以包括全功能子模式或等待接管子模式。第五模式切换条件可以包括当车辆当前处于初始子模式时在车辆平台和/或自动平台中没有检测到故障。对应于第五模式切换条件的候选驾驶模式可以包括就绪子模式。
驾驶模式确定模块420也可以是配置用于确定车辆系统100的状态信息满足至少一个模式切换条件中的一个模式切换条件。该决定可由处理设备110自动周期性地(例如,每1秒、每2秒、每3秒)和/或当满足条件时(例如,当在没有车辆130的司机操纵的情况下经过至少一定时间段时,当车辆系统100接收到车辆130的用户指令或司机操纵时)启动。在一些实施例中,处理设备110可以将状态信息与至少一个模式切换条件进行比较。例如,当车辆系统100当前处于全功能子模式时,处理设备110可以确定车辆系统100是否从司机接收到用于人工操作的指令。如果车辆系统100在车辆系统100处于全功能子模式时从司机接收到用于人工操作的指令,则处理设备110可以确定车辆系统100的状态信息满足第一模式切换条件。关于确定的更多描述可以在本申请的其他地方找到。例如参见图5及其相关描述。
驾驶模式确定模块420还可以被配置为将与至少一个模式切换条件中的一个模式切换条件对应的候选驾驶模式指定为目标驾驶模式。例如,如果确定车辆系统100的状态信息满足第一模式切换条件,处理设备110可以将与第一模式切换条件对应的等待接管子模式(候选驾驶模式)指定为目标驾驶模式。关于指定的更多描述可以在本申请的其他地方找到。例如参见图5及其相关描述。
可以配置驾驶模式切换模块430以将当前驾驶模式切换到目标驾驶模式。例如,如果对应于第二模式切换条件的全功能子模式(候选驾驶模式)被指定为目标驾驶模式,处理设备110可以将车辆系统100从等待接管子模式(当前驾驶模式)切换到全功能子模式(目标驾驶模式)。又例如,如果对应于第五模式切换条件的就绪子模式(候选驾驶模式)被指定为目标驾驶模式,处理设备110可以将车辆系统100从初始子模式(当前驾驶模式)切换到就绪子模式(目标驾驶模式)。
处理设备110中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、紫蜂网络、近场通信(nfc)等或其任意组合。两个或多个模块可以合并为一个单个模块,以及任何一个模块可以被拆分为两个或多个单元。
例如,状态信息获取模块410和驾驶模式确定模块420可以组合为单个模块,其可以接收/获得车辆系统100的状态信息和至少一个模式切换条件。又如,驾驶模式确定模块420可以分为三个单元,包括切换条件获取单元,条件满足确定单元和目标驾驶模式确定单元。切换条件获取单元可以被配置用于获得至少一个模式切换条件,条件满足确定单元可以被配置为确定车辆系统100的状态信息满足至少一个模式切换条件中的一个模式切换条件,以及目标驾驶模式确定单元可以被配置为指定与被确定为满足至少一个模式切换条件中的一个模式切换条件对应的候选驾驶模式为目标驾驶模式。作为另一个例子,处理设备110可以包括存储模块(未示出),其可以被配置为存储信息和/或与车辆系统100的状态和/或驾驶模式相关联的数据(例如,状态信息、至少一种模式切换条件、候选驾驶模式、目标驾驶模式)。
图5是根据本申请的一些实施例所示的用于驾驶模式切换的示例性过程的流程图。过程500可以由车辆系统100执行。例如,过程500可以实现为存储在只读存储器(rom)330或随机存取存储器(ram)340中的一组指令。处理器320和/或图3中的模块可以执行指令集,并且当执行指令时,处理器320和/或模块可以被配置用于执行过程500.以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以利用未描述的一个或以上附加操作,和/或没有所讨论的一个或以上操作来完成。另外,图5中示出并在下面描述的过程500的操作的顺序不旨在是限制性的。
在510中,处理设备110(例如,状态信息获取模块410)可以获得车辆系统100的状态信息。在一些实施例中,状态信息可包括与车辆130的驾驶相关的信息。例如,状态信息可以包括车辆平台的操作状态信息,例如能量性能、行驶稳定性、制动是否有效、转向是否精确等。又例如,状态信息可以包括自动平台的操作状态信息,例如,自动控制单元150是否及时输出控制信号,控制信号和至少两个ecu之间是否存在中断,是否至少两个传感器(例如1522、1524、1526等)中的任何一个发生信号崩溃。作为又一示例,状态信息可包括由车辆系统100接收的用户指令。用户指令可以包括用于切换驾驶模式的指令、用户是否踩踏制动踏板、用户是否操纵方向盘(例如,具有特定扭矩)、用户是否已经系好安全带、用户是否打开转向灯等。作为另一示例,状态信息可包括车辆系统100的当前驾驶模式。如这里所使用的,当前驾驶模式指的是当获得车辆系统100的状态信息时车辆系统处于的驾驶模式。驾驶模式可以包括初始子模式(例如,初始子模式212)、就绪子模式(例如,就绪子模式214)、全功能子模式(例如,全功能子模式222)、等待接管子模式(例如,等待接管子模式224)、降级子模式(例如,降级子模式226),或安全模式等。
在520中,处理设备110(例如,驾驶模式确定模块420)可以获得至少一个模式切换条件。这里的模式切换条件是指预设条件。如果满足预设条件,则车辆系统100的驾驶模式可以切换到预设驾驶模式。预设驾驶模式也可以被称为对应于模式切换条件的候选驾驶模式。在一些实施例中,至少一个模式切换条件中的每个模式切换条件可以对应于触发将车辆系统100从当前驾驶模式切换到候选驾驶模式的候选驾驶模式。例如,至少一个模式切换条件可以包括触发将车辆系统100从全功能子模式(当前驾驶模式)切换到等待接管子模式(候选驾驶模式)的第一模式切换条件,第一模式切换条件可以涉及从司机接收的人工操作的指令。司机为人工操作输入的指令可以包括语音命令、文本指令、在界面上按下等待接管子模式对应的虚拟图标,或者按下模式切换按钮等。又例如,所述至少一个模式切换条件可以包括触发将车辆系统100从等待接管子模式(当前驾驶模式)切换到全功能子模式(候选驾驶模式)的第二模式切换条件,第二模式切换条件可以是在一段时间内没有检测到人工操作(例如,接管转向轮、踩踏加速踏板等)。在一些实施例中,时间段可以由车辆系统100预先确定。例如,时间段可以是5秒。作为又一示例,至少一个模式切换条件可以包括触发将车辆系统100从全功能子模式(当前驾驶模式)或等待接管子模式(当前驾驶模式)切换到降级子模式(候选驾驶模式)的第三模式切换条件,第三模式切换条件可以是在车辆系统100中检测到可校正的故障。可校正的故障可包括例如单个传感器故障、短期数据传输拥塞等,其可由车辆系统100处理。作为又一示例,至少一个模式切换条件可以包括触发将车辆系统100从降级子模式(当前驾驶模式)切换到全功能子模式(候选驾驶模式)或等待接管子模式(候选驾驶模式)的第四模式切换条件,第四模式切换条件可能是解决了可解决的故障。作为另一示例,至少一个模式切换条件可以包括触发将车辆系统100从初始子模式(当前驾驶模式)切换到就绪子模式(候选驾驶模式)的第五模式切换条件,第五模式切换条件可以是在车辆平台或自动平台中没有检测到故障。
在530中,处理设备110(例如,驾驶模式确定模块420)可以确定车辆系统100的状态信息满足至少一个模式切换条件中的一个模式切换条件。该确定过程可由处理设备110自动周期性地(例如,每1秒、每2秒、每3秒)和/或当满足条件时(例如,当在没有车辆130的司机操纵的情况下经过至少一定时间段时,当车辆系统100接收到车辆130的用户指令或司机操纵时)启动。在一些实施例中,处理设备110可以将状态信息与至少一个模式切换条件进行比较。如果满足至少一个模式切换条件中的一个模式切换条件,则处理设备110可以确定车辆系统100的状态信息满足至少一个模式切换条件中的一个模式切换条件。例如,当车辆系统100当前处于全功能子模式时,处理设备110可以确定车辆系统100是否从司机接收到用于人工操作的指令。如果车辆系统100在车辆系统100处于全功能子模式时从司机接收到用于人工操作的指令,则处理设备110可以确定车辆系统100的状态信息满足第一模式切换条件。又例如,当车辆系统100当前处于等待接管子模式时,处理设备110可以确定在一段时间内是否有人工操作(例如,控制方向盘、踩油门踏板等)。如果在一段时间内没有收到人工操作,则处理设备110可以确定车辆系统100的状态信息满足第二模式切换条件。作为又一示例,当车辆系统100当前处于全功能子模式或等待接管子模式时,处理设备110可以确定车辆系统100中是否存在可校正的故障(例如,单个传感器故障、短期数据传输拥塞等)。如果车辆系统100中存在可校正的故障,则处理设备110可以确定车辆系统100的状态信息满足第三模式切换条件。作为又一示例,当车辆系统100当前处于降级子模式时,处理设备110可以确定是否解决了可校正的故障。如果解决了可校正的故障,则处理设备110可以确定车辆系统100的状态信息满足第四模式切换条件。作为又一示例,当车辆系统100当前处于初始子模式时,处理设备110可以确定在车辆平台和自动平台中是否检测到故障。如果在车辆平台或自动平台中都没有检测到故障,则处理设备110可以确定车辆系统100的状态信息满足第五模式切换条件。
在540中,处理设备110(例如,驾驶模式确定模块420)可以将与至少一个模式切换条件中的一个模式切换条件对应的候选驾驶模式指定为目标驾驶模式。例如,如果确定车辆系统100的状态信息满足第一模式切换条件,处理设备110可以将与第一模式切换条件对应的等待接管子模式(候选驾驶模式)指定为目标驾驶模式。又例如,如果确定车辆系统100的状态信息满足第二模式切换条件,处理设备110可以将与第二模式切换条件对应的全功能子模式(候选驾驶模式)指定为目标驾驶模式。作为又一示例,如果确定车辆系统100的状态信息满足第三模式切换条件,处理设备110可以将与第三模式切换条件对应的降级子模式(候选驾驶模式)指定为目标驾驶模式。作为又一示例,如果确定车辆系统100的状态信息满足第四模式切换条件,处理设备110可以将与第四模式切换条件对应的全功能子模式(候选驾驶模式)和等待接管子模式(候选驾驶模式)中的一个指定为目标驾驶模式。作为又一示例,如果确定车辆系统100的状态信息满足第五模式切换条件,处理设备110可以将与第五模式切换条件对应的就绪子模式(候选驾驶模式)指定为目标驾驶模式。
在550中,处理设备110(例如,驾驶模式切换模块430)可以将当前驾驶模式切换到目标驾驶模式。例如,如果对应于第二模式切换条件的全功能子模式(候选驾驶模式)被指定为目标驾驶模式,处理设备110可以将车辆系统100从等待接管子模式(当前驾驶模式)切换到全功能子模式(目标驾驶模式)。又例如,如果对应于第五模式切换条件的就绪子模式(候选驾驶模式)被指定为目标驾驶模式,处理设备110可以将车辆系统100从初始子模式(当前驾驶模式)切换到就绪子模式(目标驾驶模式)。
在一些实施例中,处理设备110可以确定车辆系统100的状态信息是否满足预先对应于目标驾驶模式的模式切换条件。仅作为示例,对应于目标驾驶模式的模式切换条件可以包括车辆平台和/或自动平台的功能性能是否满足目标驾驶模式的要求。在一些实施例中,对应于目标驾驶模式的模式切换条件可以包括一个或以上定制条件。定制条件是指设置用户(例如,司机、技术人员)以进入自动驾驶模式的条件。如果满足自定义条件,处理设备110可以将车辆系统100从当前驾驶模式切换到与定制条件对应的候选驾驶模式(例如,自动驾驶模式)。一个或以上定制条件可包括司机踩踏制动踏板、司机是否操纵方向盘(例如,具有一定扭矩)、司机是否连接安全带、司机是否打开转向灯,或者车辆130的速度是否低于某个值等。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,至少一个模式切换条件可以包括触发将车辆130从当前驾驶模式切换到目标驾驶模式的用户指令。又例如,一个或以上其他可选操作(例如,存储操作)可以在过程500中的其他地方添加。在存储操作中,处理设备110可以存储与本申请中其他地方披露的存储设备(例如,存储设备140)中的驾驶模式切换相关的信息和/或数据(例如,车辆系统100的状态信息、模式切换条件信息、目标驾驶模式)。
图6是根据本申请的一些实施例所示的用于驾驶模式切换的示例性过程的示意图。如图6所示,车辆系统100可包括人工驾驶模式、自动驾驶模式和安全模式。人工驾驶模式可包括初始子模式和就绪子模式。自动驾驶模式可包括全功能子模式、等待接管子模式和降级子模式。在一些实施例中,全功能子模式和等待接管子模式都可以是全功能的。对应于包括初始子模式、就绪子模式、全功能子模式、等待接管子模式、降级子模式和安全模式的驾驶模式的模式切换条件可以在表1中结合图6说明。表1中的序列号可以对应于与图6中所示相同的序列号。
条件(即,模式切换条件)vehicleplatform_error的条件值为0可以是车辆平台中不存在错误。条件autonomousplatform_error的条件值为0可以是自动平台中不存在错误。条件engagedkey_on的条件值为1可以是司机输入旨在将车辆系统100切换到自动驾驶模式的指令。条件customizationconditionengaged_on的值为1可以是满足进入自动驾驶模式的一个或以上定制条件。条件disengagedkey_on的值为1可以是车辆系统100从司机接收接管车辆130的请求。条件customizationconditiondisengaged_on的值为1可以是在预设时间段内检测到人工操作。条件handleable_error的值为1可以是在车辆系统100和/或车辆系统100中检测到可处理或可解决的故障(例如,单个传感器故障、短期数据传输拥塞等)。条件handleableerror_clear的值为1可以是车辆系统100解决了可处理的故障。条件unhandleable_error的值为1可以是车辆系统100不能处理故障。条件drivertakeoveraction的值为1可以是当车辆系统100不能处理车辆平台或自动平台中的故障时,车辆系统100检测到人工操作。条件timeout_on的值为1可以是在预设时间段内没有检测到人工操作。
表1
当司机启动车辆130时,车辆系统100可立即进入初始子模式。在初始子模式中,车辆平台和/或自动平台可能尚未准备好让车辆130自动驾驶。在车辆130的发动机平稳运行(例如,每分钟800转或更高的转速)或车辆系统100接收到来自司机的指令之后,车辆系统100可以开始自检过程以检查在车辆平台和自动平台中是否检测到故障。如果既未在车辆平台中也未在自动平台中检测到故障,则vehicleplatform_error的条件值和autonomousplatform_error的条件值可以等于0。处理设备110可以将车辆系统100从初始子模式切换到就绪子模式。在就绪子模式中,车辆平台和/或自动平台的性能可以满足车辆130自动驾驶的要求。如果司机输入旨在进入自动驾驶模式的指令(例如,语音命令、文本指令、在界面上按下与全功能子模式对应的图标或者按下按钮以进入全功能子模式),则条件engagedkey_on的条件值可以等于1。处理设备110还可以确定车辆系统100的状态是否满足一个或以上定制条件。示例性定制条件可包括司机是否踩踏制动踏板、司机是否操纵方向盘(例如,具有特定扭矩)、司机是否系好安全带或者车辆130的速度是否低于某个值等。如果满足所有一个或以上定制条件,则customizationconditionengaged_on的条件值可以等于1。当engagedkey_on和customizationconditionengaged_on都等于1时,处理设备110可以将车辆系统100从就绪子模式切换到全功能子模式。在一些实施例中,如果不满足一个或以上某些定制条件的一部分,处理设备110可以使车辆系统100提醒(例如,消息推送、嘟嘟声等)司机,以鼓励司机采取行动以便满足定制条件。
在进入全功能子模式之后,车辆系统100可以自动地处理所有驾驶任务,例如,驾驶路径规划、障碍物避免、速度控制、稳定性控制等。车辆130可以在自动控制单元150的控制下自动驾驶而无需人工操作。在车辆130的自动驾驶期间,如果车辆系统100从司机接收到接管车辆130的请求,则disengagedkey_on的条件值可以等于1。处理设备110可以将车辆系统100从全功能子模式切换到等待接管子模式。在等待接管子模式中,车辆系统100可以等待司机控制车辆130。如果在预设时间段内(例如,2秒、5秒、10秒、15秒等)没有检测到人工操作(例如,控制方向盘、踩油门踏板等),则timeout_on的条件值可以等于1。处理设备110可以将车辆系统100切换回全功能子模式。如果在预设时间段内检测到人工操作(例如,踩踏制动踏板、操纵方向盘(例如,具有一定扭矩)和/或打开转向灯等),则customizationconditiondisengaged_on的条件值可以等于1。处理设备110可以将车辆系统100从等待接管子模式切换到初始子模式。根据车辆系统100的默认设置,预设时间段可由处理设备110预先确定。在一些实施例中,处理设备110可以使车辆系统100向司机提供提醒(例如,消息推送、嘟嘟声等),以提醒司机在预设时间段内接管车辆130。
无论是处于全功能子模式还是在等待接管子模式,当在车辆系统100和/或车辆系统100中检测到可处理的故障(例如,单个传感器故障、短期数据传输拥塞等)时,handleable_error的条件值可以等于1。处理设备110可以将车辆系统100从全功能子模式或等待接管子模式切换到降级子模式。同时,车辆系统100可以尝试解决该故障并恢复系统。如果故障得到解决,则handleableerror_clear的条件值可以等于1。处理设备110可以将车辆系统100从降级子模式切换回自动驾驶模式的子模式(例如,全功能子模式或等待接管子模式中的一个)。如果车辆系统100不能处理该故障,则unhandleable_error的条件值可以等于1。处理设备110可以将车辆系统100从自动驾驶模式(例如,全功能子模式、等待接管子模式或降级子模式)切换到安全模式。
在安全模式中,车辆130可以根据默认指令驾驶,该默认指令包括缓慢地拉直方向盘以及使车辆130减速直到车辆130停止。处理设备110还可以生成警报信息以请求司机或远程监控器尽快接管车辆130。如果车辆系统100检测到人工操作(例如,接管制动踏板、接管方向盘(例如,以特定扭矩)等),drivertakeoveraction的条件值可以等于1。处理设备110可以将车辆系统100从安全模式切换到初始子模式,以允许司机完全控制车辆130。
在自动驾驶模式(例如,全功能子模式、等待接管子模式或降级子模式)中,如果道路状况非常复杂,司机可以认为车辆130的自动驾驶的碰撞风险和其他严重后果的风险可能会增加。在这种情况下,司机可以主动接管车辆130。当车辆系统100检测到人工操作(例如,接管制动踏板、接管方向盘(例如,以特定扭矩)等)时,drivertakeoveraction的条件值可以等于1。处理设备110可以将车辆系统100从自动驾驶模式(例如,全功能子模式、等待接管子模式或降级子模式)切换到初始子模式,以使司机完全控制车辆130。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf等或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序设计语言编写,包括面向对象程序设计语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb。net、python等,常规程序化程序设计语言如c程序设计语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态程序设计语言如python、ruby和groovy,或其他程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网络(lan)或广域网路(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除