public void graspObject(final int exclude, final int jon, Graspable graspable)
    {
        final double prec=5*Math.PI/180;
        final int max=(int)(0.5+Math.PI/2.2/prec);

        for (int j=2;j<=3;j++)
        {
            for (int i=1;i<=4;i++) //run the fingers
            {
                if (i==exclude && (j==jon || jon==-1))
                    continue;
                int c=0;
                final Segment pick= seg[fingers[i][j]];
                pick.resetJoints();
                Log.println("Picked:"+pick.label);
                do
                {
                    constrainedRotate(pick,prec);
                    //collisionRotate(pick,prec,null);
                    Main.refreshDisplay();
                } while (segmentCollision(graspable) <= 0.0001 && c++ < max);
                constrainedRotate(pick,-2*prec);
                //collisionRotate(pick,-2*prec,null);
            }
        }
    }