Page 1 of 1

Skeleton data streaming to ROS

Posted: Tue May 14, 2019 4:19 pm
by kunalb
Hi, I am using Motive 2.1 to track movement of a person in a room. I have configured Motive to track the skeleton (upper body markerset) and the skeleton looks/moves fine in Motive. I need to stream this skeleton data to my linux machine (Ubuntu 16.04) to publish the skeleton data to ROS. I found that there are ROS drivers/nodes that publish data using Natnet for rigid body, but not for skeleton.
Is there a way to publish skeleton data to ROS ?

Re: Skeleton data streaming to ROS

Posted: Wed May 15, 2019 10:38 am
by steven.andrews
Hello kunalb,

Thank you for sharing your question here.
In Motive there is an option to stream Skeletons as Rigid Bodies. Enabling this should allow the skeleton data to come through to a client that is only receiving rigid body information.

Any ROS clients online are not our own, so I cannot speak for how they might behave or treat this data. But I imagine you should have access to the skeleton tracking using this setup.

Steven Andrews
OptiTrack | Senior Customer Support Engineer

Re: Skeleton data streaming to ROS

Posted: Fri May 17, 2019 4:30 pm
by kunalb
Hi Steven,
Thanks for prompt reply. I have my ROS node ready.

What I was missing was some documentation for PythonClient example provided with NatNet SDK 3.1. SDK user guide does not provide that info.
I strongly recommend to have some details or Readme for using PythonClient (and other direct depacketization examples).
Simple things like- use NAT_PING in self.sendCommand() to stream the data continuously.

For other linux users, they can see my ROS publisher based off of PythonCLient example that publishes skeleton data.