DUNE: Uniform Navigational Environment  2019.02.0
Simulators::VSIM::UUV Class Reference

Detailed Description

Unmanned Underwater Vehicle class.

Public Member Functions

 UUV (void)
 
 UUV (double position[3], double dimensions[3])
 
 UUV (const UUV *)
 
 ~UUV (void)
 
void addFin (Fin *fin)
 
void updateFin (unsigned int id, double act)
 
void setBuoyancyPosition (double x, double y, double z)
 
void applyForces (void)
 
virtual void setAddedMassCoef (double coefs[6])
 
virtual void setBodyLiftCoef (double coefs[8])
 
void applyCoriolisForce (void)
 
- Public Member Functions inherited from Simulators::VSIM::Vehicle
 Vehicle (void)
 
virtual ~Vehicle (void)
 
void addForce (Force *force)
 
void addEngine (Engine *engine)
 
void applyControlForces (void)
 
void applyForces (void)
 
void updateact (unsigned int id, double act)
 
void updateEngine (unsigned int id, double act)
 
- Public Member Functions inherited from Simulators::VSIM::Object
 Object (void)
 
virtual ~Object (void)
 
void setMassProp (double m, double inertia[6])
 
void setLinearDragCoef (double coefs[10])
 
void setQuadraticDragCoef (double coefs[10])
 
void setIntegrationMethod (bool method)
 
virtual void insertInWorld (void)
 
virtual void setPosition (double x, double y, double z)
 
virtual void setOrientation (double roll, double pitch, double yaw)
 
double * getPosition (void)
 
double * getOrientation (void)
 
double * getLinearVelocity (void)
 
double * getAngularVelocity (void)
 
void applyDragForces (void)
 
void addForces (double X, double Y, double Z, double P, double Q, double R)
 
void resetForces (void)
 
void update (double timestep)
 

Additional Inherited Members

- Public Types inherited from Simulators::VSIM::Object
enum  Type {
  OBJECT, VEHICLE, UUV, UAV,
  USV, UGV
}
 
- Public Attributes inherited from Simulators::VSIM::Vehicle
std::list< Force * > m_vehicle_forces
 
- Protected Attributes inherited from Simulators::VSIM::Object
double m_mass
 
double m_inertia [6]
 
double m_position [3]
 
double m_orientation [3]
 
double m_linear_velocity [3]
 
double m_angular_velocity [3]
 

Constructor & Destructor Documentation

Simulators::VSIM::UUV::UUV ( void  )

Default Constructor.

References setBuoyancyPosition().

Simulators::VSIM::UUV::UUV ( double  position[3],
double  dimensions[3] 
)

Constructor.

Parameters
[in]positionbuoyancy position.
[in]dimensionsvolume dimensions.

References setBuoyancyPosition().

Simulators::VSIM::UUV::UUV ( const UUV )

Copy Constructor.

Simulators::VSIM::UUV::~UUV ( void  )

Destructor.

Member Function Documentation

void Simulators::VSIM::UUV::addFin ( Fin fin)

Add a fin to vehicle's configuration.

Parameters
[in]finvehicle new fin.

References Simulators::VSIM::Vehicle::addForce().

void Simulators::VSIM::UUV::applyCoriolisForce ( void  )

Apply Coriolis Force (and Body Lift) to the UUV Coriolis Matrices equations from: "Modeling and Simulation of the LAUV Autonomous Underwater Vehicle" Jorge Estrela, Bruno Terra, Ricardo Martins e João Sousa.

References Simulators::VSIM::Object::addForces(), Simulators::VSIM::Object::m_angular_velocity, Simulators::VSIM::Object::m_inertia, Simulators::VSIM::Object::m_linear_velocity, and Simulators::VSIM::Object::m_mass.

Referenced by applyForces().

void Simulators::VSIM::UUV::applyForces ( void  )
virtual
void Simulators::VSIM::UUV::setAddedMassCoef ( double  coefs[6])
virtual

Set added mass coefficient (useful for Coriolis matrix.

Parameters
[in]coefsadded mass matrix coefficients.

Reimplemented from Simulators::VSIM::Vehicle.

void Simulators::VSIM::UUV::setBodyLiftCoef ( double  coefs[8])
virtual

Set body lift matrix.

Parameters
[in]coefsbody lift matrix coefficients.

Reimplemented from Simulators::VSIM::Vehicle.

void Simulators::VSIM::UUV::setBuoyancyPosition ( double  x,
double  y,
double  z 
)

Set the buoyancy position.

Parameters
[in]xbuoyancy position in the x-axis.
[in]ybuoyancy position in the y-axis.
[in]zbuoyancy position in the z-axis.

Referenced by UUV().

void Simulators::VSIM::UUV::updateFin ( unsigned int  id,
double  act 
)

Updates fin's actuation.

Parameters
[in]idfin id.
[in]actfin actuation value.

References Simulators::VSIM::Fin::encodeId(), and Simulators::VSIM::Vehicle::updateact().

Referenced by Simulators::VSIM::Task::consume().

Collaboration diagram for Simulators::VSIM::UUV:
Collaboration graph