Copter: constrain loiter so that it never commands more than 45 degrees of lean in lat or lon directions

This commit is contained in:
Randy Mackay 2013-01-14 13:30:25 +09:00
parent 0830eaf363
commit bd05ea84cc
1 changed files with 4 additions and 4 deletions

View File

@ -406,7 +406,7 @@ static void calc_loiter(int16_t x_error, int16_t y_error)
}
output = p + i + d;
nav_lon = constrain(output, -32000, 32000); // constraint to remove chance of overflow when adding int32_t to int16_t
nav_lon = constrain(output, -4500, 4500); // constrain max angle to 45 degrees
#if LOGGING_ENABLED == ENABLED
// log output if PID logging is on and we are tuning the yaw
@ -439,7 +439,7 @@ static void calc_loiter(int16_t x_error, int16_t y_error)
}
output = p + i + d;
nav_lat = constrain(output, -32000, 32000); // constraint to remove chance of overflow when adding int32_t to int16_t
nav_lat = constrain(output, -4500, 4500); // constrain max angle to 45 degrees
#if LOGGING_ENABLED == ENABLED
// log output if PID logging is on and we are tuning the yaw
@ -485,7 +485,7 @@ static void calc_loiter(int16_t x_error, int16_t y_error)
}
output = p + i + d;
nav_lon = constrain(output, -32000, 32000); // constraint to remove chance of overflow when adding int32_t to int16_t
nav_lon = constrain(output, -4500, 4500); // constrain max angle to 45 degrees
#if LOGGING_ENABLED == ENABLED
// log output if PID logging is on and we are tuning the yaw
@ -518,7 +518,7 @@ static void calc_loiter(int16_t x_error, int16_t y_error)
}
output = p + i + d;
nav_lat = constrain(output, -32000, 32000); // constraint to remove chance of overflow when adding int32_t to int16_t
nav_lat = constrain(output, -4500, 4500); // constrain max angle to 45 degrees
#if LOGGING_ENABLED == ENABLED
// log output if PID logging is on and we are tuning the yaw