《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于JAVA實現(xiàn)Web環(huán)境下移動機(jī)器人遙操作

基于JAVA實現(xiàn)Web環(huán)境下移動機(jī)器人遙操作

2009-01-05
作者:馮大濱,曹作良

??? 基于Web的移動機(jī)器人遙操作就是通過Internet訪問連接移動機(jī)器人的Web站點,來遠(yuǎn)程控制機(jī)器人[1]。其最早出現(xiàn)于1994年[2][3],著名的有瑞士聯(lián)邦工學(xué)院的Khep On The Web[4],美國Carnegia Mellon大學(xué)的Xavier及NASA的火星探路者M(jìn)ars Polar Lander等。?

??? 隨著Internet發(fā)展,Java作為一種客戶/服務(wù)器技術(shù)而倍受矚目[5]。在Java Applet之后,先后出現(xiàn)JSP、Servlet和EJB等J2EE組件技術(shù),利用這些技術(shù),可實現(xiàn)服務(wù)器業(yè)務(wù)邏輯的組件開發(fā),從而提高程序員的開發(fā)效率。在此基礎(chǔ)上,結(jié)合Web服務(wù)技術(shù),不僅能夠克服防火墻對通訊協(xié)議的限制,而且還能增強(qiáng)整個系統(tǒng)的擴(kuò)展性和跨語言平臺性。?

利用JNI(Java本地方法實現(xiàn)),可以使Java和C無縫結(jié)合,既發(fā)揮了Java開發(fā)網(wǎng)絡(luò)程序的優(yōu)勢,又克服了java對底層不太支持的弱點,從而實現(xiàn)了對移動機(jī)器人的控制。?

??? 本文基于J2EE和Web Service技術(shù)的跨平臺、跨編程語言、易擴(kuò)展和易維護(hù)的軟件結(jié)構(gòu),利用SOAP、Struts、JNI和J2EE組件技術(shù)以及流媒體等相關(guān)技術(shù),來實現(xiàn)移動機(jī)器人的遠(yuǎn)程監(jiān)控與操作。?

1.?核心架構(gòu)?

??? 從表面看,WebService就是一個應(yīng)用程序,向外界暴露出一個能夠通過Web進(jìn)行調(diào)用的API,實質(zhì)上,它是建立可互操作的分布式應(yīng)用程序的新平臺。這里,利用J2EE實現(xiàn)Web Service,使整個架構(gòu)既具有了跨平臺性和可移植性,又具有了易擴(kuò)展性和跨語言平臺性,平臺結(jié)構(gòu)見圖1。?

??? 基于這種平臺架構(gòu),來進(jìn)行機(jī)器人遙操作網(wǎng)站開發(fā),首先,用戶通過瀏覽器來訪問機(jī)器人遙操作網(wǎng)站,由服務(wù)器中用戶驗證EJB進(jìn)行身份驗證,當(dāng)客戶獲得控制權(quán)后,即可通過接收發(fā)送指令EJB來調(diào)用機(jī)器人控制的Web服務(wù),來實現(xiàn)機(jī)器人控制,同時,機(jī)器人控制器向服務(wù)器返回環(huán)境數(shù)據(jù),客戶通過訪問服務(wù)器,再來獲得這些數(shù)據(jù)。

2? 系統(tǒng)具體實現(xiàn)

2.1?服務(wù)器端實現(xiàn)

Struts是一種 MVC 實現(xiàn),它將 Servlet 2.2 和 JSP 1.1 標(biāo)記(屬于 J2EE 規(guī)范)用作實現(xiàn)的一部分。利用Struts結(jié)構(gòu),使得系統(tǒng)更容易維護(hù),程序員的分工更明確。?

利用JSP與客戶進(jìn)行交互,獲取客戶的個人信息和發(fā)出的指令信息,服務(wù)器要對客戶信息和指令信息進(jìn)行驗證,然后通過服務(wù)器向機(jī)器人控制器發(fā)送指令。與此同時,服務(wù)器還要接收從機(jī)器人控制器上傳的環(huán)境數(shù)據(jù)。?

利用SessionBean來實現(xiàn)所提及的業(yè)務(wù)邏輯,如身份驗證EJB、指令驗證EJB、發(fā)送指令EJB和接收環(huán)境信息EJB等。同時,利用EntityBean實現(xiàn)對數(shù)據(jù)庫的操作,完成數(shù)據(jù)的檢索與存儲。EJB組件的可移植性,使無需修改代碼就可以實現(xiàn)性能的提升成為可能,從而提高了開發(fā)人員的效率。?

2.2 服務(wù)器與控制器之間的通信實現(xiàn)?

服務(wù)器與機(jī)器人控制器分布于局域網(wǎng)的不同機(jī)器上,構(gòu)成分布式機(jī)器人系統(tǒng)。本系統(tǒng)中,利用SOAP,實現(xiàn)分布式控制。?

在SOAP出現(xiàn)之前,我利用Socket、RMI和CORBA來實現(xiàn)服務(wù)器與機(jī)器人控制器之間的通訊。當(dāng)客戶端與服務(wù)器之間使用Socket進(jìn)行通信的時候,就需要建立自己的一套協(xié)議,只有在此基礎(chǔ)上,才可以成功的實現(xiàn)通訊,所以這種方法的擴(kuò)展性很差。RMI是一種分布式對象模式,但是它只能局限于Java語言。而CORBA把實現(xiàn)“對象請求代理”(ORB)的協(xié)議的任務(wù)留給了供應(yīng)商,導(dǎo)致大部分CORBA1.0 ORB不能互操作。CORBA2.0引入了“ORB間協(xié)議”(IIOP),但是有時候,防火墻會阻止ORB通信。?

2.2.1 SOAP實現(xiàn)方法

SOAP是一開放協(xié)議,采用HTTP作為底層通訊協(xié)議,RPC作為一致性的調(diào)用途徑,XML作為數(shù)據(jù)傳輸格式,允許服務(wù)提供者和客戶經(jīng)過防火墻在Internet上進(jìn)行通訊交互。利用SOAP可以實現(xiàn)平臺與環(huán)境的無關(guān)性和獨立性,這樣,即使不是Java程序員,也可

??

以利用其他語言實現(xiàn)服務(wù)器與機(jī)器人控制器之?

間的通訊。從而,可以使不同的程序員之間進(jìn)行?

清晰的分工,提高軟件開發(fā)的效率。圖2為SOAP?

的執(zhí)行流程。?

利用SOAP實現(xiàn)步驟:?

①本系統(tǒng)使用的軟件環(huán)境是ApacheSoap-2_3_1、?

Apache Jakarta Tomcat4.0和Xerces-J-bin.2.4.0。?

②在配置軟件環(huán)境時,首先,注意要將?

xercesImpl.jar和xmlParserAPIs.jar兩個

包放在Classpath環(huán)境變量中的前面,避免?

發(fā)現(xiàn)別的XML解析文件,從而無法正確工作。其次,在Apache Soap2.0以上的版本,需要把a(bǔ)ctivation.jar和mail.jar放在Classpath環(huán)境變量中。最后,由于主Tomcat 腳本錯誤地將自己的類插入到現(xiàn)有類路徑之前,從而導(dǎo)致前面提到的順序錯誤的xercesImpl.jar和xmlParserAPIs.jar問題,所以要修改Tomcat內(nèi)部環(huán)境變量的設(shè)置。?????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????? 圖2 SOAP執(zhí)行流程

③編寫作為Web服務(wù)的Java類和方法,通過在瀏覽器中輸入URL http://localhost:8080/soap,進(jìn)入友好的部署界面,輸入Web服務(wù)的相關(guān)信息,點擊Deploy,就可以將其發(fā)布到網(wǎng)絡(luò)上了。?

④利用EJB組件技術(shù)編寫客戶程序,通過Web服務(wù)的相關(guān)信息,調(diào)用Web服務(wù),實現(xiàn)與機(jī)器人控制器遠(yuǎn)程通訊。?

2.3 本地控制系統(tǒng)實現(xiàn)

系統(tǒng)以本實驗室進(jìn)行863項目的自引導(dǎo)車為實驗對象。該自引導(dǎo)車為四輪結(jié)構(gòu),其兩個后輪為驅(qū)動輪。機(jī)器人控制器通過一塊HY6050數(shù)模轉(zhuǎn)換卡,然后通過驅(qū)動電路,來控制機(jī)器人。同時,控制器接收由下位機(jī)傳送到串口的環(huán)境數(shù)據(jù)。?

Java語言是進(jìn)行網(wǎng)絡(luò)編程的絕好工具,但是對于訪問硬件設(shè)備,卻不是它的強(qiáng)項,相比之下,C語言在這方面的功能是非常強(qiáng)大的。這里,我們利用Java本地接口JNI來調(diào)用C語言程序進(jìn)行機(jī)器的控制和環(huán)境數(shù)據(jù)的采集,具體實現(xiàn)方法如下:?

①設(shè)計一個Java類,對要使用的方法進(jìn)行Native聲明。?

②編譯源文件,然后通過對.class文件使用javah使用程序來創(chuàng)建C函數(shù)原型。在此過程中,將生成一個.h文件,其中包括了本地方法原型。?

③以C語言實現(xiàn)本地方法,在C語言文件中需要引入上一步驟生成的.h文件,然后可以利用Microsoft Visual C++編譯器來編譯C源文件來創(chuàng)建動態(tài)鏈接庫。?

④創(chuàng)建類的實例,即可調(diào)用本地方法。在用Microsoft Visual C++編譯器的時候,C語言中,訪問硬件地址的命令為outp和inp,而在VC++中,是_outp和_inp,所以要把C語言程序中的命令形式改為VC++中的命令形式,方可編譯成功。?

2.4 流媒體視頻監(jiān)控實現(xiàn)?

流媒體就是應(yīng)用流技術(shù)在網(wǎng)絡(luò)上傳輸多媒體文件,而流技術(shù)就是把連續(xù)影像和聲音信息經(jīng)過壓縮處理后放到網(wǎng)站服務(wù)器上,讓用戶一邊下載一邊觀看,而不需要等整個壓縮文件下載到自己機(jī)器后才可以觀看的網(wǎng)絡(luò)傳輸技術(shù)。具體實現(xiàn)如下:?

①安裝微軟的媒體服務(wù)器軟件,編碼器軟件。?

②啟動編碼器軟件,選擇編碼形式、傳輸速度、輸出端口。?

③頁面設(shè)計,將媒體播放器嵌入網(wǎng)頁,輸入服務(wù)器URL,就可以進(jìn)行流媒體監(jiān)控了。?

2.5 控制平臺?

整個系統(tǒng)由視頻監(jiān)控中心、控制中心和超聲波數(shù)據(jù)顯示中心組成,客戶通過控制中心向機(jī)器人控制器發(fā)送控制指令,通過視頻監(jiān)控中心監(jiān)控機(jī)器人現(xiàn)在的狀態(tài),利用超聲波數(shù)據(jù)來判斷機(jī)器人現(xiàn)在的橫向位置與位姿。系統(tǒng)的控制中心見圖3。

3 結(jié)論?

(1)本文進(jìn)行了移動機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng)研究,開發(fā)出完整的、可操作的遠(yuǎn)程移動機(jī)器人監(jiān)控系統(tǒng),在局域網(wǎng)和校園網(wǎng)中進(jìn)行了測試,可以實現(xiàn)機(jī)器人的遠(yuǎn)程監(jiān)控操作。?

(2)利用EJB組件技術(shù),開發(fā)出各種功能模塊組件,增強(qiáng)系統(tǒng)的可移植性和應(yīng)用性,實現(xiàn)一處開發(fā),處處可用。?

(3)利用Web Service技術(shù),增強(qiáng)了系統(tǒng)的可擴(kuò)展性、跨系統(tǒng)和語言平臺的特性,使得各種技術(shù)可以組合在一起進(jìn)行工作。?

(4)JNI技術(shù)的應(yīng)用實現(xiàn)了java程序與機(jī)器人現(xiàn)有控制程序間的無縫連接。?

(5)本文采用JSP、Servlet、JavaBean、EJB和Soap的組合實現(xiàn)分布式系統(tǒng),其中,Soap基于HTTP傳輸協(xié)議,可以越過客戶端防火墻限制。?

參考文獻(xiàn) ?

[1] 任昊星,翁海華,楊楊,陳堅.基于Web的機(jī)器人遙操作的研究與實現(xiàn).計算機(jī)工程,1999?

[2] Goldberg K, Gentner S, Sutter C, et al. The mercury project: A feasibility study for Internet robots. IEEE Robotics and Automation magazine 2000?

[3] Taylor K, Dalton B. Internet robots: A new robotics niche. IEEE Robotics and Automation magazine 2000?

[4] Saucy P, Mondada F, Open access to a mobile robot on the Internet. IEEE Robotics and Automation magazine 2000?

[5] 耿海霞,陳啟軍.基于Web的移動機(jī)器人控制系統(tǒng)研究及java實現(xiàn).同濟(jì)大學(xué)學(xué)報,2002?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
91久久精品国产| 欧美一区二区三区婷婷月色| 香港久久久电影| 亚洲调教视频在线观看| 99国产欧美久久久精品| 亚洲人永久免费| 亚洲激情第一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲精品少妇| 亚洲精品人人| 99精品久久免费看蜜臀剧情介绍| 亚洲三级免费观看| 亚洲另类自拍| 99热免费精品| 亚洲午夜精品网| 亚洲一区成人| 午夜精品亚洲| 欧美在线国产| 亚洲国产成人在线| 亚洲激情视频在线播放| 亚洲美女在线一区| 在线综合视频| 亚洲一区二区在| 亚洲自拍高清| 欧美一区二区高清在线观看| 久久国产99| 久久久久久亚洲精品杨幂换脸 | 亚洲综合视频1区| 性欧美videos另类喷潮| 欧美一区二区三区播放老司机| 欧美一区二视频| 久久久xxx| 久久久中精品2020中文| 欧美a级一区| 欧美日韩国产999| 国产精品第2页| 国产午夜精品理论片a级大结局 | 在线观看日韩av电影| 在线看一区二区| 亚洲精品激情| 中日韩在线视频| 午夜影视日本亚洲欧洲精品| 久久精品国产99| 亚洲精选一区二区| 亚洲一区二区三区乱码aⅴ| 亚洲欧美中日韩| 久久久久久网址| 欧美好吊妞视频| 国产精品久久77777| 国产偷自视频区视频一区二区| 激情久久久久久久| 亚洲欧洲一区二区在线播放| 一本色道综合亚洲| 性欧美xxxx视频在线观看| 久久精品亚洲乱码伦伦中文| 日韩视频专区| 欧美一级在线播放| 亚洲欧美视频在线观看| 久久手机免费观看| 欧美欧美在线| 国产农村妇女毛片精品久久麻豆| 激情六月综合| 一区二区三区成人精品| 欧美中文字幕| 夜夜夜久久久| 久久精品成人| 欧美日韩精品在线播放| 国产一区亚洲一区| 日韩亚洲视频在线| 久久国产精品亚洲77777| 亚洲深夜av| 久久午夜av| 国产精品a级| 激情亚洲一区二区三区四区| 一区二区三区 在线观看视| 久久国产精品免费一区| 亚洲——在线| 欧美不卡福利| 国产伦精品一区二区三区在线观看 | 欧美人成在线| 国产日韩欧美一区二区三区四区| 亚洲国产精品久久精品怡红院| 亚洲欧美精品在线| 99视频精品全部免费在线| 久久精品人人| 国产精品成人免费精品自在线观看| 激情文学综合丁香| 亚洲欧美日韩一区二区| 日韩亚洲一区二区| 久久久人成影片一区二区三区 | 国产精品久久久久天堂| 在线日韩欧美| 亚洲欧美在线免费| 亚洲午夜久久久久久久久电影院 | 日韩视频在线观看国产| 久久精品99久久香蕉国产色戒| 亚洲自拍偷拍色片视频| 欧美精品在线播放| 亚洲国产成人久久综合| 亚欧美中日韩视频| 亚洲在线第一页| 欧美日韩麻豆| 91久久夜色精品国产九色| 久久国产欧美| 久久国产综合精品| 国产精品免费网站在线观看| 亚洲伦理网站| 亚洲精品一区二区三区四区高清| 久久人人爽国产| 国产在线视频欧美一区二区三区| 一区二区三区欧美在线| 一区二区日本视频| 欧美 日韩 国产一区二区在线视频| 国产一区二区三区久久| 午夜精品免费在线| 欧美一区二区三区播放老司机| 国产精品久久久久久久久久免费| 99视频在线精品国自产拍免费观看 | 亚洲精品资源美女情侣酒店| 欧美专区在线播放| 国产精品久久一级| 亚洲视频在线看| 亚洲一区二区在线| 欧美视频中文字幕| 一区二区欧美视频| 亚洲一区在线观看视频 | 国产精品高清在线观看| 一本色道久久综合狠狠躁篇的优点 | 91久久亚洲| 欧美va日韩va| 亚洲人成在线观看| 亚洲剧情一区二区| 欧美久久九九| 日韩视频免费| 亚洲性视频网址| 国产精品国产三级国产普通话蜜臀 | 久久综合亚州| ●精品国产综合乱码久久久久| 久久激情视频免费观看| 久久一二三国产| 在线观看日韩www视频免费| 亚洲国产福利在线| 欧美a级大片| 亚洲乱码国产乱码精品精| 亚洲一区二区精品在线| 国产精品久久精品日日| 午夜精品av| 久久久久久精| 在线欧美不卡| 一区二区av在线| 国产精品s色| 亚洲欧美日韩直播| 裸体丰满少妇做受久久99精品| 亚洲国产电影| 99国产一区二区三精品乱码| 欧美日韩伦理在线| 午夜精品久久久久久| 久久久欧美精品sm网站| 亚洲高清在线| 亚洲一区在线直播| 国产日韩精品一区二区浪潮av| 欧美一区二区精品| 欧美+日本+国产+在线a∨观看| 91久久久在线| 亚洲欧美激情精品一区二区| 国产综合亚洲精品一区二| 亚洲精品视频免费| 国产精品久久久爽爽爽麻豆色哟哟| 性欧美大战久久久久久久免费观看| 美国成人直播| 99在线精品免费视频九九视| 欧美在线观看一区二区三区| 一区二区三区中文在线观看| 亚洲桃色在线一区| 国产亚洲综合精品| 欧美一区在线视频| 欧美另类视频在线| 午夜精品久久久久久久久久久久久| 麻豆成人在线观看| 亚洲小说欧美另类社区| 久久欧美中文字幕| 99热这里只有精品8| 久久婷婷综合激情| 日韩午夜电影av| 玖玖玖免费嫩草在线影院一区| 99亚洲视频| 免费成人在线视频网站| 亚洲一区二区三区涩| 蜜桃久久精品一区二区| 一区二区三区高清在线| 久久五月天婷婷| 亚洲午夜极品| 欧美福利一区| 欧美一级播放| 欧美午夜片在线免费观看| 久久精品国产免费看久久精品| 欧美特黄一级大片| 亚洲精品免费网站| 国内久久视频| 午夜激情一区|