亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web與V-REP的機器人遠程控制虛擬仿真平臺

        2021-11-10 05:31:28占宏王劍城
        計算技術與自動化 2021年2期
        關鍵詞:web技術遠程控制機器人

        占宏 王劍城

        關鍵詞:機器人;Web技術;遠程控制;V-REP仿真;虛擬仿真平臺

        近年來,機器人技術已逐步應用于工業(yè)制造、醫(yī)療服務、物流分揀等多個領域,不僅節(jié)省了人力大大提高了工作效率,同時也給人們的生活帶來了極大的便利。對于一些環(huán)境復雜、條件惡劣或者存在一定危險的作業(yè)場所,通常需要通過遠程控制的方式來操作機器人完成相應的任務。Internet和網(wǎng)絡通訊技術的快速發(fā)展有力促進了Web技術在機器人控制領域的應用,基于Web的機器人遠程控制方式有著界畫直觀、操作簡單的優(yōu)點,易于被人們接受,因此具有重要的研究意義和廣闊的應用前景。

        將Web應用、V-REP仿真機器人以及機器人控制技術相結合,開發(fā)了機器人遠程控制虛擬仿真平臺。該平臺中操作者通過Web瀏覽器發(fā)送相關的請求和控制命令,由Web服務器對其進行相應處理,同時建立與機器人控制服務器和圖像服務器的通訊連接,以完成對V-REP中仿真機器人的控制,并由仿真Kinect獲取相應的圖像信息傳輸至Web瀏覽器,從而實現(xiàn)基于Web的機器人遠程交互控制。此平臺的實現(xiàn)為機器人控制相關的實踐教學提供了虛擬仿真環(huán)境,同時對于地質(zhì)科考、救援等機器人遠程作業(yè)應用有一定意義。

        1平臺整體框架設計

        平臺整體框架設計如圖1所示,主要分為Web瀏覽器層(客戶端)、服務器層、仿真環(huán)境層(機器人端)三個層次,各層之間既相互獨立又相互聯(lián)系,共同實現(xiàn)控制平臺的功能。

        Web瀏覽器層即為客戶端,支持Java瀏覽器的手機端和PC端均可使用,用戶賬號信息均存儲于MySQL數(shù)據(jù)庫中,通過注冊并登錄相應賬號后即可進入控制界面。仿真環(huán)境采用V-REP軟件中搭建的機器人模型并去除其內(nèi)嵌腳本作為虛擬的被控機器人端,由外部的遠程服務器完成相關的控制任務。服務器層包括Web服務器、機器人控制服務器和圖像服務器三部分,其中Web服務器與Web瀏覽器之間通過HTTP進行通訊,與機器人控制服務器和圖像服務器之間利用socket編寫的TCP協(xié)議建立通訊。當Web服務器收到來自Web瀏覽器請求后,將根據(jù)請求的類型及URI_來獲取并運行相應的服務器資源。機器人服務器和圖像服務器均采用Python編寫,利用多線程實現(xiàn)兩個不同的服務器進程,同時與V-REP仿真軟件使用同一端口號連接,利用V-REP遠程API進行聯(lián)調(diào),從而實現(xiàn)用戶通過Web瀏覽器界面對VREP中仿真機器人的遠程控制和實時監(jiān)控。

        2主要功能模塊設計

        該平臺的主要功能模塊包括Web應用設計、機器人控制模塊設計、圖像獲取及傳輸設計,本節(jié)將對以上模塊設計進行詳細說明。

        2.1Web應用設計

        Web應用設計分為Web網(wǎng)頁與Web服務器設計兩部分。其中,Web網(wǎng)頁開發(fā)基于MVC設計模式,采用JSP作為頁面顯示設計組件,總共設計了登錄頁面login. jsp、遠程控制界面control.j sp、錯誤頁面wrong. jsp三個JSP頁面。Web服務器設計也采用了基于MVC設計模式,利用JavaServlet進行控制邏輯設計,包括上述前兩個頁面的控制Servlet以及其他工具類的設計。

        2.1.1登錄頁面設計

        登錄界面背景利用前端技術CSS中的body中type設置背景圖片,HTMI_表單中包括類型為“text”的用戶名和密碼兩個文本框,提交按鈕和取消按鈕。登錄頁面根據(jù)表單的action值,采用HTTP中post請求將用戶輸入的信息發(fā)送至Web服務器中相應的Servlet進行處理,以實現(xiàn)用戶注冊和登錄功能。當用戶在登錄頁面中輸入登錄信息并點擊登錄后,如果輸入的用戶名或者密碼為空將請求重新定向到wrong. jsp頁面,提示“用戶名或密碼為空請重新輸入”。當輸入均不為空時,建立與MySQI_數(shù)據(jù)庫的連接并檢索所輸入用戶是否存在,如果存在且密碼正確則登錄成功并跳轉(zhuǎn)到控制頁面,密碼錯誤則要求重新登錄;如果輸入用戶不存在,則為該用戶注冊賬號并存儲于數(shù)據(jù)庫中;如果用戶存在但密碼錯誤,則要求重新登錄。登錄界面Servlet中數(shù)據(jù)庫的相關操作通過導人所編寫的工具類DBUtils. java來實現(xiàn)。

        2.1.2控制頁面設計

        控制頁面包括機械臂關節(jié)輸入控制、機器人動作控制、機器人左右臂抓取控制以及圖像傳輸四個模塊。關節(jié)輸入控制模塊中提供一表單輸入7個關節(jié)角度so-s6,該數(shù)據(jù)以POST請求方式發(fā)送至Web服務器中的控制頁面Servlet。機器人動作控制模塊包括舞蹈、左臂抓取、右臂抓取和還原四個動作按鈕,抓手控制模塊包括16個控制按鈕,當按下按鈕時利用Java Script中的location. href將控制指令以HTTP的Get請求的方式傳輸?shù)较鄳目刂芐ervlet。Kinect攝像頭拍照模塊中的拍照按鈕將控制指令發(fā)到相應的Servlet后進行處理,進行控制指令的傳輸和圖像數(shù)據(jù)的接收,之后頁面會通過會話作用域獲取Web服務器中接收的圖像存放地址,利用request. getSession().getAttribute(“”)函數(shù)獲得地址信息,使用img屬性將圖像展示于頁面之上,這樣用戶通過網(wǎng)頁即可實現(xiàn)對機器人的監(jiān)控查看。當控制頁面的請求地址與存放于Web服務器中控制頁面Servlet的URL名稱一致時,其就能將數(shù)據(jù)發(fā)送到相應的Servlet??刂祈撁鍿ervlet繼承HttpServlet類,其中定義了doPost和doGet兩種處理請求的方法,其設計流程如圖2所示??刂祈撁嬗脩糨斎霐?shù)據(jù)的請求類型是Post,這些數(shù)據(jù)將在doPost()中處理??刂祈撁嬷斜韱屋斎藶镻ost請求進入控制頁面Servlet后,數(shù)據(jù)將在doPost()中處理,其利用請求作用域?qū)ο蠓椒╮equest. getParameter()獲取用戶輸入的數(shù)據(jù),并通過Integer. parselnt()方法將用戶輸入的字符串變量轉(zhuǎn)換為整型變量存放于doPost()的局部變量中,以上數(shù)據(jù)將傳輸?shù)綑C器人控制服務器中以實現(xiàn)對仿真機器人具體的控制??刂祈撁嬷邪粹o均采用Get請求,請求均在doGet()中處理。用戶點擊按鈕后,通過request. getParameter()獲取按鈕指令值,從而判斷請求控制圖像服務器還是機器人控制服務器,以進一步建立與相應服務器的通訊連接。

        2.2機器人控制模塊設計

        2.2.1機器人控制設計

        控制頁面所有控制動作均可由Python語言編寫的機器人控制服務器來實現(xiàn)對V-REP中機器人的控制。V-REP具有多種遠程客戶端應用編程接口,且每種接口都含有其所有API。將官方提供的三個聯(lián)調(diào)文件放在控制平臺工程目錄下,并使用遠程API vrep. simxStart()設置相應的連接端口號即可與V-REP建立連接,接著使用遠程APIvrep. simGetObjectHandle()獲得機器人各個控制對象句柄。利用上述句柄以及機器人控制服務器中設計的具體控制函數(shù),即可實現(xiàn)對仿真環(huán)境中機器人的控制。

        對于機器人左臂關節(jié)輸入控制模塊的函數(shù),輸人為7個關節(jié)角度,利用各個關節(jié)的句柄和simxSetjointTargetPosition()實現(xiàn)對關節(jié)位置的設置,leftrotateAIIAngle()和rightrotateAIIAngle()函數(shù)分別完成機器人左右臂關節(jié)同時運動。機器人抓手及左右臂關節(jié)角控制模塊中,各個關節(jié)角度的增加和減少控制函數(shù)由所設計的leftdecrease()、leftincrease()、rightdecrease()、rightincrease()以及simxSetjointTargetPosition()函數(shù)來實現(xiàn)。左右抓手的張開與閉合控制通過遠程API來調(diào)用VREP中的嵌入式腳本vrep. simxCaIIScriptFunction()來實現(xiàn)。在該腳本中分別定義了Open函數(shù)和Close函數(shù),同時利用sim. setIntegerSignal()設置抓手的信號值來實現(xiàn)抓手的閉合與張開。機器人動作控制模塊中的舞蹈動作利用leftrotateAI-IAngle()、rightrotateAIIAngle()和延時函數(shù)sleep(),將左右臂動作連貫起來形成舞蹈效果。機械臂抓取動作是在抓手實現(xiàn)張開和閉合的基礎上,配合機械臂運動控制來實現(xiàn)。

        2.2.2機器人控制服務器通訊設計

        機器人控制服務器作為客戶端通過調(diào)用VREP遠程API,即可與V-REP進行通訊連接實現(xiàn)對機器人的控制;作為服務端,還需與Web服務器進行通訊以獲取相應頁面輸入的數(shù)據(jù)信息。為確保傳輸數(shù)據(jù)穩(wěn)定可靠,機器人控制服務器與Web服務器之間采用TCP通訊協(xié)議并使用socket套接字來實現(xiàn)。在機器人控制服務器端使用Socket創(chuàng)建socket套接字,使用該socket的blind()方法綁定主機地址及通信端口號,利用listen()進行TCP監(jiān)聽,accept()被動接收客戶端連接,連接成功后使用recv()接收TCP數(shù)據(jù)。當接收到Web服務器數(shù)據(jù)后,首先對該數(shù)據(jù)進行判斷,當接收數(shù)據(jù)為各關節(jié)角度指令時,則由recv()來接收數(shù)據(jù),最后放人leftrotateAIIAngle()函數(shù)中。當接收數(shù)據(jù)為其他控制指令時,利用if語句判斷相應控制命令并調(diào)用所編寫的控制函數(shù)即可完成對V-REP中機器人的控制。

        2.3圖像獲取及傳輸設計

        在V-REP仿真環(huán)境中,采用Kinect傳感器模擬雙目攝像頭并放置于機器人前方以實現(xiàn)對機器人進行監(jiān)控拍照。在獲取Kinect的句柄后,利用vrep. simxGetVisionSensorlmage()即可獲取RGB圖像,將其分為R、G、B三部分,并采用reshape方法設置圖片尺寸,接著利用merge()將上述三部分進行整合,最后將圖片進行翻轉(zhuǎn)得到所需要的壓縮RGP圖像,由imwrite()函數(shù)將其存人指定路徑。

        獲取Kinect圖像后,可采用TCP協(xié)議將圖像傳輸?shù)絎eb服務器中。TCP協(xié)議同樣使用socket套接字實現(xiàn),圖像數(shù)據(jù)采用編碼的Base64類型數(shù)據(jù)進行傳輸并在Web服務器中解碼以重現(xiàn)圖像。獲取的圖像通過編寫的send()函數(shù)來發(fā)送圖片文件,利用imencode()函數(shù)將圖片編碼成流數(shù)據(jù),并由Base類中的b64encode方法轉(zhuǎn)換成Base64類型的字節(jié)流數(shù)據(jù),最后由socket的send()將數(shù)據(jù)發(fā)送至Web服務器。

        3平臺展示

        3.1控制頁面

        打開瀏覽器,當完成新用戶注冊并成功登錄后,系統(tǒng)即進入控制頁面,控制頁面如圖3所示。該頁面包括機械臂關節(jié)輸入控制、機器人動作控制、機器人左右臂抓取控制以及圖像傳輸四個模塊,操作者通過輸入數(shù)據(jù)并點擊相應的按鈕即可實現(xiàn)對V-REP中機器人的控制和實時監(jiān)控。

        3.2遠程控制實驗

        在V-REP仿真環(huán)境中搭建如下場景,Baxter機器人前面擺放一張方桌,桌面放置一小木塊,前方放置一臺Kinect攝像頭,以模擬真實實驗室的環(huán)境。當機器人控制服務器和圖像服務器與VREP連接成功后,通過控制頁面可以對仿真環(huán)境中的機器人進行控制。如圖4所示,在機器臂關節(jié)控制模塊中輸入各個關節(jié)的到達角度,點擊“左臂boot”按鈕,機器人左臂會根據(jù)輸入的關節(jié)角運動到指定的關節(jié)位置。在抓手控制模塊中,包含左臂3個關節(jié)和右臂3個關節(jié)增減按鈕以及左右抓手打開和閉合16個控制按鈕。當調(diào)整關節(jié)的角度使得機器人左臂到達小方塊上方時,點擊open按鈕抓手打開,點擊close按鈕,抓手緩慢閉合直至抓住小方塊,其中抓手打開和閉合速度可以通過VREP相應嵌入式腳本進行設置,其實際控制效果如圖5所示。

        4結論

        設計并開發(fā)了基于Web與V-REP的機器人遠程控制虛擬仿真平臺,該平臺采用動態(tài)網(wǎng)頁技術JSP進行用戶界面的開發(fā),使用Servlet技術搭建Web服務器,Python編程搭建機器人控制服務器和圖像服務器。操作者可通過Web網(wǎng)頁發(fā)送請求和控制指令,由Web服務器對其進行處理并建立與機器人控制服務器和圖像服務器的通訊連接,控制服務器接收指令后將對其進行解析并調(diào)用V-REP遠程API控制仿真機器人,同時由仿真Kinect獲取相應的圖像信息傳輸至Web瀏覽器,從而實現(xiàn)基于Web的機器人遠程交互控制。實驗測試結果表明平臺各組件之間通信穩(wěn)定、控制準確。該虛擬仿真平臺具有可重構性、可擴展性、易操作等特點,對于機器人控制相關實踐教學有重要意義。

        猜你喜歡
        web技術遠程控制機器人
        基于物聯(lián)網(wǎng)的承壓特種設備管理系統(tǒng)設計與實現(xiàn)
        水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
        基于Arduino UNO的智能插座設計
        鹽城地區(qū)設計項目與課堂遠程互動的方式方法研究
        藝術科技(2016年10期)2016-12-14 00:11:02
        基于Web技術的實驗設備管理模式探索
        基于GSM的遠程控制系統(tǒng)
        營銷互通平臺的分析
        基于HTML5 web 技術APP快速開發(fā)研究
        機器人來幫你
        認識機器人
        亚洲一区中文字幕视频| 成人欧美一区二区三区a片| 亚洲精品宾馆在线精品酒店| 国产又爽又黄又刺激的视频| 中文字幕无码无码专区| 日日躁欧美老妇| 日本少妇熟女一区二区| 一色桃子中文字幕人妻熟女作品| 中国xxx农村性视频| 国内精品久久久久久久久蜜桃| 街拍丝袜美腿美女一区| 色偷偷888欧美精品久久久| 亚洲av无码一区二区二三区| 亚洲精品国产综合一线久久| 亚洲免费观看一区二区三区| 中文字幕一区二区综合| 欧美人与禽zozzo性伦交| 99精品国产在热久久国产乱| 久久精品国产一区二区涩涩| 国产av久久在线观看| 久久久受www免费人成| 欧美日韩亚洲国产千人斩| 亚洲av成人久久精品| 韩国av一区二区三区不卡| 午夜福利麻豆国产精品| 仙女白丝jk小脚夹得我好爽| 中文字幕日韩精品永久在线| 午夜爽爽爽男女污污污网站| 毛片免费全部无码播放| 亚洲国产精品成人久久av| 亚洲中文字幕久久精品一区| 亚洲中文字幕在线观看| 九九九影院| 亚洲精品天堂日本亚洲精品| 久久久中文久久久无码| 狠狠噜天天噜日日噜| 日韩一区二区,亚洲一区二区视频| 精品国产亚洲亚洲国产| 国产zzjjzzjj视频全免费| 国产经典免费视频在线观看| 亚洲高清国产一区二区|