3D localization: Difference between revisions

From Rsewiki
Line 50: Line 50:


[[File:Infrastructure-based-asset-tracking.png|800px|Infrastructure based asset tracking scheme based on  asymmetric double-sided two way ranging (DS-TWR). Image taken from DW1000 User manual.]]
[[File:Infrastructure-based-asset-tracking.png|800px|Infrastructure based asset tracking scheme based on  asymmetric double-sided two way ranging (DS-TWR). Image taken from DW1000 User manual.]]
* TODO: Write a bit about peer-to-peer ranging schemes for lower update rate, but where every device knows the distance to every other device.


==Positioning==
==Positioning==

Revision as of 09:31, 31 May 2016


Hardware

The localization system at hand consists of at least 4 anchors and a tag.
The hardware design considerations, descriptions and overviews can be found at the Localization Hardware page.
Each device communicates and ranges with each other through an UWB (Ultra-wideband) radio.

Software download

The source code for the system is available here. NB! the software source can not be compiled without the proper tool-chain (see Arm compiler environment for instructions on how to set this up)

A Github repository for the project is available at

TODO: Add github here!

On a Linux computer this can be cloned as:

git clone Something!

Install software tools

In order to modify the software, some tools are required.

Network topology

Network notification flowchart for anchor and tag

The system is able to automatically register when new devices are joining the network, and as such automatically hand out network addresses to all new devices. This is done by having the tag issue a broadcast message once a second, in order to allow any new non-registered devices to answer back, letting the tag know there is an additional device available. The broadcast message is what's called a Blink message, which is actually just a very short message containing no info.

* TODO: Write some more about this, and possibilities of auto-positioning for rapid-deployment

Ranging

Double-sided two way ranging scheme. Image taken from DW1000 User manual.

In order to estimate the distance between an anchor and a tag, the system uses Time of Flight (TOF). There exists a number of ways to estimate a distance from exchanging packages with timestamps, all with different pros and cons, which has been discussed elaborately in the DW1000 User manual. In this project, it has been chosen to implement and use the double-sided two way ranging scheme as shown in the figure to the right. This method has the advantage that it is the best method for handling any clock skew between the two devices, this means that it will have a smaller impact on the range estimate, if the clock in one device is running slightly faster than the clock of the other device.
The average time of flight between the two devices can be calculated as

From this the distance can be calculated by multiplying the propagation time with the speed of light.

The DS-TWR ranging scheme mentioned above can then be extended through the use of broadcast messages, in order to minimize the required number of data exchanges between devices. One such way could be through the infrastructure based asset tracking scheme as implemented in this project. In this ranging scheme the tag sends a Poll message as a broadcast, which is received by a number of anchors (three in the following case) in the infrastructure. Each anchor then replies in successive responses with packets RespA, RespB & RespC after which the tag, sends the Final message as a broadcast again, received by all three anchors. This allows the tag to be located after sending only 2 messages and receiving 3 (including another 3 if the distances are needed on the tag).

This scheme is illustrated in the figure below. This represents a substantial saving in message traffic, thereby saving battery power and air-time, while increasing potential update rate.

Infrastructure based asset tracking scheme based on asymmetric double-sided two way ranging (DS-TWR). Image taken from DW1000 User manual.

* TODO: Write a bit about peer-to-peer ranging schemes for lower update rate, but where every device knows the distance to every other device.

Positioning

The 3d position of the tag can be estimated, through trilateration by using ranges to at least four different anchors.

Talk about different implementations (Nonlinear least squares, particle filter, extended kalman filter)


Sensor fusion

TODO.

Limitations

The system does come with a few limitations, which will be discussed below.

Line of sight (LOS)

The most important limitation is that it is very sensitive to line of sight (LOS). This means that the tag trying to localize itself, should always have pure line of sight to at least 4 anchors, which is why it is recommended to run the system with 6 or more anchors, as this would give the system redundancy. It is possible to get a clue about whether the most recent range measurement was taken in a line of sight situation or not, by looking at the quality of the measurement. This quality is a combination of the received power level and the first path power level, and is discussed further in the DW1000 User manual on page 45.

Calibration

Because the system is based on time of flight measurements of radio waves, even a small change in the time stamps of the system will result in huge variations in distance (1 ns results in a change of 299 mm). This means that proper calibration of the system is crucial in order to obtain any usable performance. The main calibration property of the system is the antenna delay constants, a constant describing the delay from antenna through PCB. A detailed explanation of the antenna delay and how to calibrate it properly can be found in APS014: Antennna Delay Calibration

Range

The range of the system varies tremendously, as a function of channel, header length, data rate, transmission power etc. A longer communication range usually means a lower data rate and a less accurate distance estimate of the system. With the configuration currently chosen for the system, the range is about 25 m, as the system is configured for the best distance approximation as possible. The relatively short range is however not a problem in this case, as the system is intended to be used indoors, where a room is seldom larger than 25 meters end-to-end.


Results to date

Further work

  • Multiple tags
  • Relative positioning
  • Peer-to-peer mesh ranging scheme
  • Sensor fusion in EKF or preferably UKF
  • Message push-through option
  • Logging

Further reading