孟祥薇,严锡君,欧阳星辰,余 敏,卜 旸
(河海大学 计算机与信息学院,江苏 南京 211100)
我国盲人及视力障碍者数量大,约占全世界盲人总数的20%。盲人由于生理上的缺陷,在公共场所行走时面临着诸多不便以及潜在的危险。目前国内外有诸多类型的盲人导航技术,如导盲机器人、红外线导盲、盲人电子眼镜、GPRS导盲系统等[1],但这些盲人导航设施大多成本过高或携带不便,且受环境影响较大,并不能被盲人广泛采用。超声波具方向性强、能量易于集中、传播距离较远,以及对障碍物定位具有一定的精确性等特性,能较好地应用于障碍物定位,且设备成本较低,便于携带、体积较小,因而易于普及[2]。目前,已有基于超声波的导盲杖研究,但是局限于检测障碍物信息,无法探测路面情况,因而无法为盲人提供全面的路况信息。本文采用C8051F360单片机[3],结合超声波测距技术设计导盲杖,并通过设置压力传感器达到准确探测路面情况的目的,通过语音模块对探测到的距离信息进行反馈,提醒盲人前方道路情况,实现智能导盲功能。应尽量轻巧实用,避免不需要的负重[4]。系统主要由主控制模块、电源管理及开关模块、超声波测距模块、语音模块、压力按钮模块等组成,其系统功能结构图如图1所示。
图1 系统功能结构图Fig.1 Structure of system
日常生活中盲人随身携带导盲杖,为此,导盲杖的设计
使用时,正前方、左前方以及右前方3个方向的超声波模块定向发出超声波,当被测方向有障碍物时,在一定距离内喇叭会发出方向性语音提示;同时,当拐杖底端接触地面时,底部的压力按钮会被按下,拐杖下方的超声波传感器发出超声波,对前方路面情况进行探测,当前方路面存在上坡或者下坡情况时,喇叭会发出状况提示。
电源管理及开关模块主要负责为整个系统中各个模块提供独立稳定的电源,由5 V可充电锂电池供电,可稳定供应3.3 V和5 V两种电压,并由电源开关控制导盲杖使用;4个超声波测距模块通过I/O口与主控制模块交换数据,负责采集环境中各个方向的障碍物信息,为路况分析提供实时数据;语音模块由UART口与主控制模块连接,主芯片根据实时路况信息控制其产生相关语音提示,为盲人避障提供指示;压力按钮模块可检测导盲杖是否着地,并通过外部中断传送信息到主控制模块,使得超声波模块测量数据更加准确,从而保证了对路况分析的准确性。
超声波测距模块主要负责采集路况信息,即发射端(即杖体)到障碍物的距离信息,并传给单片机进行路况分析处理。模块采用HY-SRF05超声波芯片,测距精度可达到3mm,模块包括发射器、接收器与控制电路[5]。超声波测距模块的电路设计如图2所示。
图2 HY-SRF05模块电路图Fig.2 Circuit diagram of HY-SRF05
传感器采用IO口TRIG触发测距,由单片机给出至少10μs的高电平信号,模块自动发送8个40 kHz的方波,当有信号返回时,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,即Δt。
为了实现探测全方位路况,超声波模块的部署极为重要。考虑到盲人遇到的路况主要分为:前、左、右方向的障碍物,上坡或楼梯,以及下坡或沟坑,因此采用如图3所示的具体部署方案。在杖体靠近手柄处以45°角间隔水平放置3个超声波传感器,分别探测正前方、左前方以及右前方3个方向的障碍物;在靠近底座上端与杖体成45°角处固定放置一个超声波传感器,以检测路面状况。
语音模块由SYN6288芯片构成,其外围电路如图4所示。其中端口CON4用于连接喇叭。语音模块的接口TxD与RxD分别连接至单片机的全双工的异步串行通讯(UART)接口 P0.1口与 P0.2口,实现与单片机的串口通信[6]。
单片机发送给SYN6288芯片的命令都需要以“帧”的形式进行封装后传输,具体帧格式如表1所示。
图3 超声波传感器部署主视图Fig.3 Front view of the deployment of ultrasonic sensors
图4 SYN6288芯片及其外围电路图Fig.4 Chip SYN6288 and peripheral circuit diagram
表1 命令帧格式Tab.1 Form at of command frame
单片机根据当前的路况分析结果控制语音模块播报相对应的语音信息,包括前方、左侧、右侧、上坡和下坡5种信息,以提醒盲人做出相应处理方法。
为了实现多方向的探测与路况分析处理,系统工作流程的合理安排就显得尤为重要。合理的工作流程应当确保系统及时播报当前路况,无漏报或误报,同时也不必过于频繁的探测与报警,频繁探测不仅增加功耗,降低电池使用时间,同时也会让使用者感到无所适从[7]。
主流程实现障碍物探测、路面探测以及语音播报的统筹安排。保证各模块正常运行,避免相互冲突。
系统主流程图如图5所示,其中sflag=1表示语音模块空闲,sflag=0表示语音模块被占用,sound指示当前占有语音模块使用权的传感器。sflag会在一次播报后被置为0,即语音模块设为忙状态,固定时间后再被置为1,置1功能会在下文介绍的障碍物探测模块中实现。
障碍物探测包括正前、左前、右前3个方向。考虑到探测装置是以超声波为探测媒介,同时工作可能互相干扰,因此系统采用轮流探测方式[8]。同时,为了实现对语音模块忙闲状态的控制,本模块中会每隔固定时间为语音模块标志位sflag置1,即设为空闲,间隔时间经计算设为12 s,通过此设置,可保证语音模块在每次启用后12 s才被再次启用。
图5 系统主流程图Fig.5 Main flow chart
C8051F360单片机利用定时器2实现传感器轮流探测,定时周期为300ms。图6为定时器2中断程序流程图,其中dir为传感器标识:dir=1为左前方传感器(超声波模块1),dir=2为前方传感器(超声波模块2),dir=3为右前方传感器(超声波模块3)。
路面探测传感器,即传感器模块4,固定在导盲杖的中下位置。处于水平路面时,传感器与水平面的夹角以及相对于地面的垂直高度是一定的,此时传感器模块到前方路面的距离一定,为参考距离D。行进过程中,由压力按钮产生中断后传感器模块4开始测量实际距离d,当d与D相等时,即认为前方为水平路面;若d小于D,则认为前方为上坡/上台阶;若d大于D,则认为前方为下坡/下台阶/沟。考虑到实际路面总是有一些高低起伏的,因此在d与D的比较中设定了一个误差参数m,当|d-D|<m时,均认为是水平路面。误差参数m可通过实物调试给定,系统中设定为5 cm。
图6 障碍物轮流探测方式软件流程图Fig.6 Flow chart of detecting obstacles
路面探测时以被测区域与传感器的实际距离为判断依据,因此需保证距离测量时导盲杖接触地面且与地面垂直,同时保证传感器模块放置方向与水平方向夹角一定,此状态为标准状态。导盲杖底部设计了一个压力按钮模块(如图3)。在行进中若底部按钮被按下,即可认为传感器自身处于标准状态,方可进行路面探测。
因此,利用压力按钮模块引入外部中断,用以触发路面探测工作。图7为具体工作流程,其中it用于记录前进步数,每前进三步进行一次探测,以避免频繁探测。
图7 路面探测方式软件流程图Fig.7 Flow chart of detecting road conditions
智能导盲杖包含了障碍物探测和路面探测两部分,障碍物探测包括左前方、正前方及右前方3个方向,覆盖范围为90°,探测半径为2m,当障碍物进入探测范围内时,将通过语音播报障碍物的大致方位。路面探测的区域为使用者前方80 cm处的路面,被探测路面的水平高度与装置所处路面的水平高度相比,若低5 cm以上,则提示“前方下坡”,若高5 cm以上,则提示“前方上坡”。
经试验测试,可对左前方、正前方和右前方的障碍物以及上下坡、台阶和明显的坑洼等路面状况做出准确识别并及时提示,帮助盲人了解周围状况,为其出行提前便利,提供有效的服务。
[1]刘湘云,王定山,朱志伟.基于超声波技术的导盲杖设计[J].科技信息,2011(14):22-23.
LIU Xiang-yun,WANG Ding-shan,ZHU Zhi-wei.Design of blind guiding crutch based on ultrasonic[J].Science & Technology Information,2011(14):22-23.
[2]散志华,顾秀娟,孙心平,等.超声波的物理特性与超声波检查的适应症[J].中国医疗设备,2011(5):130-132.
SAN Zhi-hua,GU Xiu-juan,SUN Xin-ping,etal.The physical characteristics of ultrasonic wave and the indication of ultrasound examination[J].China Medical Devices,2011(5):130-132.
[3]Silicon Labs.C8051F360/1/2/3/4/5/6/7/8 Mixed signal ISP flash MCU family[S].2007:23-50.
[4]张荣.基于单片机的超声波测距器设计[J].机械与电子,2010(31):87-88.
ZHANG Rong.Design of ultrasonic detecting distance based on single chip[J].Machinery & Electronics,2010(31):87-88.
[5]上海飒昂机器人科技有限公司.URF05转接模块用户手册[S].上海,2010:1-2.
[6]北京宇音天下科技有限公司.SYN6288中文语音合成芯片数据手册[S].北京,2010:1-30.
[7]韩军,常瑞丽,陈志灵.智能移动机器人超声波测距定位系统的研究[J].煤矿机械,2009,30(8):66-68.
HAN Jun,CHANG Rui-li,CHEN Zhi-ling.Research on orientation system ofintelligentmoving robot[J].Colliery Machinery,2009,30(8):66-68.
[8]张兰,杨济民,韩晓丽,等.基于C8051F060的超声波导盲系统设计[J].现代电子技术,2009(24):160-162.
ZHANG Lan,YANG Ji-min,HAN Xiao-li,etal.Design ofultrasonic guidance system for the blind based on C8051F060[J].Modern Electronic Technique,2009(24):160-162.