基于微粒群优化的机器人自抗扰控制

时间:2022-09-25 12:17:59

基于微粒群优化的机器人自抗扰控制

摘 要:自抗扰控制器是在继承经典PID不依赖于对象模型优点的基础上,通过改进经典PID固有缺陷而形成的新型控制器,性能优良且算法简单。研究微粒群算法和机器人控制技术,采用自抗扰控制器实现了平面两连杆机械手的正弦运动控制,提出用微粒群算法选择和优化控制器参数,取得了很好的仿真结果,验证了算法的可行性和有效性。

关键词:机器人;微粒群算法;自抗扰控制器;参数优化

中图分类号:TP24文献标识码:A

文章编号:1004-373X(2009)10-025-02

Robot Control Based on Particle Swarm Optimized Active Disturbance Rejection Controller

LIU Xiaoli,HU Cuihua,LI Lanying

(Engineering and Technology College,Chengdu University of Technology,Leshan,614007,China)

Abstract: Inheriting the merit of independent of system model and overcoming the shortcomings of classic PID controller,Active Disturbance Rejection Controller (ADRC) possesses good performance with relatively simple algorithm.Particle Swarm Optimization (PSO) algorithm and robot control are researched.ADRC is adopted to realize the sinusoidal moving control of the plane two-link manipulator and the controller parameters are chosen and optimized by PSO.Simulation results are satisfied and well proved the feasibility and validity of the algorithm.

Keywords:robot;particle swarm optimization;active disturbance rejection controller;parameter optimization

0 引 言

机器人视觉伺服是一个跨学科的研究领域,涉及通信技术、高速图像处理技术、计算机视觉技术、机器人运动学和动力学、控制理论及实时计算等方面,是一个不仅具有重要理论意义,而且有广阔工业应用前景的基础性研究课题[1]。

自抗扰控制器(Active Disturbance Rejection Controller,ADRC)利用跟踪-微分器(TD)安排过渡过程,给出参考输入信号的各阶导数;利用扩张状态观测器(ESO)估计被控对象的实时运动状况,以实现模型和外扰补偿,并把被控对象化为“积分器串联型”,再用状态误差反馈设计出理想的控制器;非线性组合(NLSEF)是安排的过渡过程与对象的状态变量之间误差的非线性控制策略,是控制“积分器串联型”对象所需的控制量形式[2],但控制器中有较多参数需人为设定,成为其应用中的一个难点所在。微粒群算法(PSO)是由Kennedy 和Eberhart于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。它将鸟群运动模型中的栖息地类比于所求问题解空间中可能解的位置,通过个体间的信息传递,导引整个群体向可能解的方向移动,在求解过程中逐步增加发现较好解的可能性。与进化算法相比,PSO保留了基于种群的全局搜索策略,但其采用的速度-位移模型,操作简单,避免了复杂的遗传操作,是一种更高效的并行搜索算法[3]。微粒群算法目前已成为进化算法的一个重要分支,得到国际上相关领域众多学者的关注和研究,成为国际进化计算界研究的热点,PSO也出现了多种改进算法,且已经应用于许多科学和工程领域。这里将其应用到机器人自抗扰控制系统参数的选取和优化中,进行了大量的跟踪控制仿真实验,获得了较满意的结果。

1 自抗扰控制器

以一阶ADRC为例,其结构图如图1所示。

图1 一阶ADRC结构图

TD模块方程:

z•1=-rsat(z1-v0,δ0)(1)

ESO模块方程:

e=z2-y

z•2=z3-β01fal(e,α,δ1)+b0u

z•3=-β02fal(e,α,δ1)(2)

NLSEF模块方程:

e1=z1-z2

u=βfal(e1,α,δ)-z3/b0(3)

式中:

sat(x,δ)=sign(x),|x|≥δ

x/δ,|x|

fal(x,α,δ)=|x|δsign(x),|x|≥δ

x/δ1-α,|x|

2 微粒群优化算法

微粒群优化算法(PSO)中,每个优化问题的解都是搜索空间中的一个“粒子”。粒子的优劣程度由适应度函数决定,而适应度函数根据优化目标定义。每个粒子都有一个速度决定它们飞行的方向和距离,然后粒子们追随当前的最优粒子在解空间中搜索。PSO算法初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,称为个体极值Pbest,另一个极值是整个种群目前找到的最优解,称为全局极值Gbest。在共有m个粒子的群体中,第i个粒子在D维解空间的位置表示为:xi=(xi1,xi2,…,xid)。 其中i=1,2,…,m;d=1,2,…,D,其速度为vi=vi1,vi2,…,vid。将xi代入目标函数可计算出其适应值,第i个粒子搜索到的最好位置为Pi=(Pi1,Pi2,…,Pid);整个粒子群搜索到的最优位置为Pg=(Pg1,Pg2,…,Pgd)。粒子群通过速度和位置的更新来搜索整个状态空间:

vid(t+1)=vid(t)+c1rand(pid-xid)+

c2rand(pgd-xid)(6)

xid(t+1)=xid(t)+vid(t+1)(7)

式中:c1和c2为加速常数,也称学习因子;rand为在[0,1]范围变化的随机函数。

3 仿真研究

两连杆长度分别为l1和l2,其运动方程为[4]:

x=l1cosθ1+l2cos(θ1+θ2)

y=l1sinθ1+l2sin(θ1+θ2) (8)

其逆雅可比为:

J-1(q)=(1/l1l2sinθ2)•

l2cos(θ1+θ2)l2sin(θ1+θ2)

-l1cosθ1-l2cos(θ1+θ2)-l1sinθ1-l2sin(θ1+θ2)(9)

式中:(x,y)为连杆2末端的位置矢量;(θ1,θ2)为关节矢量。仿真中取l1=1.0 m和l2=0.8 m;给定输入是幅值为1.0 m,频率为0.2 rad/s的正弦信号;为使系统快速性更好,避免相位延迟,特去掉ADRC中的TD模块。采用PSO确定式(2)中的β01和式(3)中的β,种群大小为25,进化代数为100,c1=c2=2.0,目标函数是使误差量最小,最后得到ADRC参数为:

δ=0.2,β=4.224 1,β01=2.654,β02=2.496 7,α=0.25,δ1=δ2=0.03,α01=α02=0.05,b0=0.8。

仿真结果如图2和图3所示。

图2 输出量和控制量曲线图

图3 误差曲线图

最终25个微粒在以参数β01为横坐标,β为纵坐标的平面上分布如图4所示。

图4 最终微粒分布图

由图可知,采用PSO优化ADRC能很好地实现平面两连杆水平方向的跟踪控制。

4 结 语

将基于微粒群优化的自抗扰控制器应用到机器人对运动目标的跟踪控制中获得了较好的结果,为机器人控制提供了一种新的思路。

参考文献

[1]赵清杰.机器人视觉伺服综述[J].控制与决策,2001,16(6):849-853.

[2]夏长亮.永磁无刷直流电机转矩波动的自抗扰控制[J].中国电机工程学报,2006,26(24):137-142.

[3]张燕,汪镭,康琦,等.微粒群优化算法及其改进形式综述[J].计算机工程与应用,2005(2):1-4.

[4]张海荣,舒志兵.BP神经网络整定的PID在机器人轨迹跟踪中的应用[J].电气传动,2007,37(9):36-39.

[5]徐守江,朱庆保.基于遗传算法的移动机器人路径滚动规划[J].计算机工程,2007,33(20):207-209.

[6]吕艳萍,李绍滋,陈水利,等.自适应扩散混合变异机制微粒群算法[J].软件学报,2007,18(11):2 740-2 751.

[7]栾丽君.一种基于粒子群优化算法和差分进化算法的新型混合全局优化算法[J].信息与控制,2007,36(6):708-714.

[8]谭冠政,刘英俊.基于粒子群算法的移动机器人全局最优路径规划[J].计算机应用研究,2007,24(11):210-212.

[9]陈功贵.随机局部搜索扰动的粒子群优化算法[J].计算机应用,2008,28(1):94-96.

[10]谢晓峰,张文俊,杨之廉.微粒群算法综述[J].控制与决策,2003,18(2):129-134.

上一篇:基于AVR的太阳能控制器设计 下一篇:电感L和电容C加载传输线媒质负折射特性分析