APP下载

齐次变换矩阵在机器人运动学中的应用

2020-12-06刘锋

河南科技 2020年28期
关键词:运动学机器人

刘锋

摘 要:矩阵是研究机器人学一个重要的数学工具。本文引入齐次变换矩阵来表示机器人的姿态。具体来说,研究者在机器人的每个关节建立适当的坐标系,然后利用齐次坐标建立两个相邻坐标系之间的变换关系,最后就可以得到机器人的运动学方程。

关键词:机器人;运动学;旋转矩阵;齐次变换

中图分类号:TP242文献标识码:A文章编号:1003-5168(2020)28-0022-03

The Application of Homogeneous Transformation

Matrices in Robot Kinematics

LIU Feng

(Hunan Institute of Technology,Hengyang Hunan 421002)

Abstract: Matrix is an important mathematical tool for robotics. In this paper, homogeneous transformation matrix was introduced to represent the pose of robot. To be specific, researchers established a proper coordinate system for each joint of the robot, and then used homogeneous coordinates to establish the transformation relationship between two adjacent coordinate systems, and then the kinematics equation of the robot was obtained.

Keywords: robot;kinematics;rotation martrix;homogeneous transformation matrix

机器人学是一门融合了机械工程、自动化、计算机科学、材料学、数学和物理学等多个学科的交叉学科。在研究机器人的运动时,需要用到线性代数中的矩阵及其运算。本文就齐次变换矩阵在机器人运动学中的应用进行分析。

1 机械手(或工具)位姿的表示

设与机械臂的基座固连的坐标系为固定坐标系[AO-xyz],与工具固连的坐标系为[BO′-x′y′z′],如图1所示,则机械手(工具)的位姿可以由坐标系[B]的坐标原点[o′]在坐标系[A]中的坐标[(px,py,pz)′]和与[o′x′,o′y′,o′z′]正向同方向的单位向量在坐标系[A]中的坐标表示。

若記[i′,j′,k′]表示与[o′x′,o′y′,o′z′]正向同方向的单位向量,设它们在坐标系[A]中的坐标为[Ai′,Aj′,Ak′],按分量可表示为:

这里要求[Ai′,Aj′,Ak′]是单位向量,且两两正交,故可用它们在坐标系[A]中的方向余弦来表示,[Ai′,Aj′,Ak′]作为列向量构成一个3×3矩阵,记为[R],则:

又因为与机械手固连的坐标系[z]轴设在手指接近物体的方向,称为接近向量[a],[y]轴设在两手指的连线方向,称为方位向量[o],[x]轴由右手法则规定[1],称为法向向量[n],所以:

由正交矩阵的定义知,[R]是一个正交矩阵,此矩阵又称为旋转矩阵,其性质为:第一,[∵R′R=E,∴R′=R-1];第二,[R]矩阵的行列式等于1。

2 旋转矩阵

假设坐标系[A]和坐标系[B]原点重合,且坐标轴平行,如图2所示,现考虑坐标系[B]上一点[P],该点相对于坐标系[A]的坐标为[Px,Py,Pz],在坐标系[B]的坐标为[Pn,Po,Pa]。当坐标系[B]绕[z]轴逆时针旋转[θ]角,如图3所示,坐标系上的点[P]也随坐标系旋转。

在旋转之前,[P]点在两个坐标系中的坐标是相同的;旋转之后,[P]在坐标系[B]中的坐标没有改变,在坐标系[A]中的坐标[Pz]没改变,[Px]和[Py]发生了改变:

为了得到[P]在[A]坐标系中的坐标,要将[P]在[B]坐标系中的坐标左乘旋转矩阵,即[PA=Rot(z,θ)×PB],在矩阵[Rot(z,θ)]中第三列是相对于[z]轴的位置,其值为0、0、1,表示竖坐标没有发生改变。由此类推,可得到绕[x]轴和[y]轴旋转的旋转矩阵:

坐标系[B]绕坐标系[A]的轴旋转,称为坐标系[B]相对于坐标系[A]的旋转变换。坐标系的变换反映了固连于它的物体(机械手或工具)的姿态的变化。除了旋转变换之外还有平移变换。

3 平移变换

若坐标系[B]和[A]的三个坐标轴的方向相同,但坐标原点不同,如图4所示,坐标系[B]的原点由[A]的原点平移得到,若[d]向量的坐标为[(dx,dy,dz)],则[B]坐标系的原点相对于[A]坐标系的坐标为[(dx,dy,dz)],对于固连于坐标系[B]的点[P]相对于坐标系[A]的坐标如式(9)所示。

对于平移变换,研究者也用矩阵的乘积来表示。实际上,单纯的平移变换可以看成是旋转变换矩阵,是单位矩阵的变换,由此可以用如式(10)所示的矩阵来表示平移变换。

但是,式(10)是一个3×4的矩阵,是不能和3×1的矩阵[PnPoPa]相乘的。为了解决这个问题,引入齐次坐标的概念。

在空间直角坐标系中,点[P]的坐标为[(x,y,z)′],考虑以原点[O]为起点,[P]为终点的向量[OP],其坐标也可以表示为[(x,y,z)′]。现在引入定标因数[w][2],这样点[P](或向量[OP])的坐标可以用一个四维有序数组[(x′,y′,z′,w)′]表示,其中:

这种表示点的坐标的方法称为齐次坐标。

若规定[w]=1,则笛卡尔坐标和齐次坐标的分量相等,即

当定标因数取0时,齐次坐标的分量为无穷大。对于点[(x′,y′,z′,0)′]来说,它表示空间的无穷远点;对于向量[(x′,y′,z′,0)′]来说,此时向量的模(长度)为无穷大,它可表示一个方向,如[x]轴正向、[y]轴正向及[z]轴正向可分别表示为:

现在前边的平移变换矩阵可表示为:

矩阵的前三列表示旋转变换,因为这是纯平移变换,所以旋转矩阵是一个单位矩阵,而最后一列表示平移变换。

此变换矩阵描述了坐标系[B]相对于坐标系[A]的位置和方位,[Trans(dx,dy,dz)]第4列表示坐标系[B]的原点在坐标系[A]中的坐标,前三列表示[B]坐标系的三个坐标轴正向单位向量在坐标系[A]中的坐标,所以此矩阵也可记为[ABT],用来描述坐标系[B]相对于坐标系[A]的位置和姿态。

4 复合变换

复合变换是由[B]坐标系沿轴平移变换和绕轴变换所组成的,前面介绍的齐次变换矩阵[ABT]可以分解为两个矩阵的乘积:

等式右边第一个矩阵为纯平移变换矩阵,第二个为纯旋转矩阵,因此,也可以把齐次变换矩阵写成平移变换和旋转变换的复合:

假设[P]点固連于坐标系,开始坐标系[B]与坐标系[A]重合,随着坐标系[B]相对于坐标系[A]旋转或平移,[P]点相对于坐标系[A]的位置也发生改变,如[B]先绕[A]的[z]轴旋转[α]度,接着再分别沿[x]、[y]和[z]轴平移[(dx,dy,dz)]。第一次变换后,[P]点相对于[A]的坐标变为:

第二次变换后,[P]点相对于[A]的坐标变为:

可见,每次变换后,[P]点相对于[A]的坐标都是通过用相应变换矩阵左乘该点坐标得到,因为矩阵乘法不满足交换律,左乘的矩阵顺序不能改变。

运用齐次变换矩阵,可以有效研究机器人的运动学。只要在机器人的每个关节建立适当的坐标系,然后利用齐次坐标建立两个相邻坐标系之间的变换关系,就可以得到机器人的运动学方程。

参考文献:

[1]尼库.机器人学导论:分析、控制及应用[M].2版.孙福春,等译.北京:电子工业出版社,2013.

[2]熊有伦.机器人学[M].北京:机械工业出版社,1993.

猜你喜欢

运动学机器人
你好,机器人
基于MATLAB的工业机器人运动学分析与仿真
内平动齿轮传动运动学分析
内平动齿轮传动运动学分析
例析运动学中STS类信息题
“必修1”专题复习与训练
机器人来帮你
认识机器人
机器人来啦
运动学与光学