一種移動機器人遙操作接口系統(tǒng)的設(shè)計與實現(xiàn)
0 引 言
遙操作就是遠距離操作,是在遠方人的行為動作遠距離作用下,使事物產(chǎn)生運動變化。遙操作是一種基礎(chǔ)技術(shù),應(yīng)用領(lǐng)域相當廣泛,如機器人領(lǐng)域、航空航天領(lǐng)域、基礎(chǔ)科學(xué)試驗、核工程、海底與遠洋作業(yè)等。遙操作技術(shù)使移動機器人到達艱險的環(huán)境,通過機器人完成特定的任務(wù),從而可以使人遠離艱險的工作環(huán)境。因此,研究遙操作技術(shù)意義深遠。
機器人在物理空間上,可以實現(xiàn)人類感知能力和行為能力的延伸;在信息層次上將遠端的移動機器人與操作人員無形連接在一個閉環(huán)回路里,實時地控制遠端移動機器人的運動,以最大限度地利用遠近端設(shè)備、資源和遙操作者的智力、經(jīng)驗,從而實現(xiàn)資源的最佳配置,完成特定的任務(wù)。人機接口系統(tǒng)就是通過什么樣的方式來發(fā)送控制指令和進行狀態(tài)數(shù)據(jù)的反饋,是移動機器人中一項重要的技術(shù)。
基于遙操作平臺,設(shè)計了一種針對“喀嗎哆”機器人的人機接口系統(tǒng)。采用該人機接口系統(tǒng)進行了機器人室內(nèi)行走實驗。實驗表明,該人機接口系統(tǒng)方便靈活、可靠、人機接口系統(tǒng)顯示豐富生動,提供多種操作模式,可實現(xiàn)數(shù)據(jù)的存儲和實時顯示。
1 機器人人機接口系統(tǒng)
一種柔性結(jié)構(gòu)的四輪式移動機器人,其信息傳送示意圖如圖1所示。
基于遙操作平臺和通信系統(tǒng),遠方操作員通過人機接口將指令序列發(fā)送到機器人,機器人接收并編譯指令,并且把編譯之后的指令發(fā)送到相應(yīng)的執(zhí)行機構(gòu),再由執(zhí)行裝置來控制機器人的移動。同時機器人通過通信系統(tǒng)將其各種狀態(tài)和相關(guān)信息傳到遙操作平臺中,遠方操作員可以通過人機接口看到與機器人相關(guān)的信息。該設(shè)計實現(xiàn)的是與遙操作平臺相嵌的人機接口系統(tǒng)部分,即圖1中橢圓表示的部分。
2 設(shè)計與實現(xiàn)
該系統(tǒng)用到相關(guān)硬件設(shè)備如下:計算機(P4 1.8 G、512 MB內(nèi)存、USB端口、Windows XP操作系統(tǒng)、Di-reetX 9.0版本)1臺、標準鍵盤1個、鼠標1個、SG-USB006E型賽諾方向盤一個。軟件有Borland C++Builder編譯環(huán)境。
人機接口系統(tǒng)操作過程見圖2。首先,開始之后系統(tǒng)初始化,檢測是否連接了方向盤。若檢測到方向盤,下面可有方向盤、鍵盤和鼠標模式可供選擇;若沒有檢測到方向盤,只可選擇鍵盤和鼠標模式。接著,判斷機器人狀態(tài)是否正常。若異常,則顯示異常警報,返回到開始;若正常,根據(jù)是否檢測到方向盤,則可在可選的操作模式中選擇一種或幾種操作模式。接著,可以通過已選模式操作機器人,同時接口系統(tǒng)將相應(yīng)速度和角度等數(shù)據(jù)寫入緩沖區(qū),根據(jù)緩沖區(qū)的數(shù)據(jù),機器人最終可以完成各種相應(yīng)的動作。同時接口系統(tǒng)還可以實現(xiàn)機器人相應(yīng)信息的屏幕顯示和速度角度等信息的保存等。
該遙操作平臺提供的人機接口系統(tǒng)界面如圖3所示。若檢測到方向盤,并且在界面的控制菜單下選擇方向盤操作,則可以通過方向盤來操作機器人的移動。如果在界面的控制菜單下選用鼠標控制,可以點擊圖3“鍵盤操作面板”中的加速、前進、減速、左轉(zhuǎn)等按鈕來操作機器人。如果在界面的控制菜單下選用選擇鍵盤控制,則可以通過鍵盤上的快捷鍵來操作機器人。圖4中4個圓盤形控件相應(yīng)地顯示4個主動輪轉(zhuǎn)動的角度,圓盤形控件左邊的柱狀控件相應(yīng)地顯示了4個主動輪的速度,并將指令通過通信系統(tǒng)傳給機器人。左上角的區(qū)域還可以顯示機器人的仿真影像等。右上角的“操作設(shè)備輸入數(shù)據(jù)顯示”面板中可直接輸入機器人的速度和角度信息,可以使機器人快速準確地進入到預(yù)定的速度和角度上。
實現(xiàn)此人機接口系統(tǒng)的全部程序代碼由一個總結(jié)構(gòu)和4個類組成,下面簡要地介紹一下它們的代碼和功能。
2.1 總結(jié)構(gòu)中的主要函數(shù)
(1)_fast call TMainForm::TMainForm(TCom-ponent*Ownetr):此函數(shù)主要完成機器人部分初始化和狀態(tài)選擇。
(2)void_ _fastcall TMainForm::Event(TObject*Sender):此函數(shù)主要響應(yīng)方向盤、鍵盤和鼠標操作的事件,從而可實現(xiàn)對機器人移動的操作。
(3)void_ _fastcall TMainForm::KeyCtrl(TOb-ject*Sender,charKey):此函數(shù)主要完成對鍵盤操作的初步響應(yīng)。
(4)void_ _fastcall TMainForm::Timer(TObject*Sender):此函數(shù)主要完成對機器人實時狀態(tài)和方向盤、鍵盤和鼠標的操作的實時刷新,其刷新頻率可以在一定的范圍內(nèi)進行選擇。
2.2 四個類及其功能
(1)class CComPort。此類主要完成對數(shù)據(jù)存儲緩沖區(qū)的初始化、釋放和對緩沖區(qū)的讀和寫等。
(2)class CJoyStick。此類主要完成對方向盤數(shù)據(jù)的讀取,USB端口設(shè)備連接狀態(tài),方向盤初始化,設(shè)置數(shù)據(jù)格式,清除數(shù)據(jù),釋放空間等操作。
(3)class CKamado。此類主要完成在鍵盤或鼠標操作模式下,機器人自主完成一系列基本動作(前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、加速、減速等)和幾個自定義動作(轉(zhuǎn)直角、原地自旋等)。
(4)class CWheel。此類主要實現(xiàn)自主模式下輪子的旋轉(zhuǎn)動作,包括每個輪的旋轉(zhuǎn)的具體速度和度數(shù)。
3 室內(nèi)行走實試驗
基于上述遙操作接口系統(tǒng),進行了多次機器人室內(nèi)行走試驗。人機接口系統(tǒng)能夠?qū)崿F(xiàn)以下功能:用3種操作模式操作機器人的移動,對機器人的速度角度進行預(yù)置,對機器人進行狀態(tài)顯示和數(shù)據(jù)存儲。機器人可以根據(jù)遙操作接口發(fā)送的指令,安全穩(wěn)定、可靠地實現(xiàn)前進、后退、速度角度預(yù)置、原地旋轉(zhuǎn)、爬坡等運動。
4 結(jié) 語
在此設(shè)計與實現(xiàn)了一種機器人的遙操作接口系統(tǒng),操作員可以通過此接口系統(tǒng)成功地操作機器人。實驗結(jié)果證明,此遙操作接口系統(tǒng)具有以下優(yōu)點:操作簡便,界面友好,安全性和可靠性強等。但是仍存在不足,如操作的實時性較差,還有待改進。
評論