• 解析 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 的目標如下:

  1. 改善演算法的設定介面,如手動設定族群或機率的功能。
  2. 會融入 Qt 網路引擎和 PyZMQ 進行本機分散運算的測試。

Comments

comments powered by Disqus