七自由度仿人机械手的运动学分析

2020-04-18 06:40

一种仿人机械手的正运动学分析

韩致信1,任燕宏,严镭

(兰州理工大学 机电工程学院,甘肃 兰州 730050)

摘要:建立了一种新的适用于3R关节的运动坐标变换方法,用此方法讨论了一种七自由度仿人机械手的运动学正问题。在MATLAB环境下,对该机械手的正运动学进行了仿真。仿真结果表明,本文提出的运动坐标变换新方法是正确的,该机械手运动功能完全达到了人手臂的功能,可在给定空间内实现任意位置和姿态的运动。

关键词:运动坐标变换;仿人机械手;运动学;仿真

Forward Kinematics Analysis of A Humanoid Robot

HAN Zhi-xin, REN Yan-hong, YAN Lei

(College of Mechano-Electronic Engineering , Lanzhou Univ. of Tech. , Lanzhou 730050, China)

Abstract:A new moving coordinate transformation methods applying to 3R joint is established, which is

used to discuss the forward kinematics problem of a seven DOF humanoid robot. In the MATLAB environment, the forward kinematics of manipulator is simulated.The results show that the new method of moving coordinate transformation is correct, and the motor function of manipulator fully meet the function of human arm, and it can complete the movement at any position and orientation within the given space. Key words:Moving coordinate transformation;Humanoid Robot;Kinematics;Analysis

D-H坐标系法是机器人运动分析最常用的方法[1-4],对于单柱面转动副1R关节(1个自由度)的机器人,用D-H坐标系法进行运动坐标变换是非常方便的,但对于如图1所示的3柱面转动副3R关节(3个自由度)的机器人或者双柱面转动副2R关节(2个自由度)的机器人,用D-H坐标系法进行运动坐标变换时,由于一个3R关节须进行三次坐标变换,一个2R关节须进行两次坐标变换,所以数学描述与计算工作量很大。

图2所示为仿人机械手机构原理图,该机械手由肩关节、肘关节、腕关节和末端执行器组成,肩关节为双柱面转动副2R关节,有2个自由度,每个自由度的最大转角为180o。肘关节也为双柱面转动副2R关节,有2个自由度,每个自由度的最大转角为90o。腕关节为3柱面转动副3R关节,有3个自由度,其中,在与末端执行器方向一致的自由度方向上的最大转角为360o,在与末端执行器方向垂直的2个自由度方向上的最大转角为90o。

本文推导建立一种新的适用于3R关节的运动坐标变换方法,并应用于仿人机械手的正运动学分析。

1 运动学方程

1.1 3R关节运动坐标变换 1.1.1 坐标系

如图2设定参考(基座)坐标系为O0x0y0z0,第i关节上的运动坐标系为Oixiyizi。各坐标系间的关系遵循下面4条规则[5]:

1

图1 3R关节结构原理图

Fig.1 structure Schematic of 3R joint

作者简介:韩致信(1956-),男,甘肃会宁人,教授.

1

(1)z轴选在连接机械手各关节的连杆轴线上,方向从上位关节指向下位关节。

x2(2)x轴选在两相邻z轴(zi?1,zi)的公垂线上。 x3α3α2O2(3)y轴由右手法则确定。 [ ]O3l2[ ]γ(4)绕z轴旋转的角度用?表示,绕y和x轴旋l1z2z1转的角度分别用?和?表示,方向按右手法则确定。 α1Ox4z3β[ ]1β32基础坐标系记为{O0x0y0z0}(以下简记为β1O4[ ]y3l3{O0}),在肩关节设置运动坐标系?O1?,在肘关xtooly11z4节设置运动坐标系?O2?,在腕关节设置运动坐标系y4R4 d?O3?,在末端执行器中心点设置运动坐标系?O4?。

1.1.2 运动坐标变换 R0O0[ ]假设空间某点在坐标系{Oi?1}中的齐次向量为

Ri?1?[xi?1yi?1zi?1 1]T,在坐标系{Oi}中的齐

T次向量为Ri?[xiyizi 1],则有

Ri?1?i?1TiRi (1) i?1式中,Ti为相邻坐标系{Oi?1}和{Oi}间的齐次变

basex0y0图2 仿人机械手机构模型

Fig.2 Agency model of humanoid robot

换矩阵。

1.1.3 齐次变换矩阵

假设运动坐标系{Oi?1}上的某点绕xi?1轴旋转?i?1的变换矩阵为Rotx(?i?1),绕yi?1轴旋转?i?1、绕zi?1轴旋转?i?1、沿zi?1轴平移li?1的变换矩阵分别为Roty(?i?1)、Rotz(?i?1)和Transz(li?1),则有

0?1?0c?i?1Rotx(?i?1)???0s?i?1?0?0?c?i?1?s?Rotz(?i?1)??i?1?0??00?s?i?1c?i?100??c?i?1?00?? Roty(?i?1)????s?i?10???1??00s?i?10?100?? 0c?i?10??001??s?i?100??1?0c?i?100?? Transz(li?1)???0010???001??00?100?? 01li?1??001?00其中,c??cos?,s??sin?,其余类推。

当{Oi?1}系中某点先绕xi?1轴旋转?i?1、接着绕yi?1轴旋转?i?1、再绕zi?1轴旋转?i?1、而后沿zi?1轴平移li?1时,设此时的运动坐标系为{Oi},则运动坐标系{Oi?1}和{Oi}间的齐次变换矩阵为:

i?1(2) Ti?Rotx(?i?1)Roty(?i?1)Rotz(?i?1)Transz(li?1)

对于图2仿人机械手,根据以上诸式,容易推导出各坐标系间的齐次变换矩阵,即:

?1?00T1???0??0s?1s?1*l10000??c?1??s?*s??c?100??s?*c??s?*c?*l1111111?? 1T??1 2??c?1*s?1s?1c?1*c?101d?c?1*c?1*l1????001?0001??0c?2s?20s?2?s?2*c?2c?2*c?20??s?2*c?2*l2??c?2*c?2*l2??1?s?2*l2?c?2?s?*s?22T3??2??c?2*s?2??0

2

?c?3*s?s?3s?3*l3?c?3c???s?*s?*c??c?*s???s?*s?*s??c?*c??s?*c??s?*c?*l3333333333?3 T4??3??c?3*s?3*c??s?3*s?c?3*s?3*s??s?3*c?c?3*c?3c?3*c?3*l3???0001??其中d、l1、l2和l3分别为连接各关节的连杆长度, ?1、?1为肩关节旋转角度,?2、?2为肘关节旋转角度,?3、?3、?为腕关节旋转角度,如图2所示。

1.2 仿人机械手正运动学方程

对于图2仿人机械手,假设R4为末端执行器上运动坐标系?O4?中的向量,则它在基础坐标系{O0}中的向量R0为:

R0?0T4R4 (3) 0其中T4是末端执行器坐标系?O4?相对于基础坐标系{O0}的齐次变换矩阵,计算式为:

0T4?0T11T22T33T4 (4) 0T4的展开式具有如下形式

?nx?n0T4??y?nz??0oxoyoz0axayaz0px?py????RP? (5)

?pz???0I??1?式中,P为位置矢量,表示末端执行器杆件的位置,R?[noa]为旋转矩阵,表示末端执行器杆件的方位,其中n?[nxnynz]T为法线向量,o?[oxoyoz]T为指向向量,a?[axayaz]T为接近向量。

2 运动仿真

2.1 三维图仿真

在MATLAB7.0环境下,构建图2仿人机器人对象[6],通过编制程序[7,8],运用命令drivebot()[9],可以看到该机械手的三维运动图。通过驱动滑块图中的滑块,用手动的方式来驱使机械手运动,结果表明

图3 仿人机械手的三维图

该机械手运动功能完全达到了人手臂的功

Fig.3 Three-dimensional map of humanoid robot

能,如图3所示。 2.2 计算仿真

机械手各连杆长度取d?0.2m,l1?0.245m,l2?0.22m,l3?0.165m,各关节角位移按先加速运动3s、后匀速运动3s的方式如下选取:

?12tt??0,3??12??1???1?3????t???????34?2?12tt??0,3??12? ?1???1?3??t??3,6???t???????34?2

t??3,6? 3

?12tt??0,3???24?2???1?3??????t?????68?42?12tt??0,3??24??2???1?3?????t??????68?42?12tt??0,3???24?3???1?3?????t??????68?42?12tt??0,3???24?3???1?3??????t?????68?42?12tt??0,3???6???2?1?????t?3?2?????32?t??3,6?t??3,6?

t??3,6?图4关节变量同步运动末端执行器中心运动轨迹

Fig.4 Joint variables synchronous movement trajectory

of end executor center

t??3,6?

t??3,6?应用上面建立的公式,用plot()命令进行计算仿真[10],仿真时间取6s,采样间隔时间取0.1s,计算仿真结果如图4和图5所示。当关节变量?1、?1、?2、?2、?3、?3和?按上述规律同步运动6s时,末端执行器中心点在基础坐标系{O0}中x、y和z方向运动的轨迹如图4所示。当关节变量?1、?1、?2、?2、?3、?3和?按上述规律依次运动6s时,末端执行器中心点在{O0}中x,y和z方向运动的轨迹如图5所示。

3结果分析

图5 关节变量依次运动末端执行器中心运动轨迹 Fig.5 Joint variables movement trajectory in turn of end

executor Center

从图3可以看到该仿人机械手的三维运动图。通过驱动滑块图中的滑块,用手动的方式来驱使机械手运动,即机械手可以实现绕坐标轴的自由旋转,从而验证了本文提出的运动坐标变换新方法是正确的,表明该机械手运动功能完全达到了人手臂的功能。

在计算仿真中,我们观察到仿人机械手各关节运动变量随着时间的变化各关节的具体运动情况(由于篇幅限制,本文只给出了末端执行器中心运动情况),获得所需要的数据。通过分析,各关节运动情况均正常,各杆件没有运动错位的情况,再次验证了本文提出的运动坐标变换新方法是正确的,并且实现了在给定空间内机械手可以完成任意位置和姿态的运动。

4

4 结论

1)用新的适用于3R关节的运动坐标变换方法和7自由度仿人机械手的运动学正问题模型分析了机械手的运动学正问题,在MATLAB环境下,对其运动学正问题进行了仿真,仿真结果证实,本文提出的运动坐标变换新方法是正确的。

2)在MATLAB环境下,建立了仿人机械手的三维仿真模型,实现了仿人机械手运动功能完全达到了人手臂的功能。

3)通过编制程序,对机械手运动过程进行了计算与仿真分析。结果显示,在给定空间内机械手可以实现任意位置和姿态的运动。 参考文献:

[1] 时凯飞,李瑞峰.7自由度仿人手臂运动学研究[J].哈尔滨工业大学学报,2003,35(7):806-808.

[2] 陈良,张征,蒋梁中等.基于MATLAB的排爆机器人操作臂运动学研究[J].组合机床与自动化加工技术,2006,7:15-17. [3] 罗家佳,胡国清.基于MATLAB的机器人运动仿真研究[J].厦门大学学报(自然科学版),2005,44(5):640-644. [4] 阎高荣,高学山,穆勇.一种基于坐标变换的运动学方程的建立方法[J].哈尔滨工业大学学报.2001(2),121-125. [5] 张春林.高等机构学[M].北京:北京理工大学出版社,2006.

[6] 刘振宇,徐方,陈英林.一种通用的机器人三维图形仿真[J].机器人.2001,23(5),404-407. [7] 吴斌,毕丽蕴.Matlab编程实例与技巧[M].人民邮电出版社,1994.38-120. [8] 孙祥,徐流美,吴清.MATLAB7.0基础教程[M].北京:清华大学出版社,2005.5.

[9] Corke P I.A Robotics Toolbox for MATLAB[J].IEEE Robotics and Automation Magazine,1996,3(1):24-32 [10] 王瑞.关于工业机器人仿真研究[J].辽宁师专学报.2000(9),106-108.

5


七自由度仿人机械手的运动学分析.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈飞机起飞一发失效航径保护区绘制的方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: