基于UWB的ROS机器人室内定位系统设计

2020-08-10 02:38:12曹宇
现代计算机 2020年17期
关键词:机系统测距上位

曹宇

(上海城建职业学院,上海 201415)

0 引言

许多室内应用场合需要对机器人精确定位,其精度甚至需达到厘米级别。定位技术常用的有GPS、RFID、蓝牙、Wi-Fi、ZigBee、UWB 等。其中 GPS 室外效果良好,但在室内,由于建筑物阻挡,无法定位。而RFID、蓝牙、Wi-Fi、ZigBee和 UWB都可进行室内定位。若剔除成本因素,在定位精度、稳定性或工作距离上来看UWB更为胜出。因此在设计室内机器人精确路线行走定位时,采用UWB技术比较合适。

UWB(Ultra-WideBand)使用亚纳秒级超窄脉冲来做近距离精确定位,可进行厘米级别精度定位。UWB具有抗干扰性能强、传输速率高、消耗电能小、发送功率小以及高安全性等诸多优势。

机器人在工业上和服务行业上发展空前。行业不同,机器人的应用场景不一样;要求不同,机器人的控制方式也会有差异。此处使用的ROS机器人小车,采用四个电机驱动,以更好的在任意方向行驶。

本系统研究的是:ROS车上携带UWB标签,在UWB基站覆盖之下,让ROS车在室内随意行进,通过构建的UWB定位系统,实时获取ROS车准确的室内位置。

1 系统概述

系统整体由三部分组成:UWB定位系统、上位机系统和下位机系统。

UWB定位系统,为了实现二维定位至少需要三个基站一个标签形成UWB定位系统,但是这种配置需要有个前提条件,三个基站必须位于同一水平位置上,这对部署提出了很高的要求,因此实际系统采用四个基站和一个标签。其中0号基站负责将定位信息传给上位机系统,标签则放在ROS车上用以定位。

上位机系统,即服务器,读取UWB定位系统的坐标位置,并发目标位置给ROS下位机;

下位机系统,即ROS机器人小车,接收上位机所发目标位置,调用API控制电机行进,另外将传感器信息返回给上位机。

2 系统硬件

2.1 UWB 模组

UWB模组选择DecaWave公司的DW1000芯片,符合IEEE802.15.4-2011超宽带标准,定位最小误差可在10厘米以内,芯片功耗低,可做双向测距和定位。

构建的UWB系统由4个基站和1个标签组成,实现室内精准定位,其结构如图1所示。

图1 UWB系统结构

图2 ROS机器人小车

上位机通过Wi-Fi模组,获取标签与基站的信息。在图1中可见,基站0收集标签信息并发送到上位机中。

2.2 ROS 机器人小车

选用型号为UltraAI ROS的ROS机器人小车。其主控设备是x86工控机,具有数据实时处理性能,满足运行ROS系统的功能要求;具有多种接口,可连接各类传感器进行通信。ROS车采用四个电机驱动,STM32作为电机驱动主控。工控机的USB接口与激光雷达相连,使ROS车具备了扫描本地地图和识别障碍物的功能。同时工控机还接入了双目深度摄像头,使得ROS车还具备3D物体感知功能。这些外设使得ROS车具备了室内自动驾驶能力。为此只要在ROS车上加上UWB标签,就可在其行驶中进行定位研究。

3 UWB定位原理

3.1 测距原理

UWB常用TOF(Time of Fly)方式计算电磁波传输时间,通过传输的时间换算成距离[1]。标签A和基站B之间测距,如图3所示:A在Ta时刻发出信号,经过T时段后,B在Tb时刻收到;B在Tc时刻发回信号,经过T时段后,A在Td时刻收到。其中Ta和Td会记录在A寄存器中,Tb和Tc记录在B寄存器中。对同时钟频率A、B设备采用时钟偏移量方法,可得出单程飞行时间T=[(Td-Ta)-(Tc-Tb)]/2,即为A、B间电磁波传输所用时间。所以A、B间距离D=电磁波传速×[(Td-Ta)-(Tc-Tb)]/2。

图3 UWB测距

图4 UWB定位

3.2 定位原理

在UWB 测距原理基础上,可使用TOA(Time of Arrival,到达时间)定位方法测量:用前述UWB测距原理,计算出标签与三个不同基站间的距离,最后通过三边定位算法得到标签坐标值[2]。如图4所示,以三基站的位置为原点,标签到三基站的距离为半径,画三个圆,三圆交点就是标签的坐标。

当测试结果不准时,会出现三圆未必有交点,或者产生两个交点,或者三圆相交后形成区域等情况。需在程序中用纠正半径,或者求交点平局值等方法解决[3]。

4 UWB定位系统设计

根据定位原理实现具体代码,可参考UWB产品官方源程序。这里用流程图来简要说明与定位相关的几个部分:UWB标签程序和UWB基站程序。

4.1 UWB标签程序

标签程序,用于发送测量命令给各个基站,并测量和各个基站(1/2/3基站)的距离后发送给基站0。以上循环进行。见图5所示。

图5 标签程序流程

4.2 UWB 基站程序

作为参考点的基站负责响应标签的测距响应命令,并将测量结果封装到响应帧中,通过无线再发送给标签。见图6所示。

图6 UWB基站程序流程

4.3 UWB基站0程序

基站0程序除了作为参考点响应标签的测量命令之外(这部分不再赘述),实时接收标签发送的测量数据,并将测量数据缓存后通过串口发送给上位机。以上循环进行。见图7所示。

5 系统测试

上述代码实现后,使用UWB产品官方提供的测试软件,适配室内地图后,可看到如图7效果,0/1/2/3是4个基站,中间是ROS车运行定位轨迹显示,符合实际情况。

图7 UWB基站0程序

图8 室内ROS车运行定位轨迹

6 结语

采用UWB技术,实现了对行进中ROS机器人小车的精确定位,测得精度为0.1m,与基于激光SLAM的机器人定位导航处于同一量级。在此基础上,接下来可与SLAM、深度摄像头等联合使用,进一步提高ROS车的定位精度和智能化水平。

猜你喜欢
机系统测距上位
类星体的精准测距
科学(2020年3期)2020-01-06 04:02:51
手持式触摸测试机对闸机系统的维护研究
特斯拉 风云之老阿姨上位
车迷(2018年12期)2018-07-26 00:42:22
浅谈超声波测距
电子制作(2017年7期)2017-06-05 09:36:13
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
经济、可靠的自动开关机系统
以新思路促推现代农业上位
学习月刊(2015年3期)2015-07-09 03:51:04
京石高速公路自助发卡机系统的设计与应用
基于PSOC超声测距系统设计