DUNE: Uniform Navigational Environment
2019.02.0
|
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] |
Simulators::VSIM::UUV::UUV | ( | void | ) |
Default Constructor.
References setBuoyancyPosition().
Simulators::VSIM::UUV::UUV | ( | double | position[3], |
double | dimensions[3] | ||
) |
Constructor.
[in] | position | buoyancy position. |
[in] | dimensions | volume dimensions. |
References setBuoyancyPosition().
Simulators::VSIM::UUV::UUV | ( | const UUV * | ) |
Copy Constructor.
Simulators::VSIM::UUV::~UUV | ( | void | ) |
Destructor.
void Simulators::VSIM::UUV::addFin | ( | Fin * | fin | ) |
Add a fin to vehicle's configuration.
[in] | fin | vehicle 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().
|
virtual |
Apply all forces for UUV vehicle.
Reimplemented from Simulators::VSIM::Object.
References Simulators::VSIM::Vehicle::applyControlForces(), applyCoriolisForce(), and Simulators::VSIM::Object::applyDragForces().
|
virtual |
Set added mass coefficient (useful for Coriolis matrix.
[in] | coefs | added mass matrix coefficients. |
Reimplemented from Simulators::VSIM::Vehicle.
|
virtual |
Set body lift matrix.
[in] | coefs | body lift matrix coefficients. |
Reimplemented from Simulators::VSIM::Vehicle.
void Simulators::VSIM::UUV::setBuoyancyPosition | ( | double | x, |
double | y, | ||
double | z | ||
) |
Set the buoyancy position.
[in] | x | buoyancy position in the x-axis. |
[in] | y | buoyancy position in the y-axis. |
[in] | z | buoyancy position in the z-axis. |
Referenced by UUV().
void Simulators::VSIM::UUV::updateFin | ( | unsigned int | id, |
double | act | ||
) |
Updates fin's actuation.
[in] | id | fin id. |
[in] | act | fin actuation value. |
References Simulators::VSIM::Fin::encodeId(), and Simulators::VSIM::Vehicle::updateact().
Referenced by Simulators::VSIM::Task::consume().