6. 机器人正运动学---齐次变换矩阵的三种解读

目录

 

1. 引言

2. 齐次变换矩阵的三种解读

2.1 坐标系表示

2.2 坐标系变换

2.3 点的操作算子

3. 解决问题

3.1 齐次变换矩阵的逆

3.2 多重变换时的顺序

4. 总结


1. 引言

上一篇文章我们讲到了齐次变换矩阵,表面上看我们得到了一个十分简洁的表达式。如果你认为到这里关于齐次变换的问题已经十分明了那就大错特错了。相反,我认为这恰恰是混乱的开始。

举个例子,首先一个坐标系{A}绕其x轴旋转\alpha得到坐标系{B},根据前面讲过的知识你很容易明白坐标系{A}和{B}之间的关系为T_{B}^{A}=rot_{x}\left ( \alpha \right )。可是如果坐标系{B}再绕自身的y轴旋转\beta得到坐标系{C},那么坐标系{A}和坐标系{C}之间是什么关系呢?还有如果坐标系{B}绕坐标系{A}的y轴旋转\beta得到坐标系{D},那么坐标系{A}和坐标系{D}之间是什么关系呢?

你可能没有答案。课堂上这个问题也总是被匆匆略过,而我认为这里才是应该花大量的精力去讲解的地方。只告诉我当绕原坐标系旋转时变换矩阵要倒着乘,当绕新坐标系旋转时变换矩阵要正着乘我是无法接受的。

例子中的问题其实涉及到了齐次变换矩阵的几种解读,从这几种解读方式出发,我们很容易理解矩阵相乘的顺序到底是怎样的以及为什么是这样的。

2. 齐次变换矩阵的三种解读

斯坦福大学公开课---机器人学,这门课对这三种解读给出了很恰当的总结:坐标系表示(coordinate representation)、坐标系变换(coordinate transformation)、点的操作算子(point operator)。接下来我们分别对它们进行解释。

2.1 坐标系表示

所谓坐标系表示指的是,齐次变换矩阵可以用来表示一个坐标系。我们来看如下图两个坐标系{A}和{B}。通过上一篇文章机器人正运动学---齐次变换矩阵的介绍我们知道坐标系{A}和坐标系{B}之间的关系为:

                                                                          ^{A}\textrm{T}_{B}=\begin{bmatrix} ^{A}\textrm{R}_{B} & p_{Borg}^{A}\\ 0 & 1 \end{bmatrix}

在文章机器人正运动学---理解变换矩阵中我们介绍了旋转矩阵^{A}\textrm{R}_{B}({A}和{B}的姿态关系)代表的是坐标系{B}三个轴的单位矢量在坐标系{A}中的投影(即在坐标系{A}中坐标系{B}的三轴单位矢量的坐标),在文章机器人正运动学---齐次变换矩阵中我们也看到p_{Borg}^{A}({A}和{B}的位置关系)代表的是坐标系{B}的原点在坐标系{A}中的坐标。

我们知道,要想唯一确定一个坐标系需要两个要素,一个是原点,一个是轴矢量。这两个要素在上面的齐次变换矩阵中已经全部包含了,因此我们说齐次变换矩阵可以用来表示一个坐标系,而^{A}\textrm{T}_{B}就是坐标系{B}在坐标系{A}中的表示

2.2 坐标系变换

所谓坐标系变换指的是,齐次变换矩阵可以用来描述一个坐标系经过怎样的平移和旋转能够变换到另一个坐标系。举个例子,两个坐标系{A}和{B}之间的齐次变换矩阵可以表示为:

                                                                ^{A}\textrm{T}_{B}=\begin{bmatrix} rot_{x}(\pi /4) & trans(1,2,3)\\ 0 & 1 \end{bmatrix}

其中rot_{x}(\pi /4)代表绕x轴旋转\pi/4对应的旋转矩阵,trans(1,2,3),代表在x, y,z方向上平移1,2,3。这个时候我们就可以通过

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值