1. 引言
现如今,机械臂可以直接替代人工,完成重复的生产活动。机械臂的运动控制是通过控制机械臂关节执行的,而关节机器人是一个高度非线性和高度不确定性系统,对关节机器人进行轨迹跟踪控制方法主要有PID控制、滑模变结构控制、模糊控制等。其中PID控制易于实现且技术成熟,被广泛应用于机器人轨迹跟踪控制中。
在工业生产中PID控制的优势在于其参数简单性、结构简单、参数便于调整,具有广泛的应用性。应用到工业生产中的机器人,PID控制算法在一定程度上满足了控制系统的要求。也是在机械臂上使用最多且最成熟的控制方法之一,只需要知道误差,就能够进行有效运动控制。郑美茹 [1] 基于Simulink仿真环境提出了PID控制算法,提高了机械臂的控制精确度。蔡展鹏 [2] 针对六轴工业机械臂关节运动控制系统基于MATLAB进行了研究,并取得了很好的结果。王娜 [3] 基于二自由度机械臂,设计了PID控制算法。杜美君 [4] 将PID控制器参数进行了优化。代迎 [5] 在机械臂上使用单关节PID控制策略。段学超等 [6] 在实验中通过加大PID控制器的增益来满足控制性能的要求。有专家学者融合PID控制与模糊控制来控制机器人进行轨迹跟踪 [7]。宁煜 [8] 基于三自由度机械臂采用改进的单神经元PID控制方法抵抗外界环境因素的干扰,提高机械臂末端执行器的跟踪精度,提高系统输出的稳定性。
本文以ABB-IRB120型号六自由度关节机器人为研究对象,建立六自由度机器人的可视化模型,提出PID运动控制器,并运用MATLAB实现关节机器人的可视化仿真。在普通PID控制的基础上提出改进的滑模PID控制器,改善普通PID控制器的性能。
2. 建立机械臂可视化模型
2.1. 机械臂的D-H参数
在建立D-H参数时,为机械臂的每一个连杆都设定参考坐标,不仅可以提高计算效率,还可以定义机器人连杆间的几何关系 [9]。D-H参数包括连杆长度(相邻关节轴公法线的长度)
,连杆扭转角(相邻关节轴线的转角)
,连杆偏移量(相邻公法线与关节轴的距离)
,关节转角(相邻公共法线绕关节轴的转角)
。
本文以ABB-IRB120型号六自由度关节机械臂为研究对象,对该型号机械臂建立D-H参数。ABB-IRB 120型号六自由度关节机械臂如图1所示。
(a) ABB-IRB120型号机械臂
(b) 机械臂工作范围
Figure 1. ABB-IRB120 model six-degree-of-freedom joint robotic arm
图1. ABB-IRB120型号六自由度关节机械臂
ABB-IRB120型号机械臂各连杆的参数值如图2所示。

Figure 2. ABB-IRB120 manipulator link parameters
图2. ABB-IRB120机械臂连杆参数
根据D-H参数的定义、结合ABB-120型号机械臂初始形态的位姿,各部件尺寸数据及链接关系,建立该机械臂的D-H参数,如表1所示。

Table 1. ABB-IRB120 manipulator D-H parameter
表1. ABB-IRB120机械臂D-H参数
2.2. 构建机械臂可视化模型
ABB-IRB 120型号机械臂是六自由度关节机械臂,由六个连杆和六个转动关节链接而成。通过对机械臂连杆和机械臂关节进行可视化建模来描述机械臂结构。
建立的六自由度机器人URDF的模型图,如图3所示。机械臂的各个连杆之间呈现树形关系,与机械臂的链接结构一致,证明制作的六自由度关节机械臂的URDF模型是准确的。

Figure 3. URDF model diagram of the six-degree-of-freedom robotic arm
图3. 六自由度机械臂的URDF模型图
本课题的研究对象是ABB系列六自由度关节机械臂,从Robot Studio软件中的机械臂模型库里调用ABB-IRB120型号机械臂的各连杆部件,机械臂各连杆部件如图4所示。
将Robot Studio软件导出的机械臂部件模型导入Solid Works软件中,根据各个连杆之间的链接关系以及机械臂的D-H参数进行装配,并为机械臂连杆赋予坐标系和初始姿态,生成ABB-IRB120型号机械臂URDF文件。生成后的URDF文件添加到MATLAB中得到机械臂在MATLAB中的URDF链接模型如图5所示。
将ABB-IRB120型号六自由度关节机械臂连杆链接模型可视化,如图6所示。可视化界面左侧可以检查机械臂各连杆部件的具体信息,包括连杆的链接关系、连杆选取的坐标系、部件链接是否冲突、各关节转动角度的界限等信息。可视化界面可以很直观的看到装配的机械臂是否准确。

Figure 6. ABB-IRB120 model manipulator visual interface
图6. ABB-IRB120型号机械臂可视化界面
2.3. 验证可视化模型
为验证制作的机械臂URDF文件在Simulink平台下是否准确。本次实验对机械臂模型给定输入信号,进行仿真运行,若机械臂可以正常进行可视化运转,未出现各连杆部件分离、碰撞等情况,则说明制作的机械臂模型准确有效。
验证实验中选择角度作为输入量,因此这里需要对机械臂模型修改一些参数。对于图5的机械臂链接模型增加输入接口与输出接口,并且设定输入输出信号皆为角度信号。修改后结果如图7所示。

Figure 7. Revised robotic arm link model
图7. 修改后的机械臂链接模型
运行仿真模型,得到可视化的仿真过程,如图8所示。

Figure 8. Visualized simulation results
图8. 可视化仿真结果
由四个不同视角可以看出,机械臂可以正常运动,并未发生刚体间的碰撞、各连杆部件分离,关节转动幅度超过上下限等问题。证明可视化模型准确有效。
3. 基于六自由度关节机械臂的可视化轨迹跟踪控制
3.1. PID控制器的设计
PID控制器的输入输出关系如下所示:
(1)
式中,
表示控制器在t时刻的输出量,
表示系统的偏差信号,
分别表示比例系数、积分系数和微分系数 [10]。PID控制器的控制原理如图9所示。
根据设计的PID控制器可知,若想使机械臂末端运动到指定的位置,需要根据期望角度,使用PID控制器对机械臂的每个关节输入控制力矩,驱动机械臂关节按照期望的角度进行转动。PID控制器再通过输入角度与期望角度之间的角度偏差来调整对关节输入力矩的大小。最终满足控制机械臂关节按照期望的角度转动,最终使机械臂末端到达预期位置。
3.2. 基于PID控制的轨迹跟踪仿真
在实际工业生产中,六自由度关节机械臂的末端位置经常用来安装加工器件,对于机械臂末端位置的控制精度要求更高。在图7中所制作的机械臂可视化模型的基础上添加传感器元件显示末端位置坐标如图10所示。
本次实验是基于PID算法的仿真,仿真实验对机械臂关节的输入端给定力矩信号。通过PID控制器输出力矩驱动机械臂关节转动,使关节转动角度达到期望角度。对于图10的机械臂可视化模型,将机械臂链接模型中的六个“关节”模块修改参数,将输入端的角度属性改为力矩属性。
由于六自由度机械臂的被控关节数量多且种类不一,因此如果使用一个控制器对六个关节进行控制则很难实现控制效果。所以本次实验中针对单个关节制定单关节的PID控制器,所以针对六自由度机械臂的六个关节使用了六个PID控制器。PID控制器在Simulink的元件库中调用,其中六个关节的期望角度设置为:
基于PID控制算法搭建的六自由度关节机械臂可视化仿真模型如图11所示。需要注意的是,对于仿真模型中机械臂六个输入端对应的链接元件,需要将角度信号改为力矩信号。
对于六自由度关节机器人,如果同时调试六个关节的PID参数很难直接给出PID控制器的初始值,且调试过程比较困难,很难得到仿真结果。因此,先对机械臂模型关节一的PID参数进行调整,将剩余的五个关节设定为固定的角度输入;当关节一的PID参数调试到合适的数值时,再对关节一、关节二的PID参数进行同时调试,同时将关节三到关节五的输入设定成固定的角度输入。以此类推,直到六个关节都得到合适的PID参数。当运行不再报错,即可视为调试初步成功,再进行仿真分析,进而得到轨迹跟踪图像。

Figure 11. Simulation model of trajectory tracking based on PID control
图11. 基于PID控制的轨迹跟踪仿真模型
其中针对单个关节的PID参数整定经验如图12所示:
整定PID参数后,运行仿真模型,将仿真时间设置为10秒,得到的轨迹跟踪仿真实验结果的图像如图13所示。图中红色线为期望轨迹曲线,黑色线为实际跟踪轨迹曲线。
为了进一步分析PID控制的轨迹跟踪效果,对ABB-IRB120型号六自由度关节机械臂关节的轨迹跟踪误差分析,得到各关节的轨迹跟踪误差图像如图14所示。
从轨迹跟踪仿真结果图像与轨迹跟踪关节误差图像可以看出,机械臂各关节的跟踪效果较好,但关节一、关节三、关节四的跟踪效果不够精准,误差曲线波动较大,并且存在PID参数调试周期长的问题,系统的控制性能仍有提升空间。
3.3. 滑模PID控制器的设计
普通PID控制存在参数调试周期长,面对多个被控对象需要采用多个控制器等问题。这里引用滑模控制算法与PID控制算法结合,改善PID控制算法的控制性能 [11]。滑模PID控制器可以表示为:
(2)
式中
表示PID控制,
表示滑模控制,
表示切换系数。滑模PID控制器控制原理如图15所示。

Figure 15. Schematic diagram of sliding mode PID control
图15. 滑模PID控制原理图
传统PID控制对时变系统的控制效果往往具有延时效应,引入滑模控制可以改善这一问题。当角度误差
时,系统采用滑模控制,提高系统响应速度;当
时,系统采用PID控制,保证控制系统的稳定性。
3.4. 基于滑模PID控制的轨迹跟踪仿真
基于滑模PID控制算法搭建的六自由度关节机械臂可视化仿真模型如图16所示。需要注意的是,滑模PID控制器不能在Simulink元件库中调用,需要在“S-Function”模块中编写程序。其他元件的链接方式以及参数的设定与图11一致。

Figure 16. Simulation model of trajectory tracking based on sliding mode PID control
图16. 基于滑模PID控制的轨迹跟踪仿真模型
运行仿真模型,仿真时间设置为10秒,得到的各关节轨迹跟踪仿真实验结果的图像如图17所示。图中红色线为期望轨迹曲线,黑色线为实际跟踪轨迹曲线。

Figure 17. Improved PID control trajectory tracking results
图17. 改进PID控制轨迹跟踪结果
为了进一步分析滑模PID控制的轨迹跟踪效果,对ABB-IRB120型号六自由度关节机械臂关节的轨迹跟踪误差分析,轨迹跟踪误差图像如图18所示。
从关节轨迹跟踪仿真结果图像与轨迹跟踪关节误差图像可以看出,滑模PID控制算法下的轨迹跟踪效果比普通PID控制算法更好,关节一、关节三、关节四轨迹跟踪效果更好,关节跟踪误差波动减小。系统的稳定性更好,可以实现更完美的轨迹跟踪。
4. 实验结果分析
通过对比两种控制算法下的轨迹跟踪控制结果可以看到:
基于PID控制算法的轨迹跟踪效果较好,但存在参数调试周期长的问题,面对多个关节需要使用多个控制器难以同时协调,当被控关节是时变系统时,误差响应较慢,面对不同类型关节跟踪效果也不尽相同,对部分关节的跟踪效果不够好,误差曲线不完美;
基于滑模PID控制算法的轨迹跟踪效果更好,使用一个控制器同时控制六个关节,减少了调试参数的周期,面对时变系统,兼具滑模控制的响应速度与PID控制的稳定性,面对不同类型的关节可以保持更好的轨迹跟踪效果,误差曲线更完美。
对比两种控制算法,滑模PID控制算法具备更优越的控制性能,面对复杂的被控对象具有快速的响应以及更好的稳定性。
5. 结束语
文中针对六自由度ABB-IRB120型号机械臂,基于MATLAB软件中Simulink平台采用PID控制算法搭建运动控制模型进行可视化仿真。通过仿真实验验证可知,PID控制算法在轨迹跟踪过程中存在部分关节的误差响应较慢问题。滑模PID控制算法在轨迹跟踪过程中具有更高的控制精度。体现了滑模PID控制具备更优秀的控制性能。
基金项目
辽宁省教育厅科学研究项目(J2020107)。