controls  3.0.0
Public Member Functions | List of all members
AuvSystemDynamics Class Reference

6DOF hydrodynamic model for the autonomous underwater vehicle More...

#include <AuvSystemDynamics.h>

Inheritance diagram for AuvSystemDynamics:
SystemDynamicsBase

Public Member Functions

 AuvSystemDynamics ()
 Constructs the AUV dynamics model as a full 6DOF system. More...
 
- Public Member Functions inherited from SystemDynamicsBase
 SystemDynamicsBase (const bool is_3dof)
 Constructs the dynamics base and sets the DOF flag. More...
 
virtual ~SystemDynamicsBase ()=default
 Virtual destructor. More...
 
const Matrix6dget_m () const
 Returns the total mass matrix M = Mrb + Ma. More...
 
const Matrix6dget_mrb () const
 Returns the rigid-body mass matrix Mrb. More...
 
const Matrix6dget_ma_matrix () const
 Returns the added-mass matrix Ma. More...
 
const Matrix6dget_dl_matrix () const
 Returns the linear damping matrix Dl. More...
 
const Matrix6dget_dnl_matrix () const
 Returns the quadratic damping matrix Dnl. More...
 
const Vector3d & get_rgb_vec () const
 Returns the centre of gravity in the body frame. More...
 
const Vector3d & get_rbb_vec () const
 Returns the centre of buoyancy in the body frame. More...
 
const Vector3d & get_fgn () const
 Returns the gravitational force vector in the world frame. More...
 
const Vector3d & get_fbn () const
 Returns the buoyancy force vector in the world frame. More...
 
double get_mass_value () const
 Returns the vehicle mass in kg. More...
 
double get_weight () const
 Returns the vehicle weight in N. More...
 
double get_buoyancy_value () const
 Returns the net buoyancy force in N. More...
 
Matrix6d get_d (const Vector6d &velocity) const
 Evaluates the total damping matrix D(v) = Dl + Dnl*diag(|v|) More...
 
Matrix6d get_crb (const Vector6d &velocity) const
 Evaluates the rigid-body Coriolis matrix Crb(v) More...
 
Matrix6d get_ca (const Vector6d &velocity) const
 Evaluates the added-mass Coriolis matrix Ca(v) More...
 
Matrix6d get_c (const Vector6d &velocity) const
 Evaluates the total Coriolis matrix C(v) = Crb(v) + Ca(v) More...
 
Vector6d get_g (const Quaterniond &q) const
 Evaluates the 6DOF gravitational and buoyancy restoring vector G(q) More...
 
Vector6d get_g (const Vector3d &rpy) const
 Evaluates the 6DOF gravitational and buoyancy restoring vector G(rpy) More...
 
virtual Vector6d get_inverse_dynamics (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 set_mass (double m)
 Sets vehicle mass and recomputes weight, buoyancy, and the rigid-body mass matrix. More...
 
void set_buoyancy (double factor)
 Sets the buoyancy force as a scale factor relative to vehicle weight. More...
 
void set_i (const std::array< double, 6 > &I)
 Sets the rigid-body inertia tensor. More...
 
void set_ma (const std::array< double, 6 > &m)
 Sets the diagonal added-mass coefficients. More...
 
void set_dl (const std::array< double, 6 > &d)
 Sets the diagonal linear damping coefficients. More...
 
void set_dnl (const std::array< double, 6 > &d)
 Sets the diagonal quadratic (nonlinear) damping coefficients. More...
 
void set_rbb (const std::array< double, 3 > &rbb)
 Sets the centre-of-buoyancy position in the body frame. More...
 
void set_rgb (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 is_system_3dof_
 True if the vehicle is constrained to the XY-Yaw plane (3DOF surface vehicle) More...
 

Detailed Description

6DOF hydrodynamic model for the autonomous underwater vehicle

Inherits all dynamics from SystemDynamicsBase with is_system_3dof_ = false. Parameters are loaded at runtime via ROS parameters in ControlsROS2Wrapper.

Constructor & Destructor Documentation

◆ AuvSystemDynamics()

AuvSystemDynamics::AuvSystemDynamics ( )

Constructs the AUV dynamics model as a full 6DOF system.


The documentation for this class was generated from the following files: