国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于ROS的機器人云平臺架構設計

2019-01-19 04:25黎曉東尹作重
制造業(yè)自動化 2019年8期
關鍵詞:虛擬化應用程序組件

陳 彬,黎曉東,尹作重

(北京機械工業(yè)自動化研究所有限公司,北京 100120)

0 引言

國內外現(xiàn)有的機器人云平臺架構并不統(tǒng)一,或多或少的還存在一定的局限性,造成了很多重復技術性研究。例如DAvinCi云計算平臺是機器人技術結合云計算優(yōu)勢的一次重要嘗試,證明了在云端執(zhí)行算法來構建大區(qū)域地圖的執(zhí)行時間可以顯著縮短,極大地提升了機器人的性能。但其架構設計主要針對即時定位與地圖構建這一具體場景,通用性并不強。RoboEarth架構沒有考慮到在云中如何部署服務這個問題,如何提高資源的使用效率是該系統(tǒng)的難點。知識共享的機器人云平臺架構主要用于多機器人(包括異構)之間協(xié)作:包括知識共享合作、物理任務合作和計算任務合作。服務機器人云平臺總體架構用面向服務的架構(SOA)來構建機器人云服務,重在研究對云平臺服務的調度和管理。但SOA集成機制和集中式治理在系統(tǒng)需要擴展時預先確定了瓶頸,所以微服務架構似乎準備取代SOA作為占主導地位的產(chǎn)業(yè)架構。

本文按照以下三個部分展開:對機器人云平臺進行需求分析;提出一種基于ROS的機器人云平臺架構;總結與展望。

1 機器人云平臺需求分析

結合國內外現(xiàn)有的機器人云平臺架構,機器人云平臺架構設計需要從以下這些方面來考慮:

1)機器人云平臺用戶有哪些,需要提供哪些云服務。機器人云平臺適用對象有機器人生產(chǎn)廠家和機器人用戶:

對于機器人生產(chǎn)廠家來說,需要通過機器人云平臺云服務來實現(xiàn)產(chǎn)品的優(yōu)化設計,達到經(jīng)濟效益的增長的目的。應用數(shù)據(jù)分析、數(shù)據(jù)挖掘技術,主動生成產(chǎn)品分析報告和用戶畫像并推送給用戶,從而為用戶提供遠程數(shù)據(jù)監(jiān)測、遠程控制與參數(shù)配置、遠程維護等通用服務。通過對機器人運行數(shù)據(jù)上傳到云平臺,對日志文件及系統(tǒng)故障剖析,在產(chǎn)品設計及運行上對機器人出現(xiàn)的常見故障進行技術性的改進。建立機器人大數(shù)據(jù)分析和故障預測模型,預測機器人何時會出現(xiàn)運行方面的問題,避免因為意外停機而造成機器人任務的終止。實現(xiàn)機器人產(chǎn)品設計優(yōu)化,提供故障預測與診斷、全生命周期監(jiān)控、遠程維護和健康管理服務等增值服務。

對于機器人用戶來說,需要利用機器人云平臺的提供的開發(fā)環(huán)境研究機器人的應用創(chuàng)新并進行實施驗證。通過使用機器人云平臺的大數(shù)據(jù)分析以及數(shù)據(jù)挖掘套件,研究機器人的應用創(chuàng)新。對機器人進行建模,提出機器人領域大數(shù)據(jù)解決方案,并進行實驗驗證。還要為用戶提供測試與調試、售后管理和預測性維護等專用 服務。

2)機器人云平臺如何實現(xiàn)虛擬化。云平臺即“平臺上云”,又稱為硬件虛擬化,是將很多臺計算機的物理硬件資源,予以抽象、轉換后呈現(xiàn)出來并可供分割、組合為一個或多個計算機配置環(huán)境[1]。由此,打破實體構造間的不能分割的妨礙,使用戶能夠比原來的配置更好的形式來使用這些計算機硬件資源[2~4]。虛擬化是完成硬件資源池化的一種方式,衍生出了很多種開源或商業(yè)的工具,例如vmware軟件中的exsi技術等。本文用OpenStack將機器人云平臺虛擬化,它是一個大規(guī)??缮炜s的完全分布式的,由Rackspace和NASA發(fā)起,Apache許可授權的開源云操作系統(tǒng)[5]。旨在幫助企業(yè)或個人能夠簡單的部署和大規(guī)模擴展云計算服務來滿足公共或私有云的需求。OpenStack是建立在各種虛擬化軟件上的管理服務總線,提供了大量的基于http/https的REST(Representational State Transfer)API[6]去管理計算資源。云主要為遠程環(huán)境中的終端用戶提供計算功能,在遠程環(huán)境中,實際的軟件作為服務運行在可靠的、可伸縮的服務器上,而不需要在每個用戶的計算機上部署。OpenStack為部署虛擬機(VMs)和其他實例提供了便利,這些實例處理管理云環(huán)境的不同任務。它提供了非常容易的水平擴展,這意味著可以方便地同時在云中運行更多的虛擬機,為更多用戶提供Iaas服務。

3)機器人與云平臺如何交互。統(tǒng)一的數(shù)據(jù)交換規(guī)范有利于實現(xiàn)云服務平臺與機器人快速對接,保證數(shù)據(jù)實時動態(tài)匹配,減少不兼容帶來的資源浪費等。機器人云平臺定義的接口只能處理特定格式的數(shù)據(jù),輸入接口需要將異構數(shù)據(jù)轉換格式。早期是通過網(wǎng)關將機器人連接到廣域網(wǎng),在處理上傳和下載數(shù)據(jù)時對數(shù)據(jù)格式進行轉換來實現(xiàn)機器人與云服務平臺的互聯(lián)互通。數(shù)據(jù)上傳下載前必須先進行預處理,但數(shù)據(jù)交換的魯棒性和實時性對從一種形式到另一種數(shù)據(jù)格式的轉換有很大的影響[7]。本文采用ROS通訊機制來實現(xiàn)機器人與云平臺之間的交互。

4)ROS功能軟件包如何快速部署與如何實現(xiàn)接口服務化的支持?,F(xiàn)代機器人控制系統(tǒng)通常邏輯上設計為基于組件的分布式系統(tǒng),每個單元能夠抽象一些硬件部分或功能,并向其余系統(tǒng)公開一個標準接口。構建、運行和交付復雜的ROS應用程序和服務對于非專業(yè)人士來說可能是一項艱巨的任務。軟件行業(yè)初期,程序員大多編程不規(guī)范、代碼沒有模塊化,都有著可靠性不高、維護成本高和擴展性不好的問題。企業(yè)應用程序的不斷增長的復雜性,以及變更和進化管理帶來了SOA(面向服務)體系結構的興起。但SOA體系結構在系統(tǒng)的擴展性上存在瓶頸,微服務架構是將應用程序拆分為一些小服務部署在平臺中,正成為一種更為開發(fā)人員所接受的服務封裝方法。

2 基于ROS機器人云平臺系統(tǒng)架構

本文提出一種基于ROS的機器人云服務平臺架構,根據(jù)功能層次分為基礎層、平臺層和服務層三個層次,如圖1所示。

2.1 基礎層

基礎層是為機器人云平臺提供基礎設施資源的物理硬件層次,包括服務器、存儲和網(wǎng)絡資源等。云是基于存儲在由網(wǎng)絡工程師運營的數(shù)據(jù)中心中的物理計算硬件(服務器,節(jié)點,PDU,刀片,管理程序,冷卻設備等)?;A層可基于公有云IaaS層,也可自建私有云,為用戶提供Iaas服務,所要解決的是IT資源的虛擬化和自動化管理問題。

公有云是云提供商用大量服務器虛擬化后組成的基礎設施,作為計價服務提供給客戶。云提供商提供即用即付的彈性資源如CPU,內存,磁盤和網(wǎng)絡帶寬,用戶能低成本獲得所需的硬件資源,按需租用相應的計算能力、存儲容量和網(wǎng)絡帶寬,而且省去了硬件運維方面的成本[8~10],大大降低了用戶在購買硬件上的花費。云提供商給用戶按需提供硬件資源,可用于開發(fā)、運行和測試機器人應用程序。私有云是用戶自己構建云,可以滿足硬件的彈性定制。

基于R O S 的機器人云服務平臺基礎層采用OpenStack開源云平管理系統(tǒng)將物理服務器、存儲設備以及網(wǎng)絡資源進行整合并虛擬化,從而完成資源的動態(tài)分配和實現(xiàn)平臺的水平擴展達到硬件的定制和靈活管理的目的,為整個機器人云平臺提供Iaas服務。

2.2 平臺層

平臺層是用于促進用戶應用開發(fā)、部署的中間件云服務,為機器人軟件程序提供開發(fā)、測試和運行環(huán)境的層次。機器人開發(fā)者使用云的平臺層來創(chuàng)建應用程序,構建軟件和Web工具。

基于ROS的機器人云平臺預裝平臺通用組件和機器人通用組件,提供在云計算環(huán)境中開發(fā)、測試、運行和管理應用服務所需的基本功能。組件是一種可以動態(tài)地從網(wǎng)絡中添加或刪除的軟件對象,它通過一種中立的、獨立于編程語言的內部接口提供服務。

1)平臺通用組件

平臺層以平臺軟件為核心,提供動態(tài)負載、并行調度、數(shù)據(jù)檢索、數(shù)據(jù)挖掘等通用組件。

2)機器人通用組件

平臺層在ROS軟件框架的基礎上將ROS代碼進行二次開發(fā)部署成機器人通用組件。ROS封裝好了機器人的底層硬件,提供了一系列接口,并且自帶一系列開箱即用的默認軟件功能包,包括機器人仿真和可視化工具、自主建圖與定位導航算法、軌跡生成算法、反饋控制律、設備運動學、進程間通信支持、運動估計算法、3D點云解釋、坐標轉換tf庫、機器視覺開源庫OpenCV和OpenNI等,以及使用Dijkstra和*算法實現(xiàn)ALCL定位和最短路徑規(guī)劃等流行機器人控制算法[11]?;赗OS代碼模塊化、軟件復用性高和擴展性強的特點,可以利用GitHub中共享的代碼進行二次開發(fā)打包部署在平臺層。平臺層基于ROS開發(fā)人臉、表情識別,場景識別與理解,定位與導航,語音交互,行為識別、動作體感交互和機器人自主推理、決策與規(guī)劃等軟件組件。

在機器人軟件開發(fā)過程中,開發(fā)人員都要浪費很多時間重復構建開發(fā)環(huán)境,造成了很多重復技術性研究。開發(fā)、測試好機器人應用程序后,將機器人應用程序部署在平臺上既困難又耗時,大大浪費人力成本。所以平臺層還提供用于開發(fā)機器人應用程序的集成開發(fā)環(huán)境。

2.3 服務層

服務層是將資源抽象和虛擬化封裝成服務部署在云平臺上,以提供軟件的模式(例如提供SDK或API)的方式為用戶提供服務,是 云的最頂層。它們允許在多租戶環(huán)境中交付軟件和業(yè)務流程。用戶使用存儲在位于世界各地的數(shù)據(jù)中心的Web服務器中的任何基于云的軟件時,都是在訪問服務層。由服務提供商負責在機器人云平臺上部署軟件并維護好版本,用戶只需接入互聯(lián)網(wǎng),就能隨時隨地使用部署在云上的應用服務。Github就是SaaS的一個很好的例子,它們隱藏了軟件的基本細節(jié),只是提供了一個在系統(tǒng)上工作的Web界面。在幕后,可以輕松更改軟件版本。

通過對機器人進行資源服務化封裝,在平臺中構建機器人的云端數(shù)字孿生,為業(yè)務應用提供抽象世界與現(xiàn)實世界的聯(lián)接,提供不同層次的機器人云服務。機器人生產(chǎn)廠家可基于機器人云平臺,開發(fā)符合自身需要的監(jiān)控、分析系統(tǒng),為市場售后、研發(fā)等環(huán)節(jié)提供指引。提供機器人全生命周期監(jiān)控、遠程控制與參數(shù)配置、遠程數(shù)據(jù)監(jiān)測、數(shù)據(jù)追溯、健康狀況分析、健康管理、遠程維護等服務。機器人用戶將機器人接入云平臺,使用所提供的平臺服務。機器人云平臺主要為機器人用戶提供數(shù)據(jù)查詢、可視化交互、預測性維護、測試與調試等云服務。通過Web界面在機器人云平臺中做仿真測試,方便可視化。

3 結語

本文提出的基于ROS的機器人云服務平臺架構根據(jù)功能層次分為基礎層、平臺層和服務層三個層次,能夠為搭建機器人云平臺提供參考;機器人云平臺能夠解決機器人開發(fā)人員在開發(fā)過程中需要重復構建開發(fā)環(huán)境和部署機器人軟件服務的問題,為機器人程序的開發(fā)提供便利。

猜你喜歡
虛擬化應用程序組件
無人機智能巡檢在光伏電站組件診斷中的應用
一種嵌入式軟件組件更新方法的研究與實現(xiàn)
U盾外殼組件注塑模具設計
刪除Win10中自帶的應用程序
基于OpenStack虛擬化網(wǎng)絡管理平臺的設計與實現(xiàn)
谷歌禁止加密貨幣應用程序
對基于Docker的虛擬化技術的幾點探討
淺析虛擬化技術的安全保障
H3C CAS 云計算管理平臺上虛擬化安全防護的實現(xiàn)
組件軟件工程的開發(fā)研究