Page 1 of 1

Accuracy LPS

Posted: Thu May 03, 2018 6:47 pm
by simonjohansson

I just set up my LPS and started logging some data. The accuracy of the system does not feel really right. How good is the lps system? My setup is shown in the picture. Should I expect my results to be in the +-10cm range or could i improve them? Right now my logging for z goes from 0,40m to 0,55m but in reality it goes from 0m to 0,60m. The bottom of the cage is the worst part since it says z=30 to 40 but I calibrated it to be z=0.

Thanks for answers

Re: Accuracy LPS

Posted: Fri May 04, 2018 6:57 am
by kristoffer

This is a complex question without a clear answer. The modules from Decawave that are used in the LPS system specify the accuracy to be in the +-10 cm range when measuring the distance between two modules. There are a number of factors that change this though
1. Free line of sight. Any objects in the path of the radio waves will change the measured distance, depends on material and thickness.
2. Reflections. Metal surfaces can create strong secondary paths for the radio waves which may trick the module to trigger on the slightly longer path instead of the direct path. Reflections are actually helping the modules to receive the data of the packets (might be surprising) but is bad for the timing. We have found that the over all performance is better inside than in an open space outside.
3. Distance to anchors. There are non linearities associated to the received power of the signal, the error increases with power. There is compensation for this but the measurements are not as good when the modules are close. I would recommend a space where are anchors more than 3-4 meters apart to reduce the effect.
4. Interference with other radio sources. If there are other radio sources in the same frequency band they might interfere with the UWB signal that is very weak. The packets might be received but the timing can be off.

In the real world some packets are received as expected with good accuracy, some are received with bad timing and some are lost. We use sequence numbers in the packets to detect lost packets and try to make sure we use valid data fot the calculations. Packets with bad timing are harder to detect and the outlier detection could be improved.

The above is related to the time of flight measurements between two UWB modules. The next step is to estimate a position from this data and we use a kalman filter for this where we merge distance data from the LPS with other sensors such as the accelerometer. The kalman filter does a good job but noise and errors in any data will effect the end result. For instance unbalanced propellers increase the vibrations and the noise in the accelerometers (mainly Z) which might offset the estimated position.

It is also important that the anchor positions are correct. If the anchors are note placed at the coordinates that are configured in the system the end result will of course be wrong.

We have seen some "warping" of space that we do not fully understand. In some areas the estimated position can be offset a bit (up to 20-30 cm). It seems to be static and repeatable.

In your case I would start by looking at:
1. Is the bottom of your cage a metal plate? That might be problematic?
2. Are the bars in your cage metal?
3. It is hard to see in the image but it looks like the anchors are mounted on the bars in the cage? Assuming this is correct
3.1 Try to move the anchors further away, 3-4 meters from each other
3.2 The anchors seems to be mounted on the metal bars, try to mount them at least 10-15 cm from any wall or metal surface
4. Try to move the Crazyflie around without flying and see what position estimates you get (to avoid any vibrations)

- Kristoffer

Re: Accuracy LPS

Posted: Fri May 04, 2018 5:22 pm
by simonjohansson
Okey, thanks for the answer! I moved the anchors away and removed the metal plate in the bottom and now it works alot better. I guess it is in the +-10 cm area now.


Re: Accuracy LPS

Posted: Mon May 07, 2018 10:36 am
by kristoffer