袁 亮,陈锡伍
YUAN Liang,CHEN Xi-wu
(新疆大学 机械工程学院,乌鲁木齐 830047)
随着当前科技的发展,机器人早已超越了传统的工业领域,服务机器人在一些发达国家得到了快速发展[1]。日本将家用机器人产业的发展提升到了一个战略的高度,给予重大支撑。日本一系列先进的机器人不断涌现,如本田公司的ASIMO。欧美等国家特别重视机器人学习的能力的开发,在美国产业化和公司运作很成功,培育了像iRrobot和WOWWEE这些专门做机器人的公司[2]。我国在服务机器人领域起步较晚,但在国家863计划的支持下,一些高校和科研院所也研制出了较为先进的智能机器人,我国在服务机器人研究和产品研发方面也取得很大成绩,但与美日等国家相比还有一定的差距。
本文将对安装于机器人轮椅旁的辅助性机械臂进行研究,它作为一种服务轻型机械臂,机械臂的机械性能直接关系到机械臂控制系统的整体性能,因此合理的机械臂结构以及关节配置显得尤为重要。本文在对所选机械臂构型进行运动空间分析的基础上,运用三维软件对机械臂进行具体设计,最终造出了四自由度机械臂一台,实现了机械臂运动控制系统的硬件平台。为了实现机械臂的运动控制研究,就要对机械臂进行轨迹规划研究,而正确的机械臂运动学分析是轨迹规划的前提和基础。因此随后进行了运动学分析,正逆解的求解,并且用MATLAB机器人工具箱进行了仿真及验证。
机械臂的关节形式主要有转动关节和移动关节[3]。移动关节,特别是正交的移动关节具有结构简单,运动位置精度高的特点,且不易产生运动学奇点,但所占空间较大,工作范围相对较小。转动关节动作灵活,所占空间小,工作范围大,易于在狭窄空间内绕过各种障碍物。但运动学逆解求解较为复杂,并且容易出现运动学奇点,给轨迹规划带来困难。
但考虑到所设计的机械臂是安装在室内邮差机器人的一个辅助型手臂,模仿人的手臂实现抓取、搬运物件等。转动关节形式更为灵活,工作范围大,更具有人臂的一些特点。所以关节形式选用转动关节。同时由于手臂的工作性质并不需要太多的自由度,所以考虑成本因素,最终确定了4R机械臂的结构形式如图1所示。
这里不再介绍机械臂构型的选型过程,仅对所选构型的机械臂运动空间进行分析,以验证所选机械臂结构是否符合工作要求。这里采用Matlab软件,首先要建立机械臂模型,这就要导入机械臂参数。结合机器人学[4],为机械臂各个连杆建立坐标系后,写出机械臂的D-H参数如表1所示。
表1 机械臂连杆参数
根据连杆四参数确定机械臂模型,并规定各个关节角的运动范围。为了更形象直观的观察机械臂的运动空间,在表1所示关节角范围内,利用rand()函数随机产生1万组关节角的值,然后将这1万组值输入机械臂模型,并利用MATLAB图像功能生成空间点云图。如图2(a)、图2(b)所示分别为工作空间点云的三维视图、X-Z面投影视图。
图2 机械臂空间云图
根据三维视图同时结合X-Z面投影图,观察机械臂运动空间的形状和工作空间边界,图上坐标是以毫米为单位的,可以看出机械臂的大概工作区域是以机械臂X0Y0Z0坐标系的原点为圆心,半径为0.5米的一个空心球再去掉下面的一部分,有点像蘑菇的伞盖,符合机械臂工作特点。同时点的分布特点在一定程度上反应了机械臂在各个空间位置的灵活程度。点密集度较高的空间位置,机械臂灵活度较高,即这些位置是机械臂的灵活工作空间;点在中心和边缘较为稀疏,表明这些区域机械臂可能只能在一个位姿抵达,即只处于可达工作空间。
确定了机械臂的构型,然后通过动力学方程的计算,求出机械臂各关节的需求力矩,进行电机和减速器的选型,并根据关节驱动部件的装配形式对机械臂连杆进行具体设计,利用UG建立各个部件三维模型后,经装配形成整机,如图3所示。
图3 机械臂三维整机装配模型
然后按照最终的优化结果,进行机械臂部件的制造,以及电机、减速器等的购置,制造出的4R机械臂如图4所示。
图4 机械臂实物图
要对机械臂进行运动控制,以使机械臂按指定路径工作,就需要对机械臂进行轨迹规划。而机械臂运动学的求解又是轨迹规划和运动控制的前提和基础,下面进行运动学正解和逆解的求解。
已知机械臂的各个关节角θ1、θ2、θ3、θ4,求取工具坐标系,即末端执行器的位姿(相对于基坐标系)为正运动学分析,位姿的解即运动学正解。由4R机械臂每个连杆之间的变换矩阵连乘就得到基座和末端执行器之间的总变换:
根据表1连杆参数,通过相邻连杆变换矩阵可以得到末端执行器相对于基坐标系的总变换为:
即为运动学正解,其中:
如果已知末端执行器相对于基坐标系的位姿,进行关节角θ1、θ2、θ3、θ4的求解,称为逆运动学分析,正确的逆解求解直接关系到机械臂的轨迹规划,也是运动学最重要的部分[5]。我们给出机器人的期望位姿的矩阵表示:
式中,a为机械臂的接近向量;o为机械臂滑动向量;n为机械臂法向向量;p为末端执行件的位置坐标。
那么可以通过求解方程(2)得到各个关节角:
即求解
通过求解方程(3)可以得到:
由于机械臂的解的正确与否直接关系到后面的轨迹规划能否实现,因此有必要对上述所求的解进行验证。我们这里采用MATLAB机器人工具箱,它能够建立机械臂的仿真模型,从而从视觉上更直观的观察机械臂的空间位姿;内置的Frank()函数能够根据所输入的一组关节角求出相应的位姿矩阵,即运动学正解;调用Irink()函数根据给定的位姿矩阵求出一组关节角,来验证逆解是否正确。
根据第3节正逆解的求解结果用MATLAB GUI设计机械臂正逆解求解器。对机械臂解的检验方法是把求解器的运行结果和机器人工具箱的结果进行对比。为了更有说服力,我们在机械臂各关节角的运动范围内通过rand()函数随机产生一组关节角:0.8316- 0.3306- 1.0483 0.2158。如图5所示,由于在设计求解器的时候,机械臂位姿矩阵即n、o、a、p为数据输入输出框双用。将第一组解的位置同时作为输入框和输出框双用,其它作为数据输出显示框。将这组解输入第一组解的输入框,在机械臂正解处点击“求解”按钮,运行后,在机械臂位姿矩阵的中显示所算的位姿矩阵的结果如图5所示。
图5 机械臂正解求解结果
然后我们用MATLAB机器人工具箱进行仿真验证。在MATLAB的Command Window中输入相应程序运行结果如图6所示。
图6 MATLAB机器人工具箱仿真结果
机械臂各关节角如图6中q1、q2、q3、q4的值,X、Y、Z的值为机械臂末端执行器的空间位置坐标,即P向量,可以看出图5求解器中P列的数值与它一致,而ax、ay、az的值即代表了末端执行器的位姿,可以看出图5求解器中a列的值与它一致。为了更好的对比,调用机器人工具箱的Frank()函数能够得出一组矩阵,即机器人工具箱求解结果复制过来如下:
可以看出图5所示求解器中位姿矩阵的值与其一致,这就证明了求解器的算法的正确性,即运动学正解的正确性。
由于逆解求解和正解求解器编进了同一个求解器,只要在图5所示位姿矩阵输入框中输入一组位姿矩阵的数据,点击逆解求解按钮,下面的各个关节角输入框中就能得到四组关节角的值,这是因为机械臂只有4组解。
前面检验了机械臂正解的正确性,我们就可以用正解去检验逆解。直接用图5的位姿矩阵作为已知进行逆解求解,如果能把输入的那组值反求回来,就证明逆解的正确。如此点击逆解求解按钮,得到了如图7所示的结果。
图7 求解器逆解计算结果
观察图7可知前面输入的那组解即式图7中的第二组解,另外通过反复点击正逆求解按钮,发现机械臂的各个文本框中的数值变化不大,证明机械臂逆解完全正确。另外我们也可用MATLAB机器人工具箱进行再次验证,下面将MATLAB的Command Window中的irink()函数的运行结果复制过来如下:
可以看出这个结果就与所输入的那组关节角的值是一致的。
由此,通过MTALAB机器人工具箱结合编写的MATLAB求解器的验证,运动学正逆解完全正确。
完成一种四自由度轻型臂的设计与运动学模型的建立,首先确定了机械臂构型,用MATLAB软件生成了机械臂工作空间云图,以考察所选构型是否满足工作要求。利用UG对机械臂连杆进行具体设计,建立了虚拟模型,以便进行前期优化。根据设计结果制造了一台四自由度轻型臂。而后对这台机械臂建立数学模型,重点进行了运动学正逆解的求解,编写了求解器界面;结合MATLAB机器人工具箱进行了仿真及验证。综上完成了四自由度机械臂的设计,进行了运动学分析,这就为随后的机械臂运动控制实现打下了坚实的基础。
[1]熊光明,赵涛,龚建伟,等.服务机器人发展综述及若干问题探讨[J].机床与液压,2007,35(3):212-215.
[2]宋章军.服务机器人的研究现状与发展趋势[J].集成技术,2012,1(3):1-9.
[3]王光建,梁锡昌,蒋建东.机器人关节的发展现状与趋势[J].机械传动,2004,28(4):1-6.
[4]约翰J.克拉格.机器人学导论[M].贠超,译.北京:机械工业出版社,2006.
[5]孙亮,马江,阮晓钢.六自由度机械臂轨迹规划与仿真研究[J].控制工程,2010,17(3):388-392.