當前位置: 首頁 > 工業控制產品 > 運動控制 > 工業機器人 > 直角坐標型工業機器人
發布日期:2022-04-18 點擊率:71
機器人編程涉及控制系統的設計與實現,包括環境感知、交互、移動及行為的控制。
一個理想的機器人編程過程包括(假定硬件已經一切就緒):
1.系統架構設計
2.具體功能的算法實現
3.編碼與集成
一、機器人系統架構
“架構可定義為組件的結構及它們之間的關系,以及規范其設計和后續進化的原則和指南。簡言之,架構是構造與集成軟件密集型系統的深層次設計。”
系統架構也可稱其為如何實施解決方案的一個策略性設計(例如基于組件的工程標準、安全)和解決方案做什么的功能性設計(如算法、設計模式、底層實現)。
圖1 機器人功能分解
另外,軟件工程的基本要求包括模塊化、代碼可復用、功能可共享。使用通用的框架,有利于分解開發任務及代碼移植。機器人軟件同樣遵從軟件工程的一般規律。說白了,架構就是你如何把機器人的功能打散,再如何把代碼組織起來。一個清晰的與項目相匹配的架構直接決定了你的開發效率甚至最終功能的成敗。
從人類第一臺可編程的機器人開發伊始,架構問題就與之相伴而生。早在1996年,Garlan和Shaw在《軟件架構:一門新興學科的展望》就總結了移動機器人的基本設計需求, 如:(1) 慎思規劃和反應式行為;(2)容許不確定性;(3)考慮危險;(4)靈活性強。針對這些要求,他們評估了四種用于移動機器人的架構,包括控制回路(control loop)、分層(layers)、隱式調用(implicit invocation)、黑板(blackboard)。經過了幾十年的實踐,一些架構被逐漸淘汰,一些架構逐漸被完善起來。
注意:現在很多機器人開發者一上手就是ROS,雖然ROS是一種比較不錯的系統架構,它的基于node的思想在當時是非常先進的,在今天已成為主流。但我們也要清楚,它只是其中一種架構,尤其是在小型嵌入式設備上定制機器人系統時,其他的架構可能會更有效率。另外Master中央控制模式,也是單機時代的產物,在多機的情形就不是很適用。
1.S-P-A結構
圖2 機器人的“see-think-act”工作模式
圖3 “傳感——計劃——行動”(SPA)結構
機器人天然的工作模式是“see-think-act”,所以自然而然的就形成了“傳感——計劃——行動”(SPA)結構:從感知進行映射,經由一個內在的世界模型構造,再由此模型規劃一系列的行動,最終在真實的環境中執行這些規劃。與之對應的軟件結構稱為經典模型,也稱為層次模型、功能模型、工程模型或三層模型,這是一種由上至下執行的可預測的軟件結構,
SPA機器人系統典型的結構是中建立有三個抽象層,分別稱為行駛層(Pilot)(最低層)、導航層(Navigator)(中間層)、規劃層(Planner)(最高層)。傳感器獲取的載體數據由下兩層預處理后再到達最高“智能”層作出行駛決策,實際的行駛(如導航和低層的行駛功能)交由下面各層執行,最低層再次成為與小車的接口,將駕駛指令發送給機器人的執行器。
缺點:這種方法強調世界模型的構造并以此模型規劃行動,而構造符號模型需要大量的計算時間,這對機器人的性能會有顯著的影響。另外,規劃模型與真實環境的偏差將導致機器人的動作無法達到預期的效果。
2.基于行為的結構
圖4 基于行為的結構
由于SPA系統過于死板,出現了另一種實現方法:基于行為的方法。基于行為方法前身是反應式系統,反應式系統并不采用符號表示,卻能夠生成合理的復合行為。基于行為機器人方案進一步擴展了簡單反應式系統的概念,使得簡單的并發行為可以結合起來工作。
小歷史:Joe Jones和Daniel Roth于2003年出版的《Robot Programming:A Practical Guide to Behavior-based Robotics》以及使用基于行為系統的iRobot掃地機器人的大獲成功(通過基于行為的系統可有效實現遍歷、避免在某處卡死等多個目標的達成),標志著當年基于行為系統結構的統治地位。短短十年間,SLAM的迅速興起,基于地圖的規劃和導航再次興起,很多人似乎忘記了或壓根就沒聽說過Behavior-based Robotics的存在。
圖5 《基于行為的機器人編程》
基于行為的軟件模型是一種由下至上的設計,因而其結果不易預測,每一個機器人功能性(functionality)被封裝成一個小的獨立的模塊,稱為一個“行為”,而不是編寫一整個大段的代碼。因為所有的行為并行執行,所以不需要設置優先級。此種設計的目的之一是為了易于擴展,例如便于增加一個新的傳感器或向機器人程序里增加一個新的行為特征。所有的行為可以讀取載體所有傳感器的數據,但當歸集眾多的行為向執行器產生單一的輸出信號時,則會出現問題。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV