欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種云機器人系統(tǒng)及實現(xiàn)方法與流程

文檔序號:12135407閱讀:190來源:國知局
一種云機器人系統(tǒng)及實現(xiàn)方法與流程

本發(fā)明涉及云機器人技術(shù)領(lǐng)域,尤其涉及一種云機器人系統(tǒng)及實現(xiàn)方法。



背景技術(shù):

隨著機器人技術(shù)的發(fā)展,機器人的用途越來越廣。同時,機器人的概念也越來越寬,已從狹義的機器人,開始向機器人技術(shù)擴展。傳統(tǒng)機器人在處理需求大量數(shù)據(jù)和高計算量的任務(wù)時,由于其自身計算能力、存儲能力等方面的限制,表現(xiàn)通常不夠理想。當(dāng)今時代是云計算的時代,只有把機器人和云計算結(jié)合起來,才能順應(yīng)時代發(fā)展的潮流,才能突破傳統(tǒng)機器人發(fā)展中遇到的瓶頸——計算能力、存儲能力、學(xué)習(xí)能力,使機器人發(fā)展到一個全新的時代,即云機器人時代。云機器人可以按需得到資源(計算資源、存儲資源等),可以更便利地共享信息。

云機器人就是云計算(Cloud Computing)與機器人學(xué)的結(jié)合,機器人本身不需要存儲所有資料信息或具備超強的計算能力,只是在需要的時候可以連接相關(guān)服務(wù)器并獲得所需信息。云機器人不僅可以卸載復(fù)雜的計算任務(wù)到云端,還可以接收海量數(shù)據(jù),并分享信息和技能。而目前,對于云計算的定義有很多種說法。廣為接受的是美國國家標準與技術(shù)研究院(NIST)的定義:云計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問,進入可配置的計算資源共享池,這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進行很少的交互。

云機器人的研究目前尚處于起步階段。部分研究機構(gòu)已經(jīng)開始從實驗仿真和驗證平臺的角度研究云機器人,也有一些大型科技公司開始試用云機器人。RoboEarth是一個由荷蘭Eindhoven大學(xué)主導(dǎo)的歐盟項目,該項目的主要目標是開發(fā)一個“機器人萬維網(wǎng)”,它可以被看做是一個網(wǎng)上的大型數(shù)據(jù)庫,在這個數(shù)據(jù)庫中機器人可以共享通用對象、環(huán)境以及其他各種任務(wù)的數(shù)據(jù)庫。歐洲的科學(xué)家們于2013年推出了Raptuya——個幫助機器人應(yīng)付人類世界的在線信息數(shù)據(jù)庫,Raptuya的推出是RoboEarth項目的第一步。該項目旨在讓機器人可以下載互聯(lián)網(wǎng)上的信息,以學(xué)習(xí)它們的環(huán)境、軟件組件、對象、圖像以及如何執(zhí)行某些任務(wù)。

DavinCi是由新加坡ASORO實驗室承擔(dān)的云機器人項目,以提供認知機器人服務(wù)為目標。DAvinCi是一個PaaS系統(tǒng),它主要的組成部分為分布式ROS架構(gòu)、Hadoop分布式文件系統(tǒng)(HDFS)和Map/Reduce框架。在Map/Reduce中實現(xiàn)FastSLAM算法,地圖通過SaaS與環(huán)境中的其他機器人共享。該系統(tǒng)目前處于早期發(fā)展階段,它在減少地圖構(gòu)建和探索時間以及減少額外的傳感器方面取得了一定的成功。

Google公司的無人駕駛汽車原型于2014年5月28日發(fā)布。該車上除了具有各種先進的傳感器外,最重要的是其收集到的所有數(shù)據(jù)都要發(fā)送到它的數(shù)據(jù)中心即云上,并通過云上的海量數(shù)據(jù)和超強計算能力,來保證其行駛的安全與準確。

與國外相比,國內(nèi)對云機器人領(lǐng)域的研究并不多。北京理工大學(xué)的王全玉等人將云計算的理念應(yīng)用到機器人遙操作中,設(shè)計了機器人云操作平臺。浙江大學(xué)的姚敏教授及其團隊研究了異構(gòu)多機器人系統(tǒng)協(xié)同技術(shù),以SOA的方式設(shè)計實現(xiàn)異構(gòu)機器人的服務(wù),重點放在服務(wù)的構(gòu)造和重構(gòu)算法。清華大學(xué)的都志輝教授、浙江大學(xué)的胡華梁教授與美國亞利桑那州立大學(xué)的陳以農(nóng)教授合作,利用微軟的機器人開發(fā)工具MRDS和可視化編程語言VPL(Visual Programming Language)實現(xiàn)了若干RaaS原型系統(tǒng)。

盡管國內(nèi)外在云機器人領(lǐng)域取得了一系列成果,但是如何才能使傳統(tǒng)機器人高效地變?yōu)樵茩C器人,這一問題已成為全世界專家技術(shù)人員新的挑戰(zhàn)。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種云機器人系統(tǒng)及實現(xiàn)方法,能接收機器人發(fā)出的請求消息,自動創(chuàng)建配置云中虛擬資源,使機器人按需使用云中資源。

一方面,本發(fā)明提供一種云機器人系統(tǒng),包括基于RabbitMQ的消息中間件、基于JSON的消息解析器和基于OpenStack SDK的虛擬資源自動配置模塊;

基于RabbitMQ的消息中間件用于接收機器人請求消息,并根據(jù)機器人上消息生產(chǎn)者(即消息發(fā)送程序)中的隊列聲明和路由規(guī)則,將機器人請求消息存儲到不同的消息隊列,通過RabbitMQ將機器人請求消息轉(zhuǎn)發(fā)給相應(yīng)的消息消費者(即消息接收程序);

基于JSON(JavaScript Obiect Notation,一種輕量級的數(shù)據(jù)交換格式)的消息解析器用于解析RabbitMQ消息消費者接收的請求信息,得到有用信息,并將該有用信息作為虛擬資源的參數(shù)傳遞給可執(zhí)行函數(shù);所述虛擬資源的參數(shù)包括創(chuàng)建配置計算資源、存儲資源和網(wǎng)絡(luò)資源;

基于OpenStack SDK的虛擬資源自動配置模塊包括多個基于OpenStack SDK的可執(zhí)行函數(shù),用于根據(jù)基于JSON的消息解析器解析出的有用信息參數(shù),調(diào)用OpenStack API自動創(chuàng)建配置云中虛擬資源,實現(xiàn)利用該云中虛擬資源對機器人進行控制。

另一方面,本發(fā)明還提供一種云機器人實現(xiàn)方法,采用上述的云機器人系統(tǒng)實現(xiàn),包括以下步驟:

步驟1、利用基于RabbitMQ的消息中間件接收機器人發(fā)出的請求消息,根據(jù)機器人上消息生產(chǎn)者(即消息發(fā)送程序)中的隊列聲明和路由規(guī)則,將機器人請求消息存儲到不同的消息隊列,通過RabbitMQ將機器人請求消息轉(zhuǎn)發(fā)給相應(yīng)的消息消費者(即消息接收程序),具體方法為:

步驟1.1、導(dǎo)入消息生產(chǎn)者相應(yīng)的RabbitMQ的客戶端模塊;

步驟1.2、根據(jù)IP地址、端口號、虛擬主機名、用戶名和密碼建立與RabbitMQ服務(wù)器的連接;

步驟1.3、在連接內(nèi)部建立相互隔離的消息通道,消息通道內(nèi)創(chuàng)建指定名稱的隊列;

步驟1.4、指定交換器和路由鍵,將請求消息主體發(fā)送到指定的隊列中,關(guān)閉連接,等待消息消費者接收此請求消息;

步驟1.5、導(dǎo)入消息消費者相應(yīng)的RabbitMQ的客戶端模塊;

步驟1.6、根據(jù)IP地址、端口號、虛擬主機名、用戶名和密碼建立與RabbitMQ服務(wù)器的連接;

步驟1.7、在連接內(nèi)部建立相互隔離的消息通道,消息通道內(nèi)創(chuàng)建指定名稱的隊列;

步驟1.8、通過內(nèi)置的回調(diào)函數(shù)將相應(yīng)隊列上的請求消息傳遞給消息消費者,完成機器人請求消息的轉(zhuǎn)發(fā);

步驟2、利用基于JSON的消息解析器解析RabbitMQ轉(zhuǎn)發(fā)來的機器人請求消息,解析出有用信息,作為虛擬資源的參數(shù)傳遞給可執(zhí)行函數(shù),具體方法為:

步驟2.1、導(dǎo)入json模塊;

步驟2.2、將機器人請求消息載入json.loads()函數(shù);

步驟2.3、得到請求消息中鍵的列表;

步驟2.4、對鍵的列表循環(huán)解析,得到鍵值對數(shù)據(jù),即解析出的創(chuàng)建配置虛擬資源參數(shù);

步驟3、利用基于OpenStack SDK的虛擬資源自動配置模塊,根據(jù)解析器解析出的參數(shù),運行可執(zhí)行函數(shù),自動創(chuàng)建、配置云中虛擬資源,利用云中虛擬資源實現(xiàn)對機器人的復(fù)雜控制,每個可執(zhí)行函數(shù)實現(xiàn)的方法相同,具體方法為:

步驟3.1、導(dǎo)入OpenStack相應(yīng)服務(wù)的客戶端模塊,系統(tǒng)時間模塊,其中包含認證信息,聲明使用OpenStack各模塊客戶端的版本信息;

步驟3.2、判斷所述認證信息是否取得了認證,即判斷是否取得了相應(yīng)的權(quán)限,如果取得了相關(guān)認證,則運行可執(zhí)行函數(shù)主體,通過調(diào)用相應(yīng)OpenStack API,創(chuàng)建、配置相應(yīng)云中虛擬資源,執(zhí)行步驟3.3,否則,發(fā)出錯誤提示信息;

步驟3.3、根據(jù)創(chuàng)建配置的云中虛擬資源對機器人進行控制。

由上述技術(shù)方案可知,本發(fā)明的有益效果在于:本發(fā)明提供的一種云機器人系統(tǒng)及實現(xiàn)方法,系統(tǒng)結(jié)構(gòu)簡單穩(wěn)定,有良好的實際效果和較高的實用價值,所述實現(xiàn)方法能接收機器人發(fā)出的請求消息,自動創(chuàng)建配置云中虛擬資源。當(dāng)機器人需要運行不同的控制算法時,通過修改機器人請求消息,可動態(tài)調(diào)整云中的虛擬資源,實現(xiàn)機器人按需使用云中資源,是一種全新的云機器人實現(xiàn)方法,有效促進云機器人的發(fā)展。

附圖說明

圖1為本發(fā)明實施例提供的云機器人系統(tǒng)結(jié)構(gòu)框圖;

圖2為本發(fā)明實施例提供的云機器人系統(tǒng)結(jié)構(gòu)示意圖;

圖3為本發(fā)明實施例提供的云機器人實現(xiàn)方法流程圖;

圖4為本發(fā)明實施例提供的基于RabbitMQ的消息中間件消息生產(chǎn)者流程圖;

圖5為本發(fā)明實施例提供的基于JSON的消息解析器解析流程圖。

具體實施方式

下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。

一種云機器人系統(tǒng),如圖1所示,包括三部分:基于RabbitMQ的消息中間件、基于JSON的消息解析器和基于OpenStack SDK的虛擬資源自動配置模塊。

基于RabbitMQ的消息中間件用于接收機器人請求消息,并根據(jù)機器人上消息生產(chǎn)者(即消息發(fā)送程序)中的隊列聲明和路由規(guī)則,將機器人請求消息存儲到不同的消息隊列,通過RabbitMQ將機器人請求消息轉(zhuǎn)發(fā)給相應(yīng)的消息消費者(即消息接收程序)。

基于JSON的消息解析器用于解析RabbitMQ消息消費者接收的請求信息,得到有用信息,并將該有用信息作為虛擬資源的參數(shù)傳遞給可執(zhí)行函數(shù);所述虛擬資源的參數(shù)包括創(chuàng)建配置計算資源、存儲資源和網(wǎng)絡(luò)資源。

基于OpenStack SDK的虛擬資源自動配置模塊包括多個基于OpenStack SDK的可執(zhí)行函數(shù),用于根據(jù)基于JSON的消息解析器解析出的有用信息參數(shù),調(diào)用OpenStack API自動創(chuàng)建配置云中虛擬資源,利用該云中虛擬資源對機器人進行控制。

一種云機器人實現(xiàn)方法,如圖3所示,首先利用基于RabbitMQ的消息中間件接收、存儲、轉(zhuǎn)發(fā)機器人請求信息,再利用基于JSON的消息解析器解析請求消息,得到創(chuàng)建配置云中虛擬資源的參數(shù),最后基于OpenStack SDK的虛擬資源自動配置模塊根據(jù)解析出的參數(shù)信息自動創(chuàng)建配置網(wǎng)絡(luò)、虛擬機等云中資源,使虛擬機與機器人能相互連接、相互通信,進而根據(jù)云中虛擬資源對機器人進行控制。虛擬機內(nèi)部集成了Ubuntu操作系統(tǒng)和ROS(Robot Operating System),可運行相應(yīng)的機器人算法,實現(xiàn)機器人的復(fù)雜控制,本實施例中的云機器人系統(tǒng)如圖2所示。

如圖4所示,為基于RabbitMQ的消息中間件消息生產(chǎn)者流程圖。本實施例中有多個消息生產(chǎn)者(請求消息的發(fā)送程序)和消息消費者(請求消息的接收程序)。首先要在RabbitMQ服務(wù)器上創(chuàng)建虛擬主機,并設(shè)定用戶名和密碼,為之后生產(chǎn)者、消費者與服務(wù)器建立連接作準備。消息生產(chǎn)者流程如下:

(1)導(dǎo)入消息生產(chǎn)者相應(yīng)的RabbitMQ的客戶端模塊,導(dǎo)入的模塊是程序的集合,可以直接調(diào)用使用;

(2)根據(jù)IP地址、端口號、虛擬主機名、用戶名和密碼建立與RabbitMQ服務(wù)器的連接;

(3)在連接內(nèi)部建立相互隔離的消息通道,在消息通道內(nèi)創(chuàng)建指定名稱的隊列;

(4)指定交換器和路由鍵,將請求消息主體發(fā)送到指定的隊列中;

(5)關(guān)閉連接。

消息生產(chǎn)者通過上面的流程將消息發(fā)送至指定的隊列上,等待消息消費者接收此消息。

本實施例中,消息消費者的流程與消息生產(chǎn)者大致相同,在導(dǎo)入相應(yīng)模塊后,通過IP地址、端口號、虛擬主機名、用戶名和密碼與RabbitMQ服務(wù)器建立連接,創(chuàng)建通道,指定名稱創(chuàng)建隊列,通過內(nèi)置的回調(diào)函數(shù)callback()函數(shù)將該隊列上的消息被傳遞給此消費者,完成消息的轉(zhuǎn)發(fā)。消息消費者要一直等待請求消息的到來,所以不需要關(guān)閉連接等操作,具體實施中,按CTRL+C鍵可以人為強制關(guān)閉連接。

如圖5所示,為基于JSON的消息解析器進行解析的流程圖,其流程如下:

(1)導(dǎo)入json模塊;

(2)將機器人請求消息載入json.loads()函數(shù);

(3)得到請求消息中鍵的列表;

(4)由鍵的列表進行循環(huán)解析,得到鍵值對數(shù)據(jù),即解析出的創(chuàng)建配置虛擬資源參數(shù)。

本實施例中,基于OpenStack SDK的虛擬資源自動配置模塊主要包含5個可執(zhí)行函數(shù),涵蓋了對云平臺基本的操作,其名稱、所需參數(shù)和對應(yīng)的功能如表1所示.

表1可執(zhí)行函數(shù)信息表

每個可執(zhí)行函數(shù)實現(xiàn)的總體流程大致類似:先導(dǎo)入相應(yīng)模塊,包含認證信息,聲明使用OpenStack各模塊客戶端的版本信息等,其次判斷是否取得了認證,即判斷是否取得了相應(yīng)的權(quán)限,如果取得了相關(guān)認證,則執(zhí)行函數(shù)主體,通過調(diào)用相應(yīng)OpenStack API,創(chuàng)建配置相應(yīng)虛擬資源,否則發(fā)出錯誤提示信息。

最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明權(quán)利要求所限定的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
介休市| 林甸县| 顺平县| 株洲县| 读书| 监利县| 奉贤区| 桐梓县| 无为县| 内乡县| 海安县| 博爱县| 盐边县| 屏东市| 黎平县| 新津县| 乐平市| 甘南县| 文登市| 行唐县| 修水县| 金湖县| 阿拉善盟| 商洛市| 深泽县| 高雄县| 塔河县| 遂溪县| 资中县| 澄江县| 德庆县| 沁水县| SHOW| 昌吉市| 安阳县| 彰化市| 遵化市| 洪雅县| 衡阳县| 鄱阳县| 开化县|