Using TDoA to measure the local coordinates of the multi-copter in a passive way

I would like to find out some information about using Decawave’s chips. My company wants to test these modules to measure the distance between multi-copter and four cars in order to find copter’s coordinates in a local coordinate system with high accuracy, meanwhile, GNSS is not available. Multi-copter will receive 3 time-difference-of-arrival and calculate its coordinates. There should not be some wired/wireless connections except those, which are established by your chips. Can we use it in a mode of TDoA and which chip will be right for us (probably DWM1001C)? Further, this system will be unmoved, but now we would like to experiment in moving.

What you ask for is possible, but it isn’t trivial. We have built a drone location system that operates similarly. The system is used for theatrical and drone light shows.

It sounds like the four cars move into position and host anchors which broadcast UWB signals. There needs to be some means by which the 4 cars are established in some coordinate system, let’s assume that happens by magic somehow. The location/survey of the anchors has to be known so it can be sent to the drone.

The drone then receives the anchor transmits. You imply that you cannot transmit from the drones, can only receive (see comment below about regulations). This means the drone has to compute the location itself, what we call “nav mode”. Basically, it works just like GPS with the anchors being the satellites and the drone being the GPS receiver.

The drone needs more information than just the UWB timing signals, it also needs the anchor locations, what GPS calls the “almanac”. If only UWB is used for the drone, then the almanac has to be broadcast to the drone via the UWB radio. How often this happens is related to how much start up latency you want for a system. GPS receivers call this cold start time to first fix and that is mostly caused by needing to download the almanac.

A TDoA system will require a minimum of 4 anchors to perform a location. This is due to the system having four unknowns to solve for, X, Y, Z, and T (time). With the bare minimum of four anchors, the system is fragile as any anchor that gets occluded or has a packet dropped will cause loss of location. This is like the poor performance of a GPS receiver when it only sees 4 satellites. Give that GPS 12 satellites and the results improve dramatically.

If you can provide more anchors that would be helpful to improve results. Ideally the anchors are spread out over the service area, but even putting more than one on each car is helpful. For example, two per car would improve things a lot. You can sort of simulate that by double transmitting the anchor messages, that is, doing half as many locates using twice the data. This doesn’t help with occlusions since that problem affects all packets from any given anchor.

The DWM1001C can be used for this, but it will take custom code. The Nordic nRF52832 processor, ARM Cortex M4, is not a computational heavy weight, so the location code will need to be handled carefully. There is also not much flash or RAM, so resources are tight.

For our nav mode mode systems, we have used Cortex M7 processors of at least 300 MHz. This is probably overkill, but makes development easier.

You will need to test that the DWM1001C reception range is adequate. When the drone flies further away than the radio range, the location system starts working, obviously. If you have only 4 anchors, then it stops when just one anchor is out of range. The location accuracy degrades as you get close to the radio range limit.
As you might imagine, there are ways to build longer range UWB devices with better antennas and equipped with low noise amplifiers for receive.

A note about regulations: Transmitting from flying machines is generally frowned upon by UWB regulations. Your idea to receive only at the drone is a good one since it removes that problem. But being unable to transmit at the drone limits the options for algorithms and methods. Basically all you can do is TDoA type of system, and those systems favor having more anchors in more diverse locations. A system based on ranging will produce more accurate results, particular in the Z axis and when the drone exceeds the lateral bounds of the anchor array. But to do anything based on range, you have to transmit from the drone.

[quote]Further, this system will be unmoved, but now we would like to experiment in moving.

If the anchors are in motion, the system can still work with some adjustments. Namely, the anchors (the mobiles?) have to constantly send their positions in each message. This implies the anchors have a means to compute that. Which begs the question, if the anchors can figure out where they are, why can’t the drone use that same system? Maybe it is an INS system, or a military grade GPS, which the drone can’t carry?

In conclusion, yes, the Decawave chip/modules can do what you want electrically, but there is some effort to code all that up into a working system. My company offers extensive UWB IP and engineering services to accomplish that if this project supports having such a development program.

Mike Ciholas, President, Ciholas, Inc
3700 Bell Road, Newburgh, IN 47630 USA
+1 812 962 9408

1 Like

Thanks for еру such a detailed answer. I add some comments fo my question. In general, this is some kind of local navigation system for getting drones coordinate by itself on the board. In other words, the ground anchors have to only transmit meanwhile the drone only receives the navigation signals. More exactly we need to obtain 2 time-difference-of-arrival signals in order to find two hyperboloids, which the drone located on. Then we find the line of intersection of the hyperboloids and make the drone to stay at the line. For this issue, we need three ground transmitters of the navigational signals and one receiver on the drone. And one more ground transmitter we want to have in order to reserve the system on the occasion if some transmitter will be broke. And the coordinates of the ground position is measured but can be changed. We want to create a 2D navigation system for a drone with moving navigation positions to serve some equipment where the GNSS signals are bad.