controls  3.0.0
Public Attributes | List of all members
ControllerConfig Struct Reference

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 = false
 Enables the adaptive buoyancy bias estimator within BuoyancyController. More...
 
double buoyancy_adaptive_max_scale = 5.0
 Maximum dynamic scale factor for the buoyancy bias estimator. More...
 
double buoyancy_adaptive_clamp_pct = 0.15
 Maximum adaptive 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 in the buoyancy estimator (m) More...
 
double buoyancy_adaptive_vel_thresh = 0.05
 Heave velocity threshold for steady-state detection in the buoyancy estimator (m/s) More...
 

Detailed Description

Tuning parameters for the combined feed-forward / feedback controller.

All gain arrays follow the axis ordering [X, Y, Z, Roll, Pitch, Yaw].

Member Data Documentation

◆ axis_gain

Array6d ControllerConfig::axis_gain = Array6d::Ones()

Per-axis output scaling applied after all controller contributions are summed.

◆ buoyancy_adaptive

bool ControllerConfig::buoyancy_adaptive = false

Enables the adaptive buoyancy bias estimator within BuoyancyController.

◆ buoyancy_adaptive_clamp_pct

double ControllerConfig::buoyancy_adaptive_clamp_pct = 0.15

Maximum adaptive bias as a fraction of net buoyancy force (e.g.

0.15 = 15%)

◆ buoyancy_adaptive_max_scale

double ControllerConfig::buoyancy_adaptive_max_scale = 5.0

Maximum dynamic scale factor for the buoyancy bias estimator.

◆ buoyancy_adaptive_pos_thresh

double ControllerConfig::buoyancy_adaptive_pos_thresh = 0.15

Depth error threshold for steady-state detection in the buoyancy estimator (m)

◆ buoyancy_adaptive_vel_thresh

double ControllerConfig::buoyancy_adaptive_vel_thresh = 0.05

Heave velocity threshold for steady-state detection in the buoyancy estimator (m/s)

◆ buoyancy_gain

double ControllerConfig::buoyancy_gain = 0.0

Scalar weight applied to the buoyancy compensation force contribution.

◆ fb_gain

double ControllerConfig::fb_gain = 1.0

Scalar weight applied to the feedback (PID) force contribution.

◆ ff_gain

double ControllerConfig::ff_gain = 0.0

Scalar weight applied to the feed-forward force contribution.

◆ Kd

Array6d ControllerConfig::Kd = Array6d::Zero()

Derivative PID gains for underwater operation.

◆ Kd_surface

Array6d ControllerConfig::Kd_surface = Array6d::Zero()

Derivative PID gains used when the vehicle is near the surface.

◆ Ki

Array6d ControllerConfig::Ki = Array6d::Zero()

Integral PID gains for underwater operation.

◆ Ki_surface

Array6d ControllerConfig::Ki_surface = Array6d::Zero()

Integral PID gains used when the vehicle is near the surface.

◆ Kp

Array6d ControllerConfig::Kp = Array6d::Zero()

Proportional PID gains for underwater operation.

◆ Kp_surface

Array6d ControllerConfig::Kp_surface = Array6d::Zero()

Proportional PID gains used when the vehicle is near the surface.

◆ surface_gain_scheduling

bool ControllerConfig::surface_gain_scheduling = false

Enables switching between surface and underwater PID gains based on depth.

◆ surface_threshold

double ControllerConfig::surface_threshold = 0.1

Depth threshold in metres below which surface gains are applied.


The documentation for this struct was generated from the following file: