Skip to content

Commit

Permalink
Use yaw in angle PID to better follow a yaw around gravity convention…
Browse files Browse the repository at this point in the history
…. Also fixes issue where when at 90 deg pitch and setpoint is at 90 deg roll angle PID will ask for no corrections.
  • Loading branch information
Quick-Flash authored and bkleiner committed Dec 20, 2023
1 parent 381a554 commit b12b4da
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 7 deletions.
7 changes: 2 additions & 5 deletions src/flight/control.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,12 @@ static void control_flight_mode() {
state.error.axis[2] = yawerror[2] - state.gyro.axis[2];

} else { // standard level mode
// pitch and roll
for (int i = 0; i <= 1; i++) {
// roll, pitch and yaw
for (int i = 0; i <= 2; i++) {
state.angleerror[i] = errorvect.axis[i];
state.setpoint.axis[i] = angle_pid(i) + yawerror[i];
state.error.axis[i] = state.setpoint.axis[i] - state.gyro.axis[i];
}
// yaw
state.setpoint.axis[2] = rates.axis[2];
state.error.axis[2] = yawerror[2] - state.gyro.axis[2];
}
} else { // rate mode
state.setpoint.axis[0] = rates.axis[0];
Expand Down
2 changes: 1 addition & 1 deletion src/flight/control.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include "rx/rx.h"
#include "util/vector.h"

#define ANGLE_PID_SIZE 2
#define ANGLE_PID_SIZE 3

#define RXMODE_BIND 0
#define RXMODE_NORMAL 1
Expand Down
2 changes: 1 addition & 1 deletion src/flight/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ vec3_t input_stick_vector(float rx_input[]) {
return (vec3_t){
.roll = constrain((state.GEstG.yaw * stickvector.roll) - (state.GEstG.roll * stickvector.yaw), -1.0f, 1.0f),
.pitch = constrain(-((state.GEstG.pitch * stickvector.yaw) - (state.GEstG.yaw * stickvector.pitch)), -1.0f, 1.0f),
.yaw = 0,
.yaw = constrain(((state.GEstG.roll * stickvector.pitch) - (state.GEstG.roll * stickvector.pitch)), -1.0f, 1.0f),
};
}

Expand Down

0 comments on commit b12b4da

Please sign in to comment.