《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于JAVA實現Web環境下移動機器人遙操作

基于JAVA實現Web環境下移動機器人遙操作

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

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

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

利用JNI(Java本地方法實現),可以使Java和C無縫結合,既發揮了Java開發網絡程序的優勢,又克服了java對底層不太支持的弱點,從而實現了對移動機器人的控制。?

??? 本文基于J2EE和Web Service技術的跨平臺、跨編程語言、易擴展和易維護的軟件結構,利用SOAP、Struts、JNI和J2EE組件技術以及流媒體等相關技術,來實現移動機器人的遠程監控與操作。?

1.?核心架構?

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

??? 基于這種平臺架構,來進行機器人遙操作網站開發,首先,用戶通過瀏覽器來訪問機器人遙操作網站,由服務器中用戶驗證EJB進行身份驗證,當客戶獲得控制權后,即可通過接收發送指令EJB來調用機器人控制的Web服務,來實現機器人控制,同時,機器人控制器向服務器返回環境數據,客戶通過訪問服務器,再來獲得這些數據。

2? 系統具體實現

2.1?服務器端實現

Struts是一種 MVC 實現,它將 Servlet 2.2 和 JSP 1.1 標記(屬于 J2EE 規范)用作實現的一部分。利用Struts結構,使得系統更容易維護,程序員的分工更明確。?

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

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

2.2 服務器與控制器之間的通信實現?

服務器與機器人控制器分布于局域網的不同機器上,構成分布式機器人系統。本系統中,利用SOAP,實現分布式控制。?

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

2.2.1 SOAP實現方法

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

??

以利用其他語言實現服務器與機器人控制器之?

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

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

的執行流程。?

利用SOAP實現步驟:?

①本系統使用的軟件環境是ApacheSoap-2_3_1、?

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

②在配置軟件環境時,首先,注意要將?

xercesImpl.jar和xmlParserAPIs.jar兩個

包放在Classpath環境變量中的前面,避免?

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

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

④利用EJB組件技術編寫客戶程序,通過Web服務的相關信息,調用Web服務,實現與機器人控制器遠程通訊。?

2.3 本地控制系統實現

系統以本實驗室進行863項目的自引導車為實驗對象。該自引導車為四輪結構,其兩個后輪為驅動輪。機器人控制器通過一塊HY6050數模轉換卡,然后通過驅動電路,來控制機器人。同時,控制器接收由下位機傳送到串口的環境數據。?

Java語言是進行網絡編程的絕好工具,但是對于訪問硬件設備,卻不是它的強項,相比之下,C語言在這方面的功能是非常強大的。這里,我們利用Java本地接口JNI來調用C語言程序進行機器的控制和環境數據的采集,具體實現方法如下:?

①設計一個Java類,對要使用的方法進行Native聲明。?

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

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

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

2.4 流媒體視頻監控實現?

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

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

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

③頁面設計,將媒體播放器嵌入網頁,輸入服務器URL,就可以進行流媒體監控了。?

2.5 控制平臺?

整個系統由視頻監控中心、控制中心和超聲波數據顯示中心組成,客戶通過控制中心向機器人控制器發送控制指令,通過視頻監控中心監控機器人現在的狀態,利用超聲波數據來判斷機器人現在的橫向位置與位姿。系統的控制中心見圖3。

3 結論?

(1)本文進行了移動機器人遠程監控系統研究,開發出完整的、可操作的遠程移動機器人監控系統,在局域網和校園網中進行了測試,可以實現機器人的遠程監控操作。?

(2)利用EJB組件技術,開發出各種功能模塊組件,增強系統的可移植性和應用性,實現一處開發,處處可用。?

(3)利用Web Service技術,增強了系統的可擴展性、跨系統和語言平臺的特性,使得各種技術可以組合在一起進行工作。?

(4)JNI技術的應用實現了java程序與機器人現有控制程序間的無縫連接。?

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

參考文獻 ?

[1] 任昊星,翁海華,楊楊,陳堅.基于Web的機器人遙操作的研究與實現.計算機工程,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的移動機器人控制系統研究及java實現.同濟大學學報,2002?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产毛片一区二区三区精品 | 四虎影视免费永久在线观看 | 99re99| 狠狠久久久久久亚洲综合网 | 国产成人精品午夜 | 六月丁香婷婷色狠狠久久 | 狠狠干夜夜爽 | 婷婷成人丁香五月综合激情 | 免费观看毛片网站 | 国产精品久久久久久永久牛牛 | 视频一区欧美 | 国产福利在线观看永久视频 | 奇米影视第四影院在线观看 | 国产精品1页 | 四虎国产在线观看 | 国产高清a毛片在线看 | 非会员体验60秒试看福利区 | 久久久久久亚洲精品中文字幕 | 丁香五月缴情综合网 | 精品一区二区三区三区 | 久久婷婷成人综合色 | 久久综合九色综合欧美播 | 免费黄色在线视频观看 | 国产成人精视频在线观看免费 | 婷婷激情在线视频 | 黄色在线观看www | 国产精品九九免费视频 | 韩国迷人的保姆 | 国产免费播放一区二区三区 | 亚洲国产天堂在线观看 | 久久riav国产精品 | 人人艹人人爽 | 久青草国产免费观看 | 斗破苍穹扑飞漫画 | 久久综合给会久久狠狠狠 | 成人丁香婷婷 | 国产精品久久久久久久久久免费 | 久久免费视频一区 | 久久精品免费全国观看国产 | 男女免费视频网站 | 国产伦久视频免费观看视频 |