Processing positioning data from pozyx

In this post we will see how to process positioning data from pozyx .Pozyx is hardware solution that can provide accurate location tracking in indoor environments. You can find more about the pozyx system in their website. Though the pozyx provides very accurate data to the centimeter level , it is very spiky.  For example see the below plot which shows data of x co-ordinate . You can see that some have readings to much error , we can’t use them for real time plotting. We need to process the data before we can use it.

Pozyx raw data
Pozyx raw data

Processing position data

I tried few filters available in python scipy package . savgol_filter and lowess did much better smoothing than other filters . You can find the plots of both savgol and lowess below. Lowess filtering is a bit better than savgol but Lowess is very slow on raspberry pi. I ran both algorithms on raspberry pi. Lowess took around 500ms for processing where as savgol did it under 15ms .

pozyx savgol
pozyx savgol

 

pozyx lowess
pozyx lowess

If you are doing realtime plotting savgol would better option than lowess.

 

Add a Comment

Your email address will not be published. Required fields are marked *