环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > 機器人部件 > 操作機

類型分類:
科普知識
數據分類:
操作機

設計理想的機器人,系統架構有哪些特殊技巧?

發布日期:2022-04-18 點擊率:42

【導讀】機器人編程涉及控制系統的設計與實現,包括環境感知、交互、移動及行為的控制。系統架構也可稱其為如何實施解決方案的一個策略性設計(例如基于組件的工程標準、安全)和解決方案做什么的功能性設計(如算法、設計模式、底層實現)。

 

一個理想的機器人編程過程包括(假定硬件已經一切就緒):

 

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)被封裝成一個小的獨立的模塊,稱為一個“行為”,而不是編寫一整個大段的代碼。因為所有的行為并行執行,所以不需要設置優先級。此種設計的目的之一是為了易于擴展,例如便于增加一個新的傳感器或向機器人程序里增加一個新的行為特征。所有的行為可以讀取載體所有傳感器的數據,但當歸集眾多的行為向執行器產生單一的輸出信號時,則會出現問題。

 

最初的行為之間使用固定的優先級,而在現代的應用中則采用更加靈活的選擇方案。

 

“基于行為機器人學”主要特點包括(參見《嵌入式機器人學》):

 

1)感應與動作的緊密耦合

 

在某種程度上,所有行為機器人的動作是對刺激的反應而不是依賴于有意識的規則。回避使用思考規劃,取而代之的是一些計算簡化的模塊來實現從輸入到執行的映射,此舉有利于快速響應?;谶@個觀察Brooks言簡意概的表達出來其中的原理——“規劃不過是一種回避計算下一步要做什么的方法”。

 

2)避開知識的符號表示

 

對環境的處理上不需要構造一個內部模型以用于執行規劃任務,而是采用真實世界“它自己最好的模型”。機器人直接從觀測中獲取到未來的行為,而非試圖去生成一個能夠內部操作的世界的抽象表示并以此作為規劃未來行動的基礎。

 

3)分解成具有因果意義的單元

 

行為按照狀態——動作成對出現,設計為對特定的狀態做出確定的動作響應。

 

4)并發關聯行為的時變等級調整

 

為適應所要達成任務目的,在運行期間采用一個控制方案來改變行為的激活等級。

 

5)行為選擇

 

在基于行為系統中運行著一定數目作為并行進程的行為,每一個行為可以讀取所有的傳感器(讀動作),但只有一個行為可獲得機器人執行器或行駛機構的控制權(寫動作)。因此需要一個全局控制器在恰當的時機來協助行為選擇(或是行為激活、或是行為輸出融合)以達到預期的目的。這將系統的設計工作,就從描述系統本身轉移到定義一個正常工作的系統的輸出上。

 

說多了,感覺要跑題了。如果你有興趣,并想了解更多關于編程機器人來處理未知的東西,推薦Ronald Arkin的《Behavior-based Robotics》和Thomas Braun的《嵌入式機器人學:基于嵌入式系統的移動機器人設計和應用》。慎思式的機器人編程方法,從中級到高級的探討,推薦Christopher A. Rouff等人的《Agent Technology from a Formal Perspective》。

 

一張圖小結一下:

 

 

二、混合系統:實踐的產物

 

 

沒有萬靈的結構,混合系統結合了SPA和反應體系的原理,將多種混合系統應用于在傳感器和電機輸出間進行協調來完成任務。混合結構相結合最具吸引力的好處可能是:系統按照有利于完成任務的標準進行設計,而非刻板的遵循某一教條。但再復雜的機構,基本上也都是二者的組合。以ROS的導航包為例:

 

圖6.ROS導航包

 

導航包整體上是SPA結構,左右兩側是感知S,包括傳感器數據/里程計/地圖等,中間框圖是Global和Local兩級規劃P,最后發送cmd_vel給行動A。

 

如果世界是完美的,那按照規劃的地圖行進到目的地就完事了。然而基于行為方法就是為了處理各種意外而生的。當機器人遇到障礙物或是被卡住的時候,內嵌的基于行為的系統就開始發揮作用。會根據情況,在“行為庫”recovery_behaviors中調用某一預先設定的“行為”來擺脫困境。

 

圖7.recovery_behaviors

 

默認的行為是:首先,清除機器人地圖指定區域以外的障礙。接下來,如果可能的話,機器人將執行一個原地旋轉清理空間。如果這也失敗了,機器人將更激進地清理地圖,清除一切可以原地旋轉的矩形區域以外的障礙。這將是另一個就地旋轉緊隨其后。如果這些都失敗了,機器人將認為其目標不可行,停止運行并通知用戶。

 

當然,你還可以針對各種意外設計更為復雜的recovery_behaviors “行為庫”以備調用。

 

三、安全自主機器人應用框架

 

現在還有一種基于場景和態勢的設計框架SARAA,我覺得很有趣。安全自主機器人應用架構(SARAA,Safe Autonomous Robot Application Architecture, SARAA)是一種強調安全性的自主機器人的開發方法。

 

圖8.SARAA

 

SARAA機器人總結

 

在《機器人編程實戰》(2017年出版)書中,詳細介紹了編程一個機器人自主執行其任務、構成了所謂SARAA的7項技術:

 

軟件機器人框架

ROLL模型

REQUIRE

RSVP

SPACES

STORIES

PASS

 

我們稱具有這種體系結構的機器人為SARAA機器人。當正確地實現時,這些編程技術產生一個基于知識的機器人控制器。因此,一個SARAA機器人是一個可以在預先設定的場景和態勢中自主行動的知識型機器人。其中一個設計思想是根據場景和態勢對前提/后置條件的判斷以提高安全性。

 

感興趣可訪問Ctest實驗室,SARAA已經用于在開源機器人平臺內工作,例如Arduino、Linux和ROS。如果對編程SARAA機器人的場景和態勢很好理解與恰當定義,則SARAA機器人的設計有助于提升機器人的安全性。

下一篇: PLC、DCS、FCS三大控

上一篇: 經驗分享:如何通過wi

主站蜘蛛池模板: 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 淘剧影院_海量最新电视剧,免费高清电影随心观看 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 缝纫客| 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | DDoS安全防护官网-领先的DDoS安全防护服务商| 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 浙江清风侠环保设备有限公司|