机器人超宽带室内定位系统的研究

2020-01-14 03:37:26
自动化与仪表 2019年12期
关键词:测距蓝牙基站

(武汉工程大学 电气信息学院,武汉 430205)

机器人的室内定位问题一直是机器人领域的研究热点之一,而传统的机器人室内定位方法有基于视觉或激光的即时定位与地图构建SLAM(simultaneous localization and mapping)技术、航位推算法等方法[1]。SLAM技术计算量大,对处理器的要求高,应用成本很高且实时性差;航位推算法由于硬件和软件误差,远距离定位时有较大的累积误差。对于复杂的环境,这2种方法都不能很好地为机器人提供精确的定位服务,故在此研究并设计了一套基于超宽带UWB(ultra wide band)技术的机器人室内定位系统。

1 UWB定位原理

UWB技术,是近年来新兴的一种高速传输数据的无线通信技术,具有抗干扰能力强、传输速率高、能耗小、发送功率小等优点,主要应用于室内实时定位系统、无线通信网络等领域[2]。

UWB定位常用方法有基于到达时间TOA(time of arrival)、基于到达时间差 TDOA(time difference of arrival)、基于到达角度 AOA(angle of arrival)、基于接收到信号强度指示RSSI(received signal strength indicator)等4种[3-5]。 在此,以TOA算法作为UWB定位系统的方法,TOA法的基本原理是通过测量无线电信号从标签到不同基站的时间,根据电信号传播时间计算出标签到各基站的距离,再通过三边定位的方法计算出标签的位置[6]。

在二维空间中,TOA定位的原理如图1所示。已知,3个基站 A1,A2,A3的坐标分别为(x1,y1),(x2,y2),(x3,y3);设 B 点标签的坐标为(x0,y0),标签到各基站的距离为 r1,r2,r3,由几何关系可得

图1 TOA定位原理Fig.1 TOA positioning schematic

可通过最小二乘法,将式(1)转化为矩阵形式如 Ax=B,即

求解该矩阵,可得

由此计算出标签的坐标。

2 机器人UWB定位系统总体结构

2.1 系统总体结构

机器人UWB定位系统的总体结构如图2所示。该系统主要由模块化电路构成。根据各模块的实现功能的不同,分为以下几个部分:移动控制端(手机 App)、基站(3个)、电源模块(12 V 蓄电池)、主控制模块、无线通信模块、环境信息采集模块、电机驱动模块、从控制器模块、UWB定位模块(DWM1000)、OLED显示模块等。

2.2 硬件设计

主从控制模块均以STM32F103微控制器为处理器,主控制器主要用于规划机器人的运动以及分别与手机和从控制器进行通信;从控制器主要用于控制标签完成定位,并将标签位置信息发送给主控制器。

12 V蓄电池作为整个移动机器人系统的电源,通过线性电源转换电路转出3.3 V电源给处理器和其它工作模块供电。

无线通信模块选用高性能的ATK-HC05型主从一体蓝牙模块。该模块用于实现与手机蓝牙App通信,用户可通过手机蓝牙App向机器人发送各种命令,主控制器也通过蓝牙模块上传机器人的位置和速度等信息到手机App端并显示出来。

环境信息采集模块有非接触式HC-SR04型超声波传感器和夏普公司的GP2Y0A21YK0F型红外传感器。超声波传感器在静距离测距时精度不高且易受环境因素影响,而红外传感器近距离测距精度较高,故选用红外传感器与超声波传感器进行互补测距,使机器人对环境信息的探究更加准确。

电机驱动模块选用TB6612FNG型直流驱动模块。该模块具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。电机驱动模块、减速直流电机及编码器形成一个闭环控制,主控制器通过调节给电机驱动模块的PWM占空比,从而调节电机的速度,达到控制机器人速度的目的。

标签与各基站的硬件结构一致,所采用的UWB定位模块是DecaWave公司的DWM 1000型模块。该模块数据传输速率高达6.8 Mbit/s,通信距离约300 m,对于多路径衰弱有很强的抗干扰能力,低功耗,非常适合室内环境的定位应用[7]。

从控制器通过SPI总线读写DWM 1000模块,通过控制相关寄存器来切换该模块的工作状态。从控制器收到主控制器的定位指令后,控制定位模块工作,通过读取超宽带信号的往返时间,即可计算出标签与各基站的距离,再通过三边定位的方法得到标签坐标。

主控制器根据收到从控制器从串口发来的位置坐标后,会做进一步的路径规划并及时上传自身信息到手机应用端。

3 机器人UWB定位系统软件设计

机器人UWB定位系统软件以双STM32F103核为处理器,双核协调配合完成机器人的定位以及路径规划工作。其软件设计主要包括机器人主程序、标签子程序、基站程序、手机App应用程序等4个部分。

3.1 机器人主程序

图3 机器人主程序流程Fig.3 Robot main program flow chart

机器人主程序流程如图3所示。机器人上电,全部硬件完成初始化工作,然后等待手机应用端的指令,待接收到目标指令后,机器人开启定位功能并向目标运动,若到达目标就停止;若没有到达目标点,则继续向目标点运动。在途中,如果环境信息采集电路检测到障碍物,就会避障。待避障完成,机器人继续向目标前进,并定时上传位置、速度等信息到手机端。

3.2 标签子程序和基站程序

标签子程序工作流程如图4所示。标签完成初始化后,等待主控制器开启定位功能命令,如果接受到主控制器的定位命令,就分别向各基站发送测距命令,并等待基站返回测距结果,待得到标签与各基站的距离后,通过三边定位法计算出标签坐标,然后将标签坐标发送给主控制器。

基站工作流程如图5所示。基站上电,全部硬件完成初始化后,开启基站接收功能,等待标签的测距命令。如果接收到标签的测距命令,基站会向标签发送一帧数据,并记录基站发送数据的时间和收到标签反馈数据的时间,根据TOA算法可计算出与标签的距离。基站将距离信息发送给标签后,会清除缓存的时间信息,并重新等待标签的测距命令。

图4 标签子程序流程Fig.4 Label subroutine

图5 基站程序流程Fig.5 Base station processprogram flow

3.3 手机App应用程序

App使用开发环境为MIT App Inventor 2[8]。在此,手机App与机器人之间采用蓝牙通信方式,利用配置成数据透传工作模式的蓝牙模块,手机App将控制指令发送到机器人,实现对机器人运动状态的控制。机器人在运动的同时,会定时将自身位置、速度等数据发送到手机App端来显示,以达到更好的交互。

4 试验

4.1 定位试验

在10 m×10 m的室内定位实验场地,每间隔一定距离布置一个检测点,将带标签的移动机器人置于各检测点,标签定位完成后,通过串口输出各检测点的计算坐标到上位机,标签检测结果见表1。由表可知,该定位系统的定位精度在±10 cm,能为机器人提供定位服务。

表1 定位检测结果Tab.1 Positioning test result

4.2 导航试验

将机器人硬件移动平台上电后,打开对应的Android App应用软件,进入机器人活动地图选择界面。选择地图后,界面跳转到相应控制界面,通过蓝牙列表按钮连接机器人,待手机与蓝牙模块连接后,就可以通过相应的功能键控制机器人的运动。

地图1定位试验界面如图6所示。以图6为例进行说明,此处选择的是地图1,地图1的大小为250像素×250像素,与机器人的实际物理活动场景10 m×10 m成映射关系。连接蓝牙,点击目标配置按钮,打开地图1。在地图1的xOy坐标中点击任意位置后,App会将对应像素点位置(即图6中黑点位置)发送到机器人,由标签给机器人提供定位服务,机器人根据地图映射关系,从起点O向目标点运动,途中遇到障碍物时,会避开障碍物,同时会定时上传自身位置和电机轮速等信息到App,App接收即时信息并显示出来。图6中,机器人速度为0.1 m/s,黑色的点轨迹为机器人的运动轨迹。

5 结语

图6 地图1定位试验界面Fig.6 Map 1 positioning experiment interface

所设计的机器人UWB室内定位系统,定位精度在±10 cm以内,定位标签能准确地给机器人提供定位服务。所设计的硬件模块电路和相应的软件控制流程,实现了机器人硬件移动平台的定位以及与手机App之间的无线数据传输与控制,开发了Android App应用软件。对该系统进行了测试,机器人能按手机指令运动到目标位置,在手机地图中也可以实时地显示机器人的运动轨迹等信息。然而,对于提高机器人的路径优化能力,以及丰富App软件的数据分析功能,尚有待于做进一步的改进。

猜你喜欢
测距蓝牙基站
蓝牙音箱的直线之美
工业设计(2022年7期)2022-08-12 13:18:58
类星体的精准测距
科学(2020年3期)2020-01-06 04:02:51
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
浅谈超声波测距
电子制作(2017年7期)2017-06-05 09:36:13
可恶的“伪基站”
探索科学(2017年4期)2017-05-04 04:09:47
紧急:蓝牙指尖陀螺自燃!安全隐患频出
玩具世界(2017年8期)2017-02-06 03:01:38
基于GSM基站ID的高速公路路径识别系统
小基站助力“提速降费”
移动通信(2015年17期)2015-08-24 08:13:10
基于PSOC超声测距系统设计