|
| struct | Command |
| | One evaluation of the undulation law. More...
|
| |
| struct | Limits |
| | The geometry the undulation law is evaluated against. More...
|
| |
|
| | AuvUndulateDiveControl (std::string simObjectName, ISimObjectCreator *creator) |
| |
| | AuvUndulateDiveControl (std::string simObjectName, const Limits &limits, double updatePeriod=1.0) |
| |
|
void | OdeFcn (const double dT, const double *const adX, double *const adXDot) const override |
| | This SimObject has no states, so it has no derivatives.
|
| |
| void | AcceptedStep (const double dT, const double *const adX) override |
| |
| void | Update (double depth, double altitude) |
| |
|
const Command & | HeldCommand () const |
| | The held command.
|
| |
|
int | ThinWaterWarningCount () const |
| | The number of thin-water warnings emitted, which is never more than one.
|
| |
|
|
const double * | OutPitchRef (const double dT, const double *const adX) |
| | The commanded pitch angle, rad.
|
| |
|
const double * | OutDepthRef (const double dT, const double *const adX) |
| | The turning depth currently being flown towards, or the held depth in thin water, m.
|
| |
|
const double * | OutDirection (const double dT, const double *const adX) |
| | Plus one while descending, minus one while ascending.
|
| |
◆ EDir_t
| Enumerator |
|---|
| Dir_Down | Descending, that is a negative commanded pitch.
|
| Dir_Up | Ascending, that is a positive commanded pitch.
|
◆ AuvUndulateDiveControl() [1/2]
| AuvUndulateDiveControl::AuvUndulateDiveControl |
( |
std::string |
simObjectName, |
|
|
ISimObjectCreator * |
creator |
|
) |
| |
Constructs the controller from the simulation input file.
- Parameters
-
| simObjectName | The name of this object in the simulation. |
| creator | The creator of this object. |
◆ AuvUndulateDiveControl() [2/2]
| AuvUndulateDiveControl::AuvUndulateDiveControl |
( |
std::string |
simObjectName, |
|
|
const Limits & |
limits, |
|
|
double |
updatePeriod = 1.0 |
|
) |
| |
Constructs the controller with its parameters given directly.
No ports are registered, so AcceptedStep does nothing and Update must be called with the measurements instead. This constructor exists so that the switching law and its warning can be unit tested without a host simulation.
- Parameters
-
| simObjectName | The name of this object. |
| limits | The undulation geometry. |
| updatePeriod | The time between evaluations, s. |
◆ AcceptedStep()
| void AuvUndulateDiveControl::AcceptedStep |
( |
const double |
dT, |
|
|
const double *const |
adX |
|
) |
| |
|
override |
Evaluates the law when the update period has elapsed.
- Parameters
-
| dT | The current simulation time, s. |
| adX | The state vector. |
◆ CommandOf()
| static Command AuvUndulateDiveControl::CommandOf |
( |
const Limits & |
limits, |
|
|
double |
depth, |
|
|
double |
altitude, |
|
|
EDir_t |
direction |
|
) |
| |
|
static |
Evaluates the undulation law.
A pure function of the measurements and the current direction, so the whole switching behaviour can be tested without a simulation.
- Parameters
-
| limits | The undulation geometry. |
| depth | The vehicle depth below the surface, positive down, m. |
| altitude | The vehicle height above the seabed, m. |
| direction | The direction currently being flown. |
- Returns
- The command to hold until the next evaluation.
◆ Update()
| void AuvUndulateDiveControl::Update |
( |
double |
depth, |
|
|
double |
altitude |
|
) |
| |
Applies the law to one pair of measurements and holds the result.
- Parameters
-
| depth | The vehicle depth below the surface, positive down, m. |
| altitude | The vehicle height above the seabed, m. |
The documentation for this class was generated from the following file: