滑模变结构控制中的机械臂运动轨迹仿真

2021-05-28 07:05张海涛
绥化学院学报 2021年5期
关键词:笛卡尔滑模滑动

张海涛

(合肥通用职业技术学院机械工程系 安徽合肥 230031)

在控制范畴中变结构自动控制系统属边缘学科,在当今己经发展成与其它系统可区分的控制学科,变结构控制体系不但在明确性与不明确性、线性和非线性系统中可以适用,而且还可以适用于集合控制和分散控制、持续和离散、集中参数与分散参数系统等系统。变结构控制实质是一类独特的非线性控制系统,它的特点是控制系统机构的非静态性,它能够有方向变化,依据当前所处的状态环境的改变,有目的的使系统按照预定“滑动模态”进行轨迹运动,这种基于“滑动模态”的轨迹控制过程,我们称之为滑模控制。除此之外它还体现为控制的不连续性。非线性系统上的鲁棒性和抗干扰性是滑模控制所表现的最大的优点,本文主要对六自由度机械臂在滑模变空结构中设计出一套通用的滑模控制器,以此优化机械臂在运动轨迹控制上的规划问题。

一、机械臂位姿描述

如图1所示为现代化生产线上经常使用到的PUMA560型机械臂。这种机械臂有6个可以自由运动的关节,分别是大臂、小臂、底座等组成。手臂的前端有3个自由度,分别是大轴底座的转动为自由度1,肩部主轴的转动为自由度2和肘部主轴的转动为自由度3。通过安装在底座轴中心的伺服电机来实现的机械臂机体绕主轴的回转。机械臂是依靠安装在内部的平衡装置来控制大臂和小臂的平衡的。回转平台上安装机械臂的大臂台座。大臂上下摆动是通过安装在内部的直流伺服电机实现的。大臂的臂体的前端关节处安装了小臂,安装在内部的伺服电机可带动小臂的上下俯仰和小臂的回转运动。手臂的后端有3个自由度,分别是手臂的转动为自由度4,手腕轴的俯仰转动为自由度5和机械臂的执行端的转动为自由度6。通过伺服电机来控制机械臂的小臂前端的腕部的摆动和转动。各个关节的协同合作,通过安装在各个关节处的传感器来收集信号并反馈给控制系统,最终完成事先编制好程序的各种指定工作[1]。

图1 PUMA560机械臂连杆坐标系示意图

机械臂PUMA560作为一个6自由度机械臂,它的结构是串联开链结构,它的6个关节都是转动关节,其中前3个关节用来确定机械臂末端的位置,后3个关节的轴线交于一点来确定机械臂末端执行器的位置。因此选取这个交点为机械臂末端执行器的参考点,机械臂杆件坐标参数如表1所示。

表1 PUMA560机械臂杆件坐标参数

二、滑动模态的控制

滑动模态变结构的控制过程主要是在切换面双侧,通过改变开关来实现系统结构发生改变,切换函数s(x)用表示,当s(x)=0时可以表示切换面。

通常的常非线性系统表达式如下:

方程式中,x∈Rn记为体系的状态向量,u∈Rm称为控制向量。在式1的状态环境中,当转换成s(x,t)=s(x1,x2,...,xn)=0时两个上下部分构成了状态环境即,s〉0或s〈0。其中通常点、起始点和终止点是在s=0上点的三种情况,它们对应图2中的A,B和C三类点。

图2 切换面上三种点的特性

三种运动点可分为:

常点:当一点运动到s=0切换面周围时保持其原有状态,并且通过此点(对应图中点A)。起点:当点运动到s=0周围时,从转换面的两侧远离该点(对应图中点B )。终点:当点运动到s=0周围时,从转换面两边接近这点(对应图中点C)且停顿在上面[2]。

假如每个点全是终止点,在转换面的某一区域内,只要接近该区域该点将会被“吸引”,那么将该周围叫做“滑动模态”区。在滑动模态范围内,若能够满足终止点的条件,在某一个运动点移动到转换面s=0的周围时则有:

其中u+(x) ≠u-(x),满足前面的条件使得:

(1)滑动模态是存在状态;

(2)滑模面外的活动的点能够在规定的时间内抵达滑模面,即符合以下公式:

(3)使其稳定性得到保证;

(4)符合动态品质的基本要求。

符合这四个条件时就称之为滑模变结构控制。这四个条件也是滑模控制的四个基本条件。

三、基于RBF滑模变结构的控制算法

RBF具有很强的逼近能力,在前馈神经它具有训练速度快,方法简单,不会产生极小值,它的输出值和权值都成线性关系等特点,因此用RBF进行滑模控制结构。

RBF滑模变控结构设计是将切换函数连接到神经网络RBF输入端中,将滑模控制器的输入端与神经网络RBF的输出端连接[3]。RBF滑模变结构控制器结构图如下图3所示。

图3 RBF滑模变结构控制器结构图

将一个被控对象为

的系统,设r(t)为它的位置指令,设为它的切换函数。

基于RBF滑模控制器设计在滑模控制器的前端,RBF网络的输出端用字母u 表示输出,输出结果作为滑模变结构控制器的输入值。即m作为隐含层神经元的个数。RBF网络通过不断调整权值E,使得的值趋向于0,实现滑模变结构控制的目的。

四、笛卡尔坐标系下的机械臂

把机械臂放置笛卡尔坐标系中,对其中的各个关节进行轨迹参数的设定,在t为0时设置初始参数,根据机械臂的轨迹进行运算,每个时间加量△t产生一个数值,对应于机械臂关节所处的位置。通过笛卡尔坐标系的变换,产生相对应的关节变量值,对这两个过程中所产生的位置信息进行比较,如果不同,则重新返回计算,如果相同,则可以退出循环,算法计算结束。由于在位置求解过程中,关节的数量较多,必须引入矩阵计算,在得知位置结果的情况下求解过程信息对矩阵的逆计算,如图4所示。

图4 笛卡尔坐标系下的关节算法

在笛卡尔坐标系中进行机械臂的轨迹规划,需要对机械臂关节位置的逆运动学求解,其中最主要的问题是,在通过笛卡尔坐标系变换的情况下,已知机械臂末端位置来求解机械臂各关节在运动过程中的空间坐标,这是相当困难的。但是通过上述算法过程,我们可以按照如下步骤完成对机械臂关节的逆运动学求解:

(1)笛卡尔坐标系内机械臂末端空间点的选择可以是任意的,也可以是按照规律最初设定好的,但是空间点的坐标必须是连续变化的。

(2)跳跃空间节点的选取必须通过拟合曲线来求解,在位置空间位置的情况下,通过插值函数,求解中间数值,在插值节点数足够多的情况下,拟合曲线是光滑的。对于笛卡尔坐标系内拟合曲线的求解,与机械臂本身的结构特性有关。相对于本文中所示的六自由度机械臂,可以通过增加插值函数内的点来进行快速求解[4]。

五、六自由度机械臂滑模变结构控制的设计

滑动模态是指滑动模态运动轨迹限制在某个理想的区域,它可以解决当使用切换函数而引起的抖振问题时,可以通过准滑动模态控制器的方法来解决滑模控制的抖振问题。当准滑动模态满足<0条件时,它就要求在滑动模态的切面区域上进行变结构切换。在现实生活中许多的系统应用中都应用到了滑动模态能够减弱抖振问题。本节中准滑动模态控制器将原来的控制器函数符号sgn(s)使用饱和函数符号sat(s),来进行替换。

图5 饱和函数

s的线性函数使用sat(s)符号表示,所以根据线性函数的特点,可知它的反馈控制也是连续性的,另外切换控制方法也可以使用在边界层外[5]。通过对滑模控制进行各个自由度的解耦,可以把系统模型划分成六块小的子系统,然后在进行对各个子系统进行划面切换设计,这样能够快速的确定趋向原点的各个滑动模块。

六、基于滑模变结构控制的机械臂运动轨迹仿真

根据表1中关于PUMA560机械臂杆件坐标参数,在MATLAB软件中,可以使用相应的功能插件,功能插件对应的工具条可以对机械臂的相应参数进行设定,为了实现对机械臂轨迹的仿真,根据前述表格的机械臂各关节节点在笛卡尔坐标系下的初始位置,需要对软件参数进行相应的设定,以方便后续运算的系统调用。

动态环境下遇到障碍的机械臂轨迹路径规划,“动态环境”的界定主要是指在机械臂的轨迹规划过程中,可能在任意位置出现障碍,这种出现是随机的,不是设定好的,而系统可以根据这种随机出现的障碍进行轨迹规划的调整,并规划出合理的满足要求的运行轨迹。

依据功能插件对机械臂初始参数进行输入,在输入的过程中要注意输入的顺序,以防止由于参数顺序错误导致轨迹运动无法正常进行,相关空间曲线坐标点如表2所示。

表2 空间曲线坐标点

运行MATLAB软件,在 Robotics Toolbox 工具栏,使用link 函数用来创建一个杆件,它有两种创建方法,文中使用了改进的D-H(modified)参数,分别对应于两种坐标系的进行参数设置。还有一种是采用标准的D-H参数(standard),本文并未使用。

在对系统参数进行设定的过程中,元素0代表转动关节,元素1代表移动关节。Link的另外四个参数α,a,d,θ,分别表示如下:连杆两端轴线之间的公垂线的长度定义成连杆的长度α,连杆的扭角a定义成连杆两端轴线在公垂线方向的夹角。相邻连杆的长度在关节轴线上的距离定义成关节的平移量d,相邻连杆的长度在关节轴线上的夹角定义成关节的转量θ。

在MATLAB环境下,创建机械臂,根据表2的参数和数据,构建机械臂的仿真程序如图6所示。显示的是机械臂在MATLAB绘图空间的三维图,表示机械臂处在初始位置θ为0,可以通过调节控制面板中相应按钮来使机械臂的末端节点发生变化。

图6 PUMA560机械臂三维图

在机械臂的笛卡尔空间中,机械臂的末端节点依据函数设置运动轨迹,并设置机械臂末端节点的初始点坐标和终点坐标,为了实现了机械臂末端节点正运动学的求解,先求得机械臂末端相对于基坐标系的位置坐标为(0.372,0.259,-0.531),机械臂在起点和终点的位置如图6所示。

根据齐次变换矩阵求得到机械臂由初始位姿到末端位姿时的各关节变量。

对机械臂由R点到Z点的运动轨迹进行仿真,选择六关节机械臂末端的2个关节,假设它们的期望轨迹为

通过MATLAB的相关函数可以绘出机械臂由R点运动到Z点,各关节随时间变换的位置、速度和加速度图像。

机械臂在笛卡尔空间轨迹规划运动过程中,可能遇到未知状态下的障碍物,这个需要在软件仿真情况下加以设定,障碍物的设定是随机的,可以出现在笛卡尔空间的任何位置,也可以以任何状态出现,可以是圆形的物体或矩形的物体或其他空间物体得到形状。机械臂的各关节在滑动模态控制下,应该能够自主进行避障,并且在运行的过程中保持机械臂关节的速度和加速度平滑的过度,没有剧烈的振动。这是对机械臂仿真轨迹控制的一般要求,通过笛卡尔空间坐标系的有效驱动函数得以实现。以下为机械臂PUMA560各个关节添加的关节函数如下表3所示:

表3 机械臂的关节函数

根据以上分析可以知道机械臂的各关节的角速度曲线比较平滑,机械臂的末端节点在运动的过程中能够有效避开不规则形状的空间物体,并且机械臂的其它节点的速度和加速度能够在稳定状态下运动,没有出现明显的振动现象。

如图7和8所示为机械臂各关节的角速度和角加速度的曲线,从这两个曲线图可以看出,机械臂的关节在运动过程中的角速度和角加速度均能够光滑平稳过度。

图7 机械臂各关节的角速度

图8 机械臂各关节的角加速度

在机械臂轨迹规划过程中,末端节点的位置、速度、加速度曲线如图9所示。由机械臂关节轨迹仿真图可得,轨迹之间的差异很小,并且能和期望的轨迹线几乎重合,机械臂关节运动轨迹的精确度较高,在很短的时间内机械臂的振动得到了收敛,在规避障碍物过程中能够有效规避障碍物,并且整个运动轨迹的运行所使用的时间较短,精确性能良好不受外界环境变化的干扰。

图9 末端节点的位置、速度及加速度曲线图

由图10机械臂仿真结果可得出,第一个机械臂始终与障碍物保持着0.2rad的距离绕开障碍物。分别在运动到第25s和40s时候,以平滑的曲线轨迹绕开了前方的障碍。同样也可以得出第二个机械臂关节,与障碍物保持着0.2rad的距离绕开障碍物。分别在运动到第32s和42s时候,以平滑的曲线轨迹绕开了前方的障碍。最终使得机械臂能够安全的到达目标位置。虽然在移动的轨迹过程中两个关节之间存在微小的波动,但是期望的路线都能够在较短的周期内并且精确度较高的实现,性能良好,不受外界的干扰,并且鲁棒性很强。

图10 机械臂末端节点的运动轨迹

七、结论

本文以六自由度机械臂为例,研究机械臂在运动过程中的仿真轨迹,在笛卡尔坐标下建立机械臂的位姿描述,然后建立基于RBF滑动模块变结构的控制算法,通过滑动模块控制的引入,在MATLAB软件环境中建立笛卡尔坐标系下数学模型,设置轨迹参数的初状态和终状态,最后生成机械臂末端节点在规避障碍物过程中的运动轨迹,通过运动仿真的输出参数可以看出,在运动过程中的速度、加速度等参数光滑过度,能有效避开在机械臂运动过程中出现的障碍物,解决了机械臂在运动过程中的振动问题和规避障碍物的问题,在工业自动化应用中居有一定的现实指导意义。

猜你喜欢
笛卡尔滑模滑动
笛卡尔的解释
笛卡尔浮沉子
传动轴滑动叉制造工艺革新
基于组合滑模控制的绝对重力仪两级主动减振设计
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
使用SGCMGs航天器滑模姿态容错控制
谢林与黑格尔论笛卡尔——以《近代哲学史》和《哲学史讲演录》为例
EHA反馈线性化最优滑模面双模糊滑模控制
从广义笛卡尔积解关系代数除法