999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2021-11-10 05:31:28占宏王劍城
計算技術(shù)與自動化 2021年2期

占宏 王劍城

關(guān)鍵詞:機器人;Web技術(shù);遠程控制;V-REP仿真;虛擬仿真平臺

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

將Web應用、V-REP仿真機器人以及機器人控制技術(shù)相結(jié)合,開發(fā)了機器人遠程控制虛擬仿真平臺。該平臺中操作者通過Web瀏覽器發(fā)送相關(guān)的請求和控制命令,由Web服務器對其進行相應處理,同時建立與機器人控制服務器和圖像服務器的通訊連接,以完成對V-REP中仿真機器人的控制,并由仿真Kinect獲取相應的圖像信息傳輸至Web瀏覽器,從而實現(xiàn)基于Web的機器人遠程交互控制。此平臺的實現(xiàn)為機器人控制相關(guā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)嵌腳本作為虛擬的被控機器人端,由外部的遠程服務器完成相關(guān)的控制任務。服務器層包括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登錄頁面設計

登錄界面背景利用前端技術(shù)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ù)庫的相關(guān)操作通過導人所編寫的工具類DBUtils. java來實現(xiàn)。

2.1.2控制頁面設計

控制頁面包括機械臂關(guān)節(jié)輸入控制、機器人動作控制、機器人左右臂抓取控制以及圖像傳輸四個模塊。關(guān)節(jié)輸入控制模塊中提供一表單輸入7個關(guān)節(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。控制頁面Servlet繼承HttpServlet類,其中定義了doPost和doGet兩種處理請求的方法,其設計流程如圖2所示。控制頁面用戶輸入數(shù)據(jù)的請求類型是Post,這些數(shù)據(jù)將在doPost()中處理。控制頁面中表單輸人為Post請求進入控制頁面Servlet后,數(shù)據(jù)將在doPost()中處理,其利用請求作用域?qū)ο蠓椒╮equest. getParameter()獲取用戶輸入的數(shù)據(jù),并通過Integer. parselnt()方法將用戶輸入的字符串變量轉(zhuǎn)換為整型變量存放于doPost()的局部變量中,以上數(shù)據(jù)將傳輸?shù)綑C器人控制服務器中以實現(xiàn)對仿真機器人具體的控制。控制頁面中按鈕均采用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)境中機器人的控制。

對于機器人左臂關(guān)節(jié)輸入控制模塊的函數(shù),輸人為7個關(guān)節(jié)角度,利用各個關(guān)節(jié)的句柄和simxSetjointTargetPosition()實現(xiàn)對關(guān)節(jié)位置的設置,leftrotateAIIAngle()和rightrotateAIIAngle()函數(shù)分別完成機器人左右臂關(guān)節(jié)同時運動。機器人抓手及左右臂關(guān)節(jié)角控制模塊中,各個關(guān)節(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)張開和閉合的基礎(chǔ)上,配合機械臂運動控制來實現(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ù)為各關(guān)節(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所示。該頁面包括機械臂關(guān)節(jié)輸入控制、機器人動作控制、機器人左右臂抓取控制以及圖像傳輸四個模塊,操作者通過輸入數(shù)據(jù)并點擊相應的按鈕即可實現(xiàn)對V-REP中機器人的控制和實時監(jiān)控。

3.2遠程控制實驗

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

4結(jié)論

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

主站蜘蛛池模板: 老司国产精品视频91| 久久99国产综合精品1| Jizz国产色系免费| 欧美在线网| 国产精品55夜色66夜色| 亚洲精品欧美日本中文字幕| 日本成人精品视频| 亚洲第一黄色网址| 亚洲经典在线中文字幕| 国产精品视频第一专区| 制服丝袜在线视频香蕉| 亚洲国产综合精品一区| 亚洲欧美一区二区三区麻豆| 欧美激情视频一区| 素人激情视频福利| 91娇喘视频| 91美女在线| 美美女高清毛片视频免费观看| 亚洲欧美日韩成人高清在线一区| 亚洲视频色图| 国产成人91精品免费网址在线| 啊嗯不日本网站| 国产精品30p| 青青国产在线| 高清不卡毛片| 国内精品伊人久久久久7777人| 天堂av高清一区二区三区| a色毛片免费视频| 中文字幕天无码久久精品视频免费 | 亚洲欧美一区在线| 亚洲香蕉久久| 3p叠罗汉国产精品久久| 亚洲无码37.| 午夜视频在线观看免费网站| 欧美人人干| 亚洲国产高清精品线久久| 国产精品尤物在线| 亚洲成人一区在线| 69国产精品视频免费| 久久精品国产亚洲麻豆| 伊人成人在线| 中文字幕永久在线看| 婷婷六月综合| 国产精品99r8在线观看| 香蕉eeww99国产精选播放| 午夜福利亚洲精品| 日韩小视频在线观看| 亚洲精品动漫在线观看| 国产麻豆永久视频| 中国成人在线视频| 久久影院一区二区h| 国产真实自在自线免费精品| 一级成人a毛片免费播放| 亚洲资源站av无码网址| 国产精品自在自线免费观看| 天天躁日日躁狠狠躁中文字幕| 亚洲嫩模喷白浆| 欧美午夜视频| 日韩高清中文字幕| 无码中文字幕乱码免费2| 秋霞一区二区三区| 国产91导航| 欧美日韩在线第一页| 久久人人97超碰人人澡爱香蕉| 午夜日b视频| 午夜视频日本| 中文字幕在线视频免费| 亚洲美女一区二区三区| 亚洲三级电影在线播放| 丝袜久久剧情精品国产| 91精品专区国产盗摄| 色综合天天操| 国产精品55夜色66夜色| 在线欧美日韩| 91在线中文| 男女男免费视频网站国产| 亚洲视频一区在线| 亚洲欧美自拍中文| 国产成人久久777777| 91精品人妻一区二区| 99热这里只有精品免费| 中日无码在线观看|