CN116841303A - 一种针对水下机器人的智能择优高阶迭代自学习控制方法 - Google Patents
一种针对水下机器人的智能择优高阶迭代自学习控制方法 Download PDFInfo
- Publication number
- CN116841303A CN116841303A CN202310321601.1A CN202310321601A CN116841303A CN 116841303 A CN116841303 A CN 116841303A CN 202310321601 A CN202310321601 A CN 202310321601A CN 116841303 A CN116841303 A CN 116841303A
- Authority
- CN
- China
- Prior art keywords
- individuals
- sequence
- learning control
- control method
- intelligent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 241000251468 Actinopterygii Species 0.000 claims abstract description 86
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 51
- 238000005070 sampling Methods 0.000 claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims description 28
- 230000035772 mutation Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 16
- 238000005312 nonlinear dynamic Methods 0.000 claims description 9
- 230000008901 benefit Effects 0.000 claims description 7
- 230000014759 maintenance of location Effects 0.000 claims description 7
- 238000013178 mathematical model Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 239000011664 nicotinic acid Substances 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 230000004083 survival effect Effects 0.000 claims description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000009182 swimming Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 7
- 230000005021 gait Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000003592 biomimetic effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000037230 mobility Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Feedback Control In General (AREA)
Abstract
本发明提供了一种针对水下机器人的智能择优高阶迭代自学习控制方法,包括针对双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法,包括以下步骤:获取机器鱼的期望速度曲线,并根据采样周期对期望速度曲线进行采样,得到期望速度序列;将控制输入推力作用到机器鱼中,得到机器鱼的实际速度曲线;根据采样周期对机器鱼的实际速度曲线进行采样,得到机器鱼的实际速度序列。本发明有益效果:利用迭代学习控制方法能够在整个操作区间内,实现机器鱼的速度的完全跟踪。本专利所提出的利用演化算法对控制增益进行优化的高阶迭代学习控制方法,比具有相同阶数的传统高阶迭代学习控制方法的收敛速度更快。
Description
技术领域
本发明属于智能机器人领域,尤其是涉及一种针对水下机器人的智能择优高阶迭代自学习控制方法。
背景技术
目前,自主式水下机器人在海洋探测、科学研究和商业任务中应用广泛。在各种水下机器人中,鱼形机器人(即机器鱼)以其高效率、高机动性、低噪声等优点最具应用潜力。尽管在鱼类游泳的推进机制、执行器和机械结构方面已取得了一些成果,但这些成果还不足以开发出一种能够像真鱼那样在非结构化环境中自由游泳的自主机器鱼。其中一个主要的挑战在于机器鱼运动控制的难度。
以往对机器鱼运动控制的研究主要集中在两个方面:1)在机器鱼中产生类鱼的游动步态;2)驱动机器鱼实现期望的运动。前者探索机器鱼驱动部件的协调运动,后者则侧重于控制机器鱼全身的运动。从控制论的角度来看,游泳步态生成的方法可以分为基于运动学的方法和基于仿生的方法。基于运动学的方法旨在通过旋转关节连接的离散机械多连杆模仿鱼的身体运动,而仿生方法采用中心模式发生器将鱼的波动身体运动转化为机器人关节运动。虽然游动步态生成方法可以用来生成机器鱼的类鱼游动,但是这些方法都是开环的,不能帮助机器鱼实现所期望的运动。
发明内容
有鉴于此,本发明旨在提出一种针对水下机器人的智能择优高阶迭代自学习控制方法,以至少解决背景技术中的至少一个问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种针对水下机器人的智能择优高阶迭代自学习控制方法,包括针对双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法,包括以下步骤:
S1、获取机器鱼的期望速度曲线,并根据采样周期对期望速度曲线进行采样,得到期望速度序列;
S2、将控制输入推力作用到机器鱼中,得到机器鱼的实际速度曲线;
S3、根据采样周期对机器鱼的实际速度曲线进行采样,得到机器鱼的实际速度序列;
S4、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
S5、根据误差序列、演化算法优化控制增益的方法得到优化的控制增益和当前的控制输入推力序列;
S6、将当前的控制输入推力序列作为迭代学习控制的控制输入推力序列作用于机器鱼,得到机器鱼的实际速度序列;
S7、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
S8、将误差序列、当前的控制输入推力序列以及优化的控制增益带入控制律中,得到下一次的控制输入推力序列;
S9、重复执行步骤S6-S8,直至误差指标小于容许范围时停止迭代学习控制。
进一步的,在步骤S5中,演化算法优化控制增益的方法包括:
A1、种群初始化,即产生问题解的初始值;
A2、选择策略,根据适者生存的自然法则,选择种群中适应力强的个体构成新种群;
A3、进行交叉,对第1,3,5,…,P-1个父代个体进行判断,当满足交叉条件时,对该个体与下一个个体进行交叉操作,生成对应的两个子代新个体;
A4、进行变异,对每个父代个体进行判断,当满足变异条件时对该个体进行变异操作,生成一个变异后的子代新个体;
A5、计算新个体的适应度值,根据新个体的变量值计算新个体的适应度值;
A6、当达到最大迭代次数时,结束演化算法,选出适应度值最大的个体,其变量值就是我们所需的最优控制增益,将最优的控制增益代入公式中,得到当前的控制输入。
进一步的,在步骤A1中,根据双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法的特点,对演化算法的种群进行初始化。
进一步的,在步骤A2中,采用轮盘赌和精英保留相结合的选择策略将个体选入下一代;
轮盘赌策略使得适应值较大的个体能够以较高的概率进入下一代,结合使用精英保留策略,确保前代中最优秀的个体得以保留,用于有效提高演化算法的收敛速度,根据所构建的选择策略选择P个个体作为子代个体形成新种群。
进一步的,双连杆仿生机器鱼运动时的动态数学模型表示为:
其中j∈{0,1,2,…}表示迭代次数,t∈[0,T]表示时间,为机器鱼的质量,τ=165.7056kg/m为水阻力系数,Vj(t)为机器鱼在第j次迭代t时刻的速度,Fj(t)表示在第j次迭代t时刻由尾部运动产生的向前推力,令抽样间隔Ts=0.1,对机器鱼的速度Vj(t)进行抽样得到速度的抽样序列Vj(i·Ts),i={0,1,…,M},/>同样的,对推力Fj(t)进行抽样得到推力的抽样序列Fj(i·Ts),令速度抽样序列Vj(i·Ts)为系统状态xj(i),推力抽样序列Fj(i·Ts)为系统的控制输入uj(i),利用导数的定义有:于是可以将(1)式离散化为以下离散动态系统:
其中
又令(2)式中包含系统状态的非线性部分容易得到如下离散非线性动态系统的一般形式:
其中C=1,j∈{0,1,2,…}表示迭代次数,i={0,1,…,M}/>表示离散时间点数,xj(i)∈R,uj(i)∈R和yj(i)∈R分别表示系统状态、控制输入和系统输出,B∈R和C∈R分别为系统的输入系数和输出系数,f(·)∈R为系统的状态函数,对于i∈{0,1,…,M},yd(i)=Cxd(i)表示期望输出,其中xd(i)为相应的期望状态,ej(i)=yd(i)-yj(i)表示第j次迭代时系统的跟踪误差。
进一步的,对离散非线性动态系统(3)提出以下4个假设:
假设1:对于所有的迭代j,系统(3)的初始状态满足下式:
xj(0)=xd(0) (4)
假设2:系统(3)的非线性函数f(·)满足全局Lipschitz条件,即对于
其中lz>0为Lipschitz常数;
假设3:CB≠0;
假设4:假设期望输出轨迹yd(i)是可达的,即存在唯一的控制输入ud(i)使得
针对离散非线性动态系统(3),我们提出以下高阶迭代学习控制方法:
其中N≥1为高阶迭代学习控制律(7)的阶数,对于v=1,2,…,N,Wv∈R和Lv∈R(|Lv|≤sL)为控制增益;
针对系统(3),在满足假设1-4的情况下,应用高阶迭代学习控制律(7),若选择控制增益Wv和Lv(|Lv|≤sL)满足下式
则系统(3)的跟踪误差
进一步的,演化算法具体包括:
编码策略:编码策略将实际问题表示为一组编码,使计算机能够识别并进行相应的计算;
群体初始化与个体评价:根据待解决的问题的特点,设计合适的初始化操作,用于初始化群体中的所有个体,根据设计的适应度函数评价个体在群体中的优势;
选择策略:根据选择策略,选择最适合的个体构成父代种群,进行交叉算子和变异算子等进化操作;
交叉算子:根据交叉概率判断父代个体是否需要进行交叉操作,根据交叉算子对满足交叉条件的两个父代个体进行交叉,从而产生新的个体;
变异算子:变异概率决定了父代个体是否需要变异,变异算子用于对父代个体进行变异以生成新个体;
终止条件:如果满足终止条件,则结束演化算法,并根据适应度函数的值,得到最优个体,即问题的最优解。
进一步的,本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行一种针对水下机器人的智能择优高阶迭代自学习控制方法。
进一步的,本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种针对水下机器人的智能择优高阶迭代自学习控制方法。
进一步的,本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现一种针对水下机器人的智能择优高阶迭代自学习控制方法。
相对于现有技术,本发明所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法具有以下有益效果:
本发明所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,利用迭代学习控制方法能够在整个操作区间内,实现机器鱼的速度的完全跟踪。本专利所提出的利用演化算法对控制增益进行优化的高阶迭代学习控制方法,比具有相同阶数的传统高阶迭代学习控制方法的收敛速度更快。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法示意图;
图2为本发明实施例所述的演化算法优化控制增益的方法流程图示意图;
图3为本发明实施例所述的当j=15,j=22和j=39时,应用优化控制增益的迭代学习控制方法得到的系统输出轨迹图示意图;
图4为本发明实施例所述的绝对误差之和SEk在不同迭代次数时的收敛曲线示意图;
图5为本发明实施例所述的误差的平方和TEk在不同迭代次数时的收敛曲线示意图。
图6为本发明实施例所述的最大绝对误差MEk在不同迭代次数时的收敛曲线示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
目前,自主式水下机器人在海洋探测、科学研究和商业任务中应用广泛。在各种水下机器人中,鱼形机器人(即机器鱼)以其高效率、高机动性、低噪声等优点最具应用潜力。尽管在鱼类游泳的推进机制、执行器和机械结构方面已取得了一些成果,但这些成果还不足以开发出一种能够像真鱼那样在非结构化环境中自由游泳的自主机器鱼。其中一个主要的挑战在于机器鱼运动控制的难度。
以往对机器鱼运动控制的研究主要集中在两个方面:1)在机器鱼中产生类鱼的游动步态;2)驱动机器鱼实现期望的运动。前者探索机器鱼驱动部件的协调运动,后者则侧重于控制机器鱼全身的运动。从控制论的角度来看,游泳步态生成的方法可以分为基于运动学的方法和基于仿生的方法。基于运动学的方法旨在通过旋转关节连接的离散机械多连杆模仿鱼的身体运动,而仿生方法采用中心模式发生器将鱼的波动身体运动转化为机器人关节运动。虽然游动步态生成方法可以用来生成机器鱼的类鱼游动,但是这些方法都是开环的,不能帮助机器鱼实现所期望的运动。
为了控制机器鱼实现期望的运动,学者们提出了PID控制、模糊逻辑控制、滑模控制等方法,但这些传统控制方法有两个缺点:1)需要知道系统精确的数学模型;2)只能在时域内实现渐近误差收敛。在实践中,许多应用可能需要机器鱼沿着预先指定的速度轨迹游动并重复执行任务。例如,在两个码头之间利用机器鱼进行往复运输,并且要求机器鱼以预定的速度轨迹游动;机器鱼与水下支柱的交会对接,机器鱼必须以给定的速度轨迹运动;利用机器鱼进行管道清洗或管道泄漏检测;这些系统都可以用具有重复运动性质的动态系统来代表。本专利利用高阶迭代学习控制来解决仿生机器鱼的精确速度跟踪问题,这对于运动控制和运动规划都是必不可少的。作为一种智能控制方法,迭代学习控制通过模拟人类的“学习”过程,根据前次迭代的跟踪信息,利用递归技术不断修正控制输入信号,逐渐减小系统跟踪误差,实现固定区间上轨迹的完全跟踪,特别适用于在相同运行区间上进行重复跟踪运动的动态系统。迭代学习控制最大的优势在于不依赖于系统精确的数学模型,这使得其能够应用于具有强耦合性、强非线性和不确定性的动态系统。因此,与前述传统控制方法相比,迭代学习控制具有以下两个优势:1)不需要知道系统精确的数学模型;2)能够实现在整个操作区间内的完全跟踪。
在当前的迭代学习控制方法中,一阶迭代学习控制由于形式简单得到了广泛应用,如针对离散系统的P型迭代学习控制和针对连续系统的D型迭代学习控制。然而,这些一阶迭代学习控制方法只利用上一次迭代的跟踪信息来更新当前迭代的控制输入,而忽略了上一次迭代的跟踪信息。为了获得更快的收敛速度,学者们提出了高阶迭代学习控制算法,利用历史多次迭代的跟踪信息产生当前迭代的控制输入信号。值得注意的是,由于利用了历史多次迭代的跟踪信息,具有适当控制增益的高阶迭代学习控制算法的跟踪性能要优于一阶迭代学习控制。因此,如何选择最优控制增益是高阶迭代学习控制设计中的一个重要问题。
本专利针对机器鱼的速度跟踪问题,采用演化算法自适应地选择高阶迭代学习控制方法中的最优控制增益。演化算法是一种模拟生物进化过程中的复制、选择、交叉和变异的启发式优化算法,它已经被广泛地用于处理各种优化问题。专利根据高阶迭代学习控制方法的特点,设计了演化算法的编码策略、种群初始化和适应度函数,减少了演化算法的迭代次数。然后将所设计的演化算法应用到高阶迭代学习控制中,优化控制增益。与传统的高阶迭代学习控制方法相比,本专利提出的基于演化算法的高阶迭代学习控制方法提高了跟踪误差收敛速度,实现了机器鱼在整个操作区间内速度的完全跟踪。并且,由于迭代学习控制律的设计不需要知道系统精确的数学模型,本专利所提出的方法不仅适用于前述的机器鱼模型,还适用于其他具有重复运动的动态系统。
如图1所示,针对双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法,其特征在于,包括:
步骤1、获取机器鱼的期望速度曲线,并根据采样周期对期望速度曲线进行采样,得到期望速度序列;
步骤2、将控制输入推力作用到机器鱼中,得到机器鱼的实际速度曲线;
步骤3、根据采样周期对机器鱼的实际速度曲线进行采样,得到机器鱼的实际速度序列;
步骤4、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
步骤5、根据误差序列、图2所示的演化算法优化控制增益的方法得到优化的控制增益和当前的控制输入推力序列;
步骤6、将当前的控制输入推力序列作为迭代学习控制的控制输入推力序列作用于机器鱼,得到机器鱼的实际速度序列;
步骤7、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
步骤8、将误差序列、当前的控制输入推力序列以及优化的控制增益带入控制律(7)中,得到下一次的控制输入推力序列;
步骤9、重复执行步骤6-8,直至误差指标小于容许范围时停止迭代学习控制。
如图2所示,演化算法优化控制增益的方法,其特征在于,包括:
步骤1、种群初始化,即产生问题解的初始值。根据双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法的特点,对演化算法的种群进行初始化。采用阶数为2的迭代学习控制算法时,则有四个控制增益需要优化,即W1,W2,L1,L2,又由于收敛条件(8)成立,容易得到W2=1-W1,实际需要优化的控制增益为W1,L1,L2。根据收敛条件(8)-(10),我们可以得到三个待优化的控制增益的范围分别为[0.7,0.8],[0.4,0.5]和[0.4,0.5],假设种群规模P=100,使用启发式的方法分别随机选择100个位于这些区间的随机数作为初始种群,有助于算法快速收敛,算法描述如下:
W1min=0.7;W1max=0.8;//第一个控制增益的取值范围
L1min=0.4;L1max=0.5;//第二个控制增益的取值范围
L2min=0.4;L2max=0.5;//第三个控制增益的取值范围
iniW1=W1min+(W1max-W1min)*rand(P,1);
//生成第一个控制增益的随机数
iniL1=L1min+(L1max-L1min)*rand(P,1);
//生成第二个控制增益的随机数
iniL2=L2min+(L2max-L2min)*rand(P,1);
//生成第三个控制增益的随机数
inifit=fitness(iniW1,iniL1,iniL2);
//根据控制增益的初始值和(13)式,计算相应的适应度初始值
inipop=[iniW1 iniL1 iniL2 inifit];
//构成P*4的初始种群,前三列为控制增益,最后一列为适应度值
步骤2、选择策略。根据适者生存的自然法则,选择种群中适应力强的个体构成新种群。我们采用轮盘赌和精英保留相结合的选择策略将个体选入下一代。轮盘赌策略使得适应值较大的个体能够以较高的概率进入下一代。结合使用精英保留策略,确保前代中最优秀的个体得以保留。这两种策略可以有效提高演化算法的收敛速度。根据所构建的选择策略选择P个个体作为子代个体形成新种群。
步骤3、交叉。对第1,3,5,…,P-1个父代个体进行判断,当满足交叉条件时,应用(18)式对该个体与下一个个体进行交叉操作,生成对应的两个子代新个体,算法描述如下:
步骤4、变异。对每个父代个体进行判断,当满足变异条件时,应用(19)式对该个体进行变异操作,生成一个变异后的子代新个体,算法描述如下:
步骤5、计算新个体的适应度值。根据新个体的变量值和式(13)-(14)计算新个体的适应度值。
步骤6、当达到最大迭代次数时,结束演化算法,选出适应度值最大的个体,其变量值就是我们所需的最优控制增益。将最优的控制增益代入(7)式,得到当前的控制输入。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
一类双连杆仿生机器鱼运动时的动态数学模型可以表示为:
其中j∈{0,1,2,…}表示迭代次数,t∈[0,T]表示时间,为机器鱼的质量,τ=165.7056kg/m为水阻力系数,Vj(t)为机器鱼在第j次迭代t时刻的速度,Fj(t)表示在第j次迭代t时刻由尾部运动产生的向前推力。令抽样间隔Ts=0.1,对机器鱼的速度Vj(t)进行抽样得到速度的抽样序列Vj(i·Ts),i={0,1,…,M},/>同样的,对推力Fj(t)进行抽样得到推力的抽样序列Fj(i·Ts)。令速度抽样序列Vj(i·Ts)为系统状态xj(i),推力抽样序列Fj(i·Ts)为系统的控制输入uj(i),利用导数的定义有:于是可以将(1)式离散化为以下离散动态系统:
其中
又令(2)式中包含系统状态的非线性部分容易得到如下离散非线性动态系统的一般形式:
其中C=1,j∈{0,1,2,…}表示迭代次数,i={0,1,…,M}/>表示离散时间点数,xj(i)∈R,uj(i)∈R和yj(i)∈R分别表示系统状态、控制输入和系统输出。B∈R和C∈R分别为系统的输入系数和输出系数,f(·)∈R为系统的状态函数。对于i∈{0,1,…,M},yd(i)=Cxd(i)表示期望输出,其中xd(i)为相应的期望状态。ej(i)=yd(i)-yj(i)表示第j次迭代时系统的跟踪误差。
对离散非线性动态系统(3)提出以下4个假设:
假设1:对于所有的迭代j,系统(3)的初始状态满足下式:
xj(0)=xd(0) (4)
假设2:系统(3)的非线性函数f(·)满足全局Lipschitz条件,即对于
其中lz>0为Lipschitz常数。
假设3:CB≠0。
假设4:假设期望输出轨迹yd(i)是可达的,即存在唯一的控制输入ud(i)使得
针对离散非线性动态系统(3),我们提出以下高阶迭代学习控制方法:
其中N≥1为高阶迭代学习控制律(7)的阶数,对于v=1,2,…,N,Wv∈R和Lv∈R(|Lv|≤sL)为控制增益。
针对系统(3),在满足假设1-4的情况下,应用高阶迭代学习控制律(7),若选择控制增益Wv和Lv(|Lv|≤sL)满足下式
则系统(3)的跟踪误差
以上给出了所提出方法的渐近收敛性。众所周知,控制增益对收敛性能有很大的影响。接下来,我们利用演化算法对以上提出的高阶迭代学习控制律(7)中的控制增益进行优化,减少系统收敛所需的迭代次数。
演化算法是一种模拟生物进化过程以获得最优解的智能优化算法,主要包括以下几个部分:
1)编码策略。编码策略将实际问题表示为一组编码,使计算机能够识别并进行相应的计算。
2)群体初始化与个体评价。根据待解决的问题的特点,设计合适的初始化操作,用于初始化群体中的所有个体。根据设计的适应度函数评价个体在群体中的优势。
3)选择策略。根据选择策略,选择最适合的个体构成父代种群,进行交叉算子和变异算子等进化操作。
4)交叉算子。根据交叉概率判断父代个体是否需要进行交叉操作。根据交叉算子对满足交叉条件的两个父代个体进行交叉,从而产生新的个体。
5)变异算子。变异概率决定了父代个体是否需要变异。变异算子用于对父代个体进行变异以生成新个体。
6)终止条件。如果满足终止条件,则结束演化算法,并根据适应度函数的值,得到最优个体,即问题的最优解。
本专利对于演化算法的设计如下:
1)编码策略
由于高阶迭代学习控制方法中的控制增益是实数,因此我们采用实数编码来表示问题的解。在高阶迭代学习控制律(7)中要优化的控制增益是Wv和Lv(v=1,2,…,N)。由于收敛条件(8)成立,容易得到因此,我们可以假设演化算法中的变量向量为λ∈R1×(2N-1),编码策略则表示为
λ=[W1 W2 … WN-1 L1 L2 … LN] (11)
2)群体初始化与个体评价
根据收敛条件(8)-(10),可以确定控制增益Wv和Lv(v=1,2,…,N)的取值范围,从而生成初始种群。用P表示种群规模,不失一般性,假设P是一个偶数。种群中,个体h的变量向量λh∈R1×(2N-1)表示为
其对应的初始化向量为另一方面,对于变量λh,设Yh(i,λh)为系统在第i个时间点对应第h个个体的输出。为了评价个体的适应性,建立个体h的适应度函数fith(λh)∈R如下
fith(λh)=Ma-Eh(λh) (13)
其中Ma是一个足够大的常数,Eh(λh)为跟踪误差的绝对值之和,即
由适应度函数(13)和初始变量得到个体h的初始适应度值/>于是可得种群初始适应值fitini∈RP如下
进一步构造初始种群popini∈RP×2N为
popini=[λini fitini] (16)
其中,种群的初始变量为
(17)式中的第β行第α列表示个体β(1≤β≤P)的第α(1≤α≤2N-1)个变量,(16)式的最后一列是与初始变量对应的适应值。
3)选择策略
我们采用轮盘赌和精英保留相结合的选择策略将个体选入下一代。轮盘赌策略使得适应值较大的个体能够以较高的概率进入下一代,但其中一个缺点是可能会淘汰在较老的代数中的最好个体。因此,我们结合使用精英保留策略,确保前几代中最优秀的个体得以保留。基于这两种策略,可以有效减少演化算法的收敛代数。
4)交叉算子
个体是否需要交叉取决于交叉概率0<pc<1。对于个体h′,h′=1,3,5,…,P-1,生成一个介于0和1之间的随机数rh′。若rh′>pc,则进行交叉操作。否则,不进行交叉操作。由于采用实数编码,在这里我们采用算术交叉算子。假设父代中需要进行交叉的个体h′和h′+1的变量向量分别为par_λh′和par_λh′+1。交叉后,它们产生两个新个体,变量向量分别表示为chi_λh′和chi_λh′+1。我们采用以下交叉算子
其中h′=1,3,5,…,P-1,ηh′∈(0,1)为父代个体h′和h′+1的交叉权重。
5)变异算子
本文采用随机变异策略。利用变异概率0<pm<1来决定某个父代个体是否需要变异。对于个体h,随机产生一个介于0和1之间的数rh。若rh>pm,则进行变异操作。否则,不进行变异操作。设需要变异的个体h的变量向量为par_λh,变异后产生新个体的变量向量为chi_λh。变异算子定义为
chi_λh=par_λh+mh,h=1,2,…,P, (19)
其中mh∈R1×(2N-1)是个体h的变异权重。
6)终止条件
设定演化算法的迭代次数为100,当演化算法的迭代次数大于100时结束迭代。最后,由演化算法产生的最佳个体中即包含了最优控制增益(v=1,2,…,N-1)和根据收敛条件(8),最后一个控制增益可由式/>导出。
针对双连杆机器鱼系统(1),采用阶数N=2的迭代学习控制律(7),利用演化算法对(7)式中的控制增益W1,L1和L2进行优化,根据收敛条件(8),最后一个控制增益可由W2=1-W1得到。假设交叉概率pc=0.7,变异概率pm=0.3。系统的期望输出轨迹为
yd(i)=0.016[1+sin(2πi/M-π/2)],i∈{0,1,…,M+1} (20)
其中M=99。为了评价系统的跟踪效果,分别采用以下三个误差评价指标:
1)绝对误差之和SEk
2)误差的平方和TEk
3)最大绝对误差MEk
运行演化算法10次得到的最优控制增益如表1所示。将演化算法得到的最优控制增益的平均值W1=0.755,W2=0.245,L1=0.4582和L2=0.446应用到高阶迭代学习控制律(7)中,当j=15,j=22和j=39时,系统的输出轨迹如图2所示。为了与传统的高阶迭代学习控制方法比较,也对传统的2阶迭代学习控制方法进行了仿真实验,其控制增益为W1=0.7,W2=0.3,L1=0.3和L2=0.2。图3-5比较了两种控制方法对应的绝对误差之和SEk、误差的平方和TEk以及最大绝对误差MEk。
表1:运行演化算法10次得到的最优控制增益
如图3所示,为当j=15,j=22和j=39时,应用优化控制增益的迭代学习控制方法得到的系统输出轨迹图
如图4所示,为绝对误差之和SEk在不同迭代次数时的收敛曲线;
如图5所示,为误差的平方和TEk在不同迭代次数时的收敛曲线
如图6所示,为最大绝对误差MEk在不同迭代次数时的收敛曲线;
图3表明利用迭代学习控制方法能够在整个操作区间内,实现机器鱼的速度的完全跟踪。图4-6表明,本专利所提出的利用演化算法对控制增益进行优化的高阶迭代学习控制方法,比具有相同阶数的传统高阶迭代学习控制方法的收敛速度更快。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于,包括针对双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法,包括以下步骤:
S1、获取机器鱼的期望速度曲线,并根据采样周期对期望速度曲线进行采样,得到期望速度序列;
S2、将控制输入推力作用到机器鱼中,得到机器鱼的实际速度曲线;
S3、根据采样周期对机器鱼的实际速度曲线进行采样,得到机器鱼的实际速度序列;
S4、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
S5、根据误差序列、演化算法优化控制增益的方法得到优化的控制增益和当前的控制输入推力序列;
S6、将当前的控制输入推力序列作为迭代学习控制的控制输入推力序列作用于机器鱼,得到机器鱼的实际速度序列;
S7、根据机器鱼的实际速度序列和期望速度序列形成误差序列;
S8、将误差序列、当前的控制输入推力序列以及优化的控制增益带入控制律中,得到下一次的控制输入推力序列;
S9、重复执行步骤S6-S8,直至误差指标小于容许范围时停止迭代学习控制。
2.根据权利要求1所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于,在步骤S5中,演化算法优化控制增益的方法包括:
A1、种群初始化,即产生问题解的初始值;
A2、选择策略,根据适者生存的自然法则,选择种群中适应力强的个体构成新种群;
A3、进行交叉,对第1,3,5,…,P-1个父代个体进行判断,当满足交叉条件时,对该个体与下一个个体进行交叉操作,生成对应的两个子代新个体;
A4、进行变异,对每个父代个体进行判断,当满足变异条件时对该个体进行变异操作,生成一个变异后的子代新个体;
A5、计算新个体的适应度值,根据新个体的变量值计算新个体的适应度值;
A6、当达到最大迭代次数时,结束演化算法,选出适应度值最大的个体,其变量值就是我们所需的最优控制增益,将最优的控制增益代入公式中,得到当前的控制输入。
3.根据权利要求2所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于:在步骤A1中,根据双连杆鱼形水下机器人的智能择优高阶迭代自学习控制方法的特点,对演化算法的种群进行初始化。
4.根据权利要求1所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于:在步骤A2中,采用轮盘赌和精英保留相结合的选择策略将个体选入下一代;
轮盘赌策略使得适应值较大的个体能够以较高的概率进入下一代,结合使用精英保留策略,确保前代中最优秀的个体得以保留,用于有效提高演化算法的收敛速度,根据所构建的选择策略选择P个个体作为子代个体形成新种群。
5.根据权利要求1所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于,双连杆仿生机器鱼运动时的动态数学模型表示为:
其中j∈{0,1,2,…}表示迭代次数,t∈[0,T]表示时间,为机器鱼的质量,τ=165.7056kg/m为水阻力系数,Vj(t)为机器鱼在第j次迭代t时刻的速度,Fj(t)表示在第j次迭代t时刻由尾部运动产生的向前推力,令抽样间隔Ts=0.1,对机器鱼的速度Vj(t)进行抽样得到速度的抽样序列Vj(i·Ts),i={0,1,…,M},/>同样的,对推力Fj(t)进行抽样得到推力的抽样序列Fj(i·Ts),令速度抽样序列Vj(i·Ts)为系统状态xj(i),推力抽样序列Fj(i·Ts)为系统的控制输入uj(i),利用导数的定义有:于是可以将(1)式离散化为以下离散动态系统:
其中
又令(2)式中包含系统状态的非线性部分容易得到如下离散非线性动态系统的一般形式:
其中C=1,j∈{0,1,2,…}表示迭代次数,i={0,1,…,M}/>表示离散时间点数,xj(i)∈R,uj(i)∈R和yj(i)∈R分别表示系统状态、控制输入和系统输出,B∈R和C∈R分别为系统的输入系数和输出系数,f(·)∈R为系统的状态函数,对于i∈{0,1,…,M},yd(i)=Cxd(i)表示期望输出,其中xd(i)为相应的期望状态,ej(i)=yd(i)-yj(i)表示第j次迭代时系统的跟踪误差。
6.根据权利要求5所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于:对离散非线性动态系统(3)提出以下4个假设:
假设1:对于所有的迭代j,系统(3)的初始状态满足下式:
xj(0)=xd(0) (4)
假设2:系统(3)的非线性函数f(·)满足全局Lipschitz条件,即对于
其中lz>0为Lipschitz常数;
假设3:CB≠0;
假设4:假设期望输出轨迹yd(i)是可达的,即存在唯一的控制输入ud(i)使得
针对离散非线性动态系统(3),我们提出以下高阶迭代学习控制方法:
其中N≥1为高阶迭代学习控制律(7)的阶数,对于v=1,2,…,N,Wv∈R和Lv∈R(|Lv|≤sL)为控制增益;
针对系统(3),在满足假设1-4的情况下,应用高阶迭代学习控制律(7),若选择控制增益Wv和Lv(|Lv|≤sL)满足下式
则系统(3)的跟踪误差i∈{0,1,…,M}。
7.根据权利要求1所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法,其特征在于,演化算法具体包括:
编码策略:编码策略将实际问题表示为一组编码,使计算机能够识别并进行相应的计算;
群体初始化与个体评价:根据待解决的问题的特点,设计合适的初始化操作,用于初始化群体中的所有个体,根据设计的适应度函数评价个体在群体中的优势;
选择策略:根据选择策略,选择最适合的个体构成父代种群,进行交叉算子和变异算子等进化操作;
交叉算子:根据交叉概率判断父代个体是否需要进行交叉操作,根据交叉算子对满足交叉条件的两个父代个体进行交叉,从而产生新的个体;
变异算子:变异概率决定了父代个体是否需要变异,变异算子用于对父代个体进行变异以生成新个体;
终止条件:如果满足终止条件,则结束演化算法,并根据适应度函数的值,得到最优个体,即问题的最优解。
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法。
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法。
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的一种针对水下机器人的智能择优高阶迭代自学习控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321601.1A CN116841303A (zh) | 2023-03-29 | 2023-03-29 | 一种针对水下机器人的智能择优高阶迭代自学习控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321601.1A CN116841303A (zh) | 2023-03-29 | 2023-03-29 | 一种针对水下机器人的智能择优高阶迭代自学习控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116841303A true CN116841303A (zh) | 2023-10-03 |
Family
ID=88167807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310321601.1A Pending CN116841303A (zh) | 2023-03-29 | 2023-03-29 | 一种针对水下机器人的智能择优高阶迭代自学习控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117452806A (zh) * | 2023-12-18 | 2024-01-26 | 广东海洋大学 | 水下仿生鱼机器人的航向控制方法 |
-
2023
- 2023-03-29 CN CN202310321601.1A patent/CN116841303A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117452806A (zh) * | 2023-12-18 | 2024-01-26 | 广东海洋大学 | 水下仿生鱼机器人的航向控制方法 |
CN117452806B (zh) * | 2023-12-18 | 2024-03-19 | 广东海洋大学 | 水下仿生鱼机器人的航向控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262511B (zh) | 基于深度强化学习的双足机器人自适应性行走控制方法 | |
WO2021103392A1 (zh) | 基于对抗结构化控制的仿生机器鱼运动控制方法、系统 | |
US10962976B1 (en) | Motion control method and system for biomimetic robotic fish based on adversarial structured control | |
CN107253195B (zh) | 一种运载机器人手臂操控自适应混合学习映射智能控制方法及系统 | |
Gong et al. | A review of gait optimization based on evolutionary computation | |
CN110490035A (zh) | 人体骨架动作识别方法、系统及介质 | |
CN102402712A (zh) | 基于神经网络的机器人强化学习初始化方法 | |
CN116841303A (zh) | 一种针对水下机器人的智能择优高阶迭代自学习控制方法 | |
Cui et al. | Control-aware representations for model-based reinforcement learning | |
CN116147627A (zh) | 一种结合深度强化学习和内在动机的移动机器人自主导航方法 | |
Yu et al. | Multi-modal legged locomotion framework with automated residual reinforcement learning | |
Ramirez et al. | Reinforcement learning from expert demonstrations with application to redundant robot control | |
Whitman et al. | Modular mobile robot design selection with deep reinforcement learning | |
Laud et al. | Reinforcement learning and shaping: Encouraging intended behaviors | |
Nahavandi et al. | Machine learning meets advanced robotic manipulation | |
CN109344961A (zh) | 一种基于pso的权值直接确定神经网络结构优化方法 | |
CN115730521A (zh) | 基于超多任务进化优化算法的多足机器人智能设计方法 | |
CN116149179A (zh) | 针对机器鱼的非一致轨迹长度差分进化迭代学习控制方法 | |
CN113311705B (zh) | 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 | |
Arredondo et al. | Fuzzy motivations for evolutionary behavior learning by a mobile robot | |
Piao et al. | Online multi-modal imitation learning via lifelong intention encoding | |
JP2021192141A (ja) | 学習装置、学習方法、および学習プログラム | |
Yongqiang et al. | Path‐Integral‐Based Reinforcement Learning Algorithm for Goal‐Directed Locomotion of Snake‐Shaped Robot | |
Raza et al. | Survivable robotic control through guided bayesian policy search with deep reinforcement learning | |
Uchibe | Cooperative behavior acquisition by learning and evolution in a multi-agent environment for mobile robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |