The hand_interaction package is used in the:
The hand interaction package has several nodes that facilitate hand interaction Hands are made available through the Hand/Hands message. A Hands message is just two Hand messages with the header of the point cloud it came from.
Hand Field descriptions:
thumb: index of which finger was determined to be the thumb. a negative number means no thumb was detected, (does not mean no fingers)
in detecthands: points near, but not in the hand are clustered and marked as the arm. It is pretty accurate in giving the direction that the arm is facing.
in detectskelhands: arm represents the skeleton's elbow.
palm: 6D pose of the palm (orientation may not be fully functional yet)
fingers: for each finger detected, the centroid is given. Because of how finger segmentation is done, this point will not always be the center of the finger, at least in the direction away from the palm.
state: Currently unused. Soon, when pointing is implemented, this will indicate what type of gesture is being made (ie: fist, peace, openpalm, etc.)
detectskelhandsThis node finds the point clouds corresponding to the hands indicated by a skeletal model.
Subscribed Topics/skeletons (body_msgs/Skeletons)
- The skeleton extracted by the skeletal_tracker.
- The 3D point cloud provided by the Kinect sensor.
Published Topics/hands (body_msgs/Hands)
- The Hand message, which contains a point cloud of the hands
- The left hand point cloud.
- The right hand point cloud.
detectfingersThis node segments a hand into fingers and palm. It takes in incomplete Hand messages, and fills in information.
Subscribed Topics/hands (body_msgs/Hands)
- The Hand message in, which contains a point cloud of the hands
Published Topics/hands_pros (body_msgs/Hands)
- The Hand message out, which contains locations and orientations of the fingers