[ros-users] Skeletons

Patrick Goebel patrick at pirobot.org
Mon Mar 28 03:29:42 UTC 2011

Hi Marcus,

I haven't thought through use cases very much but one application would 
be creating a library of human gestures and poses that the robot can 
learn to recognize.  The only reason I created a Skeleton message type 
for my pi_tracker package is that I wanted to have access to the joint 
confidence values.  Otherwise, I think the standard ROS tf/tfMessage 
type comes close.

In the meantime, and just for fun, I have created a skeleton_markers 
package at:


This allows the visualization of the tracked joints in RViz.  There are 
two ways to run the package--two different Python scripts: one is used 
with pi_tracker and subscribes to the skeleton message topic.  The other 
uses just the transforms published by the openni_tracker package.  See 
the Wiki page for details.  Here is a short video of the result:



On 03/26/2011 03:27 PM, Marcus Liebhardt wrote:
> Hi there!
> That indeed looks like a tree to me.
> I would be interested in the use cases you have in mind for these 
> skeleton messages.
> What information would you like to gather in those messages?
> Poses of the tracked frames, interconnections of each frame, also 
> distances between the connected frames?
> I don't have deep knowledge about the processing of the KInect or the 
> openni_tracker. I'm currently just using the transforms. But I think 
> there are simplifications made for some frames, which could be useful 
> to take into account. For example, I think the neck is always half way 
> between the left and right shoulder, and the head is always on top of 
> it. Things like that might be interesting as well to keep in the 
> message, so that one can easily reproduce the previously mentioned 
> skeleton - if that is one of the use cases.
> Best regards,
> :-) Marcus
> 2011/3/26 Patrick Goebel <patrick at pirobot.org 
> <mailto:patrick at pirobot.org>>
>     I see what you mean--the user looks more like a cactus than a
>     tree. :)))  However, I think if you take the torso joint as the
>     root, don't you end up with a tree structure?  e.g.
>     torso->neck->head
>     torso->left_shoulder->left_elbow->left_hand
>     torso->right_shoulder->right_elbow->right_hand
>     torso->left_hip->left_knee->left_foot
>     torso->right_hip->right_knee->right_foot
>     Maybe this is what you meant by it depends on how you define them.
>     --patrick
>     On 03/26/2011 12:22 PM, David Lu!! wrote:
>>     It depends on how you define them. The skeleton visualized with
>>     the kinect (
>>     http://www.ros.org/wiki/openni_tracker?action=AttachFile&do=get&target=nite.png
>>     <http://www.ros.org/wiki/openni_tracker?action=AttachFile&do=get&target=nite.png>)
>>     isn't a tree, although it could be converted to be one, I suppose
>>     On Sat, Mar 26, 2011 at 1:11 PM, Patrick Goebel
>>     <patrick at pirobot.org <mailto:patrick at pirobot.org>> wrote:
>>         Hi David,
>>         I agree it would be nice to have a standardized Skeleton
>>         message.  If all skeleton's are trees (is this true?) then
>>         perhaps an existing tree message type could be used if it
>>         exists.  KDL has kinematic chains and tf is already built
>>         around trees (right?).  That's about as far as I've thought
>>         it through...
>>         --patrick
>>         On 03/22/2011 04:17 PM, David Lu!! wrote:
>>>         Hey Ros-users-
>>>         Has there been any talk of creating a standardized Skeleton
>>>         message? Right now, it seems like the openni_tracker package
>>>         just publishes transforms. It seems like if the Kinect does
>>>         skeleton tracking, there should be a skeleton message.
>>>         I know pi_tracker has its own Skeleton message, which looks
>>>         like it might fit the bill, although I don't think it
>>>         defines which parts are connected (hip bone is connected to
>>>         the thigh bone).
>>>         http://www.ros.org/doc/api/pi_tracker/html/msg/Skeleton.html
>>>         It might be good to have for not only the Kinect, but for
>>>         other motion capture rigs (Vicon and the like).
>>>         Are there any other similar message out there?
>>>         -David!!
>>>         _______________________________________________
>>>         ros-users mailing list
>>>         ros-users at code.ros.org  <mailto:ros-users at code.ros.org>
>>>         https://code.ros.org/mailman/listinfo/ros-users
>     _______________________________________________
>     ros-users mailing list
>     ros-users at code.ros.org <mailto:ros-users at code.ros.org>
>     https://code.ros.org/mailman/listinfo/ros-users
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20110327/b4052e86/attachment-0004.html>

More information about the ros-users mailing list