各位同學大家好,在學習過了幾何解之後,我們現在來針對同一個例題, 以代數的方式來跑一次,來看說用代數的方式要怎麼去解這個題目。 那這裡等於說我們在這個PPT的最右側可以看到說我們今天, 下方是我們想要的,就等於說我想要一個xy跟某個姿態, 那上方的這個就是我們以前在fk的時候所得到的transformation matrix,裡面有內含θ1,θ2,θ3的角度和一些整個手臂的幾何參數。 l1跟l2在這裡,那我們現在等於說這個裡面我們這裡說這個 等式其實總共有16個等號嘛,對不對,如果每個element都拿出來對等的話,總共有- 16個等號。 那我們知道說下面的四個等號可以不用管它,因為下面都是零跟一,那圖形裡面其實因為這個 是一個平面的手臂,我們也發現說這裡還有五個等號,旋轉矩陣的五個等號都是零跟一, 所以等於說只有最左上角的這四個跟右上角的這兩個是真正有對應到數值的。 那這四個跟兩個裡面我們又發現說cos跟sin 都出現了兩次,所以等於說我們今天來獨立來看的話,我們事實上是四個方程式。 就等於說來看的話是cosφ 就等於cos的1,2,3相加,sinφ等於sin的1,2,3相加, 那事實上這兩個背後其實是一樣的,是同一個解,那xy 就在一個cos跟sinθ1,θ2的條件在這裡。 所以我們這裡就先把它cos,sin 都拉出來,方便我們最後去做一個匯整。 好,所以第一步就是我們這裡寫的,我們從下面這個想要的矩陣跟上面這個以θ1 θ2,θ3所形成的矩陣先去做一個等式,就代表說 我要把上面的θ去達到下面這個矩陣所代表的 姿態跟角度,那方程式寫出來之後就可以開始進行量化的求解。 那在這裡面,我們可以看到說其實因為 θ1跟θ2,可以發現說θ1在比較多的地方出現。 所以我們可以知道說我們應該要先解θ2,因為θ2等於說只在最後面的這邊有出現過。 那我們今天如果說把下面最後的這兩個方程式 去取一個平方和之後,我們就發現說我們就可以把cosθ2 單獨的抓出來,那這個上面其實 C1,2就代表是cos(θ1+θ2)啦。 但是因為平方之後,因為cos的平方加sin的平方其實就會, 會有一些相消的動作,所以才會說今天x平方加上y平方之後, 最後得到的式子其實是還蠻簡潔的,就等於說它單純的是一個cos θ2的函數,也可以說是θ2的函數。 那今天在這樣子寫了之後,我們拉到下面來就可以 把cosθ2表達成我們想要到達的xy 跟一些桿件本身特性的函數。 那等於說後方的都是已知了,所以我們就可以把右側這邊 先精準的算出來,然後再找出cos的負一。 那我們知道說在這裡的狀況下面,我們cos本身必須 在-1到1裡面我們才有辦法來找出θ2。 所以這裡也間接代表說,如果說我右側的這一重加減乘除, 算出來的解是大於1或小於-1 那就代表說今天這個部分是 手臂到不了的,那如果說這個解,求出來的解在 -1跟1之間的話,我們就可以直接inverse來找出θ2, 那各位同學可能也記得就是說我今天針對一個正數, 譬如說我今天針對一個正數,譬如說0.5, 我的cos事實上是可以得到雙解,一個是正的解跟一個負的解。 所以等於說我今天這個手臂這個資料算出來之後,我的θ2在這裡其實是一個雙解。 好, 那我們θ2算出來之後,我們再代回剛剛 的位移的那兩個方程式,那我們把θ2 代進來了之後,其實這裡面等於說我們把這個方程式 可以把它展開重新分類,變成是這樣中間的這樣子的一個形態。 分成這樣的形態的原因其實很簡單,我們目的就是希望把 θ1 跟的 cos 跟 sin 把它單獨拉出來, 所以各位同學可以看到說,中間的這個部分我是特意把 cos1 sin1 這個單獨的拉出來,那把其他的部分都列在這些前面當成係數。 那這些前面的東西是桿件跟 joint2,就是所謂的θ2 的資料,所以等於說都是可以當成已知了,這時候剩下 cosθ1跟sinθ1是未知,那為了讓整個 畫面看起來比較簡單,我們其實就是把這四個係數 命名成k1跟k2,它是一個 基本上可以看得出來是一個對稱的一個狀態,等於說前面都是k1,後面就是加減的k2。 那變成這樣的形式之後,我們的下一步就是要去解這個θ1到底是什麼? 那在這裡我們會需要導入一個叫一個變數變換的動作。 就等於說我們今天其實是把這個前面的想法,某種程度把它想成是說我們用一個 極坐標來看,等於說我們的k1,k2比較像是我們的Cartesian下面, 那我們兩個取平方和之後開根號,就得到我們 轉換成極坐標下面的長度。 那k1,k2在 定義了一個這個γ之後,就比較把它想成說是從Cartesian換到的角度。 好,那等於說在這個轉換之下,我們就可以很輕易的知道說我們的k1,k2, 就是γ和 r,cosγ跟r sinγ, 就等於說是極坐標下面對Cartesian的x軸跟y軸的投影。 就變成是像這樣子的形式,那這樣子寫有什麼好處? 我們今天在經過這樣子的轉換之後,我們就可以把 剛剛前面右上角的這一重數字, 把k1,k2再代換成r跟γ的函數,代換成r跟γ的函數之後,再把r除掉之後 就發現我們可以很乾淨的把我們的θ1 過濾出來,好,各位同學可以看到說,我們今天的這個的 右側,好,這就變成是一個單純的cos的γ加θ1跟sinγ加 θ1,那麼方程式的左側我們的xy跟r 都是已知的嘛,因為我們等於說我們的r是k1跟k2的函數, k1,k2是剛剛l1,l2跟joint2 θ2的函數 所以等於說我們的方程式的左側的這個x/r跟y/r是已知, 右側剩下θ1是未知數,γ也是已知,那等於說我們在接下來 就可以把它合並起來就可以求出我們的θ1是這樣子的 一個解,那這個解其實也可以知道說其實基本上就都是一個tangent的運算。 有 y 跟 x,然後k2跟k1,那 k2,k1本身是l1,l2跟θ2的函數。 那這裡就可以發現說因為k2,k1同時也是θ2的函數, 間接代表這我們如果θ2選正值或者負值的時候,這個項會不一樣。 那這個項會不一樣間接也代表說我們的θ1就會不一樣。 所以等於說我們剛剛開始在解θ2的時候,當我們θ2選不一樣的時候, 我們的θ1也會跟著變動,那對應到 幾何解,其實後面的這個項就有點像是我們剛剛手臂的 以下方的姿態或者上方的姿態來放,所以就等於說是一個 β角去加減後面的這個值而已。 那θ1減完之後,θ3就是像剛剛講的,我們今天 三個角度相加之後需要得到一個φ,所以等於說我們今天 θ1θ2都知道了,我們就φ減掉θ1減掉θ2, 就可以得到θ3的解,那等於說這個我們就用代數的方式 把IK的部分跑完,那IK就等於說解出來了我們的 θ1,θ2還有θ3,手臂的三個 joint angles。 好,按我們現在來稍微看一下說,我今天如果 說遇到了一個複雜的三角函數的方程式, 我要怎麼去解θ,因為在剛剛前一個例題裡面 我們的方程式裡面的cos,sin都可以藉由平方的方式去把它消掉, 可是有的時候我們或許會得到像 這個例子裡面的一個形態,就等於說我們只知道說我們的方程式裡面 是cos,sin的函數,可是就沒有辦法更乾淨的化簡到只是cos或只是sin,所以可- 以直接做 inverse 的方式來求解,而是變成是一個最簡單可能就是一個這樣子 cos sin 的複合形式,那這個時候要怎麽算? 那這個時候其實我們的一個技巧就是把這個 θ 的函數空間 轉換到 polynomial 下面,那背後其實就是我們今天 知道說一個 tan 的半角公式,如果把它設定成 u 的話 我們的 cos 跟 sin 各自可以表達成 這個講義上面或是銀幕上面列的這個形式 就等於說這裡可以看出來說分母都是 1+u²,分子一個是 1-u²,一個是 2u 所以等於說這個大家可以看到說,我如果去想 cos 平方加 sin 平方的話,它會得到 1 我這等於說,這個是一個 cos sin 跟 tan 的一個函式 那我們可以藉由這個方式,就把 cosθ 跟 sinθ 換到 u 下面 那我們這裡就來舉一個例子,就一樣用剛剛的 acosθ+bsinθ=c 的這個 方程式來説明。 我們今天第一步就把 cos sin 換成 u 的函式 所以第一步就把剛剛的上面的這個東西代進來 所以現在就變成是一個 u 的方程式,基本上可以講成說 它是一個多項式的方程式。 那把它整并之後可以變成像這樣子的形態 那在這個形態下面,我們知道說它是一個 u 的二次式的一個架構 那等於說,它是一個二次式的架構,我們就可以照著我們 二次式常常看到的一個公式解,就大概是基本上長這樣 那在這裡其實各位同學也可以發現說,我今天這個方程式要有解 或者説要有所謂的實數解,因爲我們等於說解出來的 θ 要符合物理意義的話 我們今天 a b c 之間,它有一些相對關係的限制 因爲會有相對關係的限制,背後就在於說,今天假設針對某個 θ 好了 我們針對每個 θ 那它的 cos 加上它的 sin 之後 它的大小其實是一個被限制的範圍,因爲 θ 本身 在 cos sin 之後,都在 -1 跟 1 之間,所以各位同學可以想想說 今天最大最大最大的話 當然說真實上是不可能兩個都是 1,對不對,但是最大最大去想的話,就知道說 a+b 最大可能就是會,頂多是 a+b 所以今天 c 如果非常非常大的話,就知道說這個理論上是沒有解的 那這個反映在下面的這個求解式子裡面,事實上 就間接代表了說我們今天這個判別式有沒有大於 0 如果這個判別式裡面,它沒有 大於 0 的話,間接會説明說我們得到的 u 是一個 負數,就等於說它有虛部,它有虛部的話我們 tan 就會沒有解 所以等于說我們今天這個方式要有解,代表說我們的判別式要是實數才可以 所以這間接也代表說我們今天 a b c 大小是有一個限制。 好,那假如是我們今天滿足了這個 這個限制,最後的 θ 就直接是 這個 u,這個 u 再去做 tan 的 inverse,再乘上兩倍,就可以得到答案 那這裡有一個比較特別的地方說, 我們今天看到這個式子,我們也知道說 今天我們這個解是二次式的解嘛 就等於說我今天如果說,我今天 u² 的項的係數是不爲 0,才會帶到這個二次式的解析解 那今天在某些特定的場合,如果 a+c=0 的時候 就等於說,今天上方的這個式子就不再是二次式,是一個單純的一次式 那這時候,我們如果去解的話,就發現說,一算出來,如果 a+c=0 的下面,我們上面去求解之後 發現說,它衹有一個解,就是 θ 要等於 180 度