This node launches the inner loop of the vehicle, where the realization is made using PID controllers. It outputs the thrust necessary for the thrusters of the vehicle. For indepth documentation, refer the links below:
Change the output limits of one of the PID controllers
Parameters
All the parameters are under the namespace of this node (/#vehicle#/controls/inner_loops_pid/), so we will refrain from repeating it for each parameter. Visit the control.yaml config file for each vehicle to check these parameters.
Altitude Controller
Parameters
type
Default
Purpose
/controllers/altitude/kd
float
-
Altitude controller derivative gain
/controllers/altitude/ki
float
-
Altitude controller integral gain
/controllers/altitude/kp
float
-
Altitude controller proportional gain
/controllers/altitude/max_depth
float
-
Maximum depth for altitude controller
/controllers/altitude/max_err
float
-
Maximum error for altitude controller input
/controllers/altitude/max_out
float
-
Maximum output for altitude controller
/controllers/altitude/min_err
float
-
Minimum error for altitude controller
/controllers/altitude/min_out
float
-
Minimum output for altitude controller
Depth Controller
Parameters
type
Default
Purpose
/controllers/depth/kd
float
-
Deth controller derivative gain
/controllers/depth/ki
float
-
Depth controller for integral gain
/controllers/depth/kp
float
-
Depth controller for proportional gain
/controllers/depth/max_err
float
-
Maximum error for depth controller input
/controllers/depth/max_out
float
-
Maximum output for depth controller
/controllers/depth/min_alt
float
-
Maximum altitude for depth controller
/controllers/depth/min_err
float
-
Minimum error for depth controller
/controllers/depth/min_out
float
-
Minimum output for depth controller
Surge Controller
Parameters
type
Default
Purpose
/controllers/surge/ki
float
-
Surge controller integral gain
/controllers/surge/kp
float
-
Surge controller proportional gain
/controllers/surge/max_err
float
-
Maximum error for surge controller input
/controllers/surge/max_out
float
-
Maximum output for surge controller
/controllers/surge/max_ref
float
-
Maximum reference for surge controller
/controllers/surge/min_err
float
-
Minimum error for surge controller
/controllers/surge/min_out
float
-
Minimum output for surge controller
/controllers/surge/min_ref
float
-
Minimum reference for surge controller
Sway Controller
Parameters
type
Default
Purpose
/controllers/sway/ki
float
-
Sway controller integral gain
/controllers/sway/kp
float
-
Sway controller proportional gain
/controllers/sway/max_err
float
-
Maximum error for sway controller input
/controllers/sway/max_out
float
-
Maximum output for sway controller
/controllers/sway/max_ref
float
-
Maximum reference for sway controller
/controllers/sway/min_err
float
-
Minimum error for sway controller input
/controllers/sway/min_out
float
-
Minimum output for sway controller
/controllers/sway/min_ref
float
-
Minimum reference for sway controller
Yaw Controller
Parameters
type
Default
Purpose
/controllers/yaw/kd
float
-
Yaw controller derivative gain
/controllers/yaw/ki
float
-
Yaw controller integral gain
/controllers/yaw/kp
float
-
Yaw controller proportional gain
/controllers/yaw/max_err
float
-
Maximum error for yaw controller input
/controllers/yaw/max_out
float
-
Maximum output for yaw controller
/controllers/yaw/min_err
float
-
Minimum error for yaw controller input
/controllers/yaw/min_out
float
-
Minimum output for yaw controller
Yaw Rate Controller
Parameters
type
Default
Purpose
/controllers/yaw_rate/ki
float
-
Yaw rate integral gain
/controllers/yaw_rate/kp
float
-
Yaw rate proportional gain
/controllers/yaw_rate/max_err
float
-
Maximum error for yaw rate controller input
/controllers/yaw_rate/max_out
float
-
Maximum output for yaw rate controller
/controllers/yaw_rate/min_err
float
-
Minimum error for yaw rate controller input
/controllers/yaw_rate/min_out
float
-
Minimum output for yaw rate controller
General Parameters
Parameters
type
Default
Purpose
/forces_hard_bypass
bool
false
If hard bypass is true, the controller completely ignores the yaw PID forces and reads from an external source, otherwise it sums all the force components
/min_alt
float
-
Minimum altitude for overall controller
/node_frequency
float
-
Working frequency of the node
/timout_ref
float
-
Timeout for hard bypass reference use (stops using external forces after this time)