2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 一种基于数据驱动的机器人鲁棒学习预测控制方法与流程

一种基于数据驱动的机器人鲁棒学习预测控制方法与流程

时间:2021-02-11 04:12:39

相关推荐

一种基于数据驱动的机器人鲁棒学习预测控制方法与流程

本发明涉及一种机器人的鲁棒学习预测控制,尤其是动力学特性未知且不易获取和辨识、存在状态和控制量约束的一类系统为非线性的机器人的有效控制方法。

背景技术:

:目前在工业领域应用较为广泛的控制方法是模型预测控制(modelpredictivecontrol,mpc),由于其理论的发展和在工业对象上的广泛应用而被引起关注。大多数经典的mpc算法都假设给定的模型是先验生成的,在这种情况下,辨识过程可以忽略不计。事实上,由于可能存在噪声数据集,或者采用了不合理的假设结构,精确模型描述的辨识问题,特别是对于未知非线性动力学而言,是比较棘手的。从辨识的角度考虑建模的不确定性,鲁棒mpc或者说是基于tube的mpc也可能会导致控制性能的保守和退化。近年来,一种基于学习的mpc框架依赖于控制器参数的在线更新,如模型描述和系统约束,其降低保守性和提高控制性能的能力越来越受到人们的关注。很多工作都朝着这个新的方向发展。强化学习(reinforcementlearning,rl)和自适应动态规划(adaptivedynamicprogramming,adp)作为求解无限或有限时域的最优控制问题的一种替代方法,在过去的几十年也受到了显著的关注。不同于在线求解优化问题,rl和adp感兴趣的是在不断试错的过程中通过值函数以及策略迭代来找到近似解,这两种方法适用于复杂且很难由最优控制方法(如精确动态规划,由于hamilton-jacobi-bellman方程的非线性和存在状态约束)来进行求解。与mpc类似,对于高维控制问题,rl和adp可能会面临计算复杂度和学习效率的问题,这也被称之为“维数灾难”。为了解决这一问题,自适应评价器设计(acd)在很多工作中也都有研究,其中值函数和策略迭代被替换为actor-critic网络逼近结构。现有的与学习控制相关的技术主要集中在各个专用领域的子系统实现,具体如下:与强化学习控制相关的研究内容相近的是发明专利“基于近似策略迭代的自适应巡航控制方法”,描述了一种基于近似策略迭代的自适应巡航控制方法,主要是使用近似策略迭代算法在样本上学习,得到一个近似最优策略,在巡航控制中在线优化pi控制器参数,即采用上述近似最优策略以数据驱动的方式去在线的优化pi控制器的参数,使巡航控制达到期望的性能。专利“一种基于自评价学习的车辆侧向跟踪控制方法”与“基于在线增量式dhp的双车协同自适应巡航控制方法”主要是基于自适应动态规划(adp)方法中的对偶启发式动态规划(dualheuristicprogramming,dhp)来对无人车辆进行控制。专利“基于在线学习模型技术的水下机器人预测控制系统及方法”是基于在线学习的预测模型模块预测输出与实际输出之间的偏差,对当前时刻内的基于在线学习的预测模型模块的预测输出进行修正,从而提高预测精度,便于高效控制,适应特定环境。专利“一种数据驱动的无人船强化学习控制器结构及设计方法”使用未知信息提取模块从收集到的数据信息中提取到无人船的动力学信息,将提取到的无人船未知动力学信息通过预测模型生成模块进行数据信息重构生成预测模型。最后通过滚动时域优化模块与奖励函数模块决策出最佳控制输入量给无人船。针对实际的非线性动力学控制对象,考虑到建模时的不确定性,现有的经典的mpc控制方法一般采用鲁棒mpc或者基于tube的mpc进行处理,而这会导致在线计算量大以及控制性能的保守和退化。基于学习的mpc框架依赖于控制器参数的在线更新,如模型描述和系统约束,其降低保守性和提高控制性能的能力越来越受到人们的关注。很多工作都朝着这个新的方向发展。但是也仍然存在计算负担大、妨碍在必须表现出快速闭环动力学的非线性系统中的应用、以及理论性质不完善等问题。技术实现要素:针对现有技术中机器人系统动力学系统强非线性不易获取且本身不易辨识等问题,本发明提供一种基于数据驱动的机器人鲁棒学习预测控制方法,其应用对象是动力学特性未知且不易获取和辨识、存在状态和控制量约束的一类非线性系统机器人,跟上述的控制方法相比,能够实现快速高效的闭环控制。为实现上述目的,本发明提供一种基于数据驱动的机器人鲁棒学习预测控制方法,包括以下步骤:步骤1,基于数据驱动将机器人系统的非线性特性抽象至高维线性空间,得到机器人系统的全局高维线性化表示,即机器人系统的全局线性化模型;步骤2,对机器人系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为全局线性化模型的状态量与控制量的取值范围,以使得机器人系统在存在逼近残差情况下满足原始状态量与控制量的取值范围、并保持闭环控制的鲁棒性;步骤3,基于全局线性化模型和高维线性空间中的状态变量来进行不断地滚动优化,学习得到机器人系统当前时刻的近似最优预测控制序列;步骤4,根据当前时刻的近似最优预测控制序列得到实际控制率;步骤5,将当前时刻的实际控制率应用于机器人系统以更新机器人系统,得到机器人系统下一时刻的状态量,然后对该状态量进行映射处理以将其更新至高维线性空间中的状态变量后重复步骤3-5。进一步优选的,步骤2中,对机器人系统的原始状态量与控制量的取值范围进行收缩的具体过程为:在机器人系统的原始状态量与控制量的取值范围分别减去鲁棒不变集后,将剩余的状态量与控制量的取值范围作为收缩结果。进一步优选的,步骤3中,在滚动优化过程中,采用对数障碍函数来处理机器人系统的状态量和控制量约束,指导滚动优化中的权值更新。进一步优选的,步骤3中,采用滚动时域增量式actor-critic结构进行滚动优化,所述滚动时域增量式actor-critic结构包括actor网络和critic网络,其中,actor网络为执行网络,critic网络为评价网络,滚动优化的具体过程为:步骤3.1,初始化设定每一时刻预测控制中的最大学习轮数为imax、每一时刻预测控制中每一轮学习时的预测时域为τ∈[k,…,k+n-1]、迭代变量为k、i,其中,k表示当前时刻,i表示预测控制中学习轮数;设定actor网络的权值为wa(k)、critic网络的权值为wc(k);步骤3.2,令k=1;步骤3.3,令i=1、τ=k,即wa(k)=wa(τ)、wc(k)=wc(τ),其中,s(k)表示机器人在k时刻的高维线性空间中的状态变量;步骤3.4,actor网络根据高维线性空间中的状态变量得到机器人在第τ个预测时刻的控制率估计值步骤3.5,根据控制率估计值与高维线性空间中的状态变量得到机器人在τ+1预测时刻的高维线性空间中的状态变量步骤3.6,critic网络根据高维线性空间中的状态变量得到协状态变量的估计值并进一步得到协状态变量的期望值步骤3.7,根据协状态变量的估计值得到机器人在τ预测时刻的控制率期望值步骤3.8,在对数障碍函数的指导下根据actor网络在τ预测时刻的权值wa(τ)与控制率期望值得到actor网络在τ+1预测时刻的权值wa(τ+1)、在对数障碍函数的指导下根据critic网络在τ预测时刻的权值wc(τ)与协状态变量的期望值得到critic网络在τ+1预测时刻的权值wc(τ+1);步骤3.9,令τ=τ+1后重复步骤3.4-3.9直至τ>k+n-1,得到机器人在完成第k时刻预测中初步控制序列:actor网络的权值序列wa(k)~wa(k+n-1)与critic网络的权值序列wc(k)~wc(k+n-1),并将actor网络的权值由wa(k)更新为wa(k+n-1)、critic网络的权值由wc(k)更新为wc(k+n-1);步骤3.10,判断i>imax是否成立,若是则输出当前得到的初步控制序列作为机器人在k时刻的近似最优预测控制序列,否则令i=i+1后重复步骤3.4-3.10。进一步优选的,步骤3.1中,所初始设定的wa(k)与wc(k)满足代价函数分别小于期望控制量和协状态变量约束的最大值的条件,即:式中,分别是设定的阈值、δa与δc分别表示actor网络与critic网络中带控制量约束的代价函数和协状态变量约束的代价函数,即:式中,εa(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qa是一个正定矩阵;εc(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qc是一个正定矩阵;μ为权重标量值;和分别表示含有和的障碍函数。进一步优选的,步骤3.4中,得到控制率估计值的过程为:式中,是权值矩阵,h(τ)是一个元素为基函数的向量:式中,表示在τ预测时刻actor网络的隐含层状态输入。步骤3.5中,得到高维线性空间中的状态变量的估计值的过程为:进一步优选的,步骤3.6中,得到协状态变量的估计值的过程为:式中,是权值矩阵,τ∈[k+1,k+n-1],h(τ+1)是一个元素为tanh函数的向量;式中,表示在τ+1预测时刻critic网络的隐含层状态输入;得到协状态变量的期望值的过程为:式中,μ是权重标量,和分别表示含有机器人抽象状态变量、控制量估计值、以及终端约束状态的障碍函数;步骤3.7中,得到控制率期望值的过程为:式中,r为正定的控制加权矩阵。进一步优选的,步骤3.8中,得到actor网络在τ+1预测时刻的权值wa(τ+1)的过程为:式中,γτ是actor网络的学习率;得到critic网络在τ+1预测时刻的权值wc(τ+1)的过程为:式中,βτ是critic网络的学习率。进一步优选的,步骤4具体包括:判断当前时刻是否为第一个时刻的预测控制,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,判断当前时刻学习得到的近似最优预测控制序列是否满足递归可行性测试,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,在上一次保存的近似最优预测控制序列的尾部增加一个ks控制率,得到新的近似最优预测控制序列,剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出。进一步优选的,步骤4中,近似最优预测控制序列是否满足递归可行性测试的判断过程具体为:判断当前时刻学习得到的近似最优预测控制序列中的各控制率递归应用在全局线性化模型时,所得到的所有高维线性空间中的状态变量是否同时满足各预测时刻对应的状态可行集,其中,机器人系统在k时刻的所有预测时刻的状态可行集的获取过程为:步骤4.1,获取机器人预测时域τ=k+n-1预测时刻的状态可行集,即终端状态可行集;步骤4.2,根据τ=k+n-1预测时刻的状态可行集得到τ=k+n-2预测时刻的初步状态可行集,将τ=k+n-2预测时刻的初步状态可行集与总的状态可行集求交集,得到τ=k+n-2预测时刻的实际状态可行集;步骤4.3,依次求解预测时域内所有预测时刻的初步状态可行集,并得到τ=k:k+n-1所有预测时刻的实际状态约束可行集。本发明公开一种基于数据驱动的机器人鲁棒学习预测控制方法,通过数据驱动的方式来对系统的动力学进行辨识,将机器人的非线性特性抽象至高维线性空间,获得系统的全局线性化表示,即机器人系统的全局线性化模型;通过对机器人系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为全局线性化模型的状态量与控制量的取值范围,以使得机器人系统在存在逼近残差情况下满足原始状态量与控制量的取值范围、并保持闭环控制的鲁棒性,并在全局线性化模型模型基础上提出一种基于滚动时域优化的强化学习算法,实现近似最优策略学习控制。其应用对象是动力学特性未知且不易获取和辨识、存在状态和控制量约束的一类系统为非线性的机器人,能够实现快速高效的闭环控制。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明实施例中基于数据驱动的机器人鲁棒学习预测控制方法的流程示意图;图2为本发明实施例中鲁棒学习预测控制框架的结构示意图;图3为本发明实施例中采用本发明方法与mpc方法的状态和控制量的值的示意图;图4为本发明实施例中采用本发明方法与dhp方法的状态和控制量的值的示意图;图5为本发明实施例中采用本发明方法的jx和ju变化趋势图;图6为本发明实施例中本发明方法的改善结果与mpc控制器的输出结果比较示意图。本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。如图1-2所示的一种基于数据驱动的机器人鲁棒学习预测控制方法,包括以下步骤:步骤1,基于数据驱动将机器人系统的非线性特性抽象至高维线性空间,得到机器人系统的全局高维线性化表示,即机器人系统的全局线性化模型;步骤2,对机器人系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为全局线性化模型的状态量与控制量的取值范围,以使得机器人系统在存在逼近残差情况下满足原始状态量与控制量的取值范围、并保持闭环控制的鲁棒性;步骤3,基于全局线性化模型和高维线性空间中的状态变量来进行不断地滚动优化,学习得到机器人系统当前时刻的近似最优预测控制序列;步骤4,根据当前时刻的近似最优预测控制序列得到实际控制率;步骤5,将当前时刻的实际控制率应用于机器人系统以更新机器人系统,得到机器人系统下一时刻的状态量,然后对该状态量进行映射处理以将其更新至高维线性空间中的状态变量后重复步骤3-5。步骤1中,基于数据驱动指的是通过采集机器人系统的数据来将机器人系统的非线性特性抽象至高维线性空间。全局线性化模型是基于koopman算子及其有限逼近获取的,在工业机器人应用领域,有些机器人本身是动力学特性未知且不易获取和辨识、存在状态和控制量约束的,如工业机器人,无人驾驶汽车等。在动力学特性未知时,引入koopman算子及其有限逼近,从机器人的数据样本集中计算出控制系统的全局线性化模型,建立了全局线性化模型。实际任务中,要求控制方法能够处理机器人系统的状态和控制量约束,本发明的处理方式是在预测控制优化问题的代价函数和actor-critic结构中,将状态约束、控制量约束和终端状态约束转化为对数障碍函数的软约束形式,具体表示为连续可微的障碍函数乘以标量加权矩阵。将机器人系统的非线性特性抽象至高维线性空间具体是:定义机器人系统原始离散非线性系统为:x(k+1)=f(x(k),u(k))式中其中x表示机器人系统的原始状态量,u表示机器人系统的原始控制量,和是在他们的内部包含原点的凸紧集,也即原始状态量跟控制量的可行集,分别表示原始状态量和控制量的取值范围。f是未知光滑的状态转移函数,在任意初始条件开始,目标是让状态控制对(x(k),u(k))在k趋于无穷的时候能够到达原点。非线性特性抽象至高维线性空间得到逼近模型:式中其中表示抽象状态量,表示抽象控制量。是鲁棒不变集,ω是收缩原始状态变量范围使得的稳定反馈策略,是终端约束集,通常被选作在稳定反馈策略下最大可容许不变集的一个子集。全局线性化模型主要是为鲁棒学习预测控制方法提供线性的模型信息,获得在每一个预测时域内的多步预测模型,由koopman算子及其近似的扩展动态模态分解(edmd)实现。通过利用一组原始状态的标量观测值来定义一个新的高维状态或特征空间,并利用线性变换矩阵估计其演化。只要所选观测对象的维数足够大,线性映射的近似逼近可以理想地表示原始非线性动力学。在本发明的实际实现过程中,为了操作方便,在样本空间内和逼近误差允许的条件下构造有限维koopman算子的近似逼近,为预测时域内的每一轮学习控制提供线性的模型信息,全局线性化模型具体为:式中,是高维线性空间中的状态变量,ns>>n,是线性状态转移矩阵,是输入映射矩阵,是从特征映射到原始状态空间的矩阵,是x的估计值。由于存在逼近误差,所以用于滚动优化中的全局线性化模型被表示为:假定有m个数据集(z,z+),目标是得到有限维矩阵用来逼近koopman算子其中nk是产生的标量观测值的数量,也就是φ的维度,使得而其中δ就是逼近残差。逼近的目标是最小化残差δ,关于残差的处理,由于本实施例是在鲁棒控制的框架下解决的,因此本实施例使用的方法是解一个基于l2正则化的优化问题:这里θ是一个正值,是第j个数据集的样本,且是无穷维的。在实际应用过程中通常选一个φ的特殊形式:这里nk=ns+m,这样就可以解上述优化问题,通过求解到的矩阵k也就是[ab],最终实现对线性系统预测器∑的矩阵a和b的求解。矩阵c的求解是通过解下面的优化问题:最终求得矩阵c。步骤2中,对机器人系统的原始状态量与控制量的取值范围进行收缩的具体过程为:在机器人系统的原始状态量与控制量的取值范围分别减去鲁棒不变集后,将剩余的状态量与控制量的取值范围作为收缩结果,过程如下:式中,为状态量的收缩结果,即全局线性化模型的状态量取值范围;为机器人系统的原始状态量;为控制量的收缩结果,即全局线性化模型的控制量取值范围;为机器人系统的原始控制量;为鲁棒不变集,其推导过程可参考文献“mayne,davidq.,mariam.seron,ands.v.″robustmodelpredictivecontrolofconstrainedlinearsystemswithboundeddisturbances.″automatica41.2():219-224.”,因此本实施例中不做赘述。步骤3中,采用滚动时域增量式actor-critic结构进行滚动优化,在滚动优化过程中采用对数障碍函数处理全局线性化模型的状态量约束和控制量约束,本实施中的约束即取值范围,因此这里全局线性化模型的状态量约束和控制量约束即步骤2中全局线性化模型的状态量取值范围与控制率取值范围;采用对数障碍函数处理状态量约束和控制量约束是把状态量约束和控制量约束转换成包含在代价函数中的对数障碍函数的软约束形式,具体表示为连续可微的障碍函数乘以标量加权矩阵,这样预测控制的优化问题就可以转换成只含模型等式约束问题:式中分别表示含有系统状态、控制量以及终端状态的对数障碍函数;式中其中q表示对状态的惩罚矩阵;式中r表示对控制量的惩罚矩阵;为终端值函数,终端状态不变集可表示为式中z为对称正定矩阵,可表示为z>fτzf,矩阵p是通过计算李雅普诺夫方程得到的:式中k是一个反馈增益矩阵,使得f=a+bk是舒尔稳定的。而由于加入了非线性障碍函数,常规的手段很难解析地求解出哈密顿-雅可比-贝尔曼(hjb)方程,而这时候就使用基于actor-critic强化学习算法的强化学习控制器实现近似最优控制。滚动时域增量式actor-critic结构由actor网络(执行器)和critic网络(评价器)两部分组成,在滚动时域内进行近似最优策略学习,减少滚动时域内优化求解的计算量。以及包括基于障碍函数的状态量约束和控制量约束处理,主要是在滚动时域内的actor-critic设计结构中使用对数障碍函数来对状态量约束和控制量约束进行软处理,收缩约束的限制规模,减少学习过程中的失败次数。滚动优化的具体过程为:步骤3.1,初始化设定每一时刻预测控制中的最大学习轮数为imax、每一时刻预测控制中每一轮学习时的预测时域为τ∈[k,…,k+n-1]、迭代变量为k、i,其中,k表示当前时刻,i表示预测控制中学习轮数;设定actor网络的收敛阈值为ka、critic网络的收敛阈值为kc、actor网络的权值为wa(k)、critic网络的权值为wc(k);其中,初始设定的wa(k)与wc(k)满足代价函数小于最大的预设值,即:式中,为初始设定的阈值,初始设定的权值wa(k)与wc(k)所计算出的代价函数应小于设定的阈值。式中actor网络的代价函数δa与critic网络的代价函数δc计算过程如下,即:式中,εa(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qa是一个正定矩阵;εc(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qc是一个正定矩阵;式中和分别表示含有和的障碍函数。本实施例中,障碍函数的值取决于其含有的变量,具体包括协状态变量、系统控制量与系统状态量。即:在不考虑系统控制量与协状态变量时,若系统状态量在状态量可行集范围内,则障碍函数的值较小;若系统状态量不在状态量可行集范围内,则障碍函数的值较大;在不考虑系统状态量与系统控制量时,若学习得到的协状态变量在协状态变量可行集范围内,则障碍函数的值较小;若学习得到的协状态变量不在协状态变量可行集范围内,则障碍函数的值较大;在不考虑协状态变量与系统状态量时,若系统控制量在控制量可行集范围内,则障碍函数的值较小;若系统控制量不在控制量可行集范围内,则障碍函数的值较大。其中,控制量可行集即步骤2中机器人系统原始控制量的取值范围;协状态变量可行集的获取步骤为:步骤3.1.1,获取机器人在k时刻的预测时域内第τ=k+n-1预测时刻的协状态变量可行集;步骤3.1.2,据τ=k+n-1预测时刻的状态约束集得到τ=k+n-2预测时刻的协状态变量可行集;步骤3.1.3,依次根据当前预测时刻的协状态变量可行集得到上一预测时刻的协状态变量可行集,直至得到τ=k~τ=k+n-1所有预测时刻的协状态变量可行集;步骤3.1.1中的终端协状态变量可行集的获取过程为:式中,λk+n-1是终端协状态变量可行集,p为终端惩罚矩阵,为终端状态可行集。步骤3.1.3中,根据当前预测时刻的协状态变量可行集得到上一预测时刻的协状态变量可行集的过程为:障碍函数的特性是在约束不满足的情况下,障碍函数的输出值会越来越大,为一正值,在满足约束条件的情况下,障碍函数的输出值会越来越小,为一负值;同时对数障碍函数梯度中心化处理,让障碍函数的值为0,保证了在原点附近的代价函数的值为0,本实施例中障碍函数的定义根据机器人的初始状态数据具体分为两种情况:第一种情况中,对于任意变量这里是一个多面体,障碍函数定义为:第二种情况中,对于任意变量这里是一个椭圆形,其中z是一个对称正定矩阵,障碍函数定义为:障碍函数梯度中心化处理。对障碍函数梯度中心化处理,得到新的障碍函数b(z),对于任意z,b(z)都是凸且可导的,且有b(0)=0。系统状态变量和控制量的障碍函数,状态和控制量的范围是多面体不变集;终端状态的障碍函数终端状态的可行范围是椭圆形不变集。步骤3.2,令k=1;步骤3.3,令i=1、τ=k,即wa(k)=wa(τ)、wc(k)=wc(τ),其中,s(k)表示机器人系统在第k时刻预测控制时,有逼近误差的全局线性化模型中高维线性空间中的状态变量,其中,有逼近误差的全局线性化模型指的是:式中d(k)=δw+δn,δn是actor-critic网络结构学习到的近似最优控制率逼近最优策略的残差,δw是基于edmd逼近原始非线性机器人系统的残差,vk是求解从观测量映射到原始状态空间的映射矩阵c的过程中的残差;步骤3.4,actor网络根据高维线性空间中的状态变量得到机器人第k时刻预测中第i轮学习时在预测时刻τ的控制率估计值得到控制率估计值的过程为:τ∈[k,k+n1]式中,是权值矩阵,h是一个元素为基函数的向量:步骤3.5,根据控制率估计值与高维线性空间中的状态变量得到机器人第k时刻预测中第i轮学习时在τ+1预测时刻的高维线性空间中的状态变量的估计值得到高维线性空间中的状态变量的估计值的过程为:步骤3.6,critic网络根据高维线性空间中的状态变量的估计值得到协状态变量的估计值并进一步得到协状态变量的期望值得到协状态变量的估计值的过程为:式中,是权值矩阵,τ∈[k+1,k+n-1],h(τ)为元素是基函数的向量:式中,表示在τ+1时刻critic网络的隐含层状态输入,得到协状态变量的期望值的过程为:式中,μ是权重标量,和分别表示含有机器人抽象状态变量、控制量估计值、以及终端约束状态的障碍函数;步骤3.7,根据协状态变量的期望值得到机器人第k时刻预测中第i轮学习时在τ预测时刻的控制率期望值得到控制率期望值的过程为:式中,r为正定的控制加权矩阵;步骤3.8,在对数障碍函数的指导下根据actor网络在τ预测时刻的权值wa(τ)与控制率期望值得到actor网络在τ+1预测时刻的权值wa(τ+1)、在对数障碍函数的指导下根据critic网络在τ预测时刻的权值wc(τ)与协状态变量的期望值得到critic网络在τ+1预测时刻的权值wc(τ+1);得到actor网络在τ+1预测时刻的权值wa(τ+1)的过程为:式中,γτ是actor网络的学习率;得到critic网络在τ+1预测时刻的权值wc(τ+1)的过程为:式中,βτ是critic网络的学习率。步骤3.9,令τ=τ+1后重复步骤3.4-3.9直至τ>k+n-1,得到机器人在完成第k时刻预测中第i轮学习后的初步控制序列:actor网络的权值序列wa(k)~wa(k+n-1)与critic网络的权值序列wc(k)~wc(k+n-1),并将actor网络的权值由wa(k)更新为wa(k+n-1)、critic网络的权值由wc(k)更新为wc(k+n-1);步骤3.10,判断i>imax是否成立,若是则输出当前得到的初步控制序列作为机器人在进行第k时刻预测控制后的初步控制序列,否则令i=i+1后重复步骤3.4-3.10。步骤4具体包括:判断当前时刻是否为第一个时刻的预测控制,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,判断当前时刻学习得到的近似最优预测控制序列是否满足递归可行性测试,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,在上一次保存的近似最优预测控制序列的尾部增加一个ks控制率,得到新的近似最优预测控制序列,剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出。其中,在上一次保存的近似最优预测控制序列的尾部增加一个ks控制率即基于tube的鲁棒控制方法在上一次保存的近似最优预测控制序列的尾部加载一个鲁棒控制器的输出控制动作,从而实现保留时域内的近似最优预测控制序列的完备性,即其中,对被剔除的控制率进行误差反馈补偿的过程为:式中s(k)是有逼近误差的线性模型抽象状态变量,是无扰动误差的线性模型抽象状态变量。步骤4中,近似最优预测控制序列是否满足递归可行性测试的判断过程具体为:判断当前时刻学习得到的近似最优预测控制序列中的各控制率递归应用在全局线性化模型时,所得到的所有高维线性空间中的状态变量是否同时满足各预测时刻对应的状态可行集,其中,机器人系统在k时刻的所有预测时刻的状态可行集的获取过程为:步骤4.1,获取机器人预测时域τ=k+n-1预测时刻的状态可行集,即终端状态可行集;步骤4.2,根据τ=k+n-1预测时刻的状态可行集得到τ=k+n-2预测时刻的初步状态可行集,将τ=k+n-2预测时刻的初步状态可行集与总的状态可行集求交集,得到τ=k+n-2预测时刻的实际状态可行集;步骤4.3,依次求解预测时域内所有预测时刻的初步状态可行集,并得到τ=k:k+n-1所有预测时刻的实际状态约束可行集。步骤3.1中,机器人在第k时刻中τ=k+n-1预测时刻的终端约束集的获取方式为:椭圆不变集目标函数:根据不变集中的李雅普诺夫稳定性条件,利用舒尔判据,将非线性不等式转化为lmi(线性矩阵不等式),最后求解出最优矩阵z:具体可以参见论文farina,marcello,xinglongzhang,andriccardoscattolini.″ahierarchicalmulti-ratempcschemeforinterconnectedsystems.″automatica90():38-46。步骤3.2中,总的状态可行集是根据机器人系统实际可以运行的状态范围预先设定的。下面结合具体实施例对本发明进行说明对于一个调节受迫vanderpol振荡器的问题,其连续时间系统模型为:这里x1和x2分别代表位置和速度,u代表受迫输入,其连续时间系统的状态和控制量都是有限制的,即机器人系统的原始状态量与控制量的取值范围:-2.5m≤x1≤2.5m,-2.5m/s≤x2≤2.5m/s,-20m2/s≤u≤20m2/s记x=(x1,x2),控制目标是状态量x回到原点,为了用本实施例所提出的学习预测控制方法对该系统实施控制,为了基于数据驱动,首先对该系统进行采样,采样时间是t=0.025s,离散化得到数据集(z,z+)是采用随机策略,根据上述离散化的方程,采集了m=4·105个样本。在采集的过程中,不满足状态和控制可行集约束条件即不满足状态量约束和控制量约束的样本被去除。采用多项式核函数来构造升维观测状态变量,也就是这里ns=4。权值标量θ被设置为100。通过数据集(z,z+)计算得到全局线性化模型的线性状态转移矩阵a、系统输入映射矩阵b与从特征映射到原始状态空间的矩阵c,计算结果为:b=[6·10-70.0250.00010.052],将状态惩罚矩阵q和控制量惩罚矩阵r分别设置为q=i2,r=0.01;障碍函数的惩罚系数μ=0.0001;松弛因子k设置为0.1。从而可以获得h矩阵,根据李雅普诺夫方程,可以计算出终端惩罚矩阵为通过风险评估,统计获得基于edmd线性逼近非线性系统过程中的逼近残差标量阈值参数ρw=0,离线训练的actor-critic结构的输出值与期望值的偏差阈值ρd为0.01,从特征映射到原始状态空间的矩阵c所产生的逼近残差阈值为0.001。根据鲁棒预测控制框架,可以计算出鲁棒不变集的一个可能的保守选择,然后计算出终端状态约束集即其中设定预测时域n=10,为了进行比较,设计了一个经典的mpc和一个基于学习预测器的无限时域增量式dhp方法对受迫vanderpol振荡器的控制。在mpc中,阶段代价rc=xτqx+ru2,终端惩罚矩阵pc≥p,使用原始状态和控制量约束计算终端约束。dhp方法也采用了和提出的控制器相同的代价指标。所有三个控制器的初始条件都是x(0)=(0.1,-0.1),同时,权值矩阵wa和wc在本发明和dhp当中都是随机设置的,本发明和mpc方法都是在matlaba中借助yalmip工具箱实现的,计算机的配置:笔记本,英特尔内核[email protected],win10操作系统。本发明和mpc的控制结果如下图3-4所示,图3中虚线为本发明方法计算出来的值,实线为mpc计算出来的值;图3表明,提出的本发明方法的控制性能与mpc相比,在x1的调节方面有一定的差异,在x2和输入量上略差。图4中虚线为本发明方法计算出来的值,实线为dhp计算出来的值;而图4表明,本发明方法的控制性能要明显优于dhp。此外,调节成本和能量消耗的累计平方误差在表1中被统计,仿真步长nsim=320。表1表明,本发明方法的调节成本要比mpc要稍微大一点,能量消耗(17.43),比mpc(1.91)要更多一些。然而,mpc在线计算的平均时间为0.1276s,这是要比采样时间更长的,这意味着在采取的环境下是不可用的。从这方面来看本发明方法更有优势,因为计算速度要比mpc快319倍。尽管dhp计算效率很高,但是其控制性能却近乎是灾难性的。此外在表1中还列出了100次实验和两种不同初始条件下学习成功率,两种初始条件下,本发明方法的成功率100%,要比dhp和mpc要高。algorithmjxjua.c.ts.r.wx(0)=(0.1,-0.1)s.r.wx(0)=(1,-1)r-lpc0.5517.430.004s100/100100/100mpc0.391.910.1276s--dhp168.114340.002s60/1001/100表1调节误差与计算误差的比较(a.c.t代表“平均计算时间”,s.r.w代表“成功率”)使用本发明方法的控制性能可以通过迭代的方式持续改进,其中在前一个实验的收敛权值wa和wc来用于后一个实验的初始化。为了显示持续学习能力,从随机初始化条件开始,在线控制过程重复5次,初始化使用之前收敛的权值,调节成本jx和控制能量ju的变化趋势如图5所示。图5结果表明,由于采用了初始化的策略,jx和ju的值在第二轮尝试的时候就减少了很多,且在后面轮数的尝试中几乎保持着一个常量,jx=0.41和ju=1.88非常接近mpc控制器。这表明,经过少量的训练实验,所提出的本发明方法可以显示出与mpc相比较的控制性能,且大大提高了在线计算效率。将第5次的仿真结果与mpc的控制结果展示在图6,其中虚线表示本实施例的仿真结果,视线表示mpc的仿真结果。结果表明,本发明方法略微超调的控制作用外,两种控制系统的趋势类似。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的

技术领域:

均包括在本发明的专利保护范围内。当前第1页1 2 3 

技术特征:

1.一种基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,包括以下步骤:

步骤1,基于数据驱动将机器人系统的非线性特性抽象至高维线性空间,得到机器人系统的全局高维线性化表示,即机器人系统的全局线性化模型;

步骤2,对机器人系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为全局线性化模型的状态量与控制量的取值范围;

步骤3,基于全局线性化模型和高维线性空间中的状态变量来进行不断地滚动优化,学习得到机器人系统当前时刻的近似最优预测控制序列;

步骤4,根据当前时刻的近似最优预测控制序列得到实际控制率;

步骤5,将当前时刻的实际控制率应用于机器人系统以更新机器人系统,得到机器人系统下一时刻的状态量,然后对该状态量进行映射处理以将其更新至高维线性空间中的状态变量后重复步骤3-5。

2.根据权利要求1所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤2中,对机器人系统的原始状态量与控制量的取值范围进行收缩的具体过程为:

在机器人系统的原始状态量与控制量的取值范围分别减去鲁棒不变集后,将剩余的状态量与控制量的取值范围作为收缩结果。

3.根据权利要求1所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤3中,在滚动优化过程中,采用对数障碍函数来处理全局线性化模型的状态量约束和控制量约束,指导滚动优化中的权值更新。

4.根据权利要求3所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤3中,采用滚动时域增量式actor-critic结构进行滚动优化,所述滚动时域增量式actor-critic结构包括actor网络和critic网络,其中,actor网络为执行网络,critic网络为评价网络,滚动优化的具体过程为:

步骤3.1,初始化

设定每一时刻预测控制中的最大学习轮数为imax、每一时刻预测控制中每一轮学习时的预测时域为τ∈[k,…,k+n-1]、迭代变量为k、i,其中,k表示当前时刻,i表示预测控制中学习轮数;

设定actor网络的权值为wa(k)、critic网络的权值为wc(k);

步骤3.2,令k=1;

步骤3.3,令i=1、τ=k,即wa(k)=wa(τ)、wc(k)=wc(τ),其中,s(k)表示机器人在k时刻的高维线性空间中的状态变量;

步骤3.4,actor网络根据高维线性空间中的状态变量得到机器人在第τ个预测时刻的控制率估计值

步骤3.5,根据控制率估计值与高维线性空间中的状态变量得到机器人在τ+1预测时刻的高维线性空间中的状态变量

步骤3.6,critic网络根据高维线性空间中的状态变量得到协状态变量的估计值并进一步得到协状态变量的期望值

步骤3.7,根据协状态变量的估计值得到机器人在τ预测时刻的控制率期望值

步骤3.8,在对数障碍函数的指导下根据actor网络在τ预测时刻的权值wa(τ)与控制率期望值得到actor网络在τ+1预测时刻的权值wa(τ+1)、在对数障碍函数的指导下根据critic网络在τ预测时刻的权值wc(τ)与协状态变量的期望值得到critic网络在τ+1预测时刻的权值wc(τ+1);

步骤3.9,令τ=τ+1后重复步骤3.4-3.9直至τ>k+n-1,得到机器人在完成第k时刻预测中初步控制序列:actor网络的权值序列wa(k)~wa(k+n-1)与critic网络的权值序列wc(k)~wc(k+n-1),并将actor网络的权值由wa(k)更新为wa(k+n-1)、critic网络的权值由wc(k)更新为wc(k+n-1);

步骤3.10,判断i>imax是否成立,若是则输出当前得到的初步控制序列作为机器人在k时刻的近似最优预测控制序列,否则令i=i+1后重复步骤3.4-3.10。

5.根据权利要求4所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤3.1中,所初始设定的wa(k)与wc(k)满足代价函数分别小于期望控制量和协状态变量约束的最大值的条件,即:

式中,分别是设定的阈值、δa与δc分别表示actor网络与critic网络中带控制量约束的代价函数和协状态变量约束的代价函数,即:

式中,εa(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qa是一个正定矩阵;εc(τ)为控制量估计值逼近期望值所产生的残差,残差需要最小化,表示为qc是一个正定矩阵;μ为权重标量值;分别表示含有的障碍函数。

6.根据权利要求4所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,

步骤3.4中,得到控制率估计值的过程为:

式中,是权值矩阵,h(τ)是一个元素为基函数的向量:

式中,表示在τ预测时刻actor网络的隐含层状态输入。

步骤3.5中,得到高维线性空间中的状态变量的估计值的过程为:

7.根据权利要求4所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤3.6中,

得到协状态变量的估计值的过程为:

式中,是权值矩阵,τ∈[k+1,k+n-1],h(τ+1)是一个元素为tanh函数的向量;

式中,表示在τ+1预测时刻critic网络的隐含层状态输入;

得到协状态变量的期望值的过程为:

式中,μ是权重标量,分别表示含有机器人抽象状态变量、控制量估计值、以及终端约束状态的障碍函数;

步骤3.7中,得到控制率期望值的过程为:

式中,r为正定的控制加权矩阵。

8.根据权利要求4所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤3.8中,

得到actor网络在τ+1预测时刻的权值wa(τ+1)的过程为:

式中,γτ是actor网络的学习率;

得到critic网络在τ+1预测时刻的权值wc(τ+1)的过程为:

式中,βτ是critic网络的学习率。

9.根据权利要求4至8任一项所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤4具体包括:

判断当前时刻是否为第一个时刻的预测控制,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,

判断当前时刻学习得到的近似最优预测控制序列是否满足递归可行性测试,若是则剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出,否则,

在上一次保存的近似最优预测控制序列的尾部增加一个ks控制率,得到新的近似最优预测控制序列,剔除该近似最优预测控制序列中的第一个控制率后保存该近似最优预测控制序列,并对该剔除的控制率进行误差反馈补偿以得到当前时刻的实际控制率并输出。

10.根据权利要求9所述基于数据驱动的机器人鲁棒学习预测控制方法,其特征在于,步骤4中,近似最优预测控制序列是否满足递归可行性测试的判断过程具体为:判断当前时刻学习得到的近似最优预测控制序列中的各控制率递归应用在全局线性化模型时,所得到的所有高维线性空间中的状态变量是否同时满足各预测时刻对应的状态可行集,其中,机器人系统在k时刻的所有预测时刻的状态可行集的获取过程为:

步骤4.1,获取机器人预测时域τ=k+n-1预测时刻的状态可行集,即终端状态可行集;

步骤4.2,根据τ=k+n-1预测时刻的状态可行集得到τ=k+n-2预测时刻的初步状态可行集,将τ=k+n-2预测时刻的初步状态可行集与总的状态可行集求交集,得到τ=k+n-2预测时刻的实际状态可行集;

步骤4.3,依次求解预测时域内所有预测时刻的初步状态可行集,并得到τ=k:k+n-1所有预测时刻的实际状态约束可行集。

技术总结

本发明公开了一种基于数据驱动的机器人鲁棒学习预测控制方法,通过数据驱动的方式来对系统的动力学进行辨识,将机器人的非线性特性抽象至高维线性空间,获得机器人系统的全局线性化模型;对机器人系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为全局线性化模型的状态量与控制量的取值范围,在存在逼近残差情况下满足原始状态量与控制量的取值范围、并保持闭环控制的鲁棒性;基于全局线性化模型和高维线性空间中的状态变量来进行不断地滚动优化,学习得到机器人系统当前时刻的近似最优预测控制序列。其应用对象是动力学特性未知且不易获取和辨识、存在状态和控制量约束的一类系统为非线性的机器人,能够实现快速高效的闭环控制。

技术研发人员:张兴龙;陆阳;徐昕;刘嘉航

受保护的技术使用者:中国人民解放军国防科技大学

技术研发日:.11.11

技术公布日:.01.03

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。