File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -161,12 +161,16 @@ bool Pid::set_gains(const Gains & gains_in)
161161
162162 if (gains.antiwindup_strat_ .type == AntiWindupStrategy::BACK_CALCULATION)
163163 {
164- if (is_zero (gains.antiwindup_strat_ .tracking_time_constant ) && !is_zero (gains.d_gain_ ))
164+ if (
165+ is_zero (gains.antiwindup_strat_ .tracking_time_constant ) && !is_zero (gains.d_gain_ ) &&
166+ !is_zero (gains.i_gain_ ))
165167 {
166168 // Default value for tracking time constant for back calculation technique
167169 gains.antiwindup_strat_ .tracking_time_constant = std::sqrt (gains.d_gain_ / gains.i_gain_ );
168170 }
169- else if (is_zero (gains.antiwindup_strat_ .tracking_time_constant ) && is_zero (gains.d_gain_ ))
171+ else if (
172+ is_zero (gains.antiwindup_strat_ .tracking_time_constant ) && is_zero (gains.d_gain_ ) &&
173+ !is_zero (gains.i_gain_ ))
170174 {
171175 // Default value for tracking time constant for back calculation technique
172176 gains.antiwindup_strat_ .tracking_time_constant = gains.p_gain_ / gains.i_gain_ ;
You can’t perform that action at this time.
0 commit comments