Nice looking solution.
Thanks. You’ve asked a really good question.
Is the 20 ms latency achievable with the <10 cm accuracy? Generally accuracy requires some averaging which then gets in the way of low latency positions. Or does the accuracy require a higher anchor density to average things in that way?
We can easily achieve sub 20 ms latency and sub 10 cm precision on a single tag beacon at the same time. Our advertised numbers are actually quite conservative.
For precision, in our test lab, with 12 anchors, we saw a position std dev of 1.6, 1.7, 1.8 cm in the 3 axis on a recent test. This is with no smoothing, each beacon treated as a new position. That means +/- 3 std devs (99% of all hits) is about 5 cm precision, so about half our claim.
The lab is roughly 10 x 20 meters, so not huge and that is a moderately high anchor density. This was done on channel 5 and the channel 9 numbers were similar. This was also done with the LNA turned on, the numbers get slightly better with it turned off. The tag was on a tripod near the center of the array, things get worse at the edge of the array. The lab is an open area, so every anchor had good LOS conditions. This was using a total station for anchor and tag survey (the most accurate survey method). It is, as they say, “lab conditions”.
Our location engine uses all anchors that hear any given beacon so you can increase the anchor density arbitrarily high. The highest density site we’ve done was a basketball arena with 54 anchors. The std dev on the position was around 6 mm for each single beacon.
Additionally, you can improve the precision by smoothing. You reduce the std dev by about the square root of the samples. If you take a 100 Hz tag and smooth it to 1 Hz output in the 12 anchor test above, the std dev will be around 2 mm, or 10 times better. Build a site with 100 anchors, using 100 Hz tags, smoothed to 0.1 Hz output, and the std dev will be crazy small, like 500 microns. Essentially, precision is limited by your budget and not the technology.
Our accuracy error for the test was -5.8, -4.2, -8.9 cm in the 3 axis. Accuracy accounts for the systemic errors in the system you can not remove with smoothing, like antenna group delay variation versus arrival direction. All were under 10 cm. Z axis is always worse since the anchors are only above the tag where as XY is better due to anchors being on both sides of the tag. This is analogous to GPS where altitude is always worse than lateral position. If you put anchors on the floor and ceiling, you can get Z axis to improve, and we do have some special sites that do this.
As for latency, the anchors normally operate in a mode where every tag beacon immediately generates an Ethernet UDP/IP packet to the location engine. That latency is well under 1 ms. Once the location engine gets the first report from an anchor for a particular tag hit, it then waits 5 ms more to let the other anchor hits flow in, and then it performs the location computation on the data it has collected. The computation takes generally under 1 ms (depends on the computer power you use) and the answer is output via UDP/IP which may go out Ethernet, Wifi, or internally routed to an application on the CUWB Engine PC itself (localhost). In general, this whole process takes less than 10 ms, so half our claim. Network congestion, PC tasking and load, and other factors can affect this, of course.
We do have an aggregation mode where anchors do not send an Ethernet packet for every beacon they hear. They aggregate into a larger packet and send that packet when it is full or when the the age of the oldest beacon has exceeded a time out. Aggregation increases latency, obviously, but it also reduces the load on the CUWB Engine PC since it handles fewer packets. Thus users can choose lower latency or lower CPU load.
We plan to put together a more detailed discussion of accuracy, precision, anchor density, and smoothing since those things are interrelated. When someone asks me how precise the system can be, I ask them how much money they have since you can achieve arbitrarily high precision by how you provision it. You can also make an imprecise system by very low anchor density and no smoothing. That may be just fine for some applications.
Mike Ciholas, President, Ciholas, Inc
3700 Bell Road, Newburgh, IN 47630 USA
mikec@ciholas.com