UWB using without fixed anchor

Hi everyone,

I am working on an indoor navigation system for my final year project (FYP) that will help determine the distance and direction to a person’s location in an unknown environment with no fixed anchors.

As this is my first time using this technology, I’m unsure if my idea is feasible. However, I have done some research and believe that the best approach is to use Phase Difference of Arrival (PDoA) for determining direction, combined with Two-Way Ranging (TWR) to measure distance.

Is it possible to use the DWM3000 kit as both a tag and an anchor? If not, what other options could help make my idea work?

Thank you!

Yes, every device can work as either a tag or an anchor. Which a given device acts as depends purely on how you program it.
It is also possible to create something that can perform both roles switching between them as needed. However since this is a school project I’m guessing you’ll want to stick as close to example code as possible which probably rules that option out. But it may give you some good ideas for potential future refinements to mention in the writeup.

Only certain dev kits and devices are able to perform PDoA measurements, all devices are able to perform TWR. On PDoA equipment you can use the same radio packet for both measurements.
For your planned application you would need a PDoA capable device on the detection equipment but not on the device the person being tracked is carrying. That would allow you to determine a heading and distance to the person.

In terms of what to use, the DWM3000 specifically is purely a dumb radio. It needs to be paired with a processor to do anything. It is not capable of PDoA measurements. The easiest options are probably the DWM3001, this is the same radio but paired with a processor, the SDK examples should build and run on that. Or there are arduino compatible DW3000 boards and drivers which will get you a basic ranging system fairly easily.

To perform PDoA you need a system based on a part with two antenna inputs. That means the DW3120, DW3220 or QM33120. I’m not sure what’s available off the shelf for those parts.

Hi, thanks for clearing my doubts!
Can I ask you a few more questions?

  1. Is it possible to couple UWB technology with an IMU to reduce NLOS effects on a person? My initial idea is to allow a group of people to carry a device that serves both as a tag and an anchor, avoiding the need for fixed anchors in the area and provide a more accurate reading in indoor.
  2. I’m also considering integrating a LiDAR system into the device to map the environment and provide real-time positioning, especially when the person is stationary or entering a hazardous area. Do you think this approach is feasible?

PS: Not sure if I will be able to purchase the DWM3001CDK online since it seem it is OOS at the moment. Do you think if ESP32-DW3000 is applicable to this project? I have a senior that did a UWB project by using MDEK1001 not sure if my prof. allows me to use it instead since I have a tight budget.

thank you!

There is certainly no reason why you can’t combine IMU and UWB data. We do that in our product, it’s a good combination.

However the issue with IMU positioning is you need some way to constrain drift, if the UWB position is stationary but the IMU shows an acceleration then you can calibrate out your IMU bias. But in your situation you’re talking about not having any fixed references to provide that absolute constraint, you have no way to distinguish between stationary and everything moving at the same speed.
With enough data points and IMUs to average you can assume biases average towards zero but with only a couple that’s probably not valid.
As a PhD research project that could prove an interesting challenge, as what I’m guessing is a final year bachelors/masters type project it may be a bit more than you want to take on.

Lidar is an option, lidar mapping is a good solution if you can ensure it has a good view. So that would depend a lot on the environment and use case.

Another approach I’ve used is RFID tags. The 900 MHz, 10-20 meter range type. You put them in a known grid within the area you want to track people (known and grid are used in a very loose way here, if you program each tag with it’s location you can put them up pretty much at random and don’t require prior knowledge of the building). The person then carries a tag reader with them. If you assume your location is in the middle of the tags you can see you can get a location to within a few meters. Yes it requires something installed in the indoor area but that something costs pennies (we did this by putting stickers with the tags in on the ceiling, you can buy rolls of a few hundred) and doesn’t require power.

ESP32-DW3000 would certainly work for the tag and TWR side of things, I’ve never used that combination but others here have and didn’t seem to hit any more issues than any other combination. As with most things, little or no support for PDoA.

How about using peer-to-peer localization.
yup im doing this project for my final year bachelors so i would like to something different from my senior as the project he did was integrating UWB and IMU for warehouse inventory management and it is in the progress of implementation but my project is more for localizing people inside a building where having fixed anchors is not applicable.

You can certainly do something like that.
I used to have a self survey mode for a positioning system that would do something similar.

With n devices you can get a maximum of n(n-1)/2 ranges.
Since you have no fixed points you can assume device 1 is at location 0,0 and device 2 is on a fixed heading but unknown distance from device 1.
Assuming you only want a 2d solution this gives you a total 2n-3 unknowns.
So with 2 or 3 devices you can calculate the relative locations of all devices. With 4 or more devices you have an overdetermined solution, this means that 1) if some ranges fail your system can still work and 2) you can get some measure of self consistency and confidence in the results.

Of course there is a scaling issue for large numbers of devices, you are making O(n^2) measurements, if you don’t introduce some way to constrain this it rapidly becomes unmanageable for large numbers of devices. But for the quantities you will be able to get hold of this is not going to be an issue.

I’ve implemented a system like this, it takes around 20 lines of phyton code to do a least squares best fit for overdetermined data. There were two issues I hit, if I didn’t supply any initial position estimates then there was a 50% chance the results were mirror image of reality and the accuracy was sometimes junk. If however I gave it initial position estimates that were within 5-10 meters of correct then the ends results were within 10 cm of truth and frequently better.

1 Like

Okay thank you for your reply appreciate it!!