@@ -78,8 +78,10 @@ void NPFG::evaluate(const Vector2f &ground_vel, const Vector2f &wind_vel,
78
78
79
79
// update control parameters considering upper and lower stability bounds (if enabled)
80
80
// must be called before trackErrorBound() as it updates time_const_
81
- updateControlParams (ground_speed, airspeed, wind_ratio, track_error, path_curvature,
82
- wind_vel, unit_path_tangent, feas_on_track_);
81
+ adapted_period_ = adaptPeriod (ground_speed, airspeed, wind_ratio, track_error,
82
+ path_curvature, wind_vel, unit_path_tangent, feas_on_track_);
83
+ p_gain_ = pGain (adapted_period_, damping_);
84
+ time_const_ = timeConst (adapted_period_, damping_);
83
85
84
86
// track error bound is dynamic depending on ground speed
85
87
track_error_bound_ = trackErrorBound (ground_speed, time_const_);
@@ -120,9 +122,9 @@ void NPFG::evaluate(const Vector2f &ground_vel, const Vector2f &wind_vel,
120
122
lateral_accel_ = lateralAccel (air_vel, air_vel_ref_, airspeed) + lateral_accel_ff_;
121
123
} // evaluate
122
124
123
- void NPFG::updateControlParams (const float ground_speed, const float airspeed, const float wind_ratio,
124
- const float track_error, const float path_curvature, const Vector2f &wind_vel,
125
- const Vector2f &unit_path_tangent, const float feas_on_track)
125
+ float NPFG::adaptPeriod (const float ground_speed, const float airspeed, const float wind_ratio,
126
+ const float track_error, const float path_curvature, const Vector2f &wind_vel,
127
+ const Vector2f &unit_path_tangent, const float feas_on_track) const
126
128
{
127
129
float period = period_;
128
130
const float air_turn_rate = fabsf (path_curvature * airspeed);
@@ -164,11 +166,8 @@ void NPFG::updateControlParams(const float ground_speed, const float airspeed, c
164
166
}
165
167
}
166
168
167
- // update the control parameters / output the adapted period
168
- adapted_period_ = period;
169
- p_gain_ = pGain (period, damping_);
170
- time_const_ = timeConst (period, damping_);
171
- } // updateControlParams
169
+ return period;
170
+ } // adaptPeriod
172
171
173
172
float NPFG::normalizedTrackError (const float track_error, const float track_error_bound) const
174
173
{
0 commit comments