|
controls
3.0.0
|
6DOF hydrodynamic model for the autonomous underwater vehicle More...
#include <AuvSystemDynamics.h>
Public Member Functions | |
| AuvSystemDynamics () | |
| Constructs the AUV dynamics model as a full 6DOF system. More... | |
Public Member Functions inherited from SystemDynamicsBase | |
| SystemDynamicsBase (const bool is3DOF) | |
| Constructs the dynamics base and sets the DOF flag. More... | |
| virtual | ~SystemDynamicsBase ()=default |
| Virtual destructor. More... | |
| const Matrix6d & | getM () const |
| Returns the total mass matrix M = Mrb + Ma. More... | |
| const Matrix6d & | getMrb () const |
| Returns the rigid-body mass matrix Mrb. More... | |
| const Matrix6d & | getMaMatrix () const |
| Returns the added-mass matrix Ma. More... | |
| const Matrix6d & | getDlMatrix () const |
| Returns the linear damping matrix Dl. More... | |
| const Matrix6d & | getDnlMatrix () const |
| Returns the quadratic damping matrix Dnl. More... | |
| const Vector3d & | getRgbVec () const |
| Returns the centre of gravity in the body frame. More... | |
| const Vector3d & | getRbbVec () const |
| Returns the centre of buoyancy in the body frame. More... | |
| const Vector3d & | getFgn () const |
| Returns the gravitational force vector in the world frame. More... | |
| const Vector3d & | getFbn () const |
| Returns the buoyancy force vector in the world frame. More... | |
| double | getMassValue () const |
| Returns the vehicle mass in kg. More... | |
| double | getWeight () const |
| Returns the vehicle weight in N. More... | |
| double | getBuoyancyValue () const |
| Returns the net buoyancy force in N. More... | |
| Matrix6d | getD (const Vector6d &velocity) const |
| Evaluates the total damping matrix D(v) = Dl + Dnl*diag(|v|) More... | |
| Matrix6d | getCrb (const Vector6d &velocity) const |
| Evaluates the rigid-body Coriolis matrix Crb(v) More... | |
| Matrix6d | getCa (const Vector6d &velocity) const |
| Evaluates the added-mass Coriolis matrix Ca(v) More... | |
| Matrix6d | getC (const Vector6d &velocity) const |
| Evaluates the total Coriolis matrix C(v) = Crb(v) + Ca(v) More... | |
| Vector6d | getG (const Quaterniond &q) const |
| Evaluates the 6DOF gravitational and buoyancy restoring vector G(q) More... | |
| Vector6d | getG (const Vector3d &rpy) const |
| Evaluates the 6DOF gravitational and buoyancy restoring vector G(rpy) More... | |
| virtual Vector6d | getInverseDynamics (const Vector6d &velocity, const Vector6d &acceleration, const Quaterniond &orientation) const |
| Computes the inertial + Coriolis + damping force M*a + C(v)*v + D(v)*v. More... | |
| void | setMass (double m) |
| Sets vehicle mass and recomputes weight, buoyancy, and the rigid-body mass matrix. More... | |
| void | setBuoyancy (double factor) |
| Sets the buoyancy force as a scale factor relative to vehicle weight. More... | |
| void | setI (const std::array< double, 6 > &I) |
| Sets the rigid-body inertia tensor. More... | |
| void | setMa (const std::array< double, 6 > &m) |
| Sets the diagonal added-mass coefficients. More... | |
| void | setDl (const std::array< double, 6 > &d) |
| Sets the diagonal linear damping coefficients. More... | |
| void | setDnl (const std::array< double, 6 > &d) |
| Sets the diagonal quadratic (nonlinear) damping coefficients. More... | |
| void | setRbb (const std::array< double, 3 > &rbb) |
| Sets the centre-of-buoyancy position in the body frame. More... | |
| void | setRgb (const std::array< double, 3 > &rgb) |
| Sets the centre-of-gravity position in the body frame. More... | |
Additional Inherited Members | |
Public Attributes inherited from SystemDynamicsBase | |
| const bool | isSystem3DOF |
| True if the vehicle is constrained to the XY-Yaw plane (3DOF surface vehicle) More... | |
6DOF hydrodynamic model for the autonomous underwater vehicle
Inherits all dynamics from SystemDynamicsBase with isSystem3DOF = false. Parameters are loaded at runtime via ROS parameters in ControlsROS2Wrapper.
| AuvSystemDynamics::AuvSystemDynamics | ( | ) |
Constructs the AUV dynamics model as a full 6DOF system.