APP下载

基于Android的康复医疗机器人控制系统设计与实现

2016-10-27沈丽云尹孟征郭凤仙严佳玲

装备机械 2016年1期
关键词:驱动器肘关节肩关节

□沈丽云 □尹孟征 □郭凤仙 □严佳玲 □刘 鹏

上海电气集团股份有限公司 中央研究院 上海 200070

基于Android的康复医疗机器人控制系统设计与实现

□沈丽云□尹孟征□郭凤仙□严佳玲□刘鹏

上海电气集团股份有限公司 中央研究院上海200070

康复医疗机器人多采用固定模式的专用控制系统,缺少灵活性。以当前研究的上肢康复医疗机器人样机为实验对象,分析并抽象出了控制系统的特点及功能,提出了一种基于Android平台的无线控制系统,明确了功能需求及系统架构。控制系统由Android系统及WIFI转换器模块等组成,通过微弱肌电信号、语音或者既定轨迹实现对机器人速度及方向的控制。测试结果表明,该系统能够稳定实现既定功能,具有较强的灵活性、通用性、稳定性及易用性。

目前,康复医疗机器人得到了极大推崇,国内外均将其作为重点研究课题。虽然康复医疗机器人具有良好发展前景,但自机器人诞生以来,控制方面基本都采用专用设备及系统,其昂贵的费用及专用性在一定程度上限制了机器人技术的发展。此外,这些设备不便携带,在使用范围上受到一定限制[1]。

随着计算机技术的不断发展及智能移动互联网进入全新时代,原来只能在计算机平台进行处理的工作现在可以转移到智能终端上来完成。智能手机这类通用设备,为开发通用便携、控制自然灵活、具有良好用户体验的机器人控制系统提供了一种有效手段[2]。尤其在康复医疗领域,基于移动终端的无线控制大大增加了康复设备的灵活性及对活动场地的适应性。在智能手机终端操作系统中,目前发展具代表性的是谷歌公司推出的安卓(Android)系统,众多公司、企业及政府部门均支持基于Android系统的手机服务,纷纷开发具有高实用价值的Android软件[3-4]。当前,基于移动智能终端的控制在康复医疗机器人应用方面相对较少,笔者论述了硬件系统的设计及Android系统开发方法,并通过实验验证了基于无线保真(WIFI)康复医疗机器人的无线控制概念。

1 系统分析及整体结构设计

1.1系统分析

该系统需要满足的基本需求是采用手机、平板电脑等移动终端,实现对康复医疗机器人的无线控制及状态显示,主要功能如下。

(1)用户信息注册及登录功能;

(2)通过移动终端,与上肢康复机器人建立基于套接字(Socket)的网络通信,并实现控制指令的发送及运行状态的接收等;

(3)参数设置功能;

(4)控制康复医疗机器人本体,实现肩关节、肘关节3自由度欠驱动功能;

(5)实现语音控制、肌电控制及轨迹控制3种控制模式;

(6)语音控制模式下,实现肩向上、肩向下、肘弯曲、肘伸展4种基本动作及其组合动作;

(7)肌电控制模式下,通过采集使用者前臂及上臂的微弱肌电信号,实现对机器人动作的控制;

(8)轨迹控制模式下,通过对上肢康复过程的分析,实现6条基本康复训练轨迹;

(9)实现状态显示,包括肩关节信号采集板、肩关节驱动器、肩关节驱动器编码器信息、肘关节信号采集板、肘关节驱动器、肘关节驱动器编码器信息、主控制芯片运行时间等7种状态信息。

根据上述系统功能分析,本系统需建立用户登录、参数设置及状态显示等3个功能模块,系统功能框图如图1所示。

1.2整体结构设计

本康复医疗机器人的控制系统包括上位机及下位机两方面,上位机为通过Eclipse平台设计、开发的基于Android操作系统的移动终端用应用程序,下位机为具有WIFI功能的上肢康复医疗机器人。上位机通过WIFI建立与下位机之间的通信,进而实现对康复医疗机器人的无线控制。整体系统结构如图2所示。

2 软硬件设计

2.1硬件设计

根据系统功能分析,硬件系统主要包括主控模块、肩关节电机驱动、肘关节电机驱动、WIFI模块、信号采集模块及电源模块,如图3所示。以下对各模块的设计进行介绍:

图1 系统功能框图

图3 硬件设计框图

(1)主控模块。采用工业级双核处理控制芯片F28M35,该处理器有高达128 KB的片上随机存储器(RAM)。

(2)肩关节电机驱动及肘关节电机驱动。采用上海开通数控有限公司的低压超小型交流伺服驱动系统KT260-A-0818,可驱动功率400 W以下、电压24~80 V的电机。

(3)WIFI模块。采用深圳宇泰科技有限公司的UT-9061型模块,该设备能够实现 WIFI转RS232/485/422,最大传输距离可达300 m。

(4)信号采集模块。信号采集模块所用芯片为ATMEGA16A型,能够实现肌电信号及语音信号的实时采集。

(5)电源模块。驱动器需要24 V供电,信号采集模块需要7.6 V供电,主控制板需要5 V供电。

2.2 Android移动终端软件设计

2.2.1原型图设计

原型图设计主要是对项目技术结构的构思,为进一步的详细设计给出更加精确的设计步骤及项目进度的预估[5]。由图1可知,该控制软件共分为3部分:用户登录,参数设置,状态显示。

(1)用户登录。在程序启动的时候,进入启动界面,用于展示开发单位的标志及开发者信息等。

一定延时后进入说明界面,该界面说明了用户在使用该软件时需要获取的信息,包括网际协议(IP)地址、端口、用户名、密码。

点击进入连接界面,建立与服务端的连接,以实现基于 Socket的 WIFI通信,当前 IP地址为10.10.100.254,协议端口为8899。

点击进入用户登录界面,首次使用时需通过点击“注册新用户”按钮进入注册界面,非首次使用直接输入用户名及密码,点击“登录”即可进入主控制模式。

(2)参数设置。参数设置页面用于设置样机参数,包括用户参数、系统参数及开发参数。

用户参数包括模式切换(语音、肌电、轨迹3种控制模式)、轨迹选择(由开发人员根据不同康复阶段设定的6条轨迹)及肌电触发阈值(当肌电信号的采样值大于该阈值时才会动作)。

系统参数包括肩关节机械角度及对应的电机脉冲数、肘关节机械角度及对应的电机脉冲数。

开发参数包括康复机型的选择。针对不同的用户群体,分为经济型和高端型两种。

(3)状态显示。状态显示采用侧边栏设计,通过右滑显示,显示状态包括肩关节信号采集板状态(0为正常,其余为有错)、肩关节驱动器状态(0为正常,其余为有错)、肩关节驱动器编码器信息、肘关节信号采集板状态(0为正常,其余为有错)、肘关节驱动器状态(0为正常,其余为有错)、肘关节驱动器编码器信息、主控制芯片运行时间(min)。

2.2.2流程图设计

根据系统功能需求,明确本系统中软件设计基本流程如图4所示,其中主要难点在于建立基于WIFI的Socket连接、用户注册及图形化显示。

图4 软件设计流程图

(1)建立基于WIFI的Socket连接[6]。首先,在工程的AndroidManifest.xml文件中增加WIFI权限:<uses-permissionandroid:name="android.permission. CHANGE_WIFI_STATE"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

然后,输入当前IP地址和端口,建立Socket连接,并通过DataInputStream及DataOutputStream实现数据的通信:

socket=newSocket(IP,Port);//建立Socket连接

DataOutputStream out=new OutputStream(socketRev.

getOutputStream());

out.write(readCom);

out.flush();//数据发送

DataInputStream in=new DataInputStream(socketRev. getInputStream());

byte[]revData=newbyte[in.available()];

in.read(revData);//数据接收

(2)用户注册。SQLite作为一种轻量级的关系型数据库,具有体积小、零配置等优势[7],因此本系统采用SQLite进行信息存储。

首先,创建抽象类SQLiteOpenHelper的子类MySQLiteOpenHelper,实现其onCreate方法,并在该方法中初始化数据库及相关字段。

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)");}}

其次,创建并打开数据库。

mySQLiteOpenHelper=new MySQLiteOpenHelper(this,"userinformation.db",null,1);

mydb=mySQLiteOpenHelper.getReadableDatabase();

最后,通过Android API提供的方法添加数据。

ContentValues cv=newContentValues();

cv.put("username",username);

mydb.insert("usertable",null,cv);

(3)图形化显示。使用第三方类库achartengine绘制折线图。

首先,添加achartengine-1.2.0.jar至工程,然后,通过achartengine实现直线图的绘制。

chartShoulder=ChartFactory.getTimeChartView(this,getDateDemoDataset(),getDemoRenderer(),"hh:mm:ss");

2.3系统测试

本测试系统包括移动终端用应用SERobot、WIFI转换器及机器人本体,搭建的上肢康复医疗机器人本体如图5所示。

图5 上肢康复医疗机器人实物图

(1)打开应用SERobot,搜索WIFI,建立基于Socket的无线连接;

(2)用户登录后,进行参数设置;

(3)进行语音、肌电、轨迹3种控制模式测试,并观察显示状态与数据。

经过多次实验测试,结果表明,该控制系统能够稳定实现基于WIFI的无线控制(包括语音控制、肌电控制及轨迹控制),控制康复医疗机器人本体实现肩关节、肘关节3自由度欠驱动功能,同时将数据实时反馈至Android客户端,操作简单,界面清晰,响应灵敏,人机交互体验良好,系统的性能测试指标见表1。

Android客户端显示的主控制界面效果如图6所示。

3 结论

研究设计并实现了一种基于Android平台的康复医疗机器人控制系统,分析了控制系统的功能需求,建立了系统的整体架构,分别设计了系统硬件和软件部分,并重点分析了建立基于WIFI的Socket连接、用户注册及图形化显示三部分。测试结果表明,该系统成功应用于上肢康复医疗机器人中,实现了机器人的无线控制。此外,该无线控制技术具有较强的灵活性、通用性及稳定性,可应用于农业机器人、家用机器人等,具有广泛的发展前景。

表1 系统性能测试指标

图6 上位机主控制界面效果图

[1]吴永琢.基于3G网络机器人平台的研究与设计[J].制造业自动化,2012,34(8):99-101.

[2]詹成国,朱伟,徐敏.基于Android的测控装置人机界面的设计与开发[J].电力自动化设备,2012,32(1):119-122.

[3]林明标,莫金海.基于安卓手机的无线重力感应控制智能小车[J].计算机测量与控制,2015,23(4):1175-1178.

[4]冀龙涛.基于Android手机的家用机器人控制技术研究[D].哈尔滨:哈尔滨工业大学,2013.

[5]eoe移动开发者社区.Android开发入门与实战[M].2版.北京:人民邮电出版社,2013.

[6]迈克尔·卡尔弗特,肯尼恩·多纳霍.Java TCP/IP Socket编程(原书第2版)[M].周恒民,译.北京:机械工业出版社,2009.

[7] 格兰特·艾伦,迈克·欧文斯.SQLite权威指南[M].2版.杨谦,刘义宣,谢志强,译.北京:电子工业出版社,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.

安卓;无线局域网;套接字;康复医疗机器人

Android;Wireless Lan;Socket;MedicalRobot for Rehabilitation

TP242

A

1672-0555(2016)01-037-05

2015年11月

沈丽云(1989—),女,硕士,主要从事康复医疗机器人控制系统及人机交互的研究

猜你喜欢

驱动器肘关节肩关节
气动网络多腔室弯曲软体驱动器结构优化
肘关节镜治疗肘关节僵硬手术技巧
肩关节外科新进展
藏起驱动器号确保数据安全
肩关节置换术后并发感染的研究进展
全肘关节置换的临床应用
空间大载荷石蜡驱动器研制
重新认识肩关节骨折脱位
肘关节术后医源性骨折伴僵硬
运动疗法联合可调式肘关节固定器治疗骨折后肘关节功能障碍疗效观察