具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例公开了一种车辆纵向控制方法、装置、车载终端及存储介质,能够解决VLC模块与ESP之间的传输延时所造成的影响,进而对车辆纵向进行有效控制。以下分别进行详细说明。
请参阅图1A,图1A是本申请实施例公开的一种车辆纵向控制方法的应用场景示意图。如图1A所示,可包括车辆10和道路20,车辆10可在道路20上进行行驶。
请参阅图1B,图1B是一个实施例公开的一种车辆的结构示意图。如图1B所示,车辆10包括运动控制模块110(Motion Control,MC)、路径规划模块120(Motion Planning,MP)、车辆纵向控制模块130(VLC)以及车辆电子稳定控制系统140(Electronic StabilityProgram,ESP)。
在本申请实施例中,运动控制模块110,可包括微控制单元(Micro ControllerUnit,MCU)、汽车电脑等,但不限于此。运动控制模块110可为车辆10的控制中心,利用各种接口和线路连接整个车辆的各个部分,并执行车辆的数据处理。
在本申请实施例中,路径规划模块120,可包括一个或多个卫星信号接收装置或者是传感器,卫星信号接收装置和传感器可设置在车辆10的不同位置,具体不做限定。路径规划模块120可以依据采集到的卫星信号或者传感器数据规划车辆的行驶轨迹,并将规划的行驶轨迹传输至运动控制模块10。运动控制模块110在接收到规划的路径轨迹后,依据路径轨迹以及延迟时长与预测时长的时间长度,确定参考轨迹。运动控制模块110还获取车辆在上一时刻的纵向加速度,并依据该上一时刻的纵向加速度,通过预测模型输出车辆在当前时刻的模型输出行驶信息。运动控制模块110依据得到当前时刻的模型输出行驶信息,通过预测函数控制算法来预测得到预测时长最后一个时刻的模型输出行驶信息,并基于该最后一个时刻的模型输出行驶信息以及确定的参考轨迹的终点的车辆行驶信息,来得到当前时刻的纵向加速度,将该纵向加速度传输至车辆纵向控制模块130中。
在本申请实施例中,车辆纵向控制模块130,可以依据运动控制模块110处理得到的纵向加速度,再根据车辆具体情况如位置和速度对该纵向加速度进行进一步处理,使其成为可被执行的纵向加速度值。处理后将可被执行的纵向加速度值传输至车辆电子稳定控制系统140。
在本申请实施例中,车辆电子稳定控制系统140可包括一个或多个传感器,车辆电子稳定控制系统140在可被执行的纵向加速度值对车辆纵向加速度进行控制的情况下,还通过对从各传感器传来的车辆行驶信息进行分析,发出相关指令来帮助车辆维持动态平衡。
请参阅图2,图2是本申请实施例公开的一种车辆纵向控制方法的方法流程示意图,该方法可应用于前述的车辆10。如图2所示,该方法可包括以下步骤:
210、根据规划的路径轨迹,确定参考轨迹,其中,路径轨迹由路径规划模块规划得到,路径轨迹包括各个时刻对应的轨迹点以及各个轨迹点对应的车辆行驶信息,车辆行驶信息包括速度及位置,参考轨迹的时间起点为当前时刻加上延迟时长,参考轨迹的时间长度为预测时长,延迟时长为车辆信息处理及传输导致的延迟时间长度。其中,预测时长为预测函数控制算法对应的预设时域,也就是该预设时域中包含的各个时刻的数量,该数量即为预测函数控制算法所要进行迭代计算的次数。
在本申请实施例中,车辆在自动驾驶或者辅助驾驶的过程中,车辆中的路径规划模块会依据测量到的道路信息以及行驶所需时间来对车辆行驶的路径进行规划,得到路径轨迹,其中,路径轨迹中包含有各个时刻对应的轨迹点以及各个轨迹点对应的车辆行驶信息。在这里的各个时刻,指的是要对车辆进行纵向控制的时间点。其中,道路信息可包括道路长度和宽度、弯道角度以及路面平坦度等数据。
纵向控制指的是通过对油门和制动的协调,实现对规划路径中规划的车速的精准跟踪,也就是说对车辆进行纵向控制,其目的在于令车辆行驶到各个位置的车速与规划路径中各个位置对应的规划车速相同,而要实现车辆的精确纵向控制,需要有准确的输入,也就是车辆的纵向加速度。
在本申请实施例中,在路径规划模块所规划的路径轨迹中,路径轨迹所包含的各个轨迹点均有对应的车辆行驶信息,也就是规划的车辆在各个轨迹点处的行驶信息,其中,车辆行驶信息中至少包括车辆的速度以及车辆的位置。
在一些实施例中,车辆在路径规划模块规划得到路径轨迹后,从路径轨迹中确定参考轨迹,具体可以是,车辆中的运动控制模块接收到路径规划模块所传输的路径轨迹后,依据车辆信息处理及传输过程导致的延迟时长以及后续所要采用的预测函数控制算法的预测时长,从路径轨迹中选取其中所需要的一段,来作为参考轨迹,其中,车辆信息处理及传输过程导致的延迟时间长度可以为车辆中的车辆纵向控制模块,在接收到运动控制模块传输的当前时刻的纵向加速度后进行处理,并将处理后的纵向加速度传输至车辆电子稳定控制系统所需要的时间。而运动控制模块所选取的参考轨迹的时间起点应该为当前时刻加上延迟时长,参考轨迹的时间长度应该为预测时长。这是因为由于车辆信息处理过程具有一定的延迟如VLC模块对纵向加速度进行处理并将所要执行的纵向加速度传输至ESP中进行作用时,具有一定的传输延迟,使得通过预测函数控制算法所预测得到多个时刻对应的行驶信息如车辆的速度和位置,并非与规划路径中相同时刻的行驶信息相匹配,而应当与延迟时长之后的路径中的对应时刻相匹配。
举例说明,延迟时长为200ms时,路径轨迹中相邻的各个时刻均相隔10ms,因此在当前时刻输入的纵向加速度,其作用到车辆以调整车辆的速度和位置的时刻应该在200ms之后,因此,预测的当前时刻的车辆行驶信息应当与规划的路径轨迹中当前时刻经过200ms之后的时刻的行驶信息相对应。
因此,车辆在从规划的路径轨迹中确定参考轨迹所依据的延迟时长可以由车辆中VLC模块与ESP之间的车辆信息处理和传输所需要的时间长度来决定。进一步,该延迟时长可以是从VLC模块获到纵向加速度,并根据纵向加速度得到可执行的值,再将该可执行的值传递给ESP模块的时长。
220、获取车辆在上一时刻的纵向加速度,依据上一时刻的纵向加速度,采用预测模型输出得到车辆在当前时刻的模型输出行驶信息,模型输出行驶信息包括预测速度及预测位置。
在本申请实施例中,车辆中的运动控制模块获取本车辆在上一时刻的纵向加速度,也就是上一时刻实际输入到车辆中来执行车辆纵向控制的纵向加速度,将该上一时刻的纵向加速度,作为构建的预测模型的输入,通过构建的预测模型来输出车辆在当前时刻的模型输出行驶信息,其中,模型输出行驶信息中包含有预测速度和预测位置,车辆在依据各个时刻的纵向加速度对车辆进行纵向控制后,可将纵向加速度值进行保存,以使车辆中的各个模块能够进行调取并使用。对于构建的预测模型可以为卡尔曼滤波预测模型、组合预测模型或者反向传播神经网络预测模型,在此不做具体限定。
在一些实施例中,依据运动控制模块的工作任务,也就是输入的纵向加速度与输出的车辆速度和位置之间的关系,来构建预测模型,该预测模型具体可表示为下述式(1):
其中,
为输出当前时刻的车辆速度和位置,
为上一时刻车辆的速度和位置,u=Δa为上一时刻对车辆进行纵向控制所依据的纵向加速度,
为上一时刻车辆的速度和位置的系数矩阵,
为上一时刻对车辆进行纵向控制所依据的纵向加速度的系数矩阵。采用依据车辆各个时刻速度和位置与纵向加速度之间的关系所构建的预测模型来输出当前时刻的模型输出行驶信息,能够提高预测的当前时刻的模型输出行驶信息的准确性。
在一些实施例中,车辆行驶信息还可以包括规划的纵向加速度,也就是参考加速度,所以车辆除了依据输入的纵向加速度以及输出的车辆速度和位置之间的关系之外,还可以结合路径轨迹中车辆行驶信息中的参考加速度,来构建预测模型,该预测模型具体可表示为下述式(2):
其中,
为输出当前时刻的车辆速度和位置,
为上一时刻车辆的速度和位置,u=Δa为上一时刻对车辆进行纵向控制所依据的纵向加速度,a
ref为上一时刻的参考加速度,
为上一时刻车辆的速度和位置的系数矩阵,
为上一时刻对车辆进行纵向控制所依据的纵向加速度的系数矩阵,
为上一时刻的参考加速度的系数矩阵。结合规划的路径轨迹中对应时刻的参考加速度来构建预测模型,能够初步使得预测模型得到的预测结果能够更加贴近路径轨迹中对应时刻的车辆行驶信息。
230、通过预测函数控制算法对当前时刻的模型输出行驶信息进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息,并基于最后一个时刻的模型输出行驶信息及参考轨迹的终点对应的车辆行驶信息,确定当前时刻的纵向加速度。
在本申请实施例中,车辆中的运动控制模块在通过预测模型预测得到当前时刻的模型输出行驶信息后,通过采用预测函数控制算法来对得到的当前时刻的模型输出行驶信息进行多次迭代计算,进而预测得到预测函数控制算法所对应的预测时长中最后一个时刻的模型输出行驶信息。其中,预测函数控制算法是向前考虑未来时间步的有限时域的优化,因此预测函数控制算法有对应的预测时长来进行优化,而非无限迭代进行优化。
车辆在得到预测时长最后一个时刻的模型输出行驶信息后,基于确定的参考轨迹的终点对应的车辆行驶信息,来确定当前时刻的纵向加速度,也就是令通过预测函数控制算法迭代计算后预测得到的预测时长最后一个时刻的模型输出行驶信息与参考轨迹的终点对应的所规划的车辆行驶信息相等或者尽量接近,进而确定要实现这一优化目的所需要的当前时刻的纵向加速度。
在本申请实施例中,得到的预测时长中最后一个时刻的模型输出行驶信息的表达式为仅包含有所要确定的当前时刻的纵向加速度这一个未知量,令参考轨迹的终点对应的所规划的车辆行驶信息来与得到的预测时长中最后一个时刻的模型输出行驶信息相对应,得到求取当前时刻的纵向加速度这一未知量的表达式,从而确定所要当前时刻实际所要执行的纵向加速度。
240、依据当前时刻的纵向加速度对车辆的纵向进行控制。
在本申请实施例中,车辆中的运动控制模块依据当前时刻的纵向加速度对车辆的纵向进行控制,具体是车辆中的运动控制模块将该确定的当前时刻的纵向加速度传输至车辆中的车辆纵向控制模块,以使车辆纵向控制模块将该当前时刻的纵向加速度处理为可执行的纵向加速度值,并将该纵向加速度值传输至车辆电子稳定控制系统来对车辆进行纵向控制,也就是车辆中的控制模块在当前时刻将该纵向加速度传输至车辆纵向控制模块后,在经过车辆纵向控制模块对该纵向加速度进行处理以及将该处理后的纵向加速度传输至车辆电子稳定控制系统中所需要的时间长度,也就是延迟时长后作用到车辆时,车辆输出的行驶信息如车辆的速度和位置信息,与参考路径中当前时刻经过延迟时长后所规划的车辆行驶信息相一致或者误差较小,提高当前时刻对车辆的纵向控制的效果,有效地避免了车辆信息处理延迟的影响。
车辆在依据上述实施例中的方法确定了当前时刻的纵向加速度,并依据该纵向加速度对车辆进行纵向控制后,继续依据上述实施例中的方法确定后续各个时刻的纵向加速度,并依据各个时刻的纵向加速度分别对相应的各个时刻的车辆进行纵向控制。另外,本申请实施例及下述实施例公开的车辆纵向控制方法可通过构建车辆纵向控制模型来实现。
在本申请实施例中,根据路径规划模块规划的路径轨迹,从其中选取一段作为参考轨迹,其中参考轨迹选取依据了延迟时长,获取车辆在上一时刻的实际被执行的纵向加速度,采用预测模型依据上一时刻的纵向加速度来输出当前时刻的模型输出行驶信息,再通过预测函数控制算法对当前时刻的模型输出行驶信息、所要确定的当前时刻的纵向加速度以及当前时刻的参考加速度进行迭代计算,来得到预测函数控制算法的预测时长中最后一个时刻的模型输出行驶信息,令参考轨迹的终点对应的所规划的车辆行驶信息来与得到的预测时长中最后一个时刻的模型输出行驶信息相对应,得到求取当前时刻的纵向加速度这一未知量的表达式,从而确定所要当前时刻实际所要执行的纵向加速度,依据该当前时刻实际所要执行的纵向加速度对车辆的纵向进行控制,通过将预测函数控制算法计算的预测时长中最后一个时刻的模型输出行驶信息,与依据了延迟时长选取的参考轨迹的终点对应的车辆行驶信息相对应,避免了依据当前时刻的路径轨迹中的车辆行驶信息来得到的纵向加速度,在实际作用到车辆时由于车辆信息处理延迟导致的输出不匹配的情况,使得采用本案中所得到的纵向加速度来对车辆的纵向进行控制时,输出更加贴近规划路径,能够提高车辆纵向控制的准确性。
在一些实施例中,在执行步骤220中的获取车辆在上一时刻的纵向加速度,依据上一时刻的纵向加速度,采用预测模型预测得到车辆在当前时刻的模型输出行驶信息之前,所述方法还包括:
依据车辆的历史纵向加速度和历史行驶信息,确定预测模型中的各系数矩阵。
在本申请实施例中,车辆中的运动控制模块可依据车辆的历史纵向加速度和历史行驶信息来确定预测模型中的各个系数矩阵,其中,历史纵向加速度为当前时刻之前,车辆行驶过程中实际输入并且被执行的纵向加速度值,历史行驶信息为当前时刻之前,依据实际输入的纵向加速度对车辆进行控制后,得到实际的包含车辆的速度和位置等的车辆行驶信息。举例说明,可以根据车辆在当前时刻之前的两个时刻中实际输入的纵向加速度值,以及依据这两个时刻输入的纵向加速度值对车辆进行纵向控制后,测量得到的车辆速度和车辆位置信息,来确定如式(1)表示的预测模型中的系数矩阵A和B。通过车辆的历史纵向加速度和历史行驶信息来对预测模型中的系数矩阵进行确定或调整,能够使该预测模型输出的模型输出行驶信息更加准确且贴合车辆实际行驶情况。
在一个实施例中,请参阅图3,图3是一个实施例公开的预测得到预测时长最后一个时刻的模型输出行驶信息的流程示意图。车辆在通过预测函数控制算法对所述当前时刻的模型输出行驶信息进行多次迭代计算,预测得到所述预测时长最后一个时刻的模型输出行驶信息的过程中,可包括:
310、将当前时刻的模型输出行驶信息作为当前状态量,采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息;
320、将下一时刻的模型输出行驶信息作为新的当前状态量,并继续执行采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息的步骤,直至预测得到预测时长最后一个时刻的模型输出行驶信息。
在本申请实施例中,车辆中的运动控制模块通过预测模型预测得到当前时刻的模型输出行驶信息之后,将当前时刻的模型输出行驶信息作为当前状态量,采用预测函数控制算法依据该当前状态量,来预测当前时刻的下一时刻的模型输出行驶信息,得到当前时刻的下一时刻的模型输出行驶信息之后,再将下一时刻的模型输出行驶信息作为新的当前状态量,进而再采用预测函数控制算法预测再下一个时刻对应的模型输出行驶信息,不断循环直至预测得到预测时长最后一个时刻的模型输出行驶信息。举例说明,当前时刻为k的话,车辆在通过预测模型预测得到当前时刻k的模型输出行驶信息后,将当前时刻k的模型输出行驶信息作为当前状态量,采用预测模型控制算法预测下一时刻也就是k+1时刻的模型输出行驶信息,得到k+1时刻的模型输出行驶信息后,将k+1时刻的模型输出行驶信息作为新的当前状态量,预测k+2时刻的模型输出行驶信息,不断迭代计算,直至得到k+n时刻的模型输出行驶信息,n为预测时长,k+n时刻为预测时长最后一个时刻。通过不断依据相邻两个时刻中的上一时刻的模型输出行驶信息来预测得到对应的下一时刻的模型输出行驶信息,能够使得模型输出行驶信息能够不断得到优化。
在一个实施例中,请参阅图4,图4是另一个实施例公开的车辆纵向控制方法的流程示意图,该方法可应用于前述的车辆10。如图4所示,该方法可包括以下步骤:
410、根据规划的路径轨迹,确定参考轨迹,其中,路径轨迹由路径规划模块规划得到,路径轨迹包括各个时刻对应的轨迹点以及各个轨迹点对应的车辆行驶信息,车辆行驶信息包括速度及位置,参考轨迹的时间起点为当前时刻加上延迟时长,参考轨迹的时间长度为预测时长,延迟时长为车辆信息处理及传输导致的延迟时间长度。
在本申请实施例中,车辆中的运动控制模块执行步骤410的具体过程与执行步骤210的具体过程相同,在此不再赘述。
420、获取车辆在上一时刻的纵向加速度,依据上一时刻的纵向加速度,采用预测模型输出得到车辆在当前时刻的模型输出行驶信息,模型输出行驶信息包括预测速度及预测位置。
在本申请实施例中,车辆中的运动控制模块执行步骤420的具体过程与执行步骤220的具体过程相同,在此不再赘述。
430、通过传感器获取车辆在当前时刻的实际行驶信息。
在本申请实施例中,车辆中的运动控制模块在通过预测模型预测得到车辆在当前时刻的模型输出行驶信息后,可通过设置在车辆上的一个或多个传感器,测量车辆在当前时刻的实际行驶信息,其中,该当前时刻的实际行驶信息为车辆在执行上一时刻的纵向加速度后,车辆实际行驶过程中的速度和位置,也就是说车辆依据上一时刻输入的纵向加速度进行纵向控制后,实际输出的车辆的行驶信息。
440、依据当前时刻的实际行驶信息以及对应的模型输出行驶信息,确定车辆在当前时刻的模型偏差。
车辆中的运动控制模块在确定车辆在当前时刻的实际行驶信息后,结合通过预测模型输出得到的当前时刻的模型输出行驶信息,来确定车辆在当前时刻的模型偏差,具体可以为求取车辆在当前时刻的实际行驶信息与当前时刻的模型输出行驶信息之间的误差值,如行驶信息包含速度和位置,那么则求取实际行驶信息的速度和位置分别与当前时刻的预测速度和预测位置之间的差值。
450、通过预测函数控制算法对当前时刻的模型输出行驶信息及模型偏差进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息,并基于最后一个时刻的模型输出行驶信息及参考轨迹的终点的车辆行驶信息,确定当前时刻的纵向加速度。
车辆中的运动控制模块在得到车辆在当前时刻的模型偏差后,将该模型偏差反馈到预测模型控制算法中,以使车辆通过预测函数控制算法,依据当前时刻的模型偏差来对当前时刻的模型输出行驶信息进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息。
在一个实施例中,车辆行驶信息还包括参考加速度,因此,在车辆中的运动控制模块执行步骤450中通过预测函数控制算法对当前时刻的模型输出行驶信息及模型偏差进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息的过程中,具体过程可以包括:
通过预测函数控制算法对当前时刻的模型输出行驶信息、模型偏差以及当前时刻的参考加速度进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息。
在本申请实施例中,车辆中的运动控制模块在依据当前时刻的模型输出行驶信息和模型偏差,通过预测函数控制算法来预测得到预测时长最后一个时刻的模型输出行驶信息的过程中,还可以依据路径轨迹中当前时刻的参考加速度。其中,对于通过预测函数控制算法对当前时刻的模型输出行驶信息、模型偏差以及当前时刻的参考加速度进行多次迭代计算的过程中,可以对对当前时刻的模型输出行驶信息及模型偏差进行计算,预测得到的下一时刻的模型输出行驶信息进行表示,具体可表示为下述式(3):
x(k+1)=Ax(k)+Bu(k)+Garef(k)+d 式(3)
其中,x(k+1)表示下一时刻,也就是k+1时刻的模型输出行驶信息,x(k)表示当前时刻,也就是k时刻的模型输出行驶信息,u(k)表示当前时刻k的纵向加速度,aref(k)表示当前时刻k的参考加速度,d表示当前时刻的模型偏差。通过结合当前时刻的参考加速度,能够使得最终确定的纵向加速度与参考加速度更加贴近,进而令依据该纵向加速度对车辆进行纵向控制时,能够更加贴近规划的路径轨迹。
460、依据当前时刻的纵向加速度对车辆的纵向进行控制。
在本申请实施例中,车辆中的运动控制模块执行步骤460的具体过程与执行步骤240的具体过程相同,在此不再赘述。
在本申请实施例中,通过在对当前时刻的模型输出行驶信息,来预测得到预测时长最后一个时刻的模型输出行驶信息的过程中,结合当前时刻的实际行驶信息来确定车辆在当前时刻的模型偏差,并反馈到预测函数控制算法中进行迭代计算,能够有效地消除预测函数控制算法迭代计算过程中的偏差,提高预测的模型输出行驶信息的准确性。
在一个实施例中,请参阅图5,图5是一个实施例公开的获取当前时刻的模型偏差的流程示意图。依据当前时刻的实际行驶信息以及对应的模型输出行驶信息,确定车辆在当前时刻的模型偏差,包括:
510、根据延迟时间,对当前时刻的模型输出行驶信息进行延迟处理,得到延迟预测信息;
520、计算延迟预测信息和当前时刻的实际行驶信息之间的误差,得到当前时刻的模型偏差。
在本申请实施例中,车辆测量得到的当前时刻的实际行驶信息是车辆在执行上一时刻的纵向加速度后,车辆实际行驶过程中的速度和位置,而车辆在执行上一时刻输入的纵向加速度后,需要经过延迟时长后才能体现在车辆实际行驶过程中的速度和位置,从而测量得到当前时刻的实际行驶信息,而依据上一时刻的纵向加速度来预测得到当前时刻的模型输出行驶信息时,则没有延迟时长,因此为了令当前时刻的实际行驶信息与模型输出行驶信息相对应,需要根据延迟时长对当前时刻的模型输出行驶信息进行延迟处理,例如在预测模型输出当前时刻的模型输出行驶信息后,将该模型输出行驶信息乘上延迟系数,得到延迟预测信息,其中,延迟预测信息为经过延迟处理后得到的当前时刻的模型输出行驶信息,该延迟系数依据延迟时长决定,在此不做具体限定。
车辆中的运动控制模块在得到延迟预测信息后,计算延迟预测信息和和当前时刻的实际行驶信息之间的误差,得到当前时刻的模型偏差。通过得到预测模型的延迟预测输出,结合实际输出来确定误差,并将误差进行反馈,能够进一步消除预测函数控制算法迭代计算过程中的误差。
在一个实施例中,请参阅图6,图6是一个实施例公开的结合当前时刻的模型偏差来预测得到预测时长最后一个时刻的模型输出行驶信息的流程示意图。通过预测函数控制算法对当前时刻的模型输出行驶信息及模型偏差进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息,包括:
610、将当前时刻的模型输出行驶信息以及模型偏差作为当前状态量,采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息;
620、将下一时刻的模型输出行驶信息作为新的当前状态量,并继续执行采用所述预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息的步骤,直至预测得到预测时长最后一个时刻的模型输出行驶信息。
在本申请实施例中,在将当前时刻的模型偏差输入到预测函数控制算法中进行反馈时,车辆将当前时刻的模型输出行驶信息以及模型偏差作为当前状态量,采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息,在得到当前时刻的下一时刻的模型输出行驶信息之后,再将下一时刻的模型输出行驶信息作为新的当前状态量,进而再采用预测函数控制算法预测再下一个时刻的模型输出行驶信息,不断循环直至预测得到预测时长最后一个时刻的模型输出行驶信息。根据式(3)所表示的对当前时刻的模型输出行驶信息及模型偏差进行计算,预测得到下一时刻的模型输出行驶信息,可以对预测得到的预测时长最后一个时刻的模型输出行驶信息进行表示,具体可表示为下述式(4):
其中,n
y表示预测时长,k+n
y表示预测时长最后一个时刻,k表示预测时长的第一个时刻,也就是当前时刻,
表示预测时长最后一个时刻车辆的速度和位置的系数矩阵。通过结合当前时刻的模型偏差,并通过迭代计算来预测得到各个时刻对应的下一时刻的模型输出行驶信息,能够使得预测得到的各模型输出行驶信息更加准确和优化。
在一些实施例中,在预测函数控制算法中,可以设置当前时刻的纵向加速度为基函数,以提高预测函数控制算法的迭代计算的效率。而对于采用阶跃函数作为基函数,也就是在参考轨迹中各个时刻的纵向加速度都相等,那么可以对预测得到的预测时长最后一个时刻的模型输出行驶信息进行表示,具体可表示为下述式(5):
式(5)还可以简化表示为下述式(6):
其中,
将当前时刻的模型输出行驶信息、纵向加速度以及加速度为上述基函数的组合,能够提高预测函数控制算法的迭代计算的效率。
在一个实施例中,在获取车辆在上一时刻的纵向加速度,依据上一时刻的纵向加速度,采用预测模型预测得到车辆在当前时刻的模型输出行驶信息之后,上述方法还包括:
依据当前时刻的模型输出行驶信息与参考轨迹的终点对应的车辆行驶信息之间的差值以及参考轨迹中相邻轨迹点的时间间隔,计算得到参考行驶信息,并依据参考行驶信息对参考轨迹的终点对应的车辆行驶信息进行更新,以使参考行驶信息替代参考轨迹的终点对应的车辆行驶信息。
在本申请实施例中,为了令车辆在跟踪参考轨迹上规划的车辆行驶信息的过程更加舒适,也就是令参考轨迹上的车辆行驶信息更加合理,例如在过弯时,车辆在上一时刻的速度和位置下,当前时刻的速度和位置应该如何规划才能更好地过弯,因此需要对结合模型输出行驶信息来对参考轨迹上的车辆行驶信息进行更新。其中,令参考轨迹上的车辆行驶信息符合一阶响应,因此依据当前时刻的模型输出行驶信息与参考轨迹的终点对应的车辆行驶信息之间的差值以及参考轨迹中的时间间隔,计算得到参考行驶信息可以表示为下述式(7):
其中,
为预测时长最后一个时刻的模型输出行驶信息,
为参考轨迹的终点对应的车辆行驶信息,n
d为延迟时长,
为预测时长最后一个时刻对应的比例值,
T
s为各个时刻之间的间隔,T为设定的闭环时间常数。
在本申请实施例中,令式(6)的预测时长最后一个时刻的模型输出行驶信息和式(7)的参考行驶信息相等,得到下述式(8):
根据式(8)可以得到确定当前时刻的纵向加速度的表达式,具体可表示为下述式(9):
通过依据当前时刻的模型输出行驶信息以及参考轨迹的终点对应的车辆行驶信息之间的差值,能够确定所要更新的参考轨迹的终点对应的车辆行驶信息的值,再令预测时长最后一个时刻的模型输出行驶信息和更新后的参考行驶信息的值相等,其中预测时长最后一个时刻的模型输出行驶信息中包含有未知的当前时刻的纵向加速度,因此,依据已知的更新后的参考行驶信息的值来求取当前时刻的纵向加速度,并且依据该求取的当前时刻的纵向加速度对车辆进行纵向控制,能够令车辆行驶过程更加舒适。
在一个实施例中,可通过构建一个车辆纵向控制模型来实施上述实施例公开的车辆纵向控制方法。请参阅图7,图7是本申请实施例公开的构建的车辆纵向控制模型的结构示意图。该车辆纵向控制模型可包括预测函数控制模块710、实际系统模块720、预测模型模块730以及延时模块740。其中,预测模型控制模块710用于通过预测函数控制算法对输入的当前时刻的模型输出行驶信息以及当前时刻的模型偏差进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息,并基于参考轨迹的终点对应的车辆行驶信息,确定并输出当前时刻的纵向加速度,以使当前时刻的纵向加速度作为下一时刻的实际系统模块720和预测模型模块730的输入;实际系统模块720用于依据输入的上一时刻的纵向加速度输出车辆的实际行驶信息,以使依据该实际行驶信息与延时模块740输出的延迟预测信息确定当前时刻的模型偏差,并将当前时刻的模型偏差反馈到预测模型控制模块710;预测模型模块730用于依据输入的上一时刻的纵向加速度,采用预测模型输出得到车辆在当前时刻的模型输出行驶信息,将该当前时刻的车辆行驶信息分别输入到延时模块740以及预测模型控制模块710中;延时模块740用于对输入的当前时刻的模型输出行驶信息进行延迟处理,输出得到延迟预测信息,以使依据该延迟预测信息与实际系统模块720输出的实际行驶信息确定当前时刻的模型偏差,并将当前时刻的模型偏差反馈到预测模型控制模块710。能够通过一个独立的模型改善因车辆信息处理及传输导致的时延对车辆的纵向控制造成不准确的情况,提高对车辆控制的准确性。
请参阅图8,图8是本申请实施例公开的一种车辆纵向控制装置的结构示意图,该车辆纵向控制装置可应用于车载终端,例如包含有车辆中的运动控制模块的车载终端,具体不做限定。如图8所示,该车辆纵向控制装置800可包括:
路径确定模块810,用于根据规划的路径轨迹,确定参考轨迹,其中,路径轨迹由路径规划模块规划得到,路径轨迹包括各个时刻对应的轨迹点以及各个轨迹点对应的车辆行驶信息,车辆行驶信息包括速度及位置,参考轨迹的时间起点为当前时刻加上延迟时长,参考轨迹的时间长度为预测时长,延迟时长为车辆信息处理及传输导致的延迟时间长度;
模型输出模块820,用于获取车辆在上一时刻的纵向加速度,依据上一时刻的纵向加速度,采用预测模型输出得到车辆在当前时刻的模型输出行驶信息,模型输出行驶信息包括预测速度及预测位置;
纵向预测模块830,用于通过预测函数控制算法对当前时刻的模型输出行驶信息进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息,并基于最后一个时刻的模型输出行驶信息及参考轨迹的终点对应的车辆行驶信息,确定当前时刻的纵向加速度;
纵向控制模块840,用于依据当前时刻的纵向加速度对车辆的纵向进行控制。
在一个实施例中,纵向预测模块830,还可用于将所述当前时刻的模型输出行驶信息作为当前状态量,采用所述预测函数控制算法对所述当前状态量进行计算,预测得到下一时刻的模型输出行驶信息;
将所述下一时刻的模型输出行驶信息作为新的当前状态量,并继续执行所述采用所述预测函数控制算法对所述当前状态量进行计算,预测得到下一时刻的模型输出行驶信息的步骤,直至预测得到所述预测时长最后一个时刻的模型输出行驶信息。
请一并参阅图9,图9是本申请实施例公开的另一种车辆纵向控制装置的结构示意图。其中,图9所示的车辆纵向控制装置是由图8所示的车辆纵向控制装置进行优化得到的。与图8所示的车辆纵向控制装置相比较,图9所示的车辆纵向控制装置800还可以包括:
误差确定模块850,用于通过传感器确定车辆在当前时刻的实际行驶信息;
依据当前时刻的实际行驶信息以及对应的模型输出行驶信息,确定车辆在当前时刻的模型偏差。
纵向预测模块830,还可用于通过预测函数控制算法对当前时刻的模型输出行驶信息及模型偏差进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息。
在一个实施例中,纵向预测模块830,还可用于通过预测函数控制算法对当前时刻的模型输出行驶信息、模型偏差以及当前时刻的参考加速度进行多次迭代计算,预测得到预测时长最后一个时刻的模型输出行驶信息。
在一个实施例中,误差确定模块850,还可用于根据所述延迟时长,对所述当前时刻的模型输出行驶信息进行延迟处理,得到延迟预测信息;
计算所述延迟预测信息和所述当前时刻的实际行驶信息之间的误差,得到所述当前时刻的模型偏差。
在一个实施例中,纵向预测模块830,还可用于将当前时刻的模型输出行驶信息以及模型偏差作为当前状态量,采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息;
将下一时刻的模型输出行驶信息作为新的当前状态量,并继续执行采用预测函数控制算法对当前状态量进行计算,预测得到下一时刻的模型输出行驶信息的步骤,直至预测得到预测时长最后一个时刻的模型输出行驶信息。
请一并参阅图10,图10是本申请实施例公开的又一种车辆纵向控制装置的结构示意图。其中,图10所示的车辆纵向控制装置是由图8所示的车辆纵向控制装置进行优化得到的。与图8所示的车辆纵向控制装置相比较,图9所示的车辆纵向控制装置800还可以包括:
模型确定模块860,用于依据车辆的历史纵向加速度和历史行驶信息,确定预测模型中的各系数矩阵。
请一并参阅图11,图11是本申请实施例公开的还有一种车辆纵向控制装置的结构示意图。其中,图11所示的车辆纵向控制装置是由图7所示的车辆纵向控制装置进行优化得到的。与图8所示的车辆纵向控制装置相比较,图11所示的车辆纵向控制装置800还可以包括:
轨迹更新模块870,用于依据当前时刻的模型输出行驶信息与参考轨迹的终点对应的车辆行驶信息之间的差值以及参考轨迹中的时间间隔,计算得到参考行驶信息,并依据参考行驶信息对参考轨迹的终点对应的车辆行驶信息进行更新,以使参考行驶信息替代参考轨迹的终点对应的车辆行驶信息。
请参阅图12,图12是一个实施例公开的一种车载终端的结构示意图,该车载终端可应用于驾驶车辆,在此不做具体限定。如图12所示,该车载终端1200可以包括:
存储有可执行程序代码的存储器1210;
与存储器1210耦合的处理器1220;
其中,处理器1220调用存储器1210中存储的可执行程序代码,执行本申请实施例公开的任意一种车辆纵向控制方法。
本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行本申请实施例公开的任意一种车辆纵向控制方法。
本申请实施例公开一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行本申请实施例公开的任意一种车辆纵向控制方法。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本申请实施例公开的一种车辆纵向控制方法、装置、无线耳机和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。