I was wondering if there is any plan on improving the consistency of the interval at which data is broadcast from the natnet library.
As has been conveyed in other posts, one can use the fLatency field in the packet to determine when the data was sent over, and indeed the spacing of packets based on that timing information is consistent at 10 mSec. However, the actual packet inter-arrival time is very jittery, fluctuating between 1 and 30 mSec. Usually when a packet arrives after 30 mSec, there are a couple of more packets that arrive immediately after it, so the long term average is right on at 10 mSec but you can never know how stale a packet is upon arrival.
So if I gather all the data and then post-process it, there is no problem but as others have indicated, this makes real time control or robots and other moving bodies problematic. It also makes synchronization of mocap data with other data sources very hard to do, as there is no way to establish a common time frame.
One possibility may be to add into the packet a time value that is absolute, maybe the actual high res clock, or CPU high frequency timer. fLatency as I understand it is time since the start of the broadcasting program, which is arbitrary and not very useful.
NatNet, VRPN, TrackD, and Plugins
1 post • Page 1 of 1