76 void motion(
float propOmegaAction,
float rudderAngleAction,
77 float elevatorAngleAction,
float massPositionAction,
78 float buoyancyAction,
int dropWeightState,
79 float density,
float dt,
85 long setLocation(
const double& latitude,
const double& longitude );
137 float rudderAngleAction,
float elevatorAngleAction,
138 float massPositionAction,
float buoyancyAction,
139 int dropWeightState,
float density,
float dt,
float smallDt );
160 #define EFF_FACTOR 0.90
void calcForce(Point6D &rate, Point6D &pos, float propOmegaAction, float rudderAngleAction, float elevatorAngleAction, float massPositionAction, float buoyancyAction, int dropWeightState, float density, float dt, float smallDt)
Calculate the RHS of the equation (the "force" in ma = F).
Definition: Simulator.cpp:607
void setPitch(float pitch)
Set the current pitch to the indicated value.
Definition: Simulator.cpp:467
float nur_
Definition: Simulator.h:307
float buoyancyNeutral_
Definition: Simulator.h:236
virtual ~Simulator()
Destructor.
Definition: Simulator.cpp:138
float coeffLift_
Definition: Simulator.h:333
double latitude_
UTM zone gathered from initial position.
Definition: Simulator.h:212
float npq_
Definition: Simulator.h:309
float mass_
*-------------—— vehicle parameters --------------------——*/
Definition: Simulator.h:249
Contains the Matrix6x6 class definition.
virtual void simulateSensors(double latDeg, double lonDeg, SimResultStruct &results)
Definition: Simulator.h:125
float sMixed_
Definition: Simulator.h:228
float s300_
Definition: Simulator.h:229
float cylinderRadius_
Definition: Simulator.h:266
virtual void uninitialize()
Uninitialize the simulation.
Definition: Simulator.h:73
float xqq_
Definition: Simulator.h:316
float ypDot_
Definition: Simulator.h:285
float nrDot_
Definition: Simulator.h:275
Simulator(bool simulateSensors, int nSteps)
Constructor.
Definition: Simulator.cpp:37
virtual void publishState(SimResultStruct &results)
Definition: Simulator.cpp:1239
void setHeading(float heading)
Set the current heading to the indicated value.
Definition: Simulator.cpp:461
int minNSteps_
The simulator actually runs minNSteps_ times per "timestep" (i.e.
Definition: Simulator.h:172
float yrDot_
Definition: Simulator.h:284
float netBuoy_
buoyancy force
Definition: Simulator.h:191
Contains the ActuatorModel class declaration.
ActuatorModel buoyancyModel_
Definition: Simulator.h:184
Point6D moment_
Definition: Simulator.h:255
float t300_
Definition: Simulator.h:226
float soundSpeed_
Definition: Simulator.h:222
A simulator "evolved" from the Altex and Odyssey sims.
Definition: Simulator.h:56
Wraps six double precision (8-byte) floating point numbers.
Definition: Point6D.h:31
virtual void configureSensors()
Definition: Simulator.h:123
float dropWt1Z_
Definition: Simulator.h:262
ThrusterModel thrusterModel_
Definition: Simulator.h:185
float kpabp_
Definition: Simulator.h:289
float zwabw_
Definition: Simulator.h:294
Definition: Simulator.h:154
float lastDensity_
Last measured density.
Definition: Simulator.h:239
void run(const SimRunStruct &runParams, SimResultStruct &results)
Run the simulation.
Definition: Simulator.cpp:172
Contains the Point3D class definition.
float propThrust_
Thruster outputs.
Definition: Simulator.h:197
float dropWt1Y_
Definition: Simulator.h:261
Definition: Simulator.h:155
float mpr_
Definition: Simulator.h:305
float finArea_
Definition: Simulator.h:331
ActuatorModel elevatorModel_
Actuator and thruster models.
Definition: Simulator.h:181
long setLocation(const double &latitude, const double &longitude)
Set the current location to the indicated values in radians Returns error code conversion to UTM is u...
Definition: Simulator.cpp:429
bool ok_
indicates whether things are ok to run the simulation
Definition: Simulator.h:178
float maxDt_
Largest allowable timestep.
Definition: Simulator.h:175
float defaultDensity_
Default density to use in calculating buoyancy if none is measured.
Definition: Simulator.h:233
float xvr_
Definition: Simulator.h:313
float kpDot_
Definition: Simulator.h:273
float mqDot_
Definition: Simulator.h:274
Though far simpler than ActuatorModel, the intent is the same, to encapsulate some of the complexity ...
Definition: ThrusterModel.h:23
float sss_
Definition: Simulator.h:227
bool loadParams(const SimInitStruct &initParams, SimResultStruct &results)
Load the hydrodynamic properties from the slate and initialize some variables.
Definition: Simulator.cpp:1001
Point6D pos_
6-dimensional position vector, body coordinates
Definition: Simulator.h:200
float vertCurrent_
Static eastward current.
Definition: Simulator.h:220
float nvabv_
Definition: Simulator.h:298
float nrabr_
Definition: Simulator.h:291
Contains the AuvMath class declaration.
Wraps three double precision (8-byte) floating point numbers.
Definition: Point3D.h:28
Point3D fins_[4]
Definition: Simulator.h:340
float aspectRatio_
Definition: Simulator.h:328
double longitude_
Definition: Simulator.h:213
void setRoll(float roll)
Set the current roll to the indicated value.
Definition: Simulator.cpp:473
float mqabq_
Definition: Simulator.h:290
Point6D posDot_
Definition: Simulator.h:201
ActuatorModel movableMassModel_
Definition: Simulator.h:183
float kvt2_
Definition: Simulator.h:326
void setBuoyancyPosition(float buoyancyPosition)
Set the current mass position to the indicated value.
Definition: Simulator.cpp:503
float dropWt1Mass_
Definition: Simulator.h:259
Point6D rate_
6-dimensional rate vector, earth coordinates
Definition: Simulator.h:204
void setRudderAngle(float rudderAngle)
Set the current rudder angle to the indicated value.
Definition: Simulator.cpp:485
bool simulateSensors_
indicates whether to simulate sensors (salinity, temp, u, v)
Definition: Simulator.h:165
float muq_
Definition: Simulator.h:303
Point3D cOfMass_
Definition: Simulator.h:252
void calcFinForces(Point6D &rate, float ruddAngleProj, float elevAngleProj, Point3D finForces[], Point3D finMoments[], float density)
Given the vehicle state (rate) and fin angles, computes the forces and moments from the fins in body ...
Definition: Simulator.cpp:846
float nuv_
Definition: Simulator.h:308
float movableMass_
Definition: Simulator.h:250
Replacement for standard template class string.
Definition: Str.h:12
float volume_
Definition: Simulator.h:251
float propTorque_
Definition: Simulator.h:197
float ywp_
Definition: Simulator.h:320
float dropWt1Volume_
Definition: Simulator.h:258
A struct of values that is passed from the LRAUV to the Simulator, to run one timestep of the simulat...
Definition: SimRunStruct.h:18
float eastCurrent_
Static northward current.
Definition: Simulator.h:219
Definition: Simulator.h:156
float yuv_
Definition: Simulator.h:319
void setElevatorAngle(float elevatorAngle)
Set the current elevator angle to the indicated value.
Definition: Simulator.cpp:491
float zvp_
Definition: Simulator.h:324
Matrix6x6 massInvert_
Inverse of "mass" matrix. Calculated just once in invertMass() called from initialize() ...
Definition: Simulator.h:188
void setMassPosition(float massPosition)
Set the current mass position to the indicated value.
Definition: Simulator.cpp:497
float magneticVariation_
Static vertical current (positive downward)
Definition: Simulator.h:221
Contains the ThrusterModel class declaration.
A struct of values that is passed from the Simulator to the LRAUV, with the results from one timestep...
Definition: SimResultStruct.h:18
float kvDot_
Definition: Simulator.h:281
float xwq_
Definition: Simulator.h:314
Contains the SimRunStruct class declaration.
float yrabr_
Definition: Simulator.h:299
Contains the SimResultStruct class declaration.
float xww_
Definition: Simulator.h:312
void initialize(const SimInitStruct &initParams, SimResultStruct &results)
Initialize the simulator.
Definition: Simulator.cpp:144
float stallAngle_
Definition: Simulator.h:329
float mwDot_
Definition: Simulator.h:282
float density_
Definition: Simulator.h:223
float zqDot_
Definition: Simulator.h:286
float zwDot_
Definition: Simulator.h:278
float tMixed_
Definition: Simulator.h:225
Definition: Simulator.h:153
void setDepth(float depth)
Set the current depth to the indicated value.
Definition: Simulator.cpp:455
float cylinderLength_
Definition: Simulator.h:265
float northCurrent_
Definition: Simulator.h:218
float zuw_
Definition: Simulator.h:323
float yvabv_
Definition: Simulator.h:293
Point3D cOfMovableMass_
Definition: Simulator.h:253
float nvDot_
Definition: Simulator.h:283
float coeffDrag_
Definition: Simulator.h:332
float yur_
Definition: Simulator.h:318
float xuabu_
Definition: Simulator.h:292
Contains a 6x6 array of double precision floating point numbers, along with methods for performing co...
Definition: Matrix6x6.h:27
float xvv_
Definition: Simulator.h:311
Str oceanModelData_
filename of file that contains ocean model run
Definition: Simulator.h:168
void setPropOmega(float propOmega)
Set the current prop omega to the indicated value.
Definition: Simulator.cpp:479
void motion(float propOmegaAction, float rudderAngleAction, float elevatorAngleAction, float massPositionAction, float buoyancyAction, int dropWeightState, float density, float dt, SimResultStruct &results)
The "take one timestep" function for the simulator.
Definition: Simulator.cpp:321
Point6D force_
6-dimensional force vector
Definition: Simulator.h:194
float mixedLayerDepth_
Definition: Simulator.h:230
Point3D cOfBuoy_
Definition: Simulator.h:254
Encapsulates the actuator model.
Definition: ActuatorModel.h:37
Contains the SimInitStruct class declaration.
Point3D current_
Ocean current (m/s north, east,down)
Definition: Simulator.h:216
float zuq_
Definition: Simulator.h:322
ActuatorModel rudderModel_
Definition: Simulator.h:182
*uLong * dt
Definition: ZipEncoder.cpp:36
Contains the Location class definition.
float muw_
Definition: Simulator.h:304
float sst_
Definition: Simulator.h:224
Point6D rateDot_
Definition: Simulator.h:205
float yvDot_
Definition: Simulator.h:277
float xrr_
Definition: Simulator.h:315
A struct of values that is passed from the LRAUV to the Simulator, to initialize the simulator...
Definition: SimInitStruct.h:22
float zqabq_
Definition: Simulator.h:300
float mwabw_
Definition: Simulator.h:297
float dropWt1X_
Definition: Simulator.h:260
float xuDot_
Definition: Simulator.h:276
void invertMass(SimResultStruct &results)
Calculate the LHS of the equation (the "1/mass" for solving a in ma = F).
Definition: Simulator.cpp:527
Contains the Point6D class definition.