基于Android的智能轮椅设计与实现

2014-01-15 10:00林向南何岭松
电子设计工程 2014年19期
关键词:操纵杆轮椅重力

林向南,何岭松

(华中科技大学 机械科学与工程学院,湖北 武汉 430074)

随着移动终端平台技术的飞速发展和智能手机的日益普及,越来越多的服务已经向终端转移。Android系统作为目前主流的移动设备操作系统,以其免费的特征,和强大的功能,已经受到越来越多的终端厂家的广泛使用[1]。如何利用Android平台实现更多的日常应用,特别是移动化便携式医疗设备[2],成为一个重要的研究领域。我国正步入人口老龄化社会阶段,同时也拥有数量庞大的下肢残障人士,为他们提供实用性的代步工具是一个亟待解决的问题。因此,智能轮椅的研究受到了广泛关注[3-4]。

本文针对以上特点,研究开发了基于Android的智能轮椅。将普通操纵杆按钮控制模式的智能轮椅通过电路改造成可用Android手机或平板电脑无线控制的智能轮椅,控制模式兼具操纵杆控制、按钮控制、触摸屏控制、语音控制等多种控制方式的特点,同时利用智能手机自身的特点,更是具有摔落跌倒短信报警、GPS定位等诸多功能,适用于残疾程度较轻,肢体能动性较高且意识较好的人群。此款智能轮椅相比其他高性能智能轮椅,廉价许多,在人手一台的Android智能手机或平板电脑上安装轮椅控制软件即可实现对轮椅的操作控制,便宜方便。

1 智能轮椅功能分析及总体方案设计

一般的智能轮椅主要是为残障人士以及行为不便的老年人们提供代步使用,有的兼具导航、紧急报警等功能。本文智能轮椅由于人机接口采用Android智能手机,使得其功能更加强大。结合智能手机自身特点,可提供的功能有:触屏按钮控制、触屏滑动控制、重力传感器控制、语音控制、短信报警、GPS定位等诸多功能。

本文智能轮椅的总体方案设计如图1所示,对市场上一般的操纵杆按钮控制模式的智能轮椅进行了改造,安装了C51单片机进行底层控制,通过继电器对轮椅驱动器进行控制;在单片机上通过串口连接Wi-Fi模块,从而与Android手机进行Wi-Fi无线连接交互,用户通过手机客户端对轮椅进行控制操作,客户端也可以对用户使用过程中出现的一些紧急情况进行定位以及短信报警,如发生摔倒、碰撞等。

图1 智能轮椅总体结构图Fig.1 Structure diagram of the intelligent wheelchair

2 智能轮椅硬件改造

由于现有的轮椅是由上海威之群机电制品有限公司生产的Safeman操纵杆按钮控制模式的智能轮椅,若想利用智能手机进行控制,就需要对轮椅进行电气化改造。在熟悉了轮椅的基本工作原理之后,根据所改造的起始点,本文起初提出了4种改造方案。在综合对比后,决定通过输入等效信号代替操纵杆:保留原有轮椅电机驱动器不变,采用继电器和线圈来模拟原先按钮和操纵杆操作(操纵杆是基于互感原理运作的)。通过控制单片机引脚电平高低来控制继电器,进而控制电源通断以及线圈通断电,继而控制电机驱动器,最终控制轮椅行进。主要改造有去掉操纵杆及按钮,增加单片机、继电器及线圈、无线模块。

单片机作为底层处理器,主要用来接收无线模块传送来的手机操作命令,解析命令,然后对继电器电路进行控制,控制继电器开关。由于采用AT89C52单片机,其输出引脚电流太弱,无法驱动继电器,采用NPN三极管电路进行功率放大。而轮椅采用2块+12 V蓄电池供电,远高于单片机引脚输出电压,为保护单片机,采用了MOC3022光电耦合器隔离单片机和放大电路。隔离和放大电路如图2所示。

继电器主要用来控制操纵杆线圈以及其他按钮电路的通断。采用OMI-SH-212L继电器,+12 V电源供电。为避免2个继电器连接到同一个电源时造成短路,采用2个继电器互锁电路设计。线圈用来模拟操纵杆操作,其选择需要考虑选择合适的电感和匝数来产生所需的感应电压,以及选择放置到合适的位置。最后,采用1.8 nH电感线圈,满足要求。

无线模块主要用作无线热点(服务器),接受移动终端无线连接请求,建立无线局域网,通过无线信号与UART信号之间的相互转换,实现无线终端(手机)与底层(单片机)之间的通信。在对比蓝牙和Wi-Fi两种常见的无线模块之后,决定采用Wi-Fi模块,模块选用ST-MW-08S。模块内置完整的TCP/IP 协议栈,支持 ARP、IP、ICMP、UDP、TCP、DHCP 客户端和DHCP服务器等多种协议;提供4路通用I/O接口(O1、O2、O3、O4)和 2 路 PWM 接口(PWM1、PWM2),并提供通用串口实现与单片机的串口通信;网络结构上,支持基础网络(infra)和特殊的Ad-hoc网络结构;拥有更低的功耗和较高的数据吞吐率。

3 智能轮椅软件设计

3.1 软件的开发环境

1)开发单片机应用程序:Keil uVision4 for C51

图2 隔离和放大电路图Fig.2 Circuit diagram of isolation and amplification

Keil uVision4主要用来开发单片机嵌入式控制软件,构建单片机与Wi-Fi模块信息交互,对单片机引脚进行定义,完成信息命令解析,对轮椅进行实时控制。

2)开发Android终端应用程序:Eclipse+JDK+Android SDK+ADT插件

Eclipse是Android应用程序开发主流使用的集成开发环境。安装Eclipse Android开发环境,首先需要安装Java开发工具包JDK,然后安装Eclipse和Android SDK,最后安装Android开发工具ADT[5-6]。

3.2 Android终端软件设计

Android终端软件功能设计流程图如图3所示。本文的设计优点主要有重力感应控制、语音控制、GPS定位、碰撞跌倒短信报警或语音报警。此外,还有触屏按钮控制及滑动控制、指南针、速度切换以及软件使用指南等功能。

3.2.1 控制模块设计

本文设计的智能轮椅的控制模式除了传统的按钮控制外,还结合智能手机自身的特点,设计了触屏滑动控制、重力感应控制以及语音识别控制。这里主要介绍下重力感应控制机语音识别控制。

图3 终端软件功能流程图Fig.3 Flow chart of the Android terminal software

重力感应,是利用压电效应实现,简言之就是测量内部一片重物(与压电片做成一体)重力正交两个方向的分力大小,来判断水平方向。目前,智能手机发展迅速,基本上都安装有重力感应芯片。本文通过实现SensorListener接口,调用onSensorChanged(int sensor, float[]values)方法,利用重力感应芯片,将智能手机变身为移动手柄,前倾轮椅前进,后倾后退,左倾左转,右倾右转,端平则停止,操作简单方便。

电话语音是手机最初的功能,也是最主要的功能,语音功能也越来越多的应用在其他的程序中。本文通过start Activity For Result(intent, VOICE_RECOGNITION_REQUEST_CODE)方法调用google语音识别程序,并返回识别结果。对识别结果进行判断,若为真,则发送相应控制命令,若为假,则发送轮椅停车命令。比如,若识别结果为“前进”、“向前”、“往前”或“朝前”,则发送控制轮椅前进的命令“FORWARD(值为1)”。语音控制使得上肢不便的老人及残疾人也可以方便的控制轮椅,为这类人群提供了更多的选择和便利。

3.2.2 GPS定位模块设计

GPS是Global Positioning System (全球定位系统)的简称,可以提供车辆定位、防盗、路线导航等功能。在Android平台中,已给出GPS相关的底层结构和接口定义,可以从GPS位置信息中获取当前所在的经纬度、海拔、速度及方位。本文通过调用 Location类的 getLongitude()和 getLatitude()获取当前位置经纬度。

电子地图是利用计算机技术来数字式存储或访问地图,电子地图可用来寻找不熟悉的位置、制定路径规划等。本位结合GPS和电子地图,可以提供更加直观、更加便捷的定位信息。相比google地图,百度更加易于设置和开发,因此,本文采用GPS和百度地图相结合实现定位功能。载入baidumapapi.jar,创建继承MapActivity的自定义地图Acitivity,用得到的经纬度构造一个GeoPoint,并以此设置地图中心,实现地图定位。

3.2.3 报警模块设计

紧急报警是本文另一大特点,利用手机加速度传感器,当轮椅(手机)发生碰撞或摔倒时,加速度发生剧烈变化,此时自动向亲友发短信求助。监测加速度X、Y、Z 3个方向的加速度值。X、Y方向主要为水平加速度,发生剧烈变化时,可能发生碰撞,发布碰撞警报;Z方向主要为垂直加速度,发生剧烈变化时,可能发生摔倒,发布摔倒警报。结合GPS地图,同时发送当前所在地。

短信是一种非常普遍和可靠的通信方式,也是手机的移动通信业务之一,利用短信发送紧急情报非常安全可靠。本文调用 SmsManager对象的 sendTextMessage(phoneNumber,null, msg, sentPI, deliverPI)方法发送紧急短信(其中 msg 为报警内容:如“我发生碰撞,目前所在地为XX,收到请打电话确定是否安全。”),使用BroadcastReceiver通知用户短信是否发送成功以及对方是否成功收到短信,并在已发送短信里进行记录。

3.3 单片机控制软件设计

单片机控制软件设计流程图如图4所示。单片机控制软件主要完成硬件初始化,循环接收轮椅控制命令,解析命令并控制相关引脚电平高低及时间从而对继电器做出相应控制。

图4 单片机软件流程图Fig.4 Flow chart of the MCU software

4 智能轮椅调试

本文对所设计的这款智能轮椅的每项功能进行了调试实验,特别是重力感应控制模式和语音识别控制模式。其他功能如Wi-Fi无线通信、速度切换、按钮及滑动触屏控制模式、指南针等功能正常,GPS定位报警功能经过调节合适的加速度阈值能够对一般的碰撞和摔倒进行报警。

重力感应控制模式实际测试的曲线图如图5所示,从图中可看出,手机重力感应传感器较灵敏,由手机前后倾斜角度(前+后-)和左右倾斜角度(左+右-)可较准确合成出控制命令(前进+2,后退-2,左转+1,右转-1,停止 0),且合成实时性较高,能够对轮椅进行较实时准确的控制。

语音识别控制模式实际测试效果如表1所示,对8个测试者进行了每人20次各命令的测试。语音识别采用标准普通话库,测试结果主要与测试者的普通话水平有关,普通话好的识别率基本在95左右,而普通话较差的则低于90%,甚至低于80%。有些测试者初始测试时识别率较差,经过稍加控制命令口令的训练后,识别正确许多。测试整体识别率达到90%以上,效果较好。从测试结果可看出,只要对用户稍加进行控制命令的普通话训练,语音识别率即可满足正常的日常控制需求。

图5 重力感应控制测试曲线图Fig.5 Curves chart of gravity sensing control test

表1 语音识别控制模式识别准确率测试Tab.1 Accuracy rate test of the voice recognition control

5 结 论

本文所设计的基于Android[7]的智能轮椅,在传统操纵杆按钮式智能轮椅的基础上,通过电气化改造,设计为可用Android手机或平板电脑无线Wi-Fi控制的智能轮椅。除了提供触屏按钮和触屏滑动控制方式外,还提供了重力感应控制和语音识别控制方式,使用户操作轮椅更加方便及多样化。此外,还提供了GPS定位和短信报警功能,使用户出行更加安全。通过将智能手机与轮椅相结合,提供给用户一款廉价、方便、多功能、安全的智能轮椅,为肢体残疾的病人或行动不便的老年人提供便利,具有。经调试,智能轮椅软硬件工作均基本正常,不过GPS导航及路径规划等功能在以后的工作里需要进一步研究。

[1]刘旭东,何泾沙.基于Android的BATMAN协议应用框架协议的研究[J].电子设计工程,2013,21(20):10-13.LIU Xu-dong,HE Jing-sha.A BATMIN protocol research on Android[J].Electronic Design Engineering,2013,21(20)10-13.

[2]张莉,张子龙.基于Android智能手机平台的便携式心电监护仪的设计[J].中南民族大学学报:自然科学版,2012,31(4):88-92.ZHANG Li,ZHANG Zi-long.Design of a portable ECG monitor based on Android smartphone platform[J].Journal of South-Central University for Nationalities:Nat.Sci.Edition,2012,31(4):88-92.

[3]罗元,孔维熙,张毅.基于Android手机的智能轮椅户外导航方法[J].计算机工程,2013,39(6):312-316.LUO Yuan,KONG Wei-xi,ZHANG Yi.Intelligent wheelchair outdoor navigation method based on Android mobile phone[J].Computer Engineering,2013,39(6):312-316.

[4]郝付英.智能轮椅控制系统研究与设计[D].济南:山东大学,2012.

[5]金林珠,库流亨.基于Android的VoFi语音系统的设计与实现[J].电子设计工程,2013,21(17):37-40.JIN Lin-zhu,KU Liu-heng.Design and implementation of VoFi voice communication system based on Android[J].Electronic Design Engineering,2013,21(17):37-40.

[6]王国辉,李伟.Android开发宝典[M].北京:机械工业出版社,2012.

[7]杨涛,李隐峰,胡秋玲.基于Android的电话号码查询系统设计[J].电子科技,2013(12):131-134.YANG Tao,LI Yin-feng,HU Qiu-ling.Telephone number inquiry system design based on android[J].Electronic Science and Technology,2013(12):131-134.

猜你喜欢
操纵杆轮椅重力
疯狂过山车——重力是什么
轮椅概念设计
重力性喂养方式在脑卒中吞咽困难患者中的应用
轮椅上的爱
重力之谜
我的轮椅
这注定是个伟大的夜晚
联合收割机各操纵杆功能的研究
轮椅上的姑娘(外三首)
机场消防车驾驶室移动式操纵装置及踏板的设计