|
controls
3.0.0
|
Tuning parameters for the combined feed-forward / feedback controller. More...
#include <ControllerConfig.h>
Public Attributes | |
| Array6d | Kp = Array6d::Zero() |
| Proportional PID gains for underwater operation. More... | |
| Array6d | Ki = Array6d::Zero() |
| Integral PID gains for underwater operation. More... | |
| Array6d | Kd = Array6d::Zero() |
| Derivative PID gains for underwater operation. More... | |
| Array6d | Kp_surface = Array6d::Zero() |
| Proportional PID gains used when the vehicle is near the surface. More... | |
| Array6d | Ki_surface = Array6d::Zero() |
| Integral PID gains used when the vehicle is near the surface. More... | |
| Array6d | Kd_surface = Array6d::Zero() |
| Derivative PID gains used when the vehicle is near the surface. More... | |
| double | ff_gain = 0.0 |
| Scalar weight applied to the feed-forward force contribution. More... | |
| double | fb_gain = 1.0 |
| Scalar weight applied to the feedback (PID) force contribution. More... | |
| double | buoyancy_gain = 0.0 |
| Scalar weight applied to the buoyancy compensation force contribution. More... | |
| bool | surface_gain_scheduling = false |
| Enables switching between surface and underwater PID gains based on depth. More... | |
| double | surface_threshold = 0.1 |
| Depth threshold in metres below which surface gains are applied. More... | |
| Array6d | axis_gain = Array6d::Ones() |
| Per-axis output scaling applied after all controller contributions are summed. More... | |
| bool | buoyancy_adaptive_z = false |
| Enables the adaptive heave bias (learns and applies the residual buoyancy force) More... | |
| double | buoyancy_adaptive_rate = 0.5 |
| Adaptation rate for the heave bias estimator (N per m-s of depth error) More... | |
| double | buoyancy_adaptive_clamp_pct = 0.15 |
| Maximum adaptive heave bias as a fraction of net buoyancy force (e.g. More... | |
| double | buoyancy_adaptive_pos_thresh = 0.15 |
| Depth error threshold for steady-state detection on heave (m) More... | |
| double | buoyancy_adaptive_vel_thresh = 0.05 |
| Heave velocity threshold for steady-state detection (m/s); <= 0 disables the gate. More... | |
| bool | buoyancy_adaptive_rp = false |
| Enables the adaptive roll/pitch bias. More... | |
| double | buoyancy_adaptive_rate_rp = 5.0 |
| Roll/pitch bias adaptation speed (higher learns faster) More... | |
| double | buoyancy_adaptive_pos_thresh_rp = 0.2 |
| Attitude error threshold for steady-state detection on roll/pitch (deg) More... | |
| double | buoyancy_adaptive_vel_thresh_rp = 1.0 |
| Body angular-rate threshold for steady-state detection on roll/pitch (deg/s); <= 0 disables the gate. More... | |
Tuning parameters for the combined feed-forward / feedback controller.
All gain arrays follow the axis ordering [X, Y, Z, Roll, Pitch, Yaw].
| Array6d ControllerConfig::axis_gain = Array6d::Ones() |
Per-axis output scaling applied after all controller contributions are summed.
| double ControllerConfig::buoyancy_adaptive_clamp_pct = 0.15 |
Maximum adaptive heave bias as a fraction of net buoyancy force (e.g.
0.15 = 15%)
| double ControllerConfig::buoyancy_adaptive_pos_thresh = 0.15 |
Depth error threshold for steady-state detection on heave (m)
| double ControllerConfig::buoyancy_adaptive_pos_thresh_rp = 0.2 |
Attitude error threshold for steady-state detection on roll/pitch (deg)
| double ControllerConfig::buoyancy_adaptive_rate = 0.5 |
Adaptation rate for the heave bias estimator (N per m-s of depth error)
| double ControllerConfig::buoyancy_adaptive_rate_rp = 5.0 |
Roll/pitch bias adaptation speed (higher learns faster)
| bool ControllerConfig::buoyancy_adaptive_rp = false |
Enables the adaptive roll/pitch bias.
| double ControllerConfig::buoyancy_adaptive_vel_thresh = 0.05 |
Heave velocity threshold for steady-state detection (m/s); <= 0 disables the gate.
| double ControllerConfig::buoyancy_adaptive_vel_thresh_rp = 1.0 |
Body angular-rate threshold for steady-state detection on roll/pitch (deg/s); <= 0 disables the gate.
| bool ControllerConfig::buoyancy_adaptive_z = false |
Enables the adaptive heave bias (learns and applies the residual buoyancy force)
| double ControllerConfig::buoyancy_gain = 0.0 |
Scalar weight applied to the buoyancy compensation force contribution.
| double ControllerConfig::fb_gain = 1.0 |
Scalar weight applied to the feedback (PID) force contribution.
| double ControllerConfig::ff_gain = 0.0 |
Scalar weight applied to the feed-forward force contribution.
| Array6d ControllerConfig::Kd = Array6d::Zero() |
Derivative PID gains for underwater operation.
| Array6d ControllerConfig::Kd_surface = Array6d::Zero() |
Derivative PID gains used when the vehicle is near the surface.
| Array6d ControllerConfig::Ki = Array6d::Zero() |
Integral PID gains for underwater operation.
| Array6d ControllerConfig::Ki_surface = Array6d::Zero() |
Integral PID gains used when the vehicle is near the surface.
| Array6d ControllerConfig::Kp = Array6d::Zero() |
Proportional PID gains for underwater operation.
| Array6d ControllerConfig::Kp_surface = Array6d::Zero() |
Proportional PID gains used when the vehicle is near the surface.
| bool ControllerConfig::surface_gain_scheduling = false |
Enables switching between surface and underwater PID gains based on depth.
| double ControllerConfig::surface_threshold = 0.1 |
Depth threshold in metres below which surface gains are applied.