侯保民 馮健翔 杜 芳 王俊鋒 郭小強 侯海英
摘 要:針對移動機器人的遠程操作問題,基于C++ Builder軟件環(huán)境,設(shè)計和實現(xiàn)了一種移動機器人的遙操作接口系統(tǒng),可利用方向盤、鍵盤和鼠標來操作機器人的移動?;诖私涌谙到y(tǒng)建立了遙操作系統(tǒng)原型,并且進行了室內(nèi)試驗。室內(nèi)試驗表明,此遙操作接口系統(tǒng)具有簡便、界面友好等特點。
關(guān)鍵詞:遙操作;人機接口;移動機器人;軟件環(huán)境
中圖分類號:TP311文獻標識碼: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 引 言
遙操作就是遠距離操作,是在遠方人的行為動作遠距離作用下,使事物產(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)、DirectX 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) __fastcall TMainForm::TMainForm(TComponent* Owner):
此函數(shù)主要完成機器人部分初始化和狀態(tài)選擇。
(2) void __fastcall TMainForm::Event(TObject *Sender):
此函數(shù)主要響應(yīng)方向盤、鍵盤和鼠標操作的事件,從而可實現(xiàn)對機器人移動的操作。
(3) void __fastcall TMainForm::KeyCtrl(TObject *Sender,char &Key;):
此函數(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)點:操作簡便,界面友好,安全性和可靠性強等。但是仍存在不足,如操作的實時性較差,還有待改進。
參考文獻
[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]杜芳,馮健翔,陳俊.一種移動機器人遙操作平臺的設(shè)計與實現(xiàn)[J].科學(xué)技術(shù)與工程,2007,7(22):5 098-5 111.
[4]彭一準,原魁,王輝.具有友好界面遙操作移動機器人的合作控制[J].計算機工程與應(yīng)用,2006(8):216-218,223.
[5]高龍琴,許志峰,黃惟一,等.交互式遙操作機器人實驗平臺設(shè)計及其應(yīng)用[J].東南大學(xué)學(xué)報:自然科學(xué)版,2004,34(6):64-68.
[6]王志峰,王占林,付永領(lǐng),等.基于虛擬現(xiàn)實Stewart平臺遙操作系統(tǒng)[J].北京航空航天大學(xué)學(xué)報,2007,33(4):60-64.
[7]岳宏.基于虛擬現(xiàn)實觸覺感知接口技術(shù)的研究與進展[J].機器人,2003,25(5):475-480.
[8]王曉亨,陸宇平.機器人無線遠程控制系統(tǒng)的人機接口[J].信息技術(shù),2007(1):1-3.
[9]寧祎,韓莉莉.人與機器人實現(xiàn)動態(tài)耦合的重要接口[J].中國機械工程,2000,11(3):50-52,55.
[10]任昊星,翁海華,楊楊,等.基于Web的機器人遙操作的研究與實現(xiàn).計算機工程,1999,25(5):64-65.