DUNE: Uniform Navigational Environment  2016.05.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 {
- 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] 


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

References setBuoyancyPosition().

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

Copy Constructor.

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


Member Function Documentation

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

Add a fin to vehicle's configuration.

[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  )
void Simulators::VSIM::UUV::setAddedMassCoef ( double  coefs[6])

Set added mass coefficient (useful for Coriolis matrix.

[in]coefsadded mass matrix coefficients.

Reimplemented from Simulators::VSIM::Vehicle.

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

Set body lift matrix.

[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.

[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.

[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