forums.naturalpoint.com

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

realtime data streaming format like bvh file

NatNet, VRPN, TrackD, and Plugins

by zdczdcc » Sun Nov 19, 2017 8:17 pm

I'm doing a project with OptiTrack.And i haven't got the OptiTrack device.So i've tested the function in my project with offline OptiTrack exported data in '.bvh' downloaded from the internet.And now my test was finished in a good result by using the '.bvh' file.So i want to know,how could i get the realtime data streaming format like bvh file with each joints' local orientation.
zdczdcc
 
Posts: 5
Joined: Sun Nov 19, 2017 8:03 pm

by steven.andrews » Mon Nov 20, 2017 3:12 pm

Hello zdczdcc,

Streaming data requires the use of our Motive software. If you have a copy of Motive, you are able to either stream realtime tracking data, or a recording (.tak). Streamed data can be received using our NatNet SDK.

Best,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
help.naturalpoint.com
support@optitrack.com
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 386
Joined: Mon Jan 19, 2015 11:52 am

by zdczdcc » Mon Nov 20, 2017 7:54 pm

Hi Steven,

Thanks for your reply.
I know about Motive and NatNet.I'm confused about the global transformation and local transformation defined by the Motive.In my opinion,global transformation is the transformation from the calibration pose(T-pose) to current frame's pose in the global coordinate system(Defined by the calibration wand).Local transformation is the transformation from the calibration pose(T-pose) to current frame's pose in the local coordinate system(Each joint has its own local coordinate system.The coordinate origin is itself.)Am i wrong.
I want to know how to set the global transformation or local transformation in the Motive.
And i want to drive a 3d human model by using the OptiTrack.Could i drive the model by getting each joint's global rotation instead of local rotation.
Thanks for your help.

Best wishes,
zdczdcc
zdczdcc
 
Posts: 5
Joined: Sun Nov 19, 2017 8:03 pm

by zdczdcc » Wed Nov 22, 2017 12:28 am

And i'm troubled that why should we calibration subject with T-pose before using the OptiTrack?I think it is might be ok to drive a uncalibrated 3d human model by transformation getting from the OptiTrack.
zdczdcc
 
Posts: 5
Joined: Sun Nov 19, 2017 8:03 pm

by steven.andrews » Wed Nov 22, 2017 11:57 am

Hi zdczdcc,

The global transformation for each segment is given from the global origin (Ground Plane), not from the calibration pose. The rotations are mostly zeroed out in a T-Pose, but not necessarily enough to exactly match the global origin.
Local transformations are given in relation to the parent segment.

It might help you to visualize the axes on the skeleton. This can be done by enabling the Show Segment Axes setting in the skeleton's properties.
Capture.JPG
Capture.JPG (59.99 KiB) Viewed 186 times



You can change whether you are streaming local or global transformations in Motive's Streaming settings.
Capture2.JPG
Capture2.JPG (26.13 KiB) Viewed 186 times



I am not sure which application you are developing in, but you should be able to drive your skeleton with either local or global transformations. You will just need to be sure Motive's Streaming settings match what you are expecting in your custom application.


Cheers,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
help.naturalpoint.com
support@optitrack.com
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 386
Joined: Mon Jan 19, 2015 11:52 am

by zdczdcc » Wed Nov 22, 2017 7:49 pm

Hi Steven,

Thanks for your reply.
I know about the global transformations defined by Motive now.But i confused about the local transformation.
Local transformations are given in relation to the parent segment
,does it mean a joint's local transformation's coordinate system's origin is its parent joint.Local transformation is the transformation from joint's calibration pose(For rotation matrix is identity matrix,and for quaternion is (x=0,y=0,z=0,w=1).) to current frame's pose.


And i still troubled that why should we calibration subject with T-pose for getting a calibrated 3d human model before using the OptiTrack?I think it is might be ok to drive a uncalibrated 3d human model by transformation getting from the OptiTrack.


Best wishes,
zdczdcc
zdczdcc
 
Posts: 5
Joined: Sun Nov 19, 2017 8:03 pm

by steven.andrews » Mon Nov 27, 2017 1:39 pm

Hi zdcdcc,

The origin for a joint's local coordinate system is its parent joint, as you stated.

I do not understand what you are trying to achieve by avoiding the T-Pose in Motive. The T-Pose is required in order to create the skeleton, but is only needed one time in the beginning of your session. Without going through this process, you will not be tracking a skeleton and you will not be streaming segment data. You will only be able to stream unlabeled markers, which are much more difficult to work with.

If anything continues to remain unclear, please feel free to reach out to us directly using the Support channels, below. Forum posts are subject to Moderator approval, and are a much slower means for communicating directly with Support.

Cheers,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
help.naturalpoint.com
support@optitrack.com
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
 
Posts: 386
Joined: Mon Jan 19, 2015 11:52 am

by zdczdcc » Mon Nov 27, 2017 7:56 pm

Hi Steven,

Thanks for your reply.
I'm not going to avoid the T-pose before using skeleton tracking.I just want to know why should we getting the T-pose first.I think the Motive would get the calibrated human skeleton after T-pose calibration.So the Motive could predict the joint's transformation when the joint is occluded.Am i right or some other reason.
I would use the support channel for more support.
Thanks for your help.

Best wishes,
zdczdcc
zdczdcc
 
Posts: 5
Joined: Sun Nov 19, 2017 8:03 pm


Return to OptiTrack Data Streaming