该篇是之前《DWM1000 多个标签定位讨论 --[蓝点无限]》的续篇
多基站定位也是定位必然,因为有些稍微大一点的场合,或者多个区域(厂区不同房间)定位,往往4个基站会严重不足。
DWM1000 官方定位只支持4个基站,其中三个用于解算3边定位,另外一个用来做辅助。具体代码可以参考DWM1000 官方上位机源码,源码相关博客链接
DWM1000 官方定位软件基站的坐标是通过电脑输入的,TAG回传的只有距离信息,而且坐标最多只能设定4个,如果多基站,需要大改上位机源码。
多基站定位的两种思路:
1. 每个基站分别保持自己的坐标信息(或者有TAG 保存全部基站的坐标信息),TAG 与每个基站进行测距,当轮训完所有基站后,根据计算的距离以及对应的坐标,在TAG端通过三边定位算法解算TAG坐标。
可以直接移植DWM1000 上位机解算源码,可能TAG获得多个基站的距离以及坐标信息,只需要将距离最短的4个基站信息送给解算函数即可,其他远距离基站被抛弃,例如下图中基站0 和基站1 相关信息被抛弃。
选用距离最短的4个基站是因为距离越短,由于晶振引入的误差越小。TAG将计算的结果发送的PC端软件,上位机直接显示TAG信息。 除此之外,需要上位机可以下发配置命令,配置各个基站的坐标信息。
2 相对于第一点来说,TAG不计算坐标信息(免除移植三边定位部分代码),直接将各个基站的坐标信息以及对应的距离发送到PC,修改DWM1000 官方软件实现定位,依然可以利用上面的抛弃方法,当然PC端有更高的处理能力,可以考虑所有基站都参与解算。
不论1 2,都需要破除官方4个基站的限制,需要对官方定位软件有一番比较大的修改。 思路1中需要在TAG中解算坐标,如果使用的MCU 运算能力较低,可能会有问题,但是好处是,TAG上挂液晶,直接可以在TAG上就看出自己的坐标了。
蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛