本文轉載自: PYNQ開源社區微信公眾號
這項工作是由加州州立理工大學波莫納分校、C3SR的產學合作課程設計項目。該項目的目標是創建一個通用的運動控制器,與任何運動控制系統或設備兼容,解決工業和開源運動控制器中的問題,同時也相對便宜,易于對創作者群體進行擴展。項目在PYNQ框架下開發了可重構運動控制器,所提出的體系結構依賴于使用S曲線算法來控制軌道上的運動,而另一個則是為了驗證概念。
1.什么是S型運動軌跡規劃
市場上發現的許多工業運動控制器使用具有線性加速和減速階段的梯形運動輪廓。然而,由于圖1所示不同點期間的加速度突然變化,這會導致沖擊運動,導致控制系統中出現不必要的振蕩。在 S 曲線算法中,加速和減速階段使用二階或更高多項式實現,以減少這種沖擊運動并產生更平滑的運動。S曲線的階數越高,生成的運動將變得越平滑,盡管這是以額外資源為代價的。
S 曲線算法本身有 5 個主要部分,如圖 2 所示。第一節和第二節包括一個增加的正加速度階段,然后是遞減的正加速度階段。第三部分是加速度為 0 且速度為最大值的穩定狀態。第 4 節和第 5 節是前兩節的相反狀態,其負加速度增加,然后是負加速度遞減,直到系統到達目的地。應當指出,這些部分可以進一步細分為其他部分,這將有助于進一步理順提案。
2.實現
此控制器的實現需要三個主要組件:S-Curve 算法塊(藍色)、FIFO 塊(橙色)和包含向目標設備驅動程序生成脈沖的管理塊(黃色)。
使用此實現版本的FIFO塊是因為S曲線和管理塊的頻率不同。它充當一個緩沖區,使S曲線與管理器中的脈沖產生相兼容。管理器本身是幾個功能的組合,其中最重要的是脈沖發生器或PWM,因為它將S曲線的頻率轉換為驅動器的脈沖。
3.該項目狀態和未來計劃
目前的項目狀態是一個工作的二階S曲線運動控制器,計劃擴展到更高的階數以及多個運動軸。在電源和資源使用方面,運動控制器僅使用約318mw,僅占用PYNQ板不到30%的資源,有很大的擴展空間。詳細步驟請點擊:
審核編輯:何安
-
開源
+關注
關注
3文章
3393瀏覽量
42627
發布評論請先 登錄
相關推薦
評論