void shoot()
  {
    ALValue angles;
    ALValue names;
 
   //Right Foot support 
    float fractionMaxSpeed = 0.07f;
    names = ALValue::array("RAnkleRoll","LAnkleRoll","RHipRoll","LHipRoll");
    angles = ALValue::array(-0.33f, -0.33f, 0.25f, 0.33f);
    motionProxy->angleInterpolationWithSpeed(names, angles, fractionMaxSpeed);

    //Rise Left Foot
    names = ALValue::array("LHipPitch", "LKneePitch","LAnklePitch");
    angles = ALValue::array(-0.523f, 1.398f, -0.875f);
    motionProxy->angleInterpolationWithSpeed(names, angles, fractionMaxSpeed);

    //Get Left Leg Position
    std::string effector = "LLeg"; 
    int space = 2; 
    bool useSensorValues = true; 
    std::vector<float> legPos = motionProxy->getPosition(effector, space, useSensorValues); 

    //Move Left Leg Forward
    legPos[0] += 0.20f;
    legPos[1] -= 0.05f;
    legPos[2] -= 0.05f;
    ALValue	times      = 0.5f; // seconds 
    bool isAbsolute = false; 
    int axisMask = 63;
    motionProxy->positionInterpolation(effector, space, legPos, axisMask, times, isAbsolute); 

    //Get Left Leg Position
    legPos = motionProxy->getPosition(effector, space, useSensorValues);

    //Move Left Leg Backward
    legPos[0] -= 0.2f;
    legPos[2] -= 0.095f;
    legPos[4] -= 0.4f;
    times      = 2.0f; // seconds  
    motionProxy->positionInterpolation(effector, space, legPos, axisMask, times, isAbsolute); 
  }