LabVIEW环境下的机械臂轨迹跟踪控制算法研究

2020-06-20 03:36:14沈卓群
机械设计与制造 2020年6期
关键词:控制算法轨迹控制器

孙 军,张 鹏,沈卓群,崔 楠

(沈阳建筑大学机械学院,辽宁 沈阳 110168)

1 引言

轨迹跟踪在机械臂控制领域十分重要,但由于机器人本身的强耦合、非线性、多变量等特性,使得轨迹跟踪控制精度不高[1]。目前国内外学者对于机械臂关节轨迹跟踪控制的研究很多:文献[2]提出一种PID滑膜控制算法,通过引入饱和函数趋近律削弱了机械臂的振动,提高了运动的控制精度和系统的稳定性;文献[3]针对肌腱仿生关节难以达到位置控制的精度要求,设计了一种模糊神经网络复合控制器,使其位置控制精度提高了2.4°;文献[4]基于分层控制思想,提出一种双模态的模糊PID控制策略,通过Matlab与ADAMS的联合仿真,验证了其方法在位姿控制时是可行有效的。上述几种方法能够在一定程度上实现对机器人关节位置的轨迹跟踪,但是仍存在控制器设计过程复杂、编程繁琐、耗时较长等问题,这使其在实际工程中难以实现。所以针对以上几个问题,在LabVIEW环境中研究了机械臂轨迹跟踪模糊PID控制算法。

LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)[5]不同于其他的文本语言程序开发软件,使用图形化语言来编辑程序,其VI代码由框图组成,并且LabVIEW具有丰富的硬件接口,程序代码可通过功能强大的硬件驱动直接应用于NI完备的硬件。将LabVIEW应用于机器人动力学仿真和控制,既能达到机械手臂较高的控制要求,还大大简化了程序开发过程,提高了开发效率。首先对Dobot机器人进行动力学建模,然后在LabVIEW环境中完成了仿真模型的搭建,最后在此基础上对机器人控制算法进行了研究。通过传统PID、模糊PID两种控制算法,实现对Dobot机械臂的轨迹跟踪控制,并对仿真实验结果进行比对和分析。

2 动力学模型的建立

研究对象是一款桌面型机械臂,其由腰部、大臂、小臂、支撑架四部分组成。其前三个旋转关节均由步进电机驱动,末端支撑架关节为被动关节,其目的是维持自身水平。

每个控制过程都是一个动力学任务。因此为了研究控制问题,就要讨论机器人的动力学,采用直接简便的Lagrange法,其函数L表示系统的动力学模型的描述形式如下[1]:

式中:τi—作用在机械臂上第i个关节上的力矩;qi—第i个关节的速度;q˙i—第i个关节的速度和角度。机械臂第i个连杆的动能ki可以表示为:

式中:vCi和iωi—q 和q˙的函数。

第i个连杆的势能ui可以表示为:

式中:0g—3×1的重力矢量;0PCi—第i个连杆质心的矢量。

为了计算方便也可以写成矩阵形式:

由于Dobot第四个关节为被动关节所以只建立前三关节动力学模型,因为只对机械臂进行数值仿真,暂且不计摩擦和扰动对控制系统的影响,其中连杆质量m、质心矢径r、惯量I都可以在Solidworks模型中获得。

3 仿真模型的建立

为完成动态系统的仿真和分析,首先要搭建机器人的仿真模型。在LabVIEW环境中使用LabVIEW MathScript RT[6]控件可以进行文本数学运算,使用LabVIEW控制与仿真控件可以进行动态系统的仿真和复杂控制器的设计。

机械臂仿真模型由系数矩阵求解部分和加速度求解部分组成[7]。各系数矩阵的符号表达在MathScript RT模块进行编写,将具体数值带入此处进行求解。加速度求解部分对应下式:

4 PID控制器的设计

PID控制算法易于实现、稳定性强、准确度高,被广泛使用在各领域的控制系统,在机器人领域也是极其重要的一部分。PID的原理是:将测量值与期望值的偏差e经过比例、积分、微分产生控制量τ,从而完成对被控对象的控制。控制律为:

式中:τ—控制器的输出;KP—比例放大系数;Tl—积分时间;TD—微分时间;e—偏差信号。

5 模糊PID控制器的设计

5.1 模糊PID控制器的原理

模糊控制器是模糊PID算法的核心。基于传统PID控制,以被控对象的偏差和偏差变化率作为输入,ΔKP、ΔKI、ΔKD作为输出[10],经过对预先设定好的比例、积分、微分增益进行在线整定,得到新的增益参数:KP=KP0+ΔKP、KI=KI0+ΔKI、KD=KD0+ΔKD。模糊控制器可以依据实时变化的角度误差和误差变化率将PID控制器增益进行及时整定,使得机械臂具有良好的稳态特能。

5.2 精确量的模糊化

根据的人们的语言惯例,通常将e、ec以及控制量的变更采用“大”“小”等语言描述。通过观察PID控制实验结果和控制经验将误差及其变化率和控制量分为“NB(负大)”“NM(负中)”“NS(负小)”“ZO(零)”“PS(正小)”“PM(正中)”“PB(正大)”七个等级。误差及其变化率论域分别为[-1,1]、[-3,3];ΔKP的论域为[-1,1]、ΔKI的论域为[-10,10]、ΔKD的论域为[-1,1]。

隶属度函数μ(x)可以用来表示输入量与输出量的模糊集合。它表示精确量与模糊语言接近的程度,即一具体数值在多大程度上可以用该语言进行描述。三角形隶属度函数[8]描述形式如下:

式中:a,b,c—模糊区间常数。

5.3 模糊推理

模糊推理规则[9],实际上是对专家在控制过程中的实践经验进行归纳而获得的条件语句,它是控制器的核心,通过查阅相关文献模糊规则,如表1所示。

表1 模糊规则Tab.1 Fuzzy Rules

模糊规则也可以使用条件语句来表示,模糊条件句的格式:IF‘e’IS‘NB’AND‘ec’IS‘NB’THEN‘ΔKp’IS‘PB’ALSO‘ΔKi’IS‘NB’ALSO‘ΔKd’IS‘PS’。按照以上格式将49条语句输入到labview模糊系统设计器。

5.4 输出量的精确化

采用面积中心法[8]作为输出变量的精确化方法,其原理是将模糊集的隶属度函数和坐标轴所组成图形的中心作为去模糊后的准确数值,面积中心法的计算公式为:

式中:u—输出量;u*—精确化的输出量;μ—模糊隶属度函数;max—精确值的上限;min—精确值的下限。

5.5 Labview仿真过程与结果分析

在LabVIEW环境中,使用PID和模糊逻辑控制工具包(PID And Fuzzy Logic Toolkit)建立了模糊系统,其中隶属度函数、模糊规则及精确化方法设置完毕后,保存成扩展名为.fs的文件。

在LabVIEW程序面板中通过“拆分路径”与“创建路径”两个函数将.fs文件载入FL加载模糊系统VI,另一端连接FL模糊控制器并将其设置为MIMO模式。其输出端通过“索引数组”函数将ΔKP、ΔKI、ΔKD依次输入各个关节的PID控制器。Dobot机械臂模糊PID控制的程序设计面板,如图1所示。

图1 机械臂模糊PID控制Fig.1 Manipulator Fuzzy PID Control

通过试凑法确定了三个控制器的参数,设定三关节期望轨迹为y=15sinπt;初始角度都为4°;仿真时间设为4s即两个循环周期。关节一轨迹跟踪曲线与误差,如图2所示。关节二轨迹跟踪曲线与误差,如图3所示。关节三轨迹跟踪曲线与误差,如图4所示。控制性能指标,如表2所示。

图2 关节一轨迹跟踪曲线与误差Fig.2 Joint 1 Trajectory Tracking Curve and Error

图3 关节二轨迹跟踪曲线与误差Fig.3 Joint 2 Trajectory Tracking Curve and Error

图4 关节三轨迹跟踪曲线与误差Fig.4 Joint 3 Trajectory Tracking Curve and Error

表2 控制性能指标Tab.2 Control Performance Indicators

通过分析三个关节位置跟踪曲线和误差曲线,我们可以得知PID控制器能够完成轨迹跟踪任务,基本满足控制要求:三个关节响应时间大约在1s左右;稳态误差基本保持在[0.3,0.3]内;由图3和图4可以看出仿真输出具有较大超调,并且由图2看出关节一误差曲线存在较大震荡,这意味着机械臂在运动过程中会存在振动,由于第一关节是腰部关节存在较大的惯性,所以控制误差较大。

同时由图2、图3和图4可以看出模糊PID控制器能够很好地控制关节跟踪期望的轨迹,并且响应十分迅速,调节时间基本在0.5s左右;最大误差为0.2;稳态误差在[-0.1,0.1]之间;且没有较大超调,误差曲线震荡较小没有突变。由表2的数据可以看出在相同的仿真参数设定下,模糊PID的控制效果优于传统的PID控制,其轨迹跟踪精度由0.3°提高到0.1°,响应时间降低了0.5s,同时控制量输出平稳,可以防止由于关节振动对机械结构产生额外损伤,使系统具有较好的控制效果。

6 结论

(1)在LabVIEW环境中建立了Dobot机械臂仿真模型和控制系统。该仿真平台为机器人运动控制分析提供了一种快捷有效的方法,程序算法可以直接部署到硬件系统,提高了其开发效率。

(2)使用LabVIEW模糊系统工具包设计了模糊PID控制器,通过与常规PID控制仿真对比发现,模糊PID控制可以对轨迹跟踪的动态过程进行在线调节,其控制精度提高了0.2°,响应时间降低了0.5s,超调量降低了15%,具有更好的控制效果。

猜你喜欢
控制算法轨迹控制器
轨迹
轨迹
轨迹
现代装饰(2018年5期)2018-05-26 09:09:39
基于ARM+FPGA的模块化同步控制算法研究
进化的轨迹(一)——进化,无尽的适应
中国三峡(2017年2期)2017-06-09 08:15:29
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
电源技术(2015年9期)2015-06-05 09:36:06
模糊PID控制器设计及MATLAB仿真
一种非圆旋转工件支撑装置控制算法
MOXA RTU控制器ioPAC 5542系列
自动化博览(2014年9期)2014-02-28 22:33:17
倍福 CX8091嵌入式控制器
自动化博览(2014年4期)2014-02-28 22:31:15