第五章 踝髖關節策略之立姿擾動控制模擬
5.1 SimMechanics 視覺化動力模擬
5.1.3 SimMechanics 座標系統配置
由 Solidworks 進行機械設計後匯入 SimMechanics 建模的整個概念流程 如圖 5.3。經過如此的轉換程序後,在 simulink 工作視窗即可見如圖 5.4 的 轉換組圖。但是這個轉換程序後得到的模塊座標系統皆是設定相對於絕對坐 標系,也就是相鄰 body 模塊間沒有相對座標描述關係,由圖 5.5 例可見示 範例機構之初始座標定義。
圖 5.3. CAD-SimMechanics 轉換流程。
圖 5.4. CAD 匯轉 SimMechanics 的模塊組合。
Solidworks 組合件 XML
檔案格式 轉換窗口
simulink 控制與 模擬環境
SimMechanics 動力模型
45
圖 5.5. 由(a)到(e)分別為 Torso、Thigh、shank、ankle 以及彈性底板 rubber 的質心位置以及物性參數。
(a)
(b)
(c)
(d)
(e)
46
圖 5.5 中左方紅線框所標註 CG(center of gravity)為各部件的質心位置,右方 線框 CS(coordinate system)為座標系配置。圖 5.6 所示更為一目了然,但這樣 每個部件都相對於大地的組合特性並非我們慣用的相對座標連結架構。
圖 5.6. 示範例之單足機構長度與絕對重心位置。
因此本文對每個部件的座標系統重新調整成一般慣用的相對參考座標 系統。SimMechanics 中構件的座標定義與 Adams 中的定義很相似,Adams 對每個構件一定具備三個 maker 點,連接上一個構件之接點、質心點與連接 下一個構件之接點;而在 SimMechanics 也具備一樣的概念,body 模塊中 mass property 的 Name 表單中一定有 CG、CS1 和 CS2,標號 1 和 2 只是名 稱非重點,重要的是這兩個座標點分別表示了連接前後構件的接點。
機械結構的組合分別有開迴路型和閉迴路型的兩種拓樸結構,機器足屬 於開迴路型,其架構示意如圖 5.7。機構組合一定有作為基準的構件,子構 件依附其上展開,圖 5.7 的子構件串接不一定只有一條序列,它可以是並聯 發展,基準構件和終端構件一般只存在一個連結點。
0.56
0.12
0.1 0.08 0.2
0.2
0.08 0.44
47
圖 5.7. 組合件開迴路拓樸結構。
圖 5.8. 左至右分別為絕對、相對座標配置和本文前述定義之 D-H 座標配置。
圖 5.8 展示了原始轉換的絕對座標定義配置、相對座標配置定義以及 D-H 座標結構間的比較。以下將以 Torso 和 Thigh 部件為例說明如何轉換座 標配置和 SimMechanics 中的選項定義。首先,本文設定 Torso 構件(圖 5.9) 作為整個單足機構體的基準構件:
① 在「Position」表單中,將 CS1 的「Translated from Origin of」選擇
“adjoining”,意即此構件的當前節點座標原點位置是相對於“比鄰”節點 位 置 而 來 ,「 Origin Position Vector 」 表 示 當 前 節 點 座 標 原 點 位 置 是 從
「Translated from Origin of」的選擇座標相對多少距離而來,在此例子中的
基準構件 根
節點
根 節點
根 節點 根
節點 母
子 子
母
CS1 CS1 CS2 CS1
子構件 終端構件
48
選擇是從“adjoining”節點位移多少距離;然後本文也設定 Torso 的 CS1 處 也是自體座標系統原點的位置,它的鄰節點將與世界座標結合並於此間處添 加運動約束,因此「Origin Position Vector」設定為[0,0,0]。「Orientation」表 單 中 CS1 的 marker 點 的 座 標 相 對 於 “ adjoining ” 座 標 轉 動 向 量 [1,0,0;0,1,0;0,0,1],意即沒有轉動,同鄰節點世界座標的方位。
② 質心位置 CG 也設置一個 marker 點,「Origin Position Vector」設定 [0,0,0.2687],「Translated from Origin of」選擇 CS1,也就是說質心位置相對 於 CS1 之 Z 軸正向移動 0.2687 單位,其 CG 的「Orientation Vector」同 CS1 沒有轉動。
圖 5.9. Torso 構件自體局部座標關係參數。
①
②
③
49
③ CS2 的 marker 點設定為要與 Thigh 構件連結的地方,「Origin Position Vector」設定[0,-0.0175,0],「Translated from Origin of」選擇 CS1,意謂 CS2 座標原點位置相對於 CS1 之 Y 軸負向移動 0.0175 公尺。注意!朝負 Y 軸的 偏移量在本文中設定雖跟 D-H 座標中的標記設定不同,但這僅是我腦中想 法上的方便而如此編排,只要軸位方向和後續構件以此參考的質心位置沒有 錯誤即可;其「Orientation」表單下的「Relative CS」選擇 CS1,「Orientation Vector」數值[0,0,pi/2],「Specified using Convention」選擇 Euler Z-Y-X,也 就是說 CS2 座標是繞 CS1 軸位做尤拉轉角,先對 CS1 的 Z 軸順向轉 0 rad,
繞 CS1 的新 Y 軸順向轉 0 rad,繞 CS1 的新 X 軸順向轉π/2 rad。注意!此 處「Specified using Convention」端看自己的相對轉動設定做選擇,不是絕對 一定要 Z-Y-X 順序。
座標系統重置後再對關節做微調,因為關節是單自由度旋轉關節,這在 Solidworks 做構件組合時,運動約束條件若已正確給定,那匯轉進來後即已 是 revolute joint 模塊,模塊的 B 端表示 base,就是馬達固定在與此節點相連 的構件身上,F 端表示 follow,就是馬達轉軸連接的構件端,設定依據 D-H 座標時的設定,選單設定如圖 5.10,注意紅線框和 D-H 座標軸設定的關係。
圖 5.10. Torso 和 Thigh 間 Joint 1 的設定示意。
50
而前述提過,Torso 構件的局部座標原點相鄰的參考座標是為大地絕對 座標,此節點要用來設定此機構與環境間的關係。因為前提假設只在 X-Y 上做平面運動,加上要讓機構有轉動效應,所以在 Torso 構件與 Ground 模 塊這個構件間加入運動約束 X-Z 軸向平移與 Y 軸(pitch)向轉動共三個自由度,
若只給 X-Z 平面運動,那模擬會失真甚至缺乏自由度而使求解器崩壞,因為 Torso 只會線性移動而不會有轉動,這當然是不太合理的。Ground 模塊(圖 5.11)的 Location 只有絕對座標系統,[0,0,0.483]表示 Torso 構件座標原點位 在地面高 0.483 公尺的地方。Machine Environment 模塊是設定「力場」用,
重力常數負 Z 軸向 9.81m/s2。
圖 5.11. Ground 模塊與場効模塊的設定。
51
經過初始校正的機構模塊組合,如圖 5.12,包含自體座標設定、關節設定以 及和環境間的相對運動條件,之後就可和控制器做連結模擬。
圖 5.12. 重新設定後的模塊組合模型,相對於原本的圖,此已成為浮動式座 標系統。