diff --git a/src/pid.c b/src/pid.c index 273409d6..75e81779 100644 --- a/src/pid.c +++ b/src/pid.c @@ -27,11 +27,11 @@ void pid_init(hal_pid_t *pid){ //pid->command = 0; /* pin: commanded value */ //pid->commandvds = 0; /* pin: commanded derivative dummysig */ pid->commandv = 0; /* pin: commanded derivative value */ - pid->commanda = 0; /* pin: commandedv derivative value */ + pid->commanda = 0; /* pin: commandedv derivative value */ //pid->feedback = 0; /* pin: feedback value */ //pid->feedbackvds = 0; /* pin: feedback derivative dummysig */ pid->feedbackv = 0; /* pin: feedback derivative value */ - pid->feedbacka = 0; /* pin: feedbackv derivative value */ + pid->feedbacka = 0; /* pin: feedbackv derivative value */ pid->error = 0; /* pin: command - feedback */ pid->deadband = 0; /* pin: deadband */ pid->maxerror = 0; /* pin: limit for error */ @@ -49,13 +49,13 @@ void pid_init(hal_pid_t *pid){ pid->cmd_d = 0; /* opt. pin: differentiated command */ pid->cmd_dd = 0; /* opt. pin: 2nd derivative of command */ pid->bias = 0; /* param: steady state offset */ - pid->pgain = 4; /* pin: proportional gain */ - pid->igain = 0.02; /* pin: integral gain */ - pid->dgain = 0.01; /* pin: derivative gain */ + pid->pgain = 2; /* pin: proportional gain */ + pid->igain = 0.04; /* pin: integral gain */ + pid->dgain = 0.015; /* pin: derivative gain */ pid->bgain = 0.0; /* pin: derivative gain */ // pid->ff0gain = 0; /* pin: feedforward proportional */ - pid->ff1gain = 0.006; /* pin: feedforward derivative */ - pid->ff2gain = 0.00015; /* pin: feedforward 2nd derivative */ + pid->ff1gain = 0.005; /* pin: feedforward derivative */ + pid->ff2gain = 0.00005; /* pin: feedforward 2nd derivative */ pid->maxoutput = 1; /* pin: limit for PID output */ pid->output = 0; /* pin: the output value */ pid->saturated = 0; /* pin: TRUE when the output is saturated */