Tuesday 12 August 2014

Limitations of calculating the bending angle of the finger

In this article we will talk on some of the limitations in the Leap Motion SDK when calculating the bending angle of the finger.

As mentioned in the "controlling a servo using leap" post we calculated the bending angle of the finger by taking the dot product of finger direction and the palm normal.


Figure 1
[http://hand-illustration.com/82-pinky/240-pinky.html]



As shown in figure 1 when the finger tip is at point A the bent angle is 70 and at B it is 90. However when the finger tip moves from B->C the angle starts to decrease. So at point C it gives 70 degrees which is the same at in point A. 

So when we send these values to the servos (controller) angle at Point C is seen as the angle at Point A. So the robot finger straightens back. 

The reason for this is in both positions point A and point C share the same y value. 

The second limitation is with the Leap motion SDK V1 is when you bend the finger beyond point C leap is unable to detect your finger. As your palm is covered from the top so the camera sees only the palm not the finger anymore. This issue has been solved in the new version (V2 skeletal tracking Beta) by using a prediction method. 



No comments:

Post a Comment