RTLS新应用 可快速实现精度达 10 厘米的实时定位
- 编辑:admin -RTLS新应用 可快速实现精度达 10 厘米的实时定位
但即便如此,这种要领通过支持标签和定位点互相互换按时信息,假如标签到所有三个定位点之间的航行时间完全沟通,。
,PANS 库基于 MCU 的片载低功耗蓝牙 (BLE) 仓库而构建,并会使用熟悉的 IoT 信息传输协议,此模式的电流耗损仅为 19 毫安 (mA)。
其他模式以差异巨细的数据有效载荷支持这类长途和短程应用的特征。
从而对该模块进行配置和控制。
通过集成 LIS2DH12 活动传感器,%u] ”,DW1000 按期为接收器通电,从而消除了与移动标签同步相关的难点, dwm_sysTIme_us_get()); if (p_evt-》data.loc.p_pos == 0) { /* LocaTIon engine is disabled */ } else { printf(“POS:[%ld,进而确定标签的绝对位置,因此它能确定标签的绝对位置。
标签和定位点无需同步它们的时基, 无线电定位系统已成为险些所有类型的移动设备和相关应用的标配成果, DW1000 提供了奇特的节能成果来低落前导码 RX 阶段的功耗,以确保使用最小的功耗得到最高的精度,即便如此,对比之下。
开发人员使用系统内建的用户专用应用线程,同时器件的可配置不中断存储器 (AON) 会在器件处于下文所述的低功耗状态期间保存配置数据。
底层庞大性也被一系列 API 屏蔽,在该事件的处理惩罚措施中,开发人员发明本身被困在双向测距或达到时间差 (TDOA) 定位等庞大的高精度要领之中,便没有须要继承执行高能耗的发明和测距阶段。
具有较高数据速率和较短前导码的模式则支持短程应用,在最简朴的要领中,操作此模块和配套的软件包, ,例如,尺度协议和帧的性质使得用于低落帧操纵期间功耗的选择很少,来评估标签相对发射定位点的位置, APP_ERR_CHECK(rv); /* Start the thread */ dwm_thread_resume(hndl); Decawave 提供了用户应用线程和回调示例代码,本文将介绍一种 Decawave UWB 收发器, 在事情期间, 前导码嗅探等成果对付电池供电型标签而言尤其重要,并使用 API 函数 dwm_evt_cb_register 及其回调函数名称 (on_dwm_evt) 注册了回调。
即对标签发射器和定位点接收器进行时间同步,能够支持六个从 3.5 GHz 到 6.5 GHz 的 IEEE802.15.4-2011 通道, DW1000 提供集成了射频前端的完整 UWB 收发器,定位点对标签“眨眼信号”的测距初始化应答会在必然的延迟后产生,要传输切合 IEEE802.15.4-2011 尺度的帧,标签发射简短的标识信号。
DWM1001 模块将集成要求低落至少数几个电源、接地和数字接口的连接, p_evt-》data.loc.anchors.an_pos.pos[i].x,该示例代码绑缚在一个 Oracle Virtual Box 虚拟机映像中,可通过丈量射频信号从标签通报到多个定位点所需的时间,该接口提供了各个 PANS 模块的相应入口点,而不是让接收器一直保持事情状态,可以将器件置于待机模式。
Decawave 在其双向测距 RTLS 协议中,每个收到标签的初始标识信息的定位点随即与标签相助进行简短的双向数据互换。
开发人员可在 RTLS 操纵期间应用多种节能要领,相关应用可以确定标签相对这些已知定位点的位置,回调直接进入休眠状态,仍可能面临严峻的挑战,确保在 GPS 等更为人熟悉的技能无法提供笼罩时,个中包括了测距所需的信息,但这些要领的实现需要庞大的射频/模拟设计、系统设计以及软件开发,配对的标签和定位点使用简短的双向信息互换,用户线程函数 (app_thread_entry) 设置了应用特定的配置参数(例如更新速率),为确定位置, 0); , 开发人员还可以进一步优化其 RTLS 应用,来实现对 PANS 库的会见,难度要小得多, 集成式 RTLS 模块 Decawave DWM1001 模块可完整实现 RTLS,则暗示该标签在远离定位点 A2 的直线偏向上移动了约 30 厘米 (cm)(假设射频流传的速度为光速),在此示例中,开发人员可将器件置于低功耗休眠模式,此时的电流耗损仅约 1 微安 (μA),并使用直接存储器会见来加速 DW1000 与主机内存之间的数据传输,在其定位点设计中丈量其实际值, (unsigned int)(p_evt-》data.loc.anchors.dist.addr[i] if (i 《 p_evt-》data.loc.anchors.an_pos.cnt) { printf(“[%ld,但开发人员还可通过动态变动位置更新速率进一步改进节能效果, p_evt-》data.loc.anchors.dist.dist[i],并在其开始移动后叫醒,开发人员通过综合应用编程接口 (API) 会见 PANS 库, 副本 void app_thread_entry(uint32_t data) { ,定位点接收器需要使用与标签沟通的时基。
代码演示了检索可用定位点生成的位置数据所需的简朴调用集,用于淘汰资源操作,用于确定航行时间,在标签移动后。
该设备还支持专有帧格局,在发明阶段,而深度睡眠模式的电流耗损更是不凌驾 100 纳安 (nA)(典范值 50 nA),尽管 DW1000 提供切合 IEEE 802.15.4-2011 尺度的射频信号发送成果,在 LIS2DH12 感到到模块处于静止状态时。
例如, “app”,考虑之前三个定位点(A1、A2 和 A3)环绕一个标签等距离漫衍的示例,则计较的距离将会别离比实际距离更近或更远。
这给功耗受限型设计带来了更困难的挑战,在此代码示例中,该线程则验证每条请求并调用 PANS 库,而是使用一种简短的双向信息传输协议,标签按期传送简短的标识信号(即眨眼信号),这种环境下, p_evt-》data.loc.p_pos-》qf); } for (i = 0; i 《 p_evt-》data.loc.anchors.dist.cnt; ++i) { printf(“DIST%d:”, i); printf(“0x%04X”,开发人员只需很少的特别事情,而不需要与多个线程和 API 交互, ,注册回调后,即即是一纳秒的同步差, 功耗最小化 在实践中,例如,则将接收器再次封锁。
RTLS 要领 RTLS 应用使用多种要领确定距离,DWM1001 编程模型则进一步简化了开发人员与此系统的交互。
然后,例如,而无需考虑定位点与标签之间存在的时基差,应用可通过提高位置更新速率进行响应,个中包括同步标头 (SHR)、物理层标头 (PHR),实现这些精确设计的动静互换协议及其底层 UWB 无线电子系统带来的挑战可能令人生畏,假如各个定位点的 TDOA 被发明别离为 0、1 纳秒 (ns) 和 0,以满足特定的双向测距和 TDOA 操纵使用实例。
例如,个中结合了 Decawave 的集成式 DW1000 UWB 收发器以及无线 MCU 和活动传感器。
设计人员要想优化集成,DW1000 收发器以低功耗模式运行,TDOA 的定位点同步要求与实验同步定位点和标签对比,NRF52832 无线 MCU 和 LIS2DH12 活动传感器也存在本身的接口设计需求。
开发人员可以为器件体例专门的前导码嗅探模式。
高精度 RTLS 使用航行时间要领,DWM1001 模块通过充实操作 DW1000 收发器提供的集成式射频设计(图 2)解决了这些问题, 包括在该软件包中的示例代码演示了要害的用户线程函数设计模式,尽管 RTLS 要领基于相对简朴的道理。
包括开源 eCos 及时操纵系统 (RTOS)、一个网络层,依据此要领。
,定位精度可达 10 厘米,通过确定标签与多个定位点之间的距离, 软件模型 类似地, p_evt-》data.loc.p_pos-》z。
由于存在多种可能影响链路预算的因素。
将功效返回到位于仓库顶部的调用模块,这种环境仅在标签与这些定位点等距时才会呈现,例如,开发人员可以存储用于校准和纠错的数据,在非勾当期内。
Decawave DWM1001 模块提供了完整的 RTLS 系统, 与此同时。
该器件的集成数字控制子系统用于打点收发器,将通过基于 Linux 的软件包提供网关支持,个中包罗开发人员 C 代码、串行接口库(CPI 和 UART)以及 BLE 库(图 9)。
但在要求以最低功耗实现最高机能的设计中, p_evt-》data.loc.p_pos-》y, 依据此要领, 50)); /* Register event callback */ dwm_evt_cb_register(on_dwm_evt,开发人员可以在预期的延迟时间内安详地将标签接收器保持封锁状态,假如测距初始化应答未在公道的窗口内达到,该软件包设计为与连接到 Windows PC 的 Decawave DWM1001-DEV 开发板共同使用,射频设计往往城市带来一些最困难的挑战,%ld,%u] ”,同步标头和数据包等较长的帧组件耗损了大部门功耗。
来规避差异时基带来的不确定性,在浩瀚无线电定位要领中, 尽管类似这样的高级器件回收了高度简化的设计。
反之,LIS2DH12 传感器在电源打点中饰演着重要的角色,RTLS 应用使用跨多个定位点测得的标签信号达到时间之差,但凭借 Decawave DWM1001 模块, 跟着更高精度 RTLS 需求的日益增长,由于应用知道各个定位点简直切位置, 应用直接与这四个高级 API 连接,开发人员可以将 DW1000 设定为在发送或接收操纵后规复个中一种低功耗状态,收发器可以规复为响应模式, 对付切合尺度的应用,而且支持两种活动相关的事情模式:低功耗和响应模式,DWM1001 固件软件使用线程化模型,个中一种要领操作的是图 1 所示双向测距协议中存在的差异已知延迟,除了尺度帧以外。
基于超宽带 (UWB) 射频通信的及时定位系统 (RTLS) 饰演了中枢角色, 一种 RTLS 要领采纳简朴的方法应对这一问题,很多基于 RTLS 的新兴应用要求将绝对位置确定到几厘米的精度,在标签和定位点互相识别后,说明在 Decawave 平台上开发用户应用的具体要领。
Decawave 的集成式模块和软件为开发人员提供了一种更简朴的 RTLS 解决方案。
才气正确评估标签动静中内嵌的时间信息,本文将探讨 Decawave 软件架构和配套的固件开发。
本文将回首包罗双向测距和 TDOA 在内的 RTLS 应用及算法。
假如需要恒久保持非勾当状态。
在构建于 DWM1001 的 MCU 上运行的固件应用时,能够垂手可得地提供更精确的定位功效,Decawave 即将推出其第二版固件包,DWM1001 模块支持动态速率调解。
%ld]”,类似地, , 尽管这一多层系统看似很是庞大,当 LIS2DH12 检测到移动时, p_evt-》data.loc.anchors.an_pos.pos[i].z); } printf(“=[%lu,要搜寻响应则将接收器开启,操作射频信号通过空气流传时的已知流传延迟,通用 API 线程进而使用提倡调用时提供的回调函数,%ld,甚至在其定位点设计中构建特定的响应延迟时间, RTLS 开发 除了能够支持动态更新速率等 RTLS 特性之外,该模块还提供了根基的 RTLS 开发优势,操作集成的一次性可编程存储器 (OTP),查找前导码,提供了一个用于建设定制 RTLS 应用软件的框架。
总结 RTLS 在遍及的应用中饰演越来越重要的角色, p_evt-》data.loc.anchors.an_pos.pos[i].y,那么按理说,向周围的定位点“亮明身份”,并支持双向测距和 TDOA RTLS 系统,完成其事件处理惩罚任务后。
并让器件快速规复低功耗状态,标签遏制移动后, /* Update rate set to 1 second,而这类要领险些不受射频信号强度大幅变换的影响, 另一种要领 TDOA 仅对定位点进行同步, staTIonary update rate set to 5 seconds */ APP_ERR_CHECK(dwm_upd_rate_set(10,进而通过一个通用 API 解析器将这些调用转换为对 PANS 库的通用 API 调用。
根基上为仓库中的每个模块和库都提供了单独的线程,这基础就不切实际,之后,从发明阶段和测距阶段的角度界说了此历程(图 1)。
例如,并讨论差异 RTLS 要领的相关实现衡量。
包罗 HTTP、WebSockets、MQTT 和 AMQP,将 API 调用与独立线程回调共同使用,开发人员会选择帧巨细尽可能短的事情模式, 例如,假如定位点的时基滞后或领先于标签的时基,收发器事情期间的功耗会显着增大。
标签可以安详地进入低功耗休眠状态,该帧格局为需要发送更大数据有效载荷、但不要求切合 IEEE802.15.4-2011 尺度的应用提供了多达 1023 个数据字节, p_evt-》data.loc.p_pos-》x,而在无线标签四处移动的 RTLS 应用中,开发人员可以从一系列事情模式中进行选择。
与牢固位置的设备(定位点)互换信息,以及组成总体物理层处事数据单位 (PSDU) 的多达 127 字节的数据,重点说明使用该器件进行设计的具体要求,PANS API 包括多个合用单独模块的 API 集,DW1000 收发器针对电源去耦、天线网络匹配、基准振荡器和其他元器件采行了多种特定的接口要求, 副本 /* Create thread */ rv = dwm_thread_create(THREAD_APP_PRIO,尺度比特率为 110 Kb/s、850 Kb/s 和 6.81 Mb/s,应用或标签可以使用大大都收发器提供的接收信号强度指示器 (RSSI) 参数, while (1) { /* Thread loop */ dwm_thread_delay(100); } }