□沈麗云 □尹孟征 □郭鳳仙 □嚴(yán)佳玲 □劉 鵬
上海電氣集團(tuán)股份有限公司 中央研究院 上?!?00070
基于Android的康復(fù)醫(yī)療機(jī)器人控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
□沈麗云□尹孟征□郭鳳仙□嚴(yán)佳玲□劉鵬
上海電氣集團(tuán)股份有限公司 中央研究院上海200070
康復(fù)醫(yī)療機(jī)器人多采用固定模式的專用控制系統(tǒng),缺少靈活性。以當(dāng)前研究的上肢康復(fù)醫(yī)療機(jī)器人樣機(jī)為實(shí)驗(yàn)對象,分析并抽象出了控制系統(tǒng)的特點(diǎn)及功能,提出了一種基于Android平臺的無線控制系統(tǒng),明確了功能需求及系統(tǒng)架構(gòu)??刂葡到y(tǒng)由Android系統(tǒng)及WIFI轉(zhuǎn)換器模塊等組成,通過微弱肌電信號、語音或者既定軌跡實(shí)現(xiàn)對機(jī)器人速度及方向的控制。測試結(jié)果表明,該系統(tǒng)能夠穩(wěn)定實(shí)現(xiàn)既定功能,具有較強(qiáng)的靈活性、通用性、穩(wěn)定性及易用性。
目前,康復(fù)醫(yī)療機(jī)器人得到了極大推崇,國內(nèi)外均將其作為重點(diǎn)研究課題。雖然康復(fù)醫(yī)療機(jī)器人具有良好發(fā)展前景,但自機(jī)器人誕生以來,控制方面基本都采用專用設(shè)備及系統(tǒng),其昂貴的費(fèi)用及專用性在一定程度上限制了機(jī)器人技術(shù)的發(fā)展。此外,這些設(shè)備不便攜帶,在使用范圍上受到一定限制[1]。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展及智能移動互聯(lián)網(wǎng)進(jìn)入全新時代,原來只能在計(jì)算機(jī)平臺進(jìn)行處理的工作現(xiàn)在可以轉(zhuǎn)移到智能終端上來完成。智能手機(jī)這類通用設(shè)備,為開發(fā)通用便攜、控制自然靈活、具有良好用戶體驗(yàn)的機(jī)器人控制系統(tǒng)提供了一種有效手段[2]。尤其在康復(fù)醫(yī)療領(lǐng)域,基于移動終端的無線控制大大增加了康復(fù)設(shè)備的靈活性及對活動場地的適應(yīng)性。在智能手機(jī)終端操作系統(tǒng)中,目前發(fā)展具代表性的是谷歌公司推出的安卓(Android)系統(tǒng),眾多公司、企業(yè)及政府部門均支持基于Android系統(tǒng)的手機(jī)服務(wù),紛紛開發(fā)具有高實(shí)用價(jià)值的Android軟件[3-4]。當(dāng)前,基于移動智能終端的控制在康復(fù)醫(yī)療機(jī)器人應(yīng)用方面相對較少,筆者論述了硬件系統(tǒng)的設(shè)計(jì)及Android系統(tǒng)開發(fā)方法,并通過實(shí)驗(yàn)驗(yàn)證了基于無線保真(WIFI)康復(fù)醫(yī)療機(jī)器人的無線控制概念。
1.1系統(tǒng)分析
該系統(tǒng)需要滿足的基本需求是采用手機(jī)、平板電腦等移動終端,實(shí)現(xiàn)對康復(fù)醫(yī)療機(jī)器人的無線控制及狀態(tài)顯示,主要功能如下。
(1)用戶信息注冊及登錄功能;
(2)通過移動終端,與上肢康復(fù)機(jī)器人建立基于套接字(Socket)的網(wǎng)絡(luò)通信,并實(shí)現(xiàn)控制指令的發(fā)送及運(yùn)行狀態(tài)的接收等;
(3)參數(shù)設(shè)置功能;
(4)控制康復(fù)醫(yī)療機(jī)器人本體,實(shí)現(xiàn)肩關(guān)節(jié)、肘關(guān)節(jié)3自由度欠驅(qū)動功能;
(5)實(shí)現(xiàn)語音控制、肌電控制及軌跡控制3種控制模式;
(6)語音控制模式下,實(shí)現(xiàn)肩向上、肩向下、肘彎曲、肘伸展4種基本動作及其組合動作;
(7)肌電控制模式下,通過采集使用者前臂及上臂的微弱肌電信號,實(shí)現(xiàn)對機(jī)器人動作的控制;
(8)軌跡控制模式下,通過對上肢康復(fù)過程的分析,實(shí)現(xiàn)6條基本康復(fù)訓(xùn)練軌跡;
(9)實(shí)現(xiàn)狀態(tài)顯示,包括肩關(guān)節(jié)信號采集板、肩關(guān)節(jié)驅(qū)動器、肩關(guān)節(jié)驅(qū)動器編碼器信息、肘關(guān)節(jié)信號采集板、肘關(guān)節(jié)驅(qū)動器、肘關(guān)節(jié)驅(qū)動器編碼器信息、主控制芯片運(yùn)行時間等7種狀態(tài)信息。
根據(jù)上述系統(tǒng)功能分析,本系統(tǒng)需建立用戶登錄、參數(shù)設(shè)置及狀態(tài)顯示等3個功能模塊,系統(tǒng)功能框圖如圖1所示。
1.2整體結(jié)構(gòu)設(shè)計(jì)
本康復(fù)醫(yī)療機(jī)器人的控制系統(tǒng)包括上位機(jī)及下位機(jī)兩方面,上位機(jī)為通過Eclipse平臺設(shè)計(jì)、開發(fā)的基于Android操作系統(tǒng)的移動終端用應(yīng)用程序,下位機(jī)為具有WIFI功能的上肢康復(fù)醫(yī)療機(jī)器人。上位機(jī)通過WIFI建立與下位機(jī)之間的通信,進(jìn)而實(shí)現(xiàn)對康復(fù)醫(yī)療機(jī)器人的無線控制。整體系統(tǒng)結(jié)構(gòu)如圖2所示。
2.1硬件設(shè)計(jì)
根據(jù)系統(tǒng)功能分析,硬件系統(tǒng)主要包括主控模塊、肩關(guān)節(jié)電機(jī)驅(qū)動、肘關(guān)節(jié)電機(jī)驅(qū)動、WIFI模塊、信號采集模塊及電源模塊,如圖3所示。以下對各模塊的設(shè)計(jì)進(jìn)行介紹:
圖1 系統(tǒng)功能框圖
圖3 硬件設(shè)計(jì)框圖
(1)主控模塊。采用工業(yè)級雙核處理控制芯片F(xiàn)28M35,該處理器有高達(dá)128 KB的片上隨機(jī)存儲器(RAM)。
(2)肩關(guān)節(jié)電機(jī)驅(qū)動及肘關(guān)節(jié)電機(jī)驅(qū)動。采用上海開通數(shù)控有限公司的低壓超小型交流伺服驅(qū)動系統(tǒng)KT260-A-0818,可驅(qū)動功率400 W以下、電壓24~80 V的電機(jī)。
(3)WIFI模塊。采用深圳宇泰科技有限公司的UT-9061型模塊,該設(shè)備能夠?qū)崿F(xiàn) WIFI轉(zhuǎn)RS232/485/422,最大傳輸距離可達(dá)300 m。
(4)信號采集模塊。信號采集模塊所用芯片為ATMEGA16A型,能夠?qū)崿F(xiàn)肌電信號及語音信號的實(shí)時采集。
(5)電源模塊。驅(qū)動器需要24 V供電,信號采集模塊需要7.6 V供電,主控制板需要5 V供電。
2.2 Android移動終端軟件設(shè)計(jì)
2.2.1原型圖設(shè)計(jì)
原型圖設(shè)計(jì)主要是對項(xiàng)目技術(shù)結(jié)構(gòu)的構(gòu)思,為進(jìn)一步的詳細(xì)設(shè)計(jì)給出更加精確的設(shè)計(jì)步驟及項(xiàng)目進(jìn)度的預(yù)估[5]。由圖1可知,該控制軟件共分為3部分:用戶登錄,參數(shù)設(shè)置,狀態(tài)顯示。
(1)用戶登錄。在程序啟動的時候,進(jìn)入啟動界面,用于展示開發(fā)單位的標(biāo)志及開發(fā)者信息等。
一定延時后進(jìn)入說明界面,該界面說明了用戶在使用該軟件時需要獲取的信息,包括網(wǎng)際協(xié)議(IP)地址、端口、用戶名、密碼。
點(diǎn)擊進(jìn)入連接界面,建立與服務(wù)端的連接,以實(shí)現(xiàn)基于 Socket的 WIFI通信,當(dāng)前 IP地址為10.10.100.254,協(xié)議端口為8899。
點(diǎn)擊進(jìn)入用戶登錄界面,首次使用時需通過點(diǎn)擊“注冊新用戶”按鈕進(jìn)入注冊界面,非首次使用直接輸入用戶名及密碼,點(diǎn)擊“登錄”即可進(jìn)入主控制模式。
(2)參數(shù)設(shè)置。參數(shù)設(shè)置頁面用于設(shè)置樣機(jī)參數(shù),包括用戶參數(shù)、系統(tǒng)參數(shù)及開發(fā)參數(shù)。
用戶參數(shù)包括模式切換(語音、肌電、軌跡3種控制模式)、軌跡選擇(由開發(fā)人員根據(jù)不同康復(fù)階段設(shè)定的6條軌跡)及肌電觸發(fā)閾值(當(dāng)肌電信號的采樣值大于該閾值時才會動作)。
系統(tǒng)參數(shù)包括肩關(guān)節(jié)機(jī)械角度及對應(yīng)的電機(jī)脈沖數(shù)、肘關(guān)節(jié)機(jī)械角度及對應(yīng)的電機(jī)脈沖數(shù)。
開發(fā)參數(shù)包括康復(fù)機(jī)型的選擇。針對不同的用戶群體,分為經(jīng)濟(jì)型和高端型兩種。
(3)狀態(tài)顯示。狀態(tài)顯示采用側(cè)邊欄設(shè)計(jì),通過右滑顯示,顯示狀態(tài)包括肩關(guān)節(jié)信號采集板狀態(tài)(0為正常,其余為有錯)、肩關(guān)節(jié)驅(qū)動器狀態(tài)(0為正常,其余為有錯)、肩關(guān)節(jié)驅(qū)動器編碼器信息、肘關(guān)節(jié)信號采集板狀態(tài)(0為正常,其余為有錯)、肘關(guān)節(jié)驅(qū)動器狀態(tài)(0為正常,其余為有錯)、肘關(guān)節(jié)驅(qū)動器編碼器信息、主控制芯片運(yùn)行時間(min)。
2.2.2流程圖設(shè)計(jì)
根據(jù)系統(tǒng)功能需求,明確本系統(tǒng)中軟件設(shè)計(jì)基本流程如圖4所示,其中主要難點(diǎn)在于建立基于WIFI的Socket連接、用戶注冊及圖形化顯示。
圖4 軟件設(shè)計(jì)流程圖
(1)建立基于WIFI的Socket連接[6]。首先,在工程的AndroidManifest.xml文件中增加WIFI權(quán)限:<uses-permissionandroid:name="android.permission. CHANGE_WIFI_STATE"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
然后,輸入當(dāng)前IP地址和端口,建立Socket連接,并通過DataInputStream及DataOutputStream實(shí)現(xiàn)數(shù)據(jù)的通信:
socket=newSocket(IP,Port);//建立Socket連接
DataOutputStream out=new OutputStream(socketRev.
getOutputStream());
out.write(readCom);
out.flush();//數(shù)據(jù)發(fā)送
DataInputStream in=new DataInputStream(socketRev. getInputStream());
byte[]revData=newbyte[in.available()];
in.read(revData);//數(shù)據(jù)接收
(2)用戶注冊。SQLite作為一種輕量級的關(guān)系型數(shù)據(jù)庫,具有體積小、零配置等優(yōu)勢[7],因此本系統(tǒng)采用SQLite進(jìn)行信息存儲。
首先,創(chuàng)建抽象類SQLiteOpenHelper的子類MySQLiteOpenHelper,實(shí)現(xiàn)其onCreate方法,并在該方法中初始化數(shù)據(jù)庫及相關(guān)字段。
Publicclass MySQLiteOpenHelper extends
SQLiteOpenHelper{public MySQLiteOpenHelper(Context context,String name,CursorFactory cursor,int version){super(context,name,cursor,version);}
public void onCreate(SQLiteDatabase db){db.execSQL("CREATE TABLE usertable (username text primary key,password text,age integer,birthday text,teleress text,address text,illness text)");}}
其次,創(chuàng)建并打開數(shù)據(jù)庫。
mySQLiteOpenHelper=new MySQLiteOpenHelper(this,"userinformation.db",null,1);
mydb=mySQLiteOpenHelper.getReadableDatabase();
最后,通過Android API提供的方法添加數(shù)據(jù)。
ContentValues cv=newContentValues();
cv.put("username",username);
mydb.insert("usertable",null,cv);
(3)圖形化顯示。使用第三方類庫achartengine繪制折線圖。
首先,添加achartengine-1.2.0.jar至工程,然后,通過achartengine實(shí)現(xiàn)直線圖的繪制。
chartShoulder=ChartFactory.getTimeChartView(this,getDateDemoDataset(),getDemoRenderer(),"hh:mm:ss");
2.3系統(tǒng)測試
本測試系統(tǒng)包括移動終端用應(yīng)用SERobot、WIFI轉(zhuǎn)換器及機(jī)器人本體,搭建的上肢康復(fù)醫(yī)療機(jī)器人本體如圖5所示。
圖5 上肢康復(fù)醫(yī)療機(jī)器人實(shí)物圖
(1)打開應(yīng)用SERobot,搜索WIFI,建立基于Socket的無線連接;
(2)用戶登錄后,進(jìn)行參數(shù)設(shè)置;
(3)進(jìn)行語音、肌電、軌跡3種控制模式測試,并觀察顯示狀態(tài)與數(shù)據(jù)。
經(jīng)過多次實(shí)驗(yàn)測試,結(jié)果表明,該控制系統(tǒng)能夠穩(wěn)定實(shí)現(xiàn)基于WIFI的無線控制(包括語音控制、肌電控制及軌跡控制),控制康復(fù)醫(yī)療機(jī)器人本體實(shí)現(xiàn)肩關(guān)節(jié)、肘關(guān)節(jié)3自由度欠驅(qū)動功能,同時將數(shù)據(jù)實(shí)時反饋至Android客戶端,操作簡單,界面清晰,響應(yīng)靈敏,人機(jī)交互體驗(yàn)良好,系統(tǒng)的性能測試指標(biāo)見表1。
Android客戶端顯示的主控制界面效果如圖6所示。
研究設(shè)計(jì)并實(shí)現(xiàn)了一種基于Android平臺的康復(fù)醫(yī)療機(jī)器人控制系統(tǒng),分析了控制系統(tǒng)的功能需求,建立了系統(tǒng)的整體架構(gòu),分別設(shè)計(jì)了系統(tǒng)硬件和軟件部分,并重點(diǎn)分析了建立基于WIFI的Socket連接、用戶注冊及圖形化顯示三部分。測試結(jié)果表明,該系統(tǒng)成功應(yīng)用于上肢康復(fù)醫(yī)療機(jī)器人中,實(shí)現(xiàn)了機(jī)器人的無線控制。此外,該無線控制技術(shù)具有較強(qiáng)的靈活性、通用性及穩(wěn)定性,可應(yīng)用于農(nóng)業(yè)機(jī)器人、家用機(jī)器人等,具有廣泛的發(fā)展前景。
表1 系統(tǒng)性能測試指標(biāo)
圖6 上位機(jī)主控制界面效果圖
[1]吳永琢.基于3G網(wǎng)絡(luò)機(jī)器人平臺的研究與設(shè)計(jì)[J].制造業(yè)自動化,2012,34(8):99-101.
[2]詹成國,朱偉,徐敏.基于Android的測控裝置人機(jī)界面的設(shè)計(jì)與開發(fā)[J].電力自動化設(shè)備,2012,32(1):119-122.
[3]林明標(biāo),莫金海.基于安卓手機(jī)的無線重力感應(yīng)控制智能小車[J].計(jì)算機(jī)測量與控制,2015,23(4):1175-1178.
[4]冀龍濤.基于Android手機(jī)的家用機(jī)器人控制技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[5]eoe移動開發(fā)者社區(qū).Android開發(fā)入門與實(shí)戰(zhàn)[M].2版.北京:人民郵電出版社,2013.
[6]邁克爾·卡爾弗特,肯尼恩·多納霍.Java TCP/IP Socket編程(原書第2版)[M].周恒民,譯.北京:機(jī)械工業(yè)出版社,2009.
[7] 格蘭特·艾倫,邁克·歐文斯.SQLite權(quán)威指南[M].2版.楊謙,劉義宣,謝志強(qiáng),譯.北京:電子工業(yè)出版社,2012.
Most rehabilitation medical robot usually adopts dedicated control system with fixed mode that is lack of flexibility.A medical robotic prototype for upper limb rehabilitation under current research was taken as an experimental subject to analyze and abstract the characteristics and functions of the control system and put forward an Android-based wireless control system of which functional requirements and system architecture are defined.Control systemconsists of the Android system and WIFI converter modules.It uses weak muscle signals,voice or preselect path tocontrol the speed and direction ofthe robot.The test results showthat the system is stable toachieve the stated functions with strong flexibility,versatility,stability and is ease touse.
安卓;無線局域網(wǎng);套接字;康復(fù)醫(yī)療機(jī)器人
Android;Wireless Lan;Socket;MedicalRobot for Rehabilitation
TP242
A
1672-0555(2016)01-037-05
2015年11月
沈麗云(1989—),女,碩士,主要從事康復(fù)醫(yī)療機(jī)器人控制系統(tǒng)及人機(jī)交互的研究