基于定位导航的多传感器导盲系统设计

2023-11-02 12:34陈雷博陈智利
计算机应用与软件 2023年10期
关键词:导盲测距盲人

陈雷博 陈智利

1(北京信息科技大学经济管理学院 北京100101)

2(西安工业大学光电工程学院 陕西 西安 710021)

0 引 言

截至2016年中国视障人数的数量已超过1 700万,也就是说,每80人就有一名失明人士,据统计在视障人士中30%基本不外出,约24%外出不需要家人或朋友陪同,且其中大部分一周外出1至3次,视力障碍给盲人出行带来诸多不便[1-2]。盲人普遍的导盲方式还是传统的导盲手杖,出行安全很难保障[3-4]。为了解决盲人的出行问题,出现了多种装配在盲人外套、眼镜、背包、鞋子等的穿戴式导盲系统,解放盲人的双手,让盲人可以更自由地步行在大街上[5-9]。新一代移动式导盲机器人,让盲人出行更安全[10-12]。

现有的导盲系统大都致力于利用计算机视觉或传感器对障碍物进行探测、规划障碍物避让路径等,但对于盲人如何到达目的地很少有涉及,如何到达目的地多数依赖于盲人的经验。当前GPS定位导航技术已经非常成熟,广泛应用于社会的各个方面,但对于导盲领域的使用还相对较少,文献[4]介绍了一种基于GPS定位的导盲系统,其在路径规划与实时匹配及合理的语音交互方面没有考虑,为了解决导盲设备的导航问题,本文设计一种适用于盲人的带有定位、导航功能的多传感器导盲系统,在系统工作前语音输入目的地,导航模块结合GPS及目的地信息规划行进路径,全程语音指导盲人,行进过程中传感器探障模块实时探测盲人周围障碍物,提高行进过程中的安全性,使盲人安全到达目的地。

1 系统方案

本系统需要实现多传感器的探障以及GPS定位导航功能,主控芯片采用树莓派3B+,其具有独立操作系统,编程运行更加方便,处理速度快。根据实际需要,通过GPS/BD双模定位模块获取当前位置信息,结合盲人语音输入转换获得的目的地定位坐标,利用Python爬虫技术爬取百度地图路径规划信息,获得盲人使用者的步行导航路径,并通过语音分段提示给盲人,指导其行进。盲人行进中超声波测距模块探测盲人前方2~400 cm以内的障碍物,红外测距模块探测盲人两侧15~80 cm内的障碍物,摄像头进行环境信息获取,使盲人能有效避开障碍,保障其安全。系统与盲人信息交互通过语音形式进行。本系统方案如图1所示。

图1 系统设计方案

2 系统设计

2.1 GPS定位

GPS定位选用ATK-S1216F8-BD GPS/BD模块,该模块的核心器件采用SkyTraq公司的S1216F8-BD模组,有167个通道,灵敏度为-165 dBm,测量输出频率20 Hz,体积小,GPS/BD双模天线定位精度高[6]。

利用minicom工具获取GPS串口数据,安装相关软件和库(gpsd、gpsd-clients、python-gps),通过minicom即可获取GPS数据,通过Python程序控制GPS模块接收当前定位信息。

2.2 路径规划及导航

以GPS硬件系统采集的坐标信息和由百度地图开放平台爬取的导航信息为基础,通过软件的加工处理,形成导航指令,由语音交互系统传递给盲人,以达到引导其安全行进的目的。其软件整体设计框图如图2所示。

图2 路径规划及导航整体设计

(1) 起终点位置获取。起点位置直接由GPS模块定位给出,在起点坐标位置获取时首先设置接口,进行接口初始化,再启动接口通信,读取GPS原始数据。由于国家测绘局规定商用GPS坐标有需要进行加密,所以还需要将原始数据(wgs84坐标系)通过坐标转换接口转换为百度坐标系下的经纬度值。

终点位置由使用者自行确定,本系统采用语音输入方式,百度AI平台转换为字符串,转换后通过url请求发送到百度地图开放平台服务器,服务器返回目的地的经纬度值,此方法无须进行坐标系转换。

(2) 路径规划。将起终点位置通过url请求发送至百度地图服务器,爬取起点与终点之间的步行导航路径规划信息,将信息解析后输出为json格式,便于理解和交互。

(3) 分段导航。路径爬取成功后,需要实时播报导航信息,此处采用实时定位,匹配输出的方式,程序建立循环,循环进行当前位置定位,通过与导航路径拐点匹配,实现分段实时播报,准确引导盲人前往目的地,程序设计流程如图3所示。

图3 分段匹配导航流程

(4) 终点检测。终点检测是导航模块最后一个内容,当中间路径都已匹配成功后,此时系统将终点定位坐标拿出进行匹配,成功后系统语音提示“到达终点,导航结束”。

2.3 探障模块

导航模块可以指导盲人前往目的地,由于导航功能针对可以通过的道路而言,至于道路上的一些障碍物却无法避免,容易使盲人撞上受伤,所以本系统在导航的基础上还增加了图像和传感器探障模块,探测盲人在行进过程中前方和两侧一定范围内的障碍物,增加其出行的安全性。探障避障处理框图如图4所示。

图4 探障避障处理框图

传感器探障模块利用红外测距传感器和超声波测距传感器来探测障碍。超声波测距传感器利用时间差法探测前方2~400 cm内的障碍,红外测距传感器利用三角法测量两侧15~80 cm以内的障碍物。利用图像处理技术对盲道、斑马线等基本出行环境进行检测识别,利用YOLO算法对红绿灯及常见障碍物的类型、大小进行识别。硬件均连接在树莓派3B+主控模块上。

由于红外测距模块返回电压为模拟电压,需要在导入树莓派芯片前将其转换为数字电压,本模块应用MCP 3008 8通道10位模数转换器进行模数转换。

2.4 语音模块

本系统导航模块终点获取利用语音识别方式,信息探测处理后以语音形式反馈给盲人,所以本系统中语音模块需要实现两大功能,其一为语音录制与识别,其二为语音合成与播报。

(1) 语音录制与识别。采用USB麦克风,自带声卡,录制音频采样率为44.1 kHz,需要在录制结束后将采样率转换为16 kHz以方便识别,在线通过url请求百度AI平台,将转换后的音频文件导入启动识别,程序控制需要安装Python的pyaudio库进行录音,利用pydub及相应库ffmpeg进行语音转码,最后通过baidu-aip库进行识别。语音识别程序流程如图5所示。

图5 语音识别程序流程

(2) 语音合成与播报。语音合成同样利用百度AI平台的方法,利用baidu-aip库进行语音合成,使用pygame库进行语音文件的直接播报,通过3.5 mm音频输出接口连接耳机输出音频。

3 系统测试

根据系统方案对本系统硬件部分进行搭建,利用软件编程实现了上述所涉及功能,采用多线程方式,让导航与探障模块互不影响,使系统的探测效率大大提高。

系统开始时,首先语音提示“请输入导航终点”,此时开始进行语音录制,使用者说出目的地,程序自动识别,识别后传入导航模块进行坐标获取从而规划路径,将全程需要的时间及距离语音输入,其后进行坐标点的匹配,将导航信息分段以语音形式提示给使用者,此外,在整个导航过程中,图像、超声波和红外测距模块实时探测使用者前方以及侧方的障碍物,系统判断为危险距离后语音提示盲人进行避让,安全性增强。

(1) 定位导航。开启定位功能,可获取当前定位点,通过程序将自动获取当前位置经纬度坐标,系统在开始工作前利用语音录制及识别模块获取目的地并反查目的地位置信息,利用百度地图规划步行导航路径,总体测试时起终点设置为某两高校,程序运行后,具体导航路径信息如表1所示。根据路径信息在地图上绘制了本系统提供的路径如图6所示,经过实际测试,该模块能够进行精准导航(误差小于2 m),使盲人能正确地到达目的地。

表1 具体导航路径分段表

图6 导航路径地图

(2) 传感器探障及误差。超声波测距模块、红外测距模块分别实现了前方3 m和两侧1.2 m以内的障碍物探测。树莓派系统启动后,利用开辟的独立线程不间断探测盲人前方和两侧的障碍物信息,考虑到盲人的行进速度,设定阈值范围,将障碍物分为危险、警告和安全三个级别,根据级别采用不同的播报方式,避免频繁播报占用系统资源给盲人造成安全隐患。表2和表3给出了探障模块多次测量的结果,在超声导盲0.6~4 m范围内误差小于±0.5%,在红外导盲0.3~1.2 m范围内误差小于±3.5%,满足盲人使用要求。

表2 超声波测距误差

表3 红外测距误差

4 结 语

本文设计一种基于GPS定位导航的多传感器导盲系统,在实现盲人出行导航的基础上进一步利用了多传感器探障对近距离的障碍物进行探测,确保了盲人在导航行进过程中不会撞向障碍物,保证了盲人的出行安全。开始工作时系统语音提示输入目的地,而后进行语音录制及识别,将识别结果导入导航模块进行路径规划,结合GPS定位信息进行路径的分段播报,经测试,GPS定位精度高,路径规划合理,语音识别准确,语音播报清晰;行进过程中利用超声波及红外测距模块对前方2~400 cm以及侧方15~80 cm障物进行探测,探测准确率高,在超声导盲60~400 cm范围内误差小于±0.5%,在红外导盲30~80 cm范围内误差小于±3.5%,满足系统需要。

猜你喜欢
导盲测距盲人
基于云端技术的多功能导盲手杖的设计与实现
基于物联网的导盲机器犬的研究与设计
类星体的精准测距
随声附和的盲人
路口导盲及马路障碍物检测提醒系统的设计
自首的盲人
智能导盲
盲人节
浅谈超声波测距
盲人分衣服