forums.naturalpoint.com

Discussion and Support for the OptiTrack, SmartNav and TrackIR brands by NaturalPoint

VRPN Client

NatNet, VRPN, TrackD, and Plugins

by vocilka » Wed Oct 21, 2015 7:38 am

Hello everyone,

we are using the ros vrpn client to subscribe to the vrpn messages (http://wiki.ros.org/vrpn_client_ros ) and we noticed that the msg_time in seconds is not related to the system time.
As described in this post
viewtopic.php?f=59&t=13169&p=59791&hilit=timestamp#p59791 it is calculated from the frame number.

We need to provide highly accurate ntp syncronized timestamps. Is there a way to realize this in software without using a esync 2 hub?

Cheers,
Rudolf
vocilka
 
Posts: 1
Joined: Wed Oct 21, 2015 7:24 am

by steven.andrews » Thu Oct 22, 2015 2:02 pm

Hello Rudolf,

Thank you for reaching out to us regarding your questions.
You are correct that the timestamp is not related to the system time.

The Motive 1.8 Timestamp is not based on the windows system clock but is either
- An idealized timestamp based on camera frame ID and frame rate.
- Hardware timestamp from the eSync, if an eSync is present.

If you wish to synchronize mocap data to a common clock within a VRPN client application, you will need to provide a clock signal and route that clock signal thru both an eSync and your application.

I hope you find this information to be useful. If you require any further assistance, please feel free to open a support ticket with us at help.naturalpoint.com

Best regards,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 356
Joined: Mon Jan 19, 2015 11:52 am

by vsu » Mon Oct 26, 2015 8:16 am

Hello Steven,

I'm also working with Rudolf on this project, and the point he forgot to mention is that we are using USB cameras that are connected with several optihubs2 to the PC. As I understand eSync is designed to work with ethernet cameras and will not help us in this case.

Our use case is actually the following:
We are tracking a drone as a rigid body at 120hz and send the information to the PC on the drone that uses it for control. Both tracking PC and the PC on the drone have clocks synced to the same NTP server. We can of course timestamp the tracking data with a current time on the drone when it arrives, but it would be delayed by the wireless transmission time, so we are looking for a way to set a timestamp for the data on the PC that actually does tracking.

Because of that I would like to ask several questions:
Is it possible to get Motive 1.8 to timestamp the tracking data with a time from Windows system clock when sending through VRPN? If it is not possible, are you planning to include this feature in future releases of the software?

Best Regards,
Vlad
vsu
 
Posts: 1
Joined: Sat Oct 24, 2015 4:40 am

by steven.andrews » Mon Oct 26, 2015 10:23 am

Hello Vlad,

Thank you for the additional information. You are correct that the eSync is designed to work with our Ethernet cameras.

The OptiHub is capable of receiving a sync pulse. You might try routing a sync pulse to the OptiHub and your drone. If you know the corresponding pulses you may be able to derive the time from that information.

Unfortunately, you cannot adjust Motive to use the system time as the timestamp. Expand the features of the VRPN stream is something that is currently being discussed, though I cannot say if this will include changes to the timestamping.

I hope this provides at least a little insight. If we can do anything else to help, please let us know.

Cheers,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 356
Joined: Mon Jan 19, 2015 11:52 am

by gsanahuj » Thu May 04, 2017 8:12 am

Hello,

I am having the same problem with the timestamp of streamed data.
This post is 2 years old now; is there any progress? Can we have the system time streamed to vrpn?
Or is there other streaming protocols in native that can use the system time and not the time since the program has started?

I do not understand why native do not use the system time, sending a time since a program has started is totally useless.

Thanks for your help.
Regards;
Guillaume
gsanahuj
 
Posts: 3
Joined: Thu May 04, 2017 7:48 am

by gsanahuj » Tue Jun 06, 2017 5:38 am

Hello,

Nobody knows how to do?
Can someone from naturalpoint give answers?

Thanks for your help
Regards;
Guillaume
gsanahuj
 
Posts: 3
Joined: Thu May 04, 2017 7:48 am

by steven.andrews » Tue Jun 06, 2017 11:34 am

Hello Guillaume,

Not much progress has been made regarding timestamps; these work the same as they have.

You may be interested in the improved latency reporting in Motive 2.0. In this version we will have broken down the latency reporting system so that you can get a full report of the latency from camera exposure to client receive time. We believe this will fulfill many time reporting needs.
It should be noted that this advanced latency reporting will be available through NatNet, but not the VRPN protocol. We do recommend utilizing NatNet as it will provide a great deal more functionality than VRPN.

Motive 2.0 and the accompanying version of the NatNet SDK are not yet available, but you should see these releases in the near future. If you require any further assistance, please feel free to reach out to us directly at help.naturalpoint.com

Best regards,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 356
Joined: Mon Jan 19, 2015 11:52 am

by gsanahuj » Thu Jun 15, 2017 3:38 am

Hello Steven,

Thanks for your answer.
However, I do not understand how the improved latency reporting in Motive 2.0 will help me? Is there any documentation about this?
I think that the best solution is to use system time as time in the vrpn packets. I do not understand why it is not already the case and why it is so difficult to use it?

Regards,
Guillaume
gsanahuj
 
Posts: 3
Joined: Thu May 04, 2017 7:48 am

by steven.andrews » Mon Jun 19, 2017 11:47 am

Hi Guillaume,

Unfortunately, we do not have documentation on that improved latency reporting at this time. When the feature becomes available, we should have more information available.

With Motive and NatNet, we either use the eSync or master Camera as a high precision hardware reference clock. All timing / telemetry measurements are made with respect to this device. Because we are using our hardware sync devices as the master clock, we can accurately calculate the near-exact shutter exposure moment for our timing calculations.

Since NatNet clients typically are on a separate device, they can use the NatNet API to query the host device for calculated telemetry data. Just exposing the Host PC's timestamp is not usually sufficient since the client typically does not have direct access to the host PC and its current time.

I hope this helps to explain things. We cannot guarantee the addition of system time into the NatNet stream, but if you would like to make a feature request please feel free to contact us at help.naturalpoint.com

Best,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 356
Joined: Mon Jan 19, 2015 11:52 am


Return to OptiTrack Data Streaming

cron