-
解析
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