Abstract interface for the vehicle-level controller.
More...
#include <VehicleControllerInterface.h>
Abstract interface for the vehicle-level controller.
A vehicle controller combines one or more BaseControllerInterface instances and participates in the trajectory lifecycle through callbacks invoked by the Vehicle state machine.
◆ VehicleControllerInterface()
Constructs a vehicle controller with shared dynamics and config.
- Parameters
-
| system_dynamics | [in] Shared vehicle dynamics model |
| controller_config | [in] Shared controller tuning parameters |
◆ ~VehicleControllerInterface()
| virtual VehicleControllerInterface::~VehicleControllerInterface |
( |
| ) |
|
|
virtualdefault |
◆ get_body_pose_error()
| virtual Vector6d VehicleControllerInterface::get_body_pose_error |
( |
| ) |
const |
|
pure virtual |
Returns the most recently computed 6DOF body-frame pose error.
- Returns
- 6-element pose error [Δx, Δy, Δz, Δroll, Δpitch, Δyaw]
Implemented in FfFbVehicleController.
◆ on_stationkeep_entered()
| virtual void VehicleControllerInterface::on_stationkeep_entered |
( |
| ) |
|
|
pure virtual |
◆ on_trajectory_finished()
| virtual void VehicleControllerInterface::on_trajectory_finished |
( |
| ) |
|
|
pure virtual |
◆ on_trajectory_progress()
| virtual void VehicleControllerInterface::on_trajectory_progress |
( |
double |
progress | ) |
|
|
pure virtual |
Called every control tick while a trajectory is executing.
- Parameters
-
| progress | [in] Fractional trajectory completion in [0, 1] |
Implemented in FfFbVehicleController.
◆ on_trajectory_starting()
| virtual void VehicleControllerInterface::on_trajectory_starting |
( |
| ) |
|
|
pure virtual |
◆ spin_controller_once()
| virtual Vector6d VehicleControllerInterface::spin_controller_once |
( |
const State & |
goal, |
|
|
const State & |
current, |
|
|
const bool |
saturated_on_yaw_xy_axis, |
|
|
const bool |
saturated_on_depth_roll_pitch_axis, |
|
|
double |
dt |
|
) |
| |
|
pure virtual |
Computes the instantaneous 6DOF body force to drive the vehicle toward the goal state.
- Parameters
-
| goal | [in] Desired vehicle state |
| current | [in] Current vehicle state |
| saturated_on_yaw_xy_axis | [in] True when the X, Y, or Yaw thruster axes are saturated |
| saturated_on_depth_roll_pitch_axis | [in] True when the Z, Roll, or Pitch thruster axes are saturated |
| dt | [in] Time step in seconds since the last call |
- Returns
- 6-element body force/torque vector [Fx, Fy, Fz, Tx, Ty, Tz] in N and Nm
Implemented in FfFbVehicleController.
◆ controller_config_
| std::shared_ptr<ControllerConfig> VehicleControllerInterface::controller_config_ |
Tuning parameters used by this controller.
◆ system_dynamics_
Vehicle dynamics model used by this controller.
The documentation for this class was generated from the following file: