我們接下來要針對轉動的部分做進一步的說明 我們首先也可以先看到我們的 PPT 上面,一樣我們把我們的剛體先畫出來 在剛體上面有建一個 body frame,然後旁邊有一個世界坐標 那為了後續的方便,我們從現在開始的世界坐標都先暫時都寫成 {A} 因為以後的這個的相對狀態會隨著機械手臂而會有很多組不同的相對狀態 所以我們就先暫時不用一個世界坐標來表達,反正我們現在來代表的就是一個相對的意涵 那我們現在就像剛剛講的,我們今天這個三個主軸 可以來講說它是一個方向。 那我們如果要用這三個主軸來代表這個剛體在空間中的姿態 我們做了第一步,其實就可以把這三個主軸所 形成的向量把它排在一起,就像是 PPT 上面這樣子寫的 我們今天這 XB 就等於說是 body frame 在 X 的主軸,YB 就是 body frame 在 Y 方向的主軸,ZB 就是 body frame 在 Z 方向的主軸。 我們先各用一個 column vector 的方式排起來,就像是這裡看的 那因為我們是空間中,每個向量是三個元素,所以基本上這個矩陣 基本上是 3×3,就等於說它裡面有九個數字 那每一個 column 就像是剛剛講的是 XB、 YB 跟 ZB 那這個 XB、 YB、 ZB 的方向都是從 {A} 的 frame 來看 所以各位同學可以看到說,我今天在這個向量的左上角都標上了一個 A 那在這門課裡面這個左上角的這個符號通常都代表的是我們的一個 看的一個基準,就等於說我是 {B} 在 {A} 的表達 {B} 在 {A} 上表達,所以 {A} 就是一個基準。 那在這樣子的寫法 之後,我們其實這樣所形成的一個矩陣,我們一般就叫它叫做旋轉矩陣 那這個旋轉矩陣背後所代表的意涵,就是 {B} 相對於 {A} 的狀態 就等於說我們今天 body frame 相對於 {A} 這個 frame 的相對狀態我們可以用一個旋轉矩陣的方式來代表 那裡面的三個 column 各自都代表著 body frame 三個軸各自指向的方向 基本上想講的是這樣子的一個事情。 好,那這個就是 我剛剛所做的說明的一個文字,各位同學可以看一下,記得都是由 {A} 看的 那再來,因為我們現在知道說 每一個 column 都是 {B} frame 的這個方向從 {A} 看 所以如果說我們今天想要用更進一步的方式來描述這個方向是什麼的時候 基本上我們在數學上的寫法就可以想成說它就是一個投影,就等於 說我們今天我們就把這個 XB 想成是一個在空間中的向量 那若要從 {A} 看,所以等於說我今天是把 XB 的這個向量 投影到 {A} 上面的三個軸向,看它各自的分量是多少 那等於說所以這個 {B} 一投,它就變成說分別投在 XA、 you 跟 ZA 上面 舉例來說好了,我們假設今天這個 XB 的向量 是 {1,2,3} 好了,從 {A} 看的話是 {1,2,3} 間接代表說,它投在 {A} 的 X 軸上的長度就是 1 投在 {A} 的 Y 軸上的長度就是 2,投在 {A} 的 Z 軸上長度就是 3 所以等於說它的向量上面的三個數字基本上就代表著這個向量投影在 {A} frame 上面 各個軸向的長度各是多少。 那今天這 個整個投影的方式其實也就是我們一般常說的 direct cosines。 那這個等於說是一個比較 幾何上面的一個描述方法給各位同學參考 好,那我們就用剛剛的一個所教的一些概念 我們來做一個例子來看。 那等於說,各位同學看到我們今天這個圖形的左側 總共有兩個 frame,一個是紅色的 一個是藍色的。 那在這裡我們先把藍色的當成 {A},所謂的就是世界坐標的 frame 紅色的當成是 {B},就所謂的 body frame。 那我們現在就想要找到 互相之間的 rotation matrix,就是說 {B} 相對於 {A} 的旋轉矩陣到底是什麼 那我們就依照剛剛的定義方式,我們先看 {B} 的 X 軸 到底投影到 {A} 上面是怎麼投影的。 那圖中我們也看出來說 {B} 的 X 軸 剛好在 {A} 的 Z 軸方向上面,然後是反向 所以我們知道說其實今天 {B} 的 X 軸就直接以 {A} 的 Z 軸來代表就夠了 但是因為是反向,所以我們知道說它需要加上一個符號,所以變成說 XB 對 {A} 來講它就是(0,0,-1) 那 {B} 的 Y 軸剛好跟 {A} 的 Y 軸是重合的,所以說等於 說我們 {B} 的 Y 軸同樣地也僅需要 {A} 的 Y 軸來描述就可以了 所以就等於說我們的 YB 在 {A} 下面看的話就直接是 (0,1,0) 那我們再看下一個,{B} 的 Z 軸 跟 {A} 的 X 軸實際上是重合的 所以等於說我們 {B} 的 Z 軸以 {A} 的 X 軸來描述就夠了 所以等於說 ZB 在 {A} 下面是 (1,0,0) 那這三個 column 所組合起來就是我們剛剛講的旋轉矩陣 所以如下面來看,我們今天 R 的 {B} 對 {A} 就是直接剛剛算出來的三個 column 排在一起就好 所以今天的矩陣就很簡單,是像最右側的右下角的這個形式這樣 (0,0,-1)(0,1,0) 跟(1,0,0)。 那這是一個比較簡單的 case 那我們接下來再看另外一個例題,那這個就稍微要一點投影的概念 好,各位同學可以看到說,圖中最左側這邊,我們跟剛剛一樣是兩個 frame 一個就是所謂的 world frame 就是 {A},一樣是藍色 一個是 body frame 就是紅色,那這是我們叫做 {B} 那在這裡,因為我們需要投影了,所以我們為了讓同學看得比較清楚,我們就提供一個上視圖 好,因為我們可以看得出來說,今天在這個題目裡面,我們有一點刻意地把 {B} 的 Z 軸跟 {A} 的 Z 軸先重合 所以等於說我們投影的部分只需要注意 X、 Y 的 方向上面就可以了,所以我們只需要一個上視圖就可以來做說明 那從這個上視圖也可以看到說我們的 body frame 的 X、 Y 跟 world frame 的 X、 Y 它有一點錯開 它錯開就需要有點投影。 那這裡因為我們是要對 {A} 來看,所以我這裡就特別把 {A} 的 frame 先畫出 來看,就等於說我們等一下這個紅色的向量要投影到藍色的坐標上面 然後來找它的分量。 所以等於說我們今天在 X 的 {B} 對 {A} 來看的話 X 的 {B} 是我現在那個 游標所帶到的這一條,那這一條投影到 {A} 上面的話它就會有一個 X 軸的分量是這個長度,還有一個 Y 軸的分量 是這個長度。 那這其實它是一個根號 一個二分之根號三跟二分之一的一個長度,所以其實是 0.866 跟 0.5 那因為它的投影就只有在 X 軸跟 Y 軸上面,沒有投到 Z 軸,所以 Z 軸的分量我們就代一個 0 那 YB 的部分,YB 這裡可以看出來說,它投到 {A} 的 X 跟 {A} 的 Y,投到的 XA 因為是 在負的方向,然後是 0.5,所以第一個數字就是 -0.5 投到 Y 的方向上面,它是一個正的二分之根號三 所以我們知道說它就是 0.866。 那一樣它是投在 XY 平面上,沒有到 Z 所以 Z 就補上一個 0。 那在 Z 的部分相對簡單 因為就跟剛剛一樣,它的 Z 的兩個都重合,所以我們的 ZB 只需要 {A} 的 Z 來描述就可以,所以就是一個單純的(0,0,1) 那這三個組成之後,我們就像剛剛一樣,我們可以找 到 {B} 對 {A} 的旋轉矩陣就是把這三個 column 排在一起 就形成了像右上角的這個矩陣這樣,(0.866,0.5,0)(-0.5,0.866,- 0)和(0,0,1) 所以這樣子就等於說我們就用投影的方式來找到 {B} 相對於 {A} 的旋轉矩陣。 好,那我們現在這裡有一個 In-video Quiz 讓同學們練習一下。 那各位同學看這個 PPT 裡面,我們一樣就是說在這個最左側的圖裡面 提供兩個坐標系:一個就是 world frame,藍色的 {A} ;一個就是 body frame,橘色的 {B} 那這個因為在 3D 圖比較不容易看清楚,所以我們分別提供了 XY 跟 YZ 兩個投影面 給同學們看清楚說,到底這個橘色的向量是怎麼投 到藍色的向量上面。 那各位同學現在就可以練習一下 把 {B} 相對於 {A} 的 rotation matrix 找出來。 那這裡 是一個選擇題,所以我們這裡左側提供了四個答案,那有一個是正確的答案 同學們計算完之後就把正確的答案選出來,那我們就可以繼續後續的影片