UWB跟随原理
For full documentation visit www.doc.51uwb.cn.
目录
1.概述
超宽带(Ultra-Wideband,简称 UWB)是一种高带宽、低功耗的无线通信技术,凭借其高精度定位和低功耗特性,已广泛应用于室内定位与导航、工业自动化和资产跟踪、无人驾驶与自动跟随等多个领域。 本文档介绍基于UWB 的跟随实现,从原理以及代码层给出一个快速实现UWB跟随的方案。
2.跟随原理解析
正如上图所示,跟随小车实现必须至少3个模块,其中被跟踪模块为UWB标签,车上有两个UWB基站模块,实物图片参考如下:
按照上图,黑色距离固定(放置模块后测量两个模块天线距离),软件程序会完成标签与基站之间距离测量(红色 和 紫色),根据初中数学知识,三角形的三个边确定后,通过余弦定理即可算出棕色角度。
上图摘自百度百科
对于跟随小车来说,只需要知道上述计算角度以及一个距离(红色或者紫色)即可,当与被跟踪模块大于一个距离启动跟踪,当小车与被跟踪模块距离小于这个距离时,小车停止不动。这个距离在程序中可以控制设定。如下图所示,A情况,小车需要右转,B情况直行,而C情况左转(假定满足启动最小距离)。同样对于角度推荐70 和 110,实际调试可能需要微调。
3.跟随代码解析
蓝点UWB代码实现了UWB跟随跟随逻辑,可以让UWB基站通过串口输出一个控制字符。具体代码配置及如下,通过修改如下代码使用。
按照上述截图修改即可,上图红框中#if 1表示跟随小车代码,如果是#if 0,表示代码功能是测距定位。
上述代码中宏定义#define DISTANCE3 0.27,标识了小车上两个基站之间的实际距离,这个需要根据实际进行修改。 1) #### 代码流说明
1. 距离换算
UWB程序完成标签和基站之间的距离测量,计算过程需要将测得距离进行单位换算,换算成“米”,而且只用到标签与基站0和基站1的距离。
2. 余弦定理计算角度
跟随前面描述,使用数学知识,通过余弦定理计算角度,算出来的是弧度,需要转换,同时为了方便调试,将角度信息显示在液晶上。
3 融合角度与距离信息,将信息发送给基站0
** 下面代码部分只有距离大于1m时小车才动,另外两个角度分别是110 和 75. 将融合的信息放置在angle_msg[10]中,通过射频将angle信息发送给基站0。同时,将调试信息通过串口打印。
4 基站0 处理融合信息
基站0收到标签发来的融合信息(其实是单个字符)后通过串口发送给小车控制器,小车控制器需要自己实现相应的控制逻辑,根据融合信息做相应的动作。
4.硬件与接口
跟随小车实现硬件包括
- UWB 跟随套件(1个标签+2个基站)
- 小车主控+电机(用户自备)
- 小车车体(用户自备)
注意:
- 蓝点UWB 不能直接控制电机,需要用户自行选择相应单片机(MCU)以及驱动器,蓝点UWB只会通过串口给用户的单片机(MCU) 发送控制指令。
下表为串口数据格式:
数据(字符) | 作用 |
---|---|
R | 右转 |
L | 左转 |
F | 前进 |
S | 停止 |
2. 基站0 和基站1 放置位置分布在车头的左侧和右侧,参见上图。
3. 基站0 和基站1 距离尽量远(建议0.3m以上),两个模块越远解算角度越精确。
硬件连接
跟随套件基站0 串口可以输出控制字符,需要用户单片机(MCU)接收并解析该控制字符,连接方式:基站0 串口TX 与小车主控MCU的RX相连,基站0 串口GND 与小车主控MCU的GND相连。
5.蓝点跟随套件
点击如下链接可购买UWB 跟随套件,套件中包括两个BP50 基站以及一个BP50标签。
更多跟踪小车原理说明请参见网站 www.51uwb.cn
更多信息参见 www.51uwb.cn