好,我們在我們講完了幾個例題之後,我們現在就要針對我們的驅動 跟我們的需求,做一個比較清楚的定義。
那各位同學也看到說我這裡又把 這個單元一開始的那個手臂拿過來做講解,就是說
我們知道說,像剛剛講的,我們現在的驅動是這裡的θ1,θ2 θ3,我們等於說,我們有了θ1、
θ2、 θ3之後 我們就可以知道 P 點在世界座標上面的表達法
那我們等於說我們從一開始到現在 所教了內容,找到了
t,也就是說 t 裡面就會有 θ 嘛 那藉由一大堆 t 的算法,跟
P3 再經過 t,可以換到 P0 等於說這一個的整套的一個流程,我們稱之為
Forward Kinematics,就是所謂的順向運動學
就等於說我們從我們的驅動開始,知道每個關節的驅動之後,知道 手臂末端點的狀態,就是我這邊,這個圖中所畫的上面的這個箭頭
就等於說由 θ 到 P,在世界座標下的表達法,這個 叫做
Forward Kinematics,我們稱之為順向運動學,或簡稱為 FK 那今天如果說這個程序是反過來的,等於說從我們的需求面來看,我希望的
手到空間中的這個位置,我是先給的 P 在世界座標下面的表達法
那我們從這個表達法開始去反算說 我這個手的 joint
到底是什麼,就是下面的這一個,那這個的運算過程 我們稱之為
Inverse Kinematics,就是所謂的逆向運動學,或簡稱為 IK
那這個順逆就等於說基本上就是一個正算跟反算的一個 常用的一個稱呼的方式。
那順向就等於說是比較 符合說,我們是這樣驅動的,所以手會到哪裡;逆向是比較像是說 我希望到這裡,我的手該怎麼驅動。
所以這個等於說,用這樣子的表達法 就可以把我們在世界座標下面的表達跟在
joint 下面的表達,做一個很完整的定義 所以這個在這個互相的一個,兩個,我們就稱之為
Joint space 跟 Cartesian space,所謂的 Cartesian space 就等於說,我們是一個點
在世界座標下面嘛,所以說我們就用一個一般最常用到的直角坐標系來解釋 所謂的
Joint space 就是說,我今天有幾個驅動關節,有幾個自由度,我是從這邊開始處理,所以這個叫
Joint space 那我們今天除了這個 Joint space 跟 Cartesian space
之外,我們其實還有一個所謂的 Actuator space 因為等於說,我們今天的
joint 是動一個 θ 角 那真實上可能我們的不管是馬達或者是氣壓缸,我們的驅動
可能本身又是另外一個角度,所以這個時候等於說我們還必須要更進一步地連結
譬如說我們今天是馬達好了,馬達的轉角跟這個 joint
的轉角到底是什麼樣的關聯 要能夠釐清清楚,我們才有辦法真正地用驅動的方式,來達到我們想要的
等於說我們是先驅動馬達的轉角,馬達的轉角經過某個轉換之後 到了這個
joint 的轉角,然後再經過我們所教的內容,從 joint 的轉角轉到最後手的狀態
那今天這個我就這裡舉一個例子,假設說 我今天把其中一個
joint 拉出來看,譬如說假設就是我們這個 θ1 的 joint 那這裡等於說這個圖中的畫出來說,誒,這個
joint 的桿件在這裡 那它這個 θ 角就是這個 joint
的轉角 那在我們很多在馬達使用上面我們知道說馬達一般不會去直驅這個
joint 我們一般都會經過所謂的減速機構,因為大部分的馬達本身的設計是屬於
高轉速低扭力的,那在我們機械手臂的應用場合中,我們 常常的手臂的動作是比較低轉速,但是需要高扭力
所以等於說我們今天就會經過一個減速機,那所以今天我們也知道說今天馬達可能本身轉很快
經過一個減速之後,最後這個重力本身它就會動得很慢,但是它會很有力
那在這一個下面的例子裡面,我們就譬如說,我就畫了這邊有一組齒輪,它就是一個 1:2
的減速 所以我們要知道說今天馬達的速度乘上 1/2
之後 才會是這個 joint 的速度,所以等於說我們今天的這個式子
間接地代表了,我們如何從 Actuator 的 space,就是所謂的 θmotor,去轉換到 joint space,就是所謂的 θjoint
那這個方式才有辦法讓我們真正地從驅動的角度,從馬達開始 到 joint,那最後到 Cartesian。
所以這個等於說是 Actuator 到 joint space 的一個簡易的說明
那接下來,我想用另外一個例子來說明一下怎麼樣進行 從
Actuator 到 Joint 之間的轉換 那這個例子事實上就是一個,其實是一個實驗室在研究的內容
那跟本身課程沒有很緊密的關係,但是就當成是一個影片以及一個應用上的啟發
我們知道說其實我們今天在地面上面的運動,基本上有輪跟腳兩種形態
就是像這個圖中所畫的,我們為什麼喜歡用輪,因為輪在平地上面很快速、 平穩,又省能
那在這個架構下面我們為什麼還要用腳,因為生物大部分都是腳
那腳的好處是什麼,它可以在崎嶇地上動來動去 它可以越障,然後它也可以有一些比較動態的行為,譬如說它是跳躍
所以等於說這是一個實驗室所做的機器人了,那等於說這個機器人本身,我們希望說它在同一- 個平台上面
它就會有這兩種模式,它可以用一個輪的方式在地面上面跑 它也可以用腳的方式在地面上面動。
大家可以看到 說,它有一個論跟腳變換的功能
它一開始是輪的模式,它在地面上面滾 那假設它在前面遇到了一個障礙物
或是說遇到了一些比較崎嶇的地形,那我們就 讓機器人坐下來,然後就換成腳的模式再繼續前進
那這個就是我們這裡想要試的 那我們現在就來進一步來看,好
那在這個機器人上面,它的輪模式,輪模式我們知道說基本上輪就是一個圓
對著一個某個固定點去旋轉,好這個是輪模式 那腳模式要怎麼樣像做腳呢,那等於說它可能
腳要前後動之外,它可能還要上下動,就比較像是一個腳,它還要前後擺,然後上下擺,所以- 我們可以知道說一般腳的
操作上面的自由度都會比較多,就等於說它除了擺動,它可能還要伸縮 所以在那這個機器人上面,它就是兩個自由度的系統,它可以擺動跟伸縮
那我們在機構上面要怎麼達到一個功能說我們可以有這兩個模式同時存在呢?
那我們先看影片好了 這裡等於說,好,這裡就是一個機器人,我們現在看到
單獨,這就是一個輪模式嘛,它就是輪迴旋轉,那我們假設現在要做一個輪腳的變換
那這只是一個細節,它等於說通電之後,它會做一個輪跟腳的轉換
轉過來之後,它就可以腳放下來,就變成 是一個腳的形態,它是一個半圓腳,但是它腳可以前後擺,它也可以上下動
所以大家可以看到說,在這個影片裡面,我們這個腳是可以上下動,然後腳也可以前後擺 所以這個是它的運動。
那這個背後是怎麼達到的? 好,我們可以想到說,我們今天等於說需要是說腳的那個輪輻
或是說輪的輪輻或是腳的輪輻,希望它有兩個運動
一個是旋轉,一個是上下擺,就基本上我們希望的是說,我們的輪腳本身
像是一個極座標的方式在運動,有轉動的部分也有移動 的部分。
那因為是兩個自由度,我們知道它的 output 要有移動跟轉動
我們也知道說我們的 input 必須要有兩個,所以這個必須要用兩顆馬達的方式來達到
才能說,兩個 input 可以經過一個特定的控制之後,來達到我們的兩個 output
那這個配置的方式其實就是像我們這個圖中所示 我今天外邊這個框框要轉動,我的方式就是其中一顆馬達
經過一組皮帶輪來轉動這個框框,好那這個框框本身它就會達到一個轉動的功能
那中間的這個套筒要上下移動 我們的方式就是說,我今天這個馬達,經過一個
齒輪跟齒條組,那等於說這個馬達轉動這個小齒輪,齒輪會帶動這個齒條
齒條就會上下動,就可以達到我們想要的一個上下移動,這個套筒可以上下移動的功能
那這中間的轉換其實並不是獨立的,並不是轉動就會,就是
帶動轉動,移動就帶動移動,因為它這兩個中間,是同軸移動,它有一些復合 所以我們就要找到這個關係式。
那這個關係式 基本上是這樣的。
我們都知道說我們的轉動本身 我們的轉動本身單純是由這一顆馬達來
決定的,我們的轉動本身單純是由這一顆馬達來決定 但是我們的移動,最後就會由兩顆馬達
的狀態來共同來決定出來 所以等於說這個本身是一個復合的一個機制,它不是兩個獨立的
兩個獨立的話就會這個也是 0,就等於說第一個控制第一個
第二個控制第二個,它是一個復合的機制 那等於說我們藉由這個復合的機制,我們因為這個矩陣不是
singular,就等於說我們也可以找到從驅動馬達這邊 找到我們的 joint,或者是說從
joint 反算出我們的馬達 那我舉這個例子的原因說,這個就是一個很經典的案例來處理我們從
Actuator 的 space 要怎麼轉到我們的 joint space。
祗是這裡的 joint space 本身是雙自由度混在一起 所以等於說我們 joint space
是有兩個自由度,就是 θ 跟,就是我們的轉動 跟移動,我們的 Actuator
space 是兩顆馬達,所以是兩個 轉動,那這裡中間等於說是一種 Couple
的方式去連接起來 那我們藉由這樣子的一個矩陣,就把 Actuator space 跟 Joint
space 中間的關聯 性就找到,它本身是一個矩陣,它不是 singular,代表它也可以找到反矩陣
所以我們也可以正算過去,也可以逆算回來,基本上就像是這樣子的架構