-
解析
planarlinkage.pyx輸入項目用途 -
Version 0.8 開發方向
參數用途
planarlinkage.pyx 中的 build_planar 為函式用途的物件類型,此函式接收參數時會針對平面連桿做數值的處理,並且會計算適應值。
由於此函式物件原本是設計給四連桿,若是改為八連桿,勢必要做部份調整,以搭配演算法運算。
mechanismParams = {
'Driving':'A',
'Follower':'D',
'Link':'L0,L1,L2,L3,L4',
'Target':'E',
'ExpressionName':'PLAP,PLLP,PLLP',
'Expression':'A,L0,a0,D,B,B,L1,L2,D,C,B,L3,L4,C,E',
'targetPath':path,
'constraint':[{'driver':'L0', 'follower':'L2', 'connect':'L1'}],
'VARS':9,
'formula':['PLAP','PLLP']}
mechanismObj = build_planar(mechanismParams)
對應於下表:
| 參數名稱 | 說明 | 輸入項目 | Python 類別 |
|---|---|---|---|
| Driving | 主動固定節點 | 節點代碼名稱 | String |
| Follower | 從動固定節點 | 節點代碼名稱 | String |
| Link | 連接桿 | 連桿代碼名稱,逗號分隔 | String |
| Target | 目標節點 | 節點代碼名稱 | String |
| ExpressionName | 堆疊機構的三角形 | 三角形表示式,逗號分隔 | String |
| Expression | 參數排序 | 全部代碼名稱,逗號分隔 | String |
| targetPath | 路徑 | 路徑點座標集 | Tuple [Float] |
| constraint | driver:主動桿 follower:從動桿 connect:連接桿 |
三組連桿代碼名稱 | Dictionary [String] |
| VARS | 參數數目 | 四連桿變數共9個 (八連桿變數共18個) |
Integer |
| formula | 方程式名稱 | 對應 tinycadlab 的定義 | List [String] |
其中,雖然有些部份針對四連桿做設計,但是透過修改 'ExpressionName' 和 'Expression' 就可以改變三角形堆疊的方式,也意味著可以透過 Pyslvs 的三角迭代器輸入三角形的樣式,將其他種類的連桿套用演算法合成尺寸。
不過這個函式只有一個 Follower 的設定,若有其他從動的固定節點,得修改函式才能計算。
而目前看來,要套用八連桿的演算法,修改給定的參數應該就能達成。
Version 0.8 目標
可能得處理一下 Cython 執行序的問題,當前除了動用系統強制砍掉程序,似乎沒有中止演算法的方式,是否要在 Cython 中增加檢查停止的機制?
接下來 Version 0.8 的目標如下:
- 改善演算法的設定介面,如手動設定族群或機率的功能。
- 會融入 Qt 網路引擎和 PyZMQ 進行本機分散運算的測試。
Comments
comments powered by Disqus