std_err in location engine and udp - what's the difference?

General discussion of the Ubisense platform

std_err in location engine and udp - what's the difference?

Postby petr » Mon Dec 07, 2009 5:37 pm

Hello,

I have searched the forum but wouldn't find any details on my question, hence asking it in a new topic.

There are two different places where the "standard error" value appears:
1) GUI: The Geometry tab of the LocationEngineCell in Location Engine Configuration;
2) UDP: of type LocationMessage.

The one specified in Location Engine is constant and rather small (say, 0.05) whereas the other is, in general, different in every received UDP and comparatively large (I'm getting around 0.3-0.5).

Since the two differ that much, I believe they represent different standard errors. Could you please clarify which two measurements are meant in each case?

Thank you very much,
Petr
petr
 
Posts: 8
Joined: Wed Apr 22, 2009 10:19 am
Location: Belgium

Re: std_err in location engine and udp - what's the difference?

Postby Pete Steggles » Wed Dec 09, 2009 10:27 am

petr wrote:Hello,

I have searched the forum but wouldn't find any details on my question, hence asking it in a new topic.

There are two different places where the "standard error" value appears:
1) GUI: The Geometry tab of the LocationEngineCell in Location Engine Configuration;
2) UDP: of type LocationMessage.

The one specified in Location Engine is constant and rather small (say, 0.05) whereas the other is, in general, different in every received UDP and comparatively large (I'm getting around 0.3-0.5).

Since the two differ that much, I believe they represent different standard errors. Could you please clarify which two measurements are meant in each case?

Thank you very much,
Petr


Petr

There are actually two uses of the standard error field in the UDP packets, depending on the state of the information filter:

  1. In normal use, when the information filter has some state that it is using to track the tag, the 'standard error' field is used to send out an estimate of the variance of the readings, which is a measure of the square of the expected error in 3D (note that in practice the actual error works out to be a fair bit less than the expected error: you are getting expected errors of around half a metre or more and I bet the actual results are somewhat better).


  2. But sometimes the information filter has no state, and this state has to be generated by some other means. In this case we use a stateless algorithm, which just takes all the sensor readings, tries to remove some outliers, and performs a least-squares minimization, and the standard error value sent is the resulting standard error of the least squares minimization that led to the state reset. In versions before the upcoming 2.1.5, if you look for long enough you will find these values appearing in the UDP packets: you can spot them because they will be very small (e.g. 0.05 or less in normal cases). The 'max standard error' field in the geometry tab is a threshold value for these stateless filter resets: if the generated value is too big we won't generate a location. You can demonstrate this to yourself by setting this value to 0 and starting a tag up: you won't get any locations at all because the filter will never be able to generate an initial state.

I mentioned that the 'stateless' standard error values before 2.1.5 are very small. This is because they are calculated as a funny mixture of distance and angle errors, which is not dimensionally correct but seems to work better in practice for small cells. But now that many customers are using our system in quite large cells we are also providing an option to calculate the stateless standard error as a distance value, which seems to work better for larger cells; in this case the information filter and the stateless standard errors tend to look fairly similar.

I hope this helps you understand the details,

Pete
Pete Steggles
 
Posts: 66
Joined: Wed Jun 30, 2004 4:48 pm
Location: Ubisense, Cambridge

Re: std_err in location engine and udp - what's the difference?

Postby petr » Mon Jan 11, 2010 6:47 pm

Pete Steggles wrote:Petr

There are actually two uses of the standard error field in the UDP packets, depending on the state of the information filter:

  1. In normal use, when the information filter has some state that it is using to track the tag, the 'standard error' field is used to send out an estimate of the variance of the readings, which is a measure of the square of the expected error in 3D (note that in practice the actual error works out to be a fair bit less than the expected error: you are getting expected errors of around half a metre or more and I bet the actual results are somewhat better).


Hello Pete,

A bit late response but it's only now when I'm back to these details again.

I still have some unclear moments about it.
As I understood, in the case of 'No Information Filter', it is more or less clear (i.e. the value from the Geometry tab is used, isn't it?).
But assuming that the information filter is set to, let's say, 'Static Fixed Height' with max_position_variance = 4, how can I know the error of a received location observation?
E.g., a UDP has returned the following values:
...
XCOORD = -1.1765925884246826,
YCOORD = 1.2931466102600098,
ZCOORD = 0.9191219210624695,
GDOP = 0.0,
ERROR = 0.31502974033355713
...
The returned location is quite close to the actual one, the difference in 3D is certainly less than 0.31, what makes my understanding of the returned ERROR even more confusing in this case.
What is the actual standard error of that observation?

Thanks,
Petr
petr
 
Posts: 8
Joined: Wed Apr 22, 2009 10:19 am
Location: Belgium

Re: std_err in location engine and udp - what's the difference?

Postby petr » Tue Jan 19, 2010 12:55 pm

Can anybody else help with this maybe?
Thanks!
petr
 
Posts: 8
Joined: Wed Apr 22, 2009 10:19 am
Location: Belgium

Re: std_err in location engine and udp - what's the difference?

Postby Pete Steggles » Wed Jan 20, 2010 4:36 pm

Petr

Sorry for the delay -- we've been very busy here.

The returned location is quite close to the actual one, the difference in 3D is certainly less than 0.31, what makes my understanding of the returned ERROR even more confusing in this case.


We don't quite understand the point you are making here.

As I described above, the returned value is a measure of our uncertainty about where the tag is, which is a (hopefully conservative) estimate of the (square of the) error. Yes in this case the system's error is smaller than the actual error, but our view is that this is better than the other way round, and if you want to scale the error estimate then you can.

Of course our estimates of error are never going to be as good as your measurements of the error, because we don't have the luxury of knowing where the tag actually is in order to derive the error value. If I did have privileged knowledge of where the tag was I could sell you a much cheaper location system :-)

Maybe we are missing the point of your posting: perhaps you could explain exactly what you think we are doing wrong and what we should be doing?

regards

Pete
Pete Steggles
 
Posts: 66
Joined: Wed Jun 30, 2004 4:48 pm
Location: Ubisense, Cambridge

Re: std_err in location engine and udp - what's the difference?

Postby petr » Tue Feb 02, 2010 1:35 pm

Pete Steggles wrote:Maybe we are missing the point of your posting: perhaps you could explain exactly what you think we are doing wrong and what we should be doing?


Hello Pete,

My exactly question is as follows.
I receive a UDP datagram of type LOCATION_MESSAGE that has the following values:
...
X = -1.1765925884246826,
Y = 1.2931466102600098,
Z = 0.9191219210624695,
GDOP = 0.0,
ERROR = 0.31502974033355713
...
What does the ERROR value mean here? How do I interpret it?
Shall I suppose that the actual position of the tag is within a sphere of radius ERROR and centred in (X,Y,Z)?

Thanks!
petr
 
Posts: 8
Joined: Wed Apr 22, 2009 10:19 am
Location: Belgium

Re: std_err in location engine and udp - what's the difference?

Postby petr » Thu Feb 25, 2010 7:20 pm

Is there somebody else who can help me with the topic?
petr
 
Posts: 8
Joined: Wed Apr 22, 2009 10:19 am
Location: Belgium


Return to General

Who is online

Users browsing this forum: No registered users and 1 guest

cron