用于自动驾驶车辆的利用动态模型的有效最优控制的制作方法

文档序号:21178027发布日期:2020-06-20 17:36阅读:190来源:国知局
用于自动驾驶车辆的利用动态模型的有效最优控制的制作方法

相关申请的交叉参考

本申请要求2018年11月16日递交的美国临时申请专利no.62/768,431以及2018年12月21日递交的美国专利申请no.16/230,111的优先权和权益,这些专利申请的全部公开内容通过引用而被并入本文。

本公开涉及自动驾驶车辆。更具体地,本公开涉及用于自动驾驶车辆的利用动态建模的有效最优控制。



背景技术:

自动驾驶车辆使用控制器或运动控制器来快速且以小的跟踪误差跟踪期望的轨迹。最优控制器和相关方法(即,线性二次调节器(lqr)、线性二次高斯(lqg)控制和模型预测控制(mpc))是用于获得使跟踪误差和输入消耗最小化的最优解的常用方法。然而,仍然存在需要解决的问题。

首先,所述最优控制器需要解决复杂的优化问题以获得系统输入。由于车辆的动态建模特性,最优控制器需要在每个控制周期对解进行更新。例如,lqr控制器和lqg控制器需要基于动态车辆模型来在每个控制周期中求解代数riccati方程。图6示出了lqr控制器例如对于不同的纵向速度所需的迭代次数的示例。可应用动态编程方法来求解所述代数riccati方程。为了确保求解过程可以在一个控制器时间间隔或周期(例如,0.01秒)内完成,所述riccati方程求解器将迭代极限设置为150次迭代。然而,如图6所示,所述riccati方程求解器不能在低速下在所述迭代极限内导出解。对于lqg控制器,所述riccati方程求解器与用于lqr控制器的求解器相同。对于mpc控制器,二次编程求解器具有类似的问题。

第二,所述最优控制器需要考虑收敛速度和稳定性之间的折衷。快速收敛速度将导致车辆具有快速的响应时间和对期望轨迹的快速跟踪,但是车辆也将很可能进行过度转向和不稳定。



技术实现要素:

本文公开了用于自动驾驶车辆(av)的利用动态建模进行有效最优控制的方法和系统。该方法可包括获取所述av的车辆状态信息,确定所述av的纵向速度,确定驾驶风格因子,其中该驾驶风格因子至少取决于道路场景,通过使用所确定的纵向速度和所确定的驾驶风格因子从查找表(lut)获得最优控制因子,以及基于所获得的最优控制因子提供更新的控制命令(诸如转向命令)。所述驾驶风格因子可以至少从车辆状态、期望轨迹、当前线速度和在温和驾驶模式和激进驾驶模式之间的类似参数和范围来确定。

附图说明

当结合附图阅读时,从以下详细描述中可以最好地理解本公开的内容。要强调的是,根据惯例,附图的各种特征不是按比例绘制的。相反,为了清楚起见,各种特征的尺寸被任意地扩大或缩小。

图1是根据本公开的实施例的车辆的示例的示意图。

图2是图1所示的控制系统的示例的示意图。

图3是根据本公开的实施例的车辆控制系统的示例的示意图。

图4是根据本公开的实施例的包括车辆控制系统的车辆的侧视图的示例的示意图。

图5是根据本公开的实施例的车辆系统架构的示例的示意图。

图6是在一定次数的线性二次调节器(lqr)迭代内未能求解出解的示例的曲线图。

图7是根据本公开的实施例的使用驾驶风格因子的最优控制的方法的示例的示意图。

图8是根据本公开的实施例的用于确定驾驶风格因子的神经网络的示例的框图。

图9是根据本公开的实施例的查找表(lut)的框图。

图10是根据本公开的实施例的约束区域的示例的示意图。

图11是根据本公开的实施例的当使用驾驶风格因子时的示例车辆响应时间和方向盘角度的操作范围的表格。

图12是根据本公开的实施例的在10mph下当驾驶模式是温和时的示例车辆驾驶参数的曲线图。

图13是根据本公开的实施例的在10mph下当驾驶模式是中度时的示例车辆驾驶参数的曲线图。

图14是根据本公开的实施例的在10mph下当驾驶模式是激进时的示例车辆驾驶参数的曲线图。

图15是根据本公开的实施例的在30mph下当驾驶模式是温和时的示例车辆驾驶参数的曲线图。

图16是根据本公开的实施例的在30mph下当驾驶模式是中度时的示例车辆驾驶参数的曲线图。

图17是根据本公开的实施例的在30mph下当驾驶模式是激进的示例车辆驾驶参数的曲线图。

图18是根据本公开的实施例的在50mph下当驾驶模式是温和时的示例车辆驾驶参数的曲线图。

图19是根据本公开的实施例的在50mph下当驾驶模式是中度时的示例车辆驾驶参数的曲线图。

图20是根据本公开的实施例的在50mph下当驾驶模式是激进时的示例车辆驾驶参数的曲线图。

具体实施方式

现在将更详细地参考本发明的优选实施例,其示例在附图中示出。在可能的情况下,在所有附图和说明书中使用相同的附图标记来表示相同或相似的组件。

如本文所使用的,术语“计算机”或“计算设备”包括能够执行本文所公开的任何方法或其任何一个或多个部分的任何单元或单元的组合。

如本文所用,术语“处理器”指示一个或多个处理器,例如一个或多个专用处理器、一个或多个数字信号处理器、一个或多个微处理器、一个或多个控制器、一个或多个微控制器、一个或多个应用处理器、一个或多个中央处理单元(cpu)、一个或多个图形处理单元(gpu)、一个或多个数字信号处理器(dsp)、一个或多个专用集成电路(asic)、一个或多个专用标准产品、一个或多个现场可编程门阵列、任何其它类型的集成电路或其组合、一个或多个状态机或其任何组合。

如本文所使用的,术语“存储器”指示可以有形地包含、存储、传送或传输可以由任何处理器使用或与任何处理器结合使用的任何信号或信息的任何计算机可用或计算机可读介质或设备。例如,存储器可以是一个或多个只读存储器(rom)、一个或多个随机存取存储器(ram)、一个或多个寄存器、低功率双倍数据速率(lpddr)存储器、一个或多个高速缓存存储器、一个或多个半导体存储器设备、一个或多个磁媒体、一个或多个光媒体、一个或多个磁光媒体、或其任何组合。

如本文所使用的,术语“指令”可以包括用于执行本文所公开的任何方法或其任何部分或多个部分的指导或表达,并且可以以硬件、软件或其任何组合来实现。例如,指令可以被实现为存储在存储器中的信息,诸如计算机程序,其可以由处理器执行以执行如本文所述的相应方法、算法、方面或其组合中的任何一个。指令或其一部分可以被实现为专用处理器或电路,其可以包括用于执行如本文所述的方法、算法、方面或其组合中的任何一个的专用硬件。在一些实施方式中,所述指令的部分可以分布在单个设备上的多个处理器上、分布在多个设备上,所述多个设备可以直接通信或者跨诸如局域网、广域网、因特网或其组合的网络通信。

如本文所使用的,术语“确定”和“识别”或其任何变型包括使用本文所示和所述的设备和方法中的一个或多个以任何方式选择、查明、计算、查找、接收、确定、建立、获得或以其他方式识别或确定。

如本文所使用的,术语“示例”、“实施例”、“实现”、“方面”、“特征”或“元素”指示用作示例、实例或说明的目的。除非明确指出,否则任何示例、实施例、实现、方面、特征或元素独立于彼此,并且可以与任何其他示例、实施例、实现、方面、特征或元素组合使用。

如本文所用,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者从上下文中可以很清楚地确定,否则“x包括a或b”意在指示任何自然的包含性排列。也就是说,如果x包括a;x包括b;或者x包括a和b,则在任何前述情况下满足“x包括a或b”。另外,除非另外指定或从上下文中清楚地涉及了单数形式,否则如本申请和所附权利要求中所使用的冠词“一”和“一个”一般应被解释为意指“一个或多个”。

此外,为了简化说明,尽管本文的附图和描述可以包括步骤或阶段的序列或系列,但是本文公开的方法的元素可以以各种顺序或同时发生。另外,本文公开的方法的元素可以与本文未明确呈现和描述的其他元素一起发生。此外,为了实现根据本公开的方法,并非本文描述的方法的所有发生都是需要的。尽管在此以特定的组合描述了方面、特征和元素,但是每个方面、特征或元素可以独立地使用或者在具有或不具有其他方面、特征和元素的情况下以各种组合使用。

自动驾驶车辆使用控制器或运动控制器来快速且以小的跟踪误差跟踪期望的轨迹。最优控制器和相关方法(即,线性二次调节器(lqr)、线性二次高斯(lqg)控制和模型预测控制(mpc))是用于获得使跟踪误差和输入消耗最小化的最优解的常用方法。然而,仍然存在需要解决的问题。

首先,所述最优控制器需要解决复杂的优化问题以获得系统输入。由于车辆的动态建模特性,最优控制器需要在每个控制周期对解进行更新。例如,lqr控制器和lqg控制器需要基于动态车辆模型来在每个控制周期中求解代数riccati方程。图6示出了lqr控制器例如对于不同的纵向速度所需的迭代次数的示例。可应用动态编程方法来求解所述代数riccati方程。为了确保求解过程可以在一个控制器时间间隔或周期(例如,0.01秒)内完成,所述riccati方程求解器将迭代极限设置为150次迭代。然而,如图6所示,所述riccati方程求解器不能在低速下在所述迭代极限内导出解。对于lqg控制器,所述riccati方程求解器与用于lqr控制器的求解器相同。对于mpc控制器,二次编程求解器具有类似的问题。

第二,所述最优控制器需要考虑收敛速度和稳定性之间的折衷。快速收敛速度将导致车辆具有快速的响应时间和对期望轨迹的快速跟踪,但是车辆也将很可能进行过度转向和不稳定。

一种自动驾驶车辆包括对象检测系统、导航系统和控制系统。所述对象检测系统被配置为确定其他车辆或诸如行人和骑车人之类的对象是否将与主车辆(hostvehicle)的行驶路径相交。所述导航系统被配置为确定所述主车辆的行驶路径。所述控制系统被配置为与对象检测系统和导航系统通信以操作主车辆的转向/加速度分布图(profile),该分布图避免与其他车辆或对象的潜在碰撞。本文描述的控制系统使用最优控制器方法,其将驾驶风格因子并入成本函数加权矩阵中。例如,控制器系统可使用lqg控制器、lqr控制器、mpc控制器等。驾驶风格因子可在不同道路场景下被调整,以平衡收敛速度和稳定性之间的折衷。所述最优控制器方法还使用查找表(lut)来加速所述计算过程。对于速度范围和驾驶风格因子的组合,lut可被离线填充。这简化了解确定过程并保证了更好的稳定解。

图1是根据本公开的实施例的车辆1000的示例的示意图。车辆1000可以是自动驾驶车辆(av)或半自动驾驶车辆。如图1所示,车辆1000包括控制系统1010。该控制系统1010可以被称为控制器。所述控制系统1010包括处理器1020。该处理器1020被编程以命令施加以下之一:达到预定转向扭矩值和达到预定净非对称制动力值。每个预定力被选择以实现预定车辆横摆转矩,该预定车辆横摆转矩至多是以下两者的较小者:由对转向系统1030进行致动而产生的第一最大横摆转矩以及由对制动系统进行致动而产生的第二最大横摆转矩。

所述转向系统1030可以包括转向致动器1040,其是电动助力转向致动器。所述制动系统可包括联接到车辆1000的相应车轮1060的一个或多个制动器1050。另外,所述处理器1020可以被编程为命令所述制动系统通过每个制动器1050施加与其他制动器1050不同的制动力来施加净非对称制动力。

所述处理器1020可进一步被编程为响应于所述转向系统1030的故障而命令所述制动系统施加制动力,例如净非对称制动力。附加地或替代地,所述处理器1020可以被编程为响应于所述转向系统1030的故障而向乘员提供警告。所述转向系统1030可以是动力转向控制模块。所述控制系统1010可以包括所述转向系统1030。另外,所述控制系统1010可以包括所述制动系统。

所述转向系统1030可以包括转向致动器1040,其是电动助力转向致动器。所述制动系统可包括两个制动器1050,其联接到车辆1000的相对侧上的相应的车轮1060。另外,所述方法可包括通过每个制动器1050施加不同的制动力来命令所述制动系统施加净非对称制动力。

如果在车辆1000正在执行转弯时转向系统1030和制动系统中的一者故障,则控制系统1010允许转向系统1030和制动系统中的另一者进行接管。无论所述转向系统1030和制动系统中的哪一者保持可操作,均能够向车辆1000施加足够的横摆转矩以继续所述转弯。因此,所述车辆1000不太可能撞击诸如另一车辆或道路障碍物的对象,并且所述车辆1000的任何乘员不太可能受伤。

所述车辆1000可以在自动驾驶车辆操作的一个或多个级别中操作。出于本公开的目的,自动驾驶模式被定义为这样一模式:其中车辆1000的推进(例如,经由包括电动机和/或内燃机的动力总成)、制动和转向中的每一者均由处理器1020控制;在半自动驾驶模式中,处理器1020控制车辆1000的推进、制动和转向中的一者或两者。因此,在一个示例中,非自动驾驶操作模式可以指sae级别0-1,部分自动驾驶或半自动驾驶操作模式可以指sae级别2-3,而完全自动驾驶操作模式可以指sae级别4-5。

参考图2,所述控制系统1010包括所述处理器1020。该处理器1020被包括在车辆1000中,用于执行各种操作,这其中包括如本文所述的操作。所述处理器1020是计算设备,其通常包括处理器和存储器,所述存储器包括一种或多种形式的计算机可读媒体,并且存储可由处理器执行以用于执行各种操作的指令,这其中包括如本文所公开的操作。所述处理器1020的存储器通常还存储经由各种通信机制接收的远程数据;例如,处理器1020通常被配置用于在车辆1000内的通信网络上通信。处理器1020还可以具有到车载诊断连接器(obd-ii)的连接。尽管为了便于说明,在图2中示出了一个处理器1020,但是应当理解,处理器1020可以包括一个或多个计算设备,并且本文描述的各种操作可以由该一个或多个计算设备来执行。处理器1020可以是控制模块,例如动力转向控制模块,或者可以包括控制模块以及其它计算设备。

所述控制系统1010可以通过通信网络传输信号,该通信网络可以是控制器局域网(can)总线、以太网、局域互连网络(lin)、蓝牙和/或通过任何其它有线或无线通信网络。所述处理器1020可以与推进系统2010、转向系统1030、制动系统2020、传感器2030和/或用户接口2040以及其它组件通信。

继续参考图2,车辆1000的推进系统2010产生能量并将该能量转换成车辆1000的运动。所述推进系统2010可以是已知的车辆推进子系统,例如,包括联接到将旋转运动传递到行走轮1060的传动设备的内燃发动机的传统动力总成;包括电池、电动机和将旋转运动传递到行走轮1060的传动设备的电动动力总成;包括传统动力总成和电动动力总成的元件的混合动力总成;或任何其它类型的推进设备。所述推进系统2010与处理器1020和驾驶员通信并接收来自它们的输入。所述驾驶员可以通过例如加速器踏板和/或变速杆(未示出)来控制所述推进系统2010。

参照图1和2,所述转向系统1030通常是已知的车辆转向子系统,并且控制行走轮1060的转向。所述转向系统1030与方向盘1070和处理器1020通信且从其接收输入。所述转向系统1030可以是齿条齿轮转向系统(其具有经由转向致动器1040的电动助力转向)、线控转向系统(这两者都是如本领域已知的)、或任何其它合适的系统。所述转向系统1030可以包括固定到转向柱1080的方向盘1070,其中该转向柱1080联接到转向齿条1090。

参照图1,所述转向齿条1090以可转动的方式(例如,以四杆联动机构的方式)联接于所述行走轮1060。所述转向齿条1090的平移运动导致所述行走轮1060的转向。所述转向柱1080可以经由齿条齿轮(即,齿轮和齿条(未示出)之间的齿轮啮合)联接到所述转向齿条1090。

所述转向柱1080将方向盘1070的旋转转换成转向齿条1090的移动。所述转向柱1080可以是例如将所述方向盘1070连接到转向齿条1090的轴。所述转向柱1080可以容纳扭转传感器和离合器(未示出)。

所述方向盘1070允许操作者通过将方向盘1070的旋转传递到转向齿条1090的移动来使车辆1000转向。所述方向盘1070可以是例如已知的固定地附接到转向柱1080的刚性环。

继续参考图1,所述转向致动器1040联接到所述转向系统1030(例如转向柱1080)以便引起行走轮1060的转向。例如,所述转向致动器1040可以是可旋转地联接到转向柱1080的电动机,即,联接成能够向转向柱1080施加转向扭矩。所述转向致动器1040可以与所述处理器1020通信。

所述转向致动器1040可向所述转向系统1030提供动力辅助。换句话说,所述转向致动器1040可在方向盘1070由驾驶员旋转的方向上提供扭矩,从而允许驾驶员以较少的力来转动方向盘1070。所述转向致动器1040可以是电动助力转向致动器。

参照图1和2,制动系统2020通常是已知的车辆制动子系统,并且阻止车辆1000的运动,从而使车辆1000减速和/或停止。所述制动系统2020包括联接到行走轮1060的制动器1050。该制动器1050可以是摩擦制动器,例如盘式制动器、鼓式制动器、带式制动器等;再生制动器;任何其它合适类型的制动器;或组合。所述制动器1050可联接到例如车辆1000的相对侧上的相应行走轮1060。所述制动系统2020与处理器1020和驾驶员通信并且接收来自它们的输入。所述驾驶员可以通过例如制动踏板(未示出)来控制制动。

参考图2,所述车辆1000可包括传感器2030。该传感器2030可以检测车辆1000的内部状态,例如,车轮速度、车轮朝向以及发动机和传动装置变量。所述传感器2030可以检测车辆1000的位置或朝向,例如,全球定位系统(gps)传感器;加速度计,例如压电或微机电系统(mems);陀螺仪,例如速率、环形激光器或光纤陀螺仪;惯性测量单元(imu);和磁力计。所述传感器2030可以检测外部世界,例如,雷达传感器、扫描激光测距仪、光检测和测距(lidar)设备以及诸如摄像机的图像处理传感器。所述传感器2030可以包括通信设备,例如,车辆到基础设施(v2i)设备、车辆到车辆(v2v)设备或车辆到所有物(v2e)设备。

所述用户接口2040向车辆1000的乘员呈现信息并从乘员接收信息。所述用户接口2040可以位于例如车辆1000的客舱(未示出)中的仪表板上,或者可以容易地被乘员看到的任何地方。所述用户接口2040可以包括刻度盘、数字读出器、屏幕、扬声器等以用于输出,即,向乘员提供信息,例如,其可包括诸如已知的元件的人机接口(hmi)。所述用户接口2040可以包括用于从乘员接收输入(即,信息、指令等)的按钮、旋钮、键盘、触摸屏、麦克风等。

图3是根据本公开的实施例的车辆控制系统3000的示例的示意图。车辆控制系统3000可以包括各种组件,这取决于特定实施方式的要求。在一些实施例中,车辆控制系统3000可以包括处理单元3010、图像获取单元3020、位置传感器3030、一个或多个存储器单元3040、3050、地图数据库3060、用户接口3070和无线收发器3072。处理单元3010可以包括一个或多个处理设备。在一些实施例中,处理单元3010可以包括应用处理器3080、图像处理器3090或任何其他合适的处理设备。类似地,图像获取单元3020可根据特定应用的要求而包括任何数量的图像获取设备和组件。在一些实施例中,图像获取单元3020可包括一个或多个图像捕获设备(例如,摄像机、ccd或任何其他类型的图像传感器),诸如图像捕获设备3022、图像捕获设备3024和图像捕获设备3026。系统3000还可以包括将处理单元3010通信地连接到图像获取单元3020的数据接口3028。例如,数据接口3028可以包括用于将由图像获取单元3020获取的图像数据传输到处理单元3010的一个或多个任何有线和/或无线链路。

无线收发器3072可以包括被配置为通过使用射频、红外频率、磁场或电场来通过空中接口将传输交换到一个或多个网络(例如,蜂窝网络、因特网等)的一个或多个设备。无线收发器3072可以使用任何已知的标准来发送和/或接收数据(例如,wi-fi、蓝牙智能、802.15.4、zigbee等)。这种传输可以包括从主车辆到一个或多个位于远程位置的服务器的通信。这种传输还可以包括主车辆与该主车辆环境中的一个或多个目标车辆之间的通信(单向或双向通信)(例如,以便于考虑主车辆环境中的目标车辆或与主车辆环境中的目标车辆一起协调主车辆的导航),或者甚至包括到执行发送操作的车辆附近的未指定接收者的广播传输。

应用处理器3080和图像处理器3090都可以包括各种类型的基于硬件的处理设备。例如,应用处理器3080和图像处理器3090中的任一者或两者可以包括微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器或适合于运行应用和用于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移动设备微控制器、或中央处理单元等。

在一些实施例中,应用处理器3080和/或图像处理器3090可以包括具有本地存储器和指令集的多个处理单元。这些处理器可包含用于从多个图像传感器接收图像数据的视频输入,且还可包含视频输出能力。在一个示例中,所述处理器可以使用在332mhz下操作的90纳米-微米技术。

本文公开的任何处理设备可以被配置为执行某些功能。配置诸如所描述的处理器、其他控制器或微处理器中的任何一个之类的处理设备以执行某些功能可以包括对计算机可执行指令进行编程并且使得这些指令可用于所述处理设备以便在该处理设备的操作期间执行。在一些实施例中,配置处理设备可以包括直接用架构指令对该处理设备进行编程。在其他实施例中,配置处理设备可以包括将可执行指令存储在该处理设备在操作期间可访问的存储器上。例如,所述处理设备可以在操作期间访问所述存储器以获得并执行所存储的指令。在任一情况下,被配置为执行本文公开的感测、图像分析和/或导航功能的处理设备表示专用的基于硬件的系统,其控制主车辆的多个基于硬件的组件。

虽然图3描绘了包括在处理单元3010中的两个单独的处理设备,但是可以使用更多或更少的处理设备。例如,在一些实施例中,单个处理设备可以用于完成应用处理器3080和图像处理器3090的任务。在其它实施例中,这些任务可以由多于两个处理设备执行。此外,在一些实施例中,车辆控制系统3000可以包括一个或多个处理单元3010,而不包括其他组件,例如图像获取单元3020。

处理单元3010可以包括各种类型的设备。例如,处理单元3010可以包括各种设备,诸如控制器、图像预处理器、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器、或用于图像处理和分析的任何其他类型的设备。所述图像预处理器可包括视频处理器,其用于捕获、数字化和处理来自图像传感器的图像。所述cpu可以包括任意数量的微控制器或微处理器。所述支持电路可以是本领域公知的任意数量的电路,包括高速缓存、电源、时钟和输入输出电路。所述存储器可以存储软件,当该软件由处理器执行时,该软件控制系统的操作。所述存储器可以包括数据库和图像处理软件。所述存储器可以包括任意数量的随机存取存储器、只读存储器、闪存、盘驱动器、光存储设备、磁带存储设备、可移动存储设备和其它类型的存储设备。在一个实例中,所述存储器可以与所述处理单元3010分离。在另一实例中,所述存储器可以集成到所述处理单元3010中。

每个存储器3040、3050可以包括软件指令,当该软件指令由处理器(例如,应用处理器3080和/或图像处理器3090)执行时,该软件指令可以控制车辆控制系统3000的各个方面的操作。这些存储器单元可以包括各种数据库和图像处理软件,以及诸如神经网络或深度神经网络等经训练的系统。所述存储器单元可以包括随机存取存储器、只读存储器、闪存、盘驱动器、光存储设备、磁带存储设备、可移动存储设备和/或任何其它类型的存储设备。在一些实施例中,存储器单元3040、3050可以与应用处理器3080和/或图像处理器3090分离。在其它实施例中,这些存储器单元可以集成到应用处理器3080和/或图像处理器3090中。

位置传感器3030可以包括适于确定与车辆控制系统3000的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,位置传感器3030可包括gps接收器。这样的接收器可以通过处理由全球定位系统卫星广播的信号来确定用户位置和速度。来自位置传感器3030的位置信息可以被使得可用于应用处理器3080和/或图像处理器3090。

在一些实施例中,车辆控制系统3000可以包括各种组件,诸如用于测量车辆1000的速度的速度传感器(例如,速度计)。车辆控制系统3000还可以包括一个或多个加速度计(单轴或多轴加速度),用于测量车辆1000沿一个或多个轴的加速度。

所述存储器单元3040、3050可以包括数据库或以任何其他形式组织的数据,其指示已知地标的位置。环境的感知信息(例如图像、雷达信号、来自lidar的深度信息或关于两个或多个图像的立体处理)可以与位置信息(例如gps坐标、车辆的自身运动等)一起被处理,以确定车辆相对于已知地标的当前位置,并细化所述车辆位置。

用户接口3070可以包括适于向车辆控制系统3000的一个或多个用户提供信息或从其接收输入的任何设备。在一些实施例中,用户接口3070可以包括用户输入设备,其包括例如触摸屏、麦克风、键盘、指示器设备、跟踪轮、摄像机、旋钮、或按钮等。利用这样的输入设备,用户能够通过键入指令或信息、提供语音命令、使用按钮、指针或眼部跟踪能力在屏幕上选择菜单选项、或通过用于将信息传送到车辆控制系统3000的任何其他合适的技术来向车辆控制系统3000提供信息输入或命令。

用户接口3070可以被配备有一个或多个处理设备,该处理设备被配置为向用户提供信息和从用户接收信息,并且处理该信息以供例如应用处理器3080使用。在一些实施例中,此类处理设备可执行用于辨识和跟踪眼部移动、接收和解释语音命令、辨识和解释在触摸屏上作出的触摸和/或手势、响应键盘输入或菜单选择等的指令。在一些实施例中,用户接口3070可以包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。

地图数据库3060可以包括用于存储对车辆控制系统3000有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库3060可以包括与各种项目在参考坐标系中的位置有关的数据,所述项目包括道路、水特征、地理特征、商业、兴趣点、餐馆、加油站等。地图数据库3060不仅可以存储这些项目的位置,而且可以存储与这些项目相关的描述符,这其中包括例如与任何所存储的特征相关联的名称。在一些实施例中,地图数据库3060可以与车辆控制系统3000的其他组件在物理上位于一起。替代地或附加地,地图数据库3060或其一部分可以相对于车辆控制系统3000的其他组件(例如,处理单元3010)位于远程位置。在这样的实施例中,来自地图数据库3060的信息可以通过到网络的有线或无线数据连接(例如,通过蜂窝网络和/或因特网等)而被下载。在一些情况下,地图数据库3060可以存储稀疏数据模型,该稀疏数据模型包括用于主车辆的某些道路特征(例如,车道标志)或目标轨迹的多项式表示。地图数据库3060还可以包括所存储的各种识别的地标的表示,所述地标可以用于确定或更新主车辆相对于目标轨迹的已知位置。所述地标表示可以包括诸如地标类型、地标位置以及其它潜在标识符的数据字段。

图像捕获设备3022、3024和3026可以各自包括适合于从环境捕获至少一个图像的任何类型的设备。此外,可以使用任何数量的图像捕获设备来获取图像以输入到图像处理器。一些实施例可仅包括单个图像捕获设备,而其它实施例可包括两个、三个或甚至四个或更多个图像捕获设备。以下将参考图4进一步描述图像捕获设备3022、3024和3026。

一个或多个摄像机(例如,图像捕获设备3022、3024和3026)可以是包括在车辆上的感测块的一部分。各种其它传感器可以包括在所述感测模块中,并且可以依赖于任何或所有所述传感器来形成车辆的感测导航状态。除了摄像机(前向、侧向、后向摄像机等)之外,诸如雷达、lidar和声学传感器的其他传感器可以被包括在所述感测块中。另外,所述感测块可以包括被配置为传送和发送/接收与车辆的环境有关的信息的一个或多个组件。例如,这种组件可以包括无线收发器(rf等),其可以从相对于主车辆传感器位于远程位置的源接收基于传感器信息或与主车辆的环境有关的任何其它类型的信息。这种信息可以包括从除了主车辆之外的车辆系统接收的传感器输出信息或相关信息。在一些实施例中,这种信息可以包括从远程计算设备、中央服务器等接收的信息。此外,所述摄像机可以采取许多不同的配置:单个摄像机单元、多个摄像机、摄像机集群、长fov、短fov、广角、或鱼眼等。

图4是根据本公开的实施例的包括车辆控制系统3000的车辆1000的侧视图的示例的示意图。例如,车辆1000可以配备处理单元3010和车辆控制系统3000的任何其他组件,如上面关于图3所描述的。而在一些实施例中,车辆1000可以仅配备单个图像捕获设备(例如,摄像机),在其他实施例中,可以使用多个图像捕获设备。例如,如图4所示,车辆1000的图像捕获设备3022和3024中的任一者可以是高级驾驶员辅助系统(adas)成像组的一部分。

作为图像获取单元3020的一部分的包括在车辆1000上的图像捕获设备可以位于任何合适的位置。在一些实施例中,图像捕获设备3022可位于后视镜附近。该位置可提供与车辆1000的驾驶员的视线类似的视线,这可帮助确定什么对于驾驶员是可见的和不可见的。图像捕获设备3022可位于后视镜附近的任何位置,但将图像捕获设备3022放置在镜子的驾驶员侧上可进一步帮助获得表示驾驶员的视野和/或视线的图像。

也可使用用于图像获取单元3020的图像捕获设备的其他位置。例如,图像捕获设备3024可位于车辆1000的保险杠上或保险杠中。这样的位置可能特别适合于具有宽视场的图像捕获设备。位于保险杠的图像捕获设备的视线可能不同于驾驶员的视线,因此,保险杠图像捕获设备和驾驶员可能不总是看到相同的对象。所述图像捕获设备(例如,图像捕获设备3022、3024和3026)也可以位于其他位置。例如,所述图像捕获设备可以位于车辆1000的侧镜中的一个或两个上或其中、位于车辆1000的车顶上、位于车辆1000的引擎盖上、位于车辆1000的行李箱上、位于车辆1000的侧面上、安装在车辆1000的任何窗户上、位于车辆1000的任何窗户之前或之后、以及安装在车辆1000的前面和/或后面的灯具中或附近。

除了图像捕获设备之外,车辆1000可以包括车辆控制系统3000的各种其他组件。例如,处理单元3010可以被包括在车辆1000上,其可与车辆的发动机控制单元(ecu)集成或分离。车辆1000还可装备有位置传感器3030,例如gps接收器,并且还可包括地图数据库3060和存储器单元3040和3050。

如前所述,无线收发器3072可以和/或通过一个或多个网络(例如,蜂窝网络、因特网等)接收数据。例如,无线收发器3072可以将由车辆控制系统3000收集的数据上传到一个或多个服务器,并且从该一个或多个服务器下载数据。通过无线收发器3072,车辆控制系统3000可以接收例如对存储在地图数据库3060、存储器3040和/或存储器3050中的数据的周期性或按需更新。类似地,无线收发器3072可以将来自车辆控制系统3000的任何数据(例如,由图像获取单元3020捕获的图像、由位置传感器3030或其他传感器、车辆控制系统等接收的数据)和/或由处理单元3010处理的任何数据上传到所述一个或多个服务器。

车辆控制系统3000可以基于隐私级别设置将数据上传到服务器(例如,上传到云)。例如,车辆控制系统3000可以实现隐私级别设置以调节或限制发送到服务器的数据(包括元数据)的类型,该数据可以唯一地标识车辆和/或车辆的驾驶员/所有者。这样的设置可以由用户经由例如无线收发器3072来设置,由工厂默认设置来初始化,或者由无线收发器3072所接收的数据来初始化。

图5是根据本公开的实施例的车辆系统架构5000的示例的示意图。该车辆系统架构5000可以被实现为主车辆5010的一部分。

参考图5,所述车辆系统结构5000包括导航设备5090、决策单元5130、对象检测器5200、v2x通信5160和车辆控制器5020。所述导航设备5090可以由决策单元5130用来确定所述主车辆5010到目的地的行驶路径。例如,该行驶路径可以包括行驶路线或导航路径。所述导航设备5090、决策单元5130和车辆控制器5020可共同用于确定沿道路将主车辆5010转向到何处(使得主车辆5010相对于例如车道标记、路缘、交通标志、行人、其它车辆等适当地位于在道路上),基于数字地图5120确定指示主车辆5010跟随以到达目的地的路线,或这两者。

为了确定所述主车辆5010位于数字地图5120上的何处,所述导航设备5090可包括定位设备5140,例如gps/gnss接收器和惯性测量单元(imu)。摄像机5170、雷达单元5190、声纳单元5210、lidar单元5180或其任何组合可用于检测在数字地图5120上指示的接近所述主车辆5010的相对永久对象,例如交通信号、建筑物等,并且确定相对于那些对象的相对位置以便确定所述主车辆5010位于数字地图5120上的何处。该过程可以被称为地图定位。所述导航设备5090的功能、由导航设备5090提供的信息或这两者可全部或部分地通过v2i通信、v2v通信、车辆到行人(v2p)通信或其组合(其可被一般标记为v2x通信5160)来进行。

在一些实施方式中,对象检测器5200可以包括声纳单元5210、摄像机5170、lidar单元5180和雷达单元5190。所述对象检测器5200可以用于检测另一实体的相对位置,并且确定另一实体将与主车辆5010的行驶路径相交的交点。为了确定该交点以及所述主车辆5010和另一实体何时将到达所述交点的相对定时,车辆系统架构5000可以使用所述对象检测器5200来确定例如相对速度、另一实体与主车辆5010的相距距离或者这两者。所述对象检测器5200的功能、由对象检测器5200提供的信息或者这两者可以全部或者部分地通过v2i通信、v2v通信、v2p通信或者其组合(其可被一般地被标记为v2x通信5160)来进行。因此,所述车辆系统架构5000可以包括收发器以实现这样的通信。

所述车辆系统架构5000包括与所述对象检测器5200和导航设备5090通信的决策单元5130。该通信可以是通过但不限于有线、无线通信或光纤的方式。所述决策单元5130可以包括处理器(一个或多个),例如微处理器或其他控制电路,例如模拟电路、数字电路或这两者,这其中包括用于处理数据的专用集成电路(asic)。所述决策单元5130可以包括存储器,这其中包括非易失性存储器,例如电可擦除可编程只读存储器(eeprom),用于存储一个或多个常规程序、阈值、捕获的数据或其组合。所述决策单元5130可至少包括任务规划器5300、行为规划器5310和运动规划器5320,它们共同确定或控制所述主车辆5010的路线或路径规划、本地驾驶行为和轨迹规划。

所述车辆系统架构5000包括与决策单元5130通信的车辆控制器或轨迹跟踪器5020。所述车辆控制器5020可以通过将诸如转向、油门、制动等运动的适当的车辆命令施加到诸如转向、加速器、制动器等的沿着几何路径引导车辆的物理控制机构来执行限定的几何路径(其可以由运动规划器5320或决策单元5130提供)。所述车辆控制器5020可包括(一个或多个)处理器,诸如微处理器或其他控制电路,诸如模拟电路、数字电路或这两者,这其中包括用于处理数据的专用集成电路(asic)。所述车辆控制器5020可包括存储器,这其中包括非易失性存储器,例如电可擦除可编程只读存储器(eeprom),用于存储一个或多个常规程序、阈值、捕获的数据或其组合。

所述主车辆5010可以以自动模式操作,其中不需要操作者来操作车辆5010。在所述自动模式中,车辆控制系统5000(例如通过使用车辆控制器5020、决策单元5130、导航设备5090、对象检测器5200和其它描述的传感器和设备)自主地控制车辆5010。替代地,所述主车辆可以以手动模式操作,其中自动化程度或水平可能比向操作者提供转向建议稍多。例如,在手动模式中,车辆系统架构5000可以根据需要辅助操作者到达所选择的目的地,避免与另一实体的干扰或碰撞,或者这两者,其中另一实体可以是另一车辆、行人、建筑物、树、动物或车辆5010可能遇到的任何其他对象。

本文描述的处理器、控制处理器或控制器被配置为快速跟踪期望的轨迹并且具有很小的跟踪误差。本文描述了一种用于运动规划的方法,该方法将路径规划和速度规划分离,并且其中路径规划可以使用参考线结合基于采样的运动规划器来确定路径。将所述运动规划分离为路径规划和速度规划减少了搜索问题的维度,并且导致对路径的更有效的搜索。路径规划器可以搜索无碰撞路径,并且速度规划器可以考虑运动目标和操纵要求而沿着所述路径生成最优速度。

图7是根据本公开的实施例的用于使用查找表(lut)的最优控制的示例技术或方法7000的流程图。该技术7000包括:获取车辆运动状态7005;检查自旋、漂移和侧翻状况7010、7015、7020;针对不安全状况,使用先前轨迹7025;计算纵向速度7030;确定驾驶风格因子7035;从最优控制器lut定位最优控制因子7040;以及更新转向角命令7045。通过使用本文所述的方法,本文所述的控制器被配置成快速跟踪期望轨迹并且具有小的跟踪误差。基于所述纵向速度和驾驶风格因子,通过搜索所述lut来定位最优控制因子,例如,所述最优控制器的控制反馈增益“k”或其唯一形式。例如,所述技术7000可以部分地由图5中所示的车辆控制器5020、图5中所示的运动规划器5320、图1中所示的控制系统1010、图1或图2中所示的处理器1020或图3或图4中所示的处理单元3010来实现。

所述技术7000包括通过控制器或控制系统获取车辆运动状态7005,例如来自监视器和定位模块或单元的车辆位置、航向角、方向盘角度、速度、方向等,以及来自运动规划器的期望轨迹和速度。

所述技术7000包括检查自旋状况7010,以确保期望的轨迹和速度是安全的。如果自旋状况是不安全的,则所述技术7000包括使用来自运动规划器的先前轨迹7025。

所述技术7000包括检查漂移状况7015,以确保期望的轨迹和速度是安全的。如果所述漂移状况是不安全的,则所述技术7000包括使用来自运动规划器的先前轨迹7025。

所述技术7000包括检查侧翻状况7020,以确保期望的轨迹和速度是安全的。如果所述侧翻状况是不安全的,则所述技术7000包括使用来自运动规划器的先前轨迹7025。

所述检查7010、7015和7020序列是一个示例,并且可以串行或并行地实现其他序列。

所述技术7000包括:如果所述状况是安全的,则计算纵向速度vx7030,并且确定驾驶风格因子α7035。这两个参数用于定位最优控制因子,例如最优反馈增益k或来自最优控制器lut的等式。在一种实施方式中,车辆纵向速度可以根据线速度v和车辆滑移角β来计算,其中vx=vcosβ。所述驾驶风格因子α可由驾驶风格因子决定器或单元从关于车辆状态、来自运动规划器的期望轨迹、当前线速度等的信息确定,其中所述驾驶风格因子决定器或单元可至少在图5所示的车辆控制器5020或图5所示的运动规划器5320中实现。

所述驾驶风格因子α可以在0和1之间,其中α=1表示最激进的驾驶模式,α=0表示最温和的驾驶模式。所述最优控制器可以被配置为最小化具有车辆状态x和输入u的成本函数,其中车辆状态x可以是车辆的横向误差、横向误差率、航向角和航向角速率,并且输入u是转向角。在示例性lqr控制器实施方式中,具有驾驶风格因子α的成本函数可被定义为:

其中q和r分别是车辆状态x和输入u的加权矩阵,其形式为:

r=…(1.5α+0.5)

通过改变所述驾驶风格因子α,加权矩阵q和r可相应地调整它们的加权元素的比率。通过减小驾驶方式因子α,所述权重相对于转向角和航向角增大,并且驾驶风格变得更温和。通过增大驾驶风格因子α,所述权重相对于转向角和航向角减小,并且驾驶风格变得更激进。所述驾驶风格因子决定器或单元可以使用与车辆速度、当前转向角、轨迹曲率等相关的信息来决定所述驾驶风格因子α。图8是根据本公开的实施例的用于确定驾驶风格因子的神经网络8000的示例的框图。该神经网络的训练是通过一系列预定的情况进行的。在一个示例中,lqg控制器、mpc控制器等可以被类似地实现。

所述技术7000包括在确定纵向速度vx和驾驶风格因子α之后,从最优控制器lut定位最优控制因子7040。该最优控制因子可以是最优反馈增益k或其基于速度的等式。可从如图9中所示的最优控制器lut9000中搜索或获得所述最优控制因子,该最优控制器lut9000是根据本公开的实施例的最优控制器lut的示例实现。可以通过离线求解最优方程来导出所述最优控制器lut9000中的每个元素9005。使用或应用最优控制器lut9000节省了确定或找到所述最优控制因子的计算时间。此外,使用最优控制器lut9000避免了实时控制器在有限的控制器更新间隔中寻找最优解失败。

所述技术7000包括基于在最优控制器lut9000中找到的最优控制因子,更新转向角命令7045。

图11是根据本公开的实施例的当使用驾驶风格因子α时的示例车辆响应时间和方向盘转角的操作范围的表格。在该示例中,场景是在具有12英尺宽的车道的直道上的车道改变,road_radius=inf,并且以10、30、50mph的不同速度计算。图12是根据本公开的实施例的在10mph下当驾驶模式为温和(a=0)时的示例车辆驾驶参数的曲线图。图13是根据本公开的实施例的在10mph下当驾驶模式是中度(a=0.5)时的示例车辆驾驶参数的曲线图。图14是根据本公开的实施例的在10mph下当驾驶模式是激进(a=1)时的示例车辆驾驶参数的曲线图。图15是根据本公开的实施例的在30mph下当驾驶模式是温和时的示例车辆驾驶参数的曲线图。图16是根据本公开的实施例的在30mph下当驾驶模式是中度时的示例车辆驾驶参数的曲线图。图17是根据本公开的实施例的在30mph下当驾驶模式为激进时的示例车辆驾驶参数的曲线图。图18是根据本公开的实施例的在50mph下当驾驶模式为温和时的示例车辆驾驶参数的曲线图。图19是根据本公开的实施例的在50mph下当驾驶模式为中度时的示例车辆驾驶参数的曲线图。图20是根据本公开的实施例的在50mph下当驾驶模式为激进时的示例车辆驾驶参数的曲线图。

在一个示例中,mpc方法和控制器与驾驶风格因子α和最优控制器lut被结合使用。在该示例中,控制器可以考虑输入和输出约束的影响。类似于以上关于lqr示例的描述,整个约束区域可被划分成若干子区域。每个子区域可以具有唯一的最优解形式。例如,图10是根据本公开的实施例的约束区域的示例的示意图。如图所示,考虑了输入约束和输入速率约束。为了求解二次成本函数,例如,可以将整个可用区域划分成9个区域。对于区域1,可以通过求解无约束线性函数来导出最优解。对于其他或剩余区域,最优解可以导致饱和的最优解。因此,在每个区域中,可以获得唯一的最优解形式。通过应用所述最优控制器lut,可以定位最优mpc解(例如,最优控制因子),而不是在每个周期在线求解最优解。

一种用于控制自动驾驶车辆(av)的方法,所述方法包括:获取所述av的车辆状态信息;确定所述av的纵向速度;确定驾驶风格因子,其中所述驾驶风格因子至少取决于道路场景;使用所确定的纵向速度和所确定的驾驶风格因子从查找表(lut)获得最优控制因子;以及基于所获得的最优控制因子,提供更新的控制命令。在一种实施方式中,所述最优控制因子是线性二次调节器算法或线性二次高斯算法中的至少一者的最优反馈增益。在一种实施方式中,所述最优控制因子是解区域的每个区域的最优模型预测控制解。在一种实施方式中,所述车辆状态信息至少包括车辆位置、航向角、方向盘角度、速度、方向、期望轨迹和速度。在一种实施方式中,所述方法还包括检查自旋、漂移和翻转状况以确保期望轨迹和速度是安全的。在一种实施方式中,该方法还包括如果自旋、漂移和侧翻状况不安全,则使用先前的轨迹。在一种实施方式中,所述纵向速度是从线速度和车辆滑移角确定的。在一种实施方式中,所述驾驶风格因子是至少根据车辆状态、期望轨迹和当前线速度来确定的。在一种实施方式中,所述驾驶风格因子的范围在温和驾驶模式和激进驾驶模式之间。在一种实施方式中,所述方法还包括所述控制命令是转向命令、加速和减速中的至少一者。

一种用于控制自动驾驶车辆(av)的车辆控制系统。所述车辆控制系统包括控制器,其中所述控制器被配置为:获取所述av的车辆状态信息;确定所述av的纵向速度;确定驾驶风格因子,其中所述驾驶风格因子至少取决于道路场景;使用所确定的纵向速度和所确定的驾驶风格因子从查找表(lut)获得最优控制因子;以及基于所获得的最优控制因子来提供更新的控制命令。在一种实施方式中,所述最优控制因子是线性二次调节器算法或线性二次高斯算法中的至少一者的最优反馈增益。在一种实施方式中,所述最优控制因子是解区域的每个区域的最优模型预测控制解。在一种实施方式中,所述车辆状态信息至少包括车辆位置、航向角、方向盘角度、速度、方向、期望轨迹和速度。在一种实施方式中,所述控制器被配置成检查自旋、漂移和翻滚状况以确保期望轨迹和速度是安全的。在一种实施方式中,所述控制器被配置成如果所述自旋、漂移和侧翻状况不安全,则使用先前的轨迹。在一种实施方式中,所述纵向速度是从线速度和车辆滑移角确定的。在一种实施方式中,所述驾驶风格因子是至少根据车辆状态、期望轨迹和当前线速度来确定的。在一种实施方式中,所述驾驶风格因子的范围在温和驾驶模式和激进驾驶模式之间。在一种实施方式中,所述控制命令是转向命令、加速和减速中的至少一者。

虽然本申请的一些实施方式涉及方法,但是本领域技术人员可以理解实施方式也可以被实施为系统或计算机程序产品。因此,本发明的方面可以采用完全硬件实施方式的形式、完全软件实施方式的形式(包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施方式的形式,这在本申请中可以一般都称为“处理器”、“设备”或“系统”。此外,本发明的方面可以采取在其上具有计算机可读程序代码的一个或多个计算机可读介质中实施的计算机程序产品的形式。可以使用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体系统、装置或设备,或前述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举)包括以下:具有一个或多个电线的电连接、可携带计算机磁盒、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、可携带压缩盘只读存储器(cd-rom)、光存储设备、磁存储设备或前述的任意合适的组合。在本申请上下文中,计算机可读存储介质可以是任意有形介质,能够包含或存储用于指令执行系统、装置或设备使用或与其关联的程序。

计算机可读信号介质可以包括在其中实施计算机可读程序代码的传播数据信号,例如在基带中,或作为载波的部分。这样的传播信号可以采用任意多种形式,包括但不限于,电磁、光或这些的任意合适组合。计算机可读信号介质可以是不是计算机可读存储介质且能够通信、传播或传输供指令执行系统、装置或设备使用或与之关联的程序的任意计算机可读介质。

在计算机可读介质实施的程序代码可以使用任意合适的介质来传送,包括但不限于,cd、dvd、无线、有线、光纤电缆、rf等,或前述的任意合适组合。

用于执行本发明方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合被写入,包括面向对象的编程语言,例如java、smalltalk、c++等,以及常规程序编程语言,例如“c”编程语言或类似的编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立软件包执行,部分在用户的计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。在后者场景中,远程计算机可以通过任意类型的网络连接到用户的计算机,包括局域网(lan)和广域网(wan),或可以到外部计算机的连接(例如通过使用因特网服务供应商的因特网)。

下面参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述本发明的方面。可以理解流程图图示和/或框图的每一个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令来执行。

这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,由此经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于执行在流程图和/或框图的一个或多个框中指定的功能/动作。这些计算机程序指令也可以被存储在计算机可读介质中,其可以指示计算机、其他可编程数据处理装置或其他设备已特定方式发挥功能,由此存储在计算机可读介质中的指令产生一项产品,包括执行在流程图和/或框图的一个或多个框中指定的功能/动作。

计算机程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机执行的过程,由此在计算机或其他可编程装置上执行的指令提供用于执行在流程图和/或框图的一个或多个框中指定的功能/动作的过程。

附图中的流程图和框图示出了根据本发明的各种实施方式的系统、方法和计算机程序产品的可能实施的架构、功能和操作。在这一点而言,流程图或框图中的每个框可以代表代码模块、片段或部分,其包括用于执行指定的一个或多个逻辑功能的一个或多个可执行指令。还应当注意,在一些可替换实施中,框中注释的功能可以不按照图中标示的顺序发生。

虽然结合某些实施方式描述了本公开,但是可以理解本公开不限于公开的实施方式,而是意在覆盖包括在权利要求书的范围内的各种修改、组合和等同设置,范围符合最宽解释由此专利法允许的所有这样的修改和等同结构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1