APP下载

利用BFO算法优化PID参数的机械臂控制设计分析*

2018-12-20尚建人田云娜

湘潭大学自然科学学报 2018年4期
关键词:趋化机械细菌

尚建人,田云娜

(延安大学 数学与计算机科学学院,陕西 延安 716000)

进化算法是基于随机搜索和自然启发的优化方法[1-3].这些算法遵循与生物进化相结合和适应机制的规则,如繁殖、突变、重组和选择[4].这些算法许多来自分子进化、群体遗传学、免疫学等[5].在涉及处理到不精确度、噪声和复杂数据的设计的情况下,这些算法提供了比传统方法更好的解决方案.本文研究的主要目的是提供对已知进化算法的计算有效性和效率的比较分析.针对2自由度 RP机器臂设计了细菌觅食(bacterial foraging, BFO)算法.设计目的是在存在参数不确定性和外部干扰的情况下提高机械臂的跟踪能力.

1 机械臂控制系统的动力学模型

n关节刚体机器人机器臂的动力学,即高耦合和非线性系统,可从Euler-Lagrangian理论[6]得到:

M(q)q″+C(q,q′)+G(q)=τ,

(1)

式中:q∈Rn×1表示n关节位置的坐标系,q′∈Rn×1是一个关节速度的向量,M(q)∈Rn×n是有界、对称和正定惯性矩阵,C(q,q′)∈Rn×1代表Coriolis和离心矩阵,G(q)∈Rn×1是重力向量和τ∈Rn×1代表应用在关节上控制矩阵的向量.通常机器人臂的动力学是将矩阵作为输入,实际位置作为输出,可以用将式(1)重新表示为:

q″=M-1(q){τ-C(q,q′)-G(q)}.

(2)

使用具有一个外卷和柱状关节的2自由度平面机械臂,如图1所示.动态方程式(2)中使用的矩阵M(q)、C(q,q′)和G(q)给出如下:

式中:q=[q1q2]T,q1是旋转关节变量,q2是菱角关节变量.矩阵M(q)和C(q,q′)控制具有以下结构特性的操作臂的惯性特性.

2 扩展状态观测器(ESO)

x′=Ax+Bu+Eh,y=Cx.

值得注意的是,x3=f是二阶系统的扩展状态,f′=h,即不确定的变化率,被认为是未知的和有界的函数.如果不确定性的连续时间导数可用,则观测器可以评估更复杂的扰动.增加ESO的顺序将使其具有对噪声更敏感的缺点,因此更加难以调谐.虽然ESO设计有各种各样的方法可用[7],但是类似于Luenberger观测器的线性ES(LESO)程序[8]被设计为:

3 基于BFO的PID控制

3.1 BFO算法

BFO算法是被广泛接受的优化算法,它是由大肠杆菌的社会觅食行为而得到的启发[9].每个细菌都尝试通过避免有毒物质搜索营养物质来进行觅食,并最大限度地获取每单位时间的能量.与此同时,细菌具有个体之间的沟通渠道.细菌觅食行为的三个主要步骤包括趋化、繁殖和群集.细菌趋化作用的位置更新计算公式为:

考虑到机械臂实际控制情况,在趋化操作中引入群集操作,数学表达式为:

J(i,k,l)=J(i,j,k,l)+JCC(θi(j+1,k,l),P(j+1,k,l)).

最佳位置的细菌吸引其他细菌,随着化学引诱剂的释放而增加其强度.细菌i的健康度函数为

3.2 基于BFO的PID控制

提出的优化控制原理框图如图2所示.其中:q为系统输出;Mp为系统超调量;qd为角位置设定值;ts为系统过渡时间;τ为控制器输出.为降低超调量和减小过渡时间,防止控制能量过大,提高机械手臂系统的动态性能,选取的适度函数为:

表1 本文算法流程Tab.1 The algorithm flow in this paper

ω2·τ2+ω3·Mp+ω4·τs,

本文的目的是最大限度地减少机械臂跟踪误差,提高整个系统的稳定性.本文算法流程见表1.在机械臂BFO算法实际控制中要设置的参数为细菌数量、趋化步数Ne、移动长度Ns、再生步长Nre、消除分散事件数量S、消除/分散的概率Ped.

4 结果和讨论

4.1 实验结果

智能算法的性能特征在于最优点收敛时的基本特征,如最佳值的精度、计算时间、算法的简单性等.考虑到外部干扰和传感器噪声的影响,模拟动态模型计算目标函数.当末端效应的期望值和实际位置之间的误差为零时,性能指标达到有限值.从文献中选择BFO参数的值,然后调整到达最终值,从而提供质量和速度方面的最佳解决方案,最终参数值列于表2.

表2 BFO优化算法中使用的参数Tab.2 The Parameters used in the BFO optimization algorithm

表3给出了BFO算法在动态行为和收敛特性方面的统计指标平均值(Σ),由下式给出:

式中:J(gi)是在第i次迭代中获得的适应度值,n是所选择的解决方案的大小.BFO算法计算效率见表3.

表3 BFO算法计算效率Tab.3 The calculation efficiency of BFO algorithm

表4 由BFO算法得到的优化参数Tab.4 The optimization parameters obtained by the BFO algorithm

表4显示了所提出的控制器调谐参数的优化值以及由BFO和PSO收敛的时间.

4.2 仿真结果

为了测试本文方法的应用性能,进行了仿真实验研究.实验采用Matlab 7仿真软件设计.用于Matlab Simulink平台仿真中机械手的参数如表5所示.

表5 用于2-DOF机器人手臂仿真的参数Tab.5 The parameters for 2-DOF robot arm simulation

为了进一步对本文方法进行测试,将其与文献[10]的传统方法作对比分析,所有的控制参数均不改变.得到机械臂作业的关节运动轨迹跟踪曲线如图3所示.

由图3两种方法的轨迹跟踪曲线对比可以看出,采用传统方法得到的期望轨迹与实际轨迹相差较大.而采用本文方法进行机械手臂自动控制,具有较好的轨迹拟合控制精度.证明了本文方法具有较强的抑制干扰能力.

5 结束语

在实时工程问题中,最重要的控制目标是抑制固有内部(参数或未建模动力学)和外部(扰动)的不确定性.在这方面,控制工程师的主要目标是选择能够获得所需性能规范和针对动作扰动具有鲁棒性的相关控制方法.目前已经提出了一些较好的方法,如自适应控制和鲁棒控制等,以解决与实际系统内外扰动有关的问题.然而,这些方法中所需要系统的数学模型是完全已知的,这在实际中是不可行的.本文提出了一种方法,通过进化算法来提高机械臂的跟踪能力,获得了令人满意的结果.未来希望能进一步完善本文方法,以期得到更优越的控制品质.

猜你喜欢

趋化机械细菌
三维趋化流体耦合系统整体解的最优衰减估计
一类描述肿瘤入侵与具有信号依赖机制的趋化模型有界性与稳定性分析
伟大而隐秘的细菌
带非线性扩散项和信号产生项的趋化-趋触模型解的整体有界性
细菌大作战
具不同分数阶扩散趋化模型的衰减估计
调试机械臂
细菌大作战
简单机械
按摩机械臂