private void KeepPosition()
        {
            keepAttitude = true;

            pidControllerPositionX.Control(Position.X, ref pos_x_controlValue);
            if (pos_x_controlValue > 25f)
            {
                pos_x_controlValue = 25f;
            }
            else if (pos_x_controlValue < -25f)
            {
                pos_x_controlValue = -25f;
            }

            pidControllerAttitudeZ.referenceValue = -pos_x_controlValue;

            pidControllerPositionZ.Control(Position.Z, ref pos_z_controlValue);
            if (pos_z_controlValue > 25f)
            {
                pos_z_controlValue = 25f;
            }
            else if (pos_z_controlValue < -25f)
            {
                pos_z_controlValue = -25f;
            }

            pidControllerAttitudeX.referenceValue = pos_z_controlValue;
        }
        private void KeepAttitude()
        {
            pidControllerAttitudeX.Control(globalRotation.X, ref attitude_dx);
            pidControllerAttitudeZ.Control(globalRotation.Z, ref attitude_dz);

            PhysicsEntity.ApplyTorque(new Vector3(attitude_dx, 0.0f, attitude_dz), false);
        }
 private void KeepAltitude()
 {
     pidControllerAltitude.Control(Position.Y, ref raw_thrust);
 }