目錄
1. 引言
2. 位姿的描述(位置與姿态)
2.1 平移的描述(位置)
2.2 旋轉的描述(姿态)
3. 總結
1. 引言
個人認為機器人運動學是整個機器人學的核心内容。仍然以前面的SCARA機器人為例,如下圖所示,假設笛卡爾坐标系{A}是一個固定坐标系(笛卡爾坐标系實際上就是利用相交于一點的三條數軸來衡量空間中點的位置的一種坐标系,相對應的有極坐标系,球坐标系等;所謂固定坐标系就是坐标系不随着機器人運動)。藍色的P點是機器人絲杆末端的上的一個點。
想像一下,如果我們知道機器人各個關節目前旋轉的角度,如何确定P點在坐标系{A}中的坐标P(x,y,z)呢?老實說即使是這樣一個問題也曾經困擾了我很久。
這就是我們在機器人運動學中碰到的第一個問題---正運動學問題。也就是在已知機器人各個關節的位置的情況下确定其末端執行器的位置。
2. 位姿的描述(位置與姿态)
整個機器人運動學都是建立在坐标系及其變換的基礎之上,而這一部分也确實存在諸多有趣的問題。是以我們以坐标系及其變換作為機器人正運動學的切入點。
2.1 平移的描述(位置)
從最簡單的情況說起,如下圖所示,兩個坐标系{A}和{B}的坐标軸分别平行,設坐标系{A}為基坐标系,那麼如何表達坐标系B與坐标系A關系呢?
這個問題其實是比較簡單的,從圖中我們知道,空間中任意一點M在基坐标系{A}中的位置可以用向量
表示,而在坐标系{B}中可以用向量
表示。坐标系{B}的原點可以用向量
表示(注意這些記法的上标代表該向量在哪個坐标系中表達,也就是向量的起點與哪個坐标系的原點重合,下标代表的是空間中的點,比如M代表的是M點。是以
代表X點在坐标系Y下的向量表示)。根據向量的運算法則,我們很容易得到下面的等價關系
在上面的等式中
和
都代表了點M的坐标,隻是參考坐标系不同,一個參考系是坐标系{A},一個參考系是坐标系{B}。那麼
又代表了什麼呢?我想你應該能夠想到這個代表了兩個坐标系之間的位置關系。是以對于隻存在平移關系的兩個坐标系,我們通過一個三維向量
就可以描述坐标系{B}與坐标系{A}的關系。上面的等式也就是在隻有平移的情況下點在坐标系{A}與{B}之間的坐标變換公式。
2.2 旋轉的描述(姿态)
旋轉的描述是比較複雜的,我們先讨論隻有旋轉,沒有平移的情況,即兩個坐标系原點重合的情況。如下圖所示,在這樣的情況下怎麼去描述坐标系{B}與坐标系{A}之間的關系呢?
我們依然以坐标系{A}為基坐标系。那麼坐标系{A}的三個坐标軸可以用如下三個機關向量描述:
同時我們設坐标系{B}的三個坐标軸在基坐标系{A}下的向量描述為:
。現在我們假設空間中有一點V,那麼我們知道這個點既可以在坐标系{A}中表示,又可以在坐标系{B}中表示。設點V在基坐标系{A}下的坐标為:
,點V在坐标系{B}中的坐标為
,設O為坐标系{A}和{B}的公共原點。
此時我們意識到向量
其實存在兩種分解,第一種是将向量
分解到坐标系{A}的三個軸上,此時向量
可以表示為:
;第二種是将向量
分解到坐标系{B}的三個軸上,此時向量
可以表示為:
(注意我們前面已經提到所有的六個坐标軸機關向量都是在基坐标系中描述的)。由于這是同一個向量的兩種表示方法。是以我們可以得到如下的等價關系:
如果在這個等式兩邊同時點乘
可以得到:
注意在上面的推導中我們用到了向量點乘法則,即兩個互相垂直的機關向量點積為0,機關向量與其自身的點積為1。根據向量點乘法則,
注意在上面的推導中我們用到了機關向量模長為1的性質。根據這些性質,
可以進一步表示為:
同理可得:
最終整理可得:
前面我們進行了那麼多的推導,看上去很複雜,但是其實都是最簡單的向量以及矩陣運算。我們觀察最後得到的這個等式。等式左邊是點V在坐标系{A}中的坐标;等式右邊是一個矩陣R乘上點V在坐标系{B}中的坐标。那麼根據這個等式我們可以将空間中任意一點由坐标系{B}中的表示轉換到坐标系{A}中的表示。可見我們利用同一個向量(即
)的兩種不同分解(在坐标系{A}中分解得到其在坐标系{A}中的坐标表示,同理在坐标系{B}中分解得到在坐标系{B}中的坐标表示)的等價性已經不自覺地推導出了兩個原點重合的坐标系之間的姿态關系,這個關系就是前面提到的矩陣R。
接下來我們總結一下關于旋轉的描述。當兩個坐标系{A}和{B}原點重合時,他們的姿态關系可以利用一個3x3的矩陣來描述。我們看到這個矩陣的所有元素都是餘弦值,是以我們稱這個矩陣為方向餘弦矩陣。這可以認為是方向餘弦矩陣的由來。
3. 總結
這一篇文章,我們主要介紹了坐标系以及坐标系的兩種變換關系,即平移變換和旋轉變換,雖然我們依然沒能解決引言中提出的問題,但是我們已經比較接近答案了。
由于個人能力有限,所述内容難免存在疏漏,歡迎指出,歡迎讨論。
下一篇:4. 機器人正運動學---了解變換矩陣