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