侯保民 馮健翔 杜 芳 王俊鋒 郭小強(qiáng) 侯海英
摘 要:針對移動機(jī)器人的遠(yuǎn)程操作問題,基于C++ Builder軟件環(huán)境,設(shè)計和實(shí)現(xiàn)了一種移動機(jī)器人的遙操作接口系統(tǒng),可利用方向盤、鍵盤和鼠標(biāo)來操作機(jī)器人的移動?;诖私涌谙到y(tǒng)建立了遙操作系統(tǒng)原型,并且進(jìn)行了室內(nèi)試驗(yàn)。室內(nèi)試驗(yàn)表明,此遙操作接口系統(tǒng)具有簡便、界面友好等特點(diǎn)。
關(guān)鍵詞:遙操作;人機(jī)接口;移動機(jī)器人;軟件環(huán)境
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2009)10-034-02
Design and Implement of Teleoperation Interface System for Mobile Robot
HOU Baomin,FENG Jianxiang,DU Fang,WANG Junfeng,GUO Xiaoqiang,HOU Haiying
(Academy of Equipment Command & Technology,Beijing,101416,China)
Abstract:To resolve the teleoperation problem for a mobile robot,a kind of human-machine interface systembased on the C++ Builder software environment is designed.It can operate movement of the robot in three operation modes:steering wheels,keyboard and mouse.Based on it,a teleoperation system prototype is constructed and implemented.and it is tested in the laboratory.The experimentation in doors indicates that the teleoperation interface system is simple,convenient,friendly and so on.
Keywords:teleoperation;human-machine interface;mobile robot;software environment
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ī)器人中一項重要的技術(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)、DirectX 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) __fastcall TMainForm::TMainForm(TComponent* Owner):
此函數(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(TObject *Sender,char &Key;):
此函數(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)。
參考文獻(xiàn)
[1]Feng Jianxiang.Kamaduo:A Lunar Robot and Its Operations[A].3rd International RCL/VNIITRANSMASH Workshop on Planetary Rovers,Space Robotics and Earth-based robots-2005.St.Petersburg,Russia,2005.
[2]馮健翔.廣義人工智能基礎(chǔ)研究[M].北京:中國宇航出版社,1999.
[3]杜芳,馮健翔,陳俊.一種移動機(jī)器人遙操作平臺的設(shè)計與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2007,7(22):5 098-5 111.
[4]彭一準(zhǔn),原魁,王輝.具有友好界面遙操作移動機(jī)器人的合作控制[J].計算機(jī)工程與應(yīng)用,2006(8):216-218,223.
[5]高龍琴,許志峰,黃惟一,等.交互式遙操作機(jī)器人實(shí)驗(yàn)平臺設(shè)計及其應(yīng)用[J].東南大學(xué)學(xué)報:自然科學(xué)版,2004,34(6):64-68.
[6]王志峰,王占林,付永領(lǐng),等.基于虛擬現(xiàn)實(shí)Stewart平臺遙操作系統(tǒng)[J].北京航空航天大學(xué)學(xué)報,2007,33(4):60-64.
[7]岳宏.基于虛擬現(xiàn)實(shí)觸覺感知接口技術(shù)的研究與進(jìn)展[J].機(jī)器人,2003,25(5):475-480.
[8]王曉亨,陸宇平.機(jī)器人無線遠(yuǎn)程控制系統(tǒng)的人機(jī)接口[J].信息技術(shù),2007(1):1-3.
[9]寧祎,韓莉莉.人與機(jī)器人實(shí)現(xiàn)動態(tài)耦合的重要接口[J].中國機(jī)械工程,2000,11(3):50-52,55.
[10]任昊星,翁海華,楊楊,等.基于Web的機(jī)器人遙操作的研究與實(shí)現(xiàn).計算機(jī)工程,1999,25(5):64-65.