|
controls
3.0.0
|
Abstract base class for a single-responsibility force controller. More...
#include <BaseControllerInterface.h>
Public Member Functions | |
| BaseControllerInterface ()=default | |
| BaseControllerInterface (std::shared_ptr< SystemDynamicsBase > auv, std::shared_ptr< ControllerConfig > config) | |
| Constructs a controller with the given dynamics model and config. More... | |
| virtual | ~BaseControllerInterface ()=default |
| virtual void | reset () |
| Resets any internal state (e.g., integrator terms) More... | |
| virtual Vector6d | getForce (const State &goal, const State &curr, double dt)=0 |
| Computes the instantaneous 6DOF body force for the given goal and current state. More... | |
Protected Attributes | |
| std::shared_ptr< SystemDynamicsBase > | auv_ |
| Vehicle dynamics model shared with all controllers in a stack. More... | |
| std::shared_ptr< ControllerConfig > | config_ |
| Tuning parameters shared with all controllers in a stack. More... | |
Abstract base class for a single-responsibility force controller.
Concrete subclasses implement one control strategy (feed-forward, feedback, or buoyancy compensation). Higher-level controllers combine instances of these to produce a total body force.
|
default |
|
inline |
Constructs a controller with the given dynamics model and config.
| auv | [in] Shared vehicle dynamics model |
| config | [in] Shared controller tuning parameters |
|
virtualdefault |
|
pure virtual |
Computes the instantaneous 6DOF body force for the given goal and current state.
| goal | [in] Desired vehicle state |
| curr | [in] Current vehicle state |
| dt | [in] Time step in seconds since the last call |
Implemented in FeedforwardController, FeedbackController, and BuoyancyController.
|
inlinevirtual |
Resets any internal state (e.g., integrator terms)
Reimplemented in FeedbackController, and BuoyancyController.
|
protected |
Vehicle dynamics model shared with all controllers in a stack.
|
protected |
Tuning parameters shared with all controllers in a stack.