一种无学习的二连杆机械臂定位控制策略
2022-02-25蒋祝鹏
蒋祝鹏,闫 悦
(北京信息科技大学,北京 100029)
1 引言
为提高自动化机器的生产效率,实际的工业生产过程需要用到许多种类的机械臂,例如二连杆机械臂。在常见的工业生成环境中,二连杆机械臂可以完成搬运、分拣等工作。在经典控制方法的基础上,已经衍生出了许多新的方法来控制二连杆机械臂,例如使用示教法对机械臂进行控制的,即事先通过手动拖拽或使用示教器调整的方式,移动机械臂到达每一个目标位置,并保存各个目标的位置信息,然后在使用时机械臂会按照目标点的顺序移动。如果在新的应用中,目标位置产生变化,需要重新示教,这种采用示教的方法不仅耗费人力,灵活性也有所欠缺。而另一类基于学习的机械臂控制策略(DDPG算法、A3C 算法等)虽然在准确度上超越了传统的算法,但存在模型训练时间过长、生产成本过高等问题。因此,本文引入无学习的二连杆机械臂定位控制策略来解决二连杆机械臂智能控制的问题,在完成基本的定位抓取任务的前提下,节省了大量的数据采集与模型训练时间,降低了基于学习的机械臂控制策略带来的附加经济成本。
2 无学习的机械臂控制策略设计
2.1 二连杆机械臂模型策略
采用D-H(Denavit,Hartenbery)法构建二连杆机械臂模型,模型参数见表1。
表1 机械臂D-H参数
由D-H参数,可以建立二连杆机械臂模型,该模型由一个转动轴连接两连杆、底部固定的转动轴构成,具体模型如图1所示。
图1 二连杆机械臂模型
2.2 无学习控制公式推导
要实现通过控制两个转动轴的转动来实现对其的控制,则需要将目标物体的相对平面坐标(,)转化为机械臂转动轴的相对转动角度(,)。
根据二连杆机械臂的特性搭建环境,包含手臂环境,涉及目标点位置等。目标位置坐标为(,),手臂端点位置坐标为(0,0),机械臂转动轴的相对转动角度、,底座固定的转动轴位置与目标位置距离为,如图2所示。
图2 手臂环境参数
由勾股定理,可解出底座固定的转动轴位置与目标位置距离为
在图3所示的三角形中,由与互补,得出
图3 约简的几何模型1
由余弦定理可得
根据式(1)、式(3),可解出机械臂两杆夹角
根据式(2),对有
因此根据式(4)、式(5),求得
分析图4所示三角形,夹角为
图4 约简的几何模型2
分析图2所示三角形得出等式
根据式(7)、式(8),解得
2.3 控制策略
在实际的二连杆机械臂定位控制中,转动轴电机往往不能按照电信号指令转动指定的角度,这就造成了在实际工作时,机械臂不能到达指定位置;因此,角度补正参数,(大于0)为
用以补正由机械臂转动轴电机自身导致的误差。使用外部摄像头监测机械臂顶端相对坐标,反解出转动轴实际旋转的角度,当检测到转动轴未转动到指定角度时,每0.1 s进行一次角度补正,直到机械臂转动轴实际旋转角度与实际角度的偏差在可容忍范围内。
3 实验及结果
3.1 仿真环境搭建
本文搭建的仿真环境使用python3.7,使用Matpltlib.pyplot模块搭建二连杆机械臂模型,利用python实现无学习二连杆机械臂定位控制算法。针对二连杆机械臂运动控制中的连续控制,所搭建环境由二连杆机械臂、目标物体组成,目标状态为机械臂顶端通过无学习算法控制,通过计算、得出机械臂的位置,抵达目标物体。所搭建环境如图5所示。
图5 二连杆机械臂运动控制仿真程序
3.2 实验设置
选取Python3.7作为实验环境,机械臂两杆长度均设置为10 cm,使用random.random ()生成10 000组测试数据(,),数据点分布如图6所示。
图6 测试数据散点图
当机械臂顶端到达目标物体时,视为成功一次,记录无学习控制算法求解出转动角度(,)。
使用该算法控制如图7所示机械臂,验证该程序能否正确引导机械臂达到指定位置。
图7 二连杆机械臂
3.3 结果分析
在仿真程序中对任意给定的一组相对坐标(,),求解出转动轴角度(,),见表2。
表2 仿真程序求解结果
(续)
在仿真程序中选择1 000组测试数据作为程序输入,使用外部摄像头监测机械臂顶端相对坐标,在不使用角度补正控制策略时得出的前100组测试数据的绝对误差如图8、图9所示,测试数据MSE=0.510 419。使用角度补正控制策略,得出MSE=0.013 592,均方误差大幅降低。显然,该无学习的控制策略能很好的完成各类二连杆机械臂控制任务。
图8 前100组测试数据x的误差
图9 前100组测试数据y的误差
4 结束语
本文以二连杆机械臂作为研究对象,研究机械臂在运动过程中无障碍物时的状态,提出了一种无学习的控制策略解决二连杆机械臂控制问题。本文建立了控制仿真系统和机械臂模型,并通过测量机械臂实际控制时产生的误差,采用误差补正的控制策略改善机械臂任务的准确性及稳定性。仿真实验结果表明,该无学习的算法能够正确的控制二连杆机械臂到达目标物体,并且,当环境发生变化时依然能够稳定地抵达目标位置。相较于传统的控制方法,无学习控制方法更加简单迅速,成本更低,适用性更强。但本文基于机械臂运动过程是在不存在障碍物这一前提下对二连杆机械臂的控制,未来可进一步讨论机械臂运动过程中存在障碍物时对机械臂的控制策略。