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