首页
下行 UWB TDOA 定位方案
- Details
- Written by: zhang
- Category: UWB定位方案
使用 Qorvo DW3000 作为 UWB 收发器,使用下行TDOA方式定位,精度达到10~30cm左右。
由固定安装的基站发出定位数据包,可移动的定位标签收到定位数据包后,计算自己的坐标。其实原理与 GPS/北斗 类似。
这个方案与下行TDOA的方案相比,从原理上仅仅只是定位数据包的发送和接收方向相反。
因为坐标的计算不需要集中,并且定位标签不发出UWB数据,所以没有标签数量的限制。
上行 UWB TDOA 定位方案
- Details
- Written by: zhang
- Category: UWB定位方案
这是一个已经量产的、久经考验的技术方案,已经部署了数万个基站在生产环境使用。
使用 Qorvo DW3000 作为 UWB 收发器,使用上行TDOA方式定位,精度达到10~30cm左右,已有实际应用案例。
可移动的定位标签定期发送定位数据包,固定安装的基站接收到定位数据包后,转发到定位引擎计算标签的坐标。
UWB定位引擎管理界面源代码 售价: 15000元
- Details
- Written by: zhang
- Category: 销售
UWB定位引擎管理界面源代码 售价: 15000元
定位引擎管理界面是一个服务器端系统,使用 Java 基于 Spring 框架编写。前端使用 Openlayers 作为UI。
主要功能:
定义各个定位区域,放置基站在地图上,可以自定义底图。
输出定位引擎计算出的标签坐标,以图标的形式在地图上显示各个标签的位置。
这个软件本身没有多少技术含量,就是一个简单的 Spring MVC 架构的 BS 系统。
要实现它,就是堆工作量而已。
开发环境使用 Eclipse/Java 8,在 Idea 上开发应该也可以。
UWB定位引擎源代码 售价: 95000元
- Details
- Written by: zhang
- Category: 销售
UWB定位引擎源代码 售价: 95000元
定位引擎是一个服务器端程序,使用C++ 17编写。可以作为命令行程序直接运行,也可以安装为 Windows 服务。
经过少许修改后,应该可以运行在 Linux 上。在设计之初,我们就考虑把它写成可以跨平台运行的。在基本功能刚完成的时候,我们曾经编译过一个 Linux 版本在 ubuntu 上运行过。后来随着功能的增加,几乎没有用户有 Linux 运行的需求,所以后来就没有再维护 Linux 版本。
定位引擎的数据处理,大致分为3个部分:接收定位数据包、坐标计算、应用程序接口。
接收定位数据包
使用UDP实现定位引擎自动发现,局域网内的基站会自动与定位引擎建立TCP连接,基站把收到的标签发出的UWB定位数据包发送给定位引擎。定位引擎收到定位数据包后,会把它放入对应区域的消息队列中。定位引擎会为每一个定位区域维护一个消息队列矩阵。
坐标计算
从消息队列中取数据包出来计算坐标。对于多区域,对不同区域的坐标值进行质量评估,选择质量较好的进行输出。
坐标计算的算法至少有两个。项目开始的时候,我们根据某个教授的一篇论文所描述的算法编写了一个算法,后来发现计算结果误差比较大;后来我们自行研究了两种算法:二分法/最小二乘。我们最终的版本使用最小二乘法计算坐标。
应用程序接口
提供了多种方式的应用程序接口。有二进制数据包/文本/json/串口等等。
定位引擎中还使用了一些概念:定位区域/定位基站/标签等,并建立了对应的类。
定位引擎使用 sqlite3 保存配置。
另外,我们在设计之初就一直小心内存泄漏的问题。作为服务器端程序,我们的目标是尽可能不停机,所以确保没有内存泄漏很重要。一方面我们在设计上尽可能避免,另一方面我们使用了一些方法来检测内存的使用。就我所知,目前没有发现有内存泄漏的情况。
我们确保您使用 Visual Studio 2019 或 Visual Studio 2022 上能正常编译这个程序。
Page 1 of 10