UWB自动跟随的算法优化与功耗管理

 

说到UWB自动跟随,大多数人脑子里首先想到的是“厘米级定位”,但当你真的要做一个能在日常环境下稳定运行的产品时,会发现硬件只是冰山一角——算法优化和功耗管理才是让它跑得又稳又久的关键。

今天我们从定位算法到功耗策略,一次性掰开揉碎。

 


 

一、为什么功耗问题比你想的更严重?

UWB芯片(比如 DW1000/DW3000系列)在主动测距时的功耗可以达到100 mA 级别。这对一台要全天运行的跟随机器人来说,是个不小的负担。尤其是:

  • IMU、MCU、通信模块一起耗电;
  • 小型消费电子(智能行李箱、跟随购物车)电池容量有限;
  • 用户期望一次充电用一整天

所以,算法必须不仅精准,还得“省着用”UWB。

 


 

二、算法优化的核心思路

定位算法的优化可以分成两类:

  • 提升精度(在复杂环境下保持厘米级定位)
  • 降低计算量和功耗(在不牺牲精度的前提下减少测距次数)

 


 

1. 提升精度:TOF / TDOA / PDOA 的融合

UWB定位的三种常见算法:

  • TOF(Time of Flight,飞行时间法)

    测距公式:

    其中c是光速,trx是接收时间戳,ttx是发送时间戳。

 

    优点:直观易算

    缺点:时间同步要求高,对时钟漂移敏感。

 

  • TDOA(Time Difference of Arrival,到达时间差法)

    对两个基站A、B,有:

    再利用双曲线定位公式解出位置。

 

    优点:标签端功耗低(不必参与双向通信)

    缺点:基站间需要精确同步(通常用光纤或无线同步)

 

  • PDOA(Phase Difference of Arrival,相位差法)

    通过比较两个天线接收到的载波相位差:

 

    其中λ为载波波长,θ 为入射角。

 

    优点:可以实现角度测量(AOA)

    缺点:相位容易受多径和噪声干扰。

 

    实际经验

    在室内复杂场景(比如超市货架区),单一算法很容易翻车——多径干扰导致TOF抖动大、TDOA同步失准、PDOA相位跳变。

    所以我更建议使用融合算法

  • 常规用TDOA 进行低功耗位置估计;
  • 检测到信号质量下降时,切换到TOF+PDOA修正。

 


 

2. 降低计算量与功耗

下面是我们的几个项目经验

(1)自适应测距频率

    当IMU检测到目标和机器人相对速度很低时(比如用户停下来),将测距频率从 20 Hz 降到 2 Hz。

    当加速度超过阈值时,立即恢复高频测距。

(2)运动预测 + 滑动窗口滤波

    使用卡尔曼滤波扩展卡尔曼滤波(EKF),将IMU、UWB 融合,预测目标位置:

 

    这样即使UWB测距间隔变大,也能平滑轨迹。

(3)测距分组管理

    如果有多天线/多基站布局,不必每次都全量测距,可以用上次结果筛选出最可能的位置区域,只测与该区域相关的基站。

 


 

三、功耗管理的硬核手段

硬件级功耗优化常被忽视,但效果往往比算法优化更直接。

1. 低功耗模式切换

  DW1000/DW3000 等芯片有睡眠模式和空闲模式,合理利用可以降低数十 mA 的待机功耗。

2. 硬件唤醒

  结合PIR传感器或蓝牙RSSI,当检测到用户接近时才唤醒UWB。

3. 射频输出功率动态调节

  UWB发射功率越高,覆盖越远,但功耗也成倍增加。对于近距离(<5m)跟随,可以把功率降低 6~9 dB,延长续航。

 


 

四、项目案例

案例1:在超市环境里测试,发现UWB标签每隔几十秒位置就会跳到十米开外。原因是货架金属反射导致PDOA角度计算出错。解决办法是加信号质量门限,低于门限时不更新位置。

案例2一个智能行李箱项目在机场跑没问题,但在地铁站掉链子。原因是地铁站的UWB信号噪声背景高、时钟同步失效,精度崩溃。最后改成 TOF+PDOA+IMU 备用通道才救回来。

 


 

五、总结

UWB自动跟随要想做到既精准又省电,需要在算法和硬件两端同时下功夫:

  • 融合TOF、TDOA、PDOA,提高鲁棒性;
  • 自适应测距频率、运动预测滤波降低计算量;
  • 合理利用低功耗模式、动态功率调节延长续航。