public class UAVBody extends DISNetworkedRigidBody
Modifier and Type | Field and Description |
---|---|
static int |
AILERON |
static int |
DOPPLER_SOGU |
static int |
DOPPLER_SOGV |
static int |
ENGINE_POWER |
static int |
PORT_STAB |
static int |
RADALT |
static int |
REMAINING_BATTERY_POWER |
static int |
RUDDER |
static int |
STBD_STAB |
APPLICATION_ID, disPdu, ENTITY_ID, MULTICAST_GROUP, MULTICAST_PORT, pduArtParams, SITE_ID, TTL, workbenchCommunicator
BANK, current_time, DISCLIENT, dt, executionSocket, globals, HEAVE, hmatrix, Hprevious, MAXPARAMETERS, new_acceleration, new_velocity, p, p_dot, phi, phi_dot, PITCH, positionVector, psi, psi_dot, q, q_dot, r, r_dot, stateParameters, SURGE, SWAY, theta, theta_dot, u, u_dot, v, v_dot, w, w_dot, world, worldDown, x, x_dot, y, y_dot, YAW, z, z_dot
Constructor and Description |
---|
UAVBody(DynamicsGlobals globals,
WorkbenchCommunicator communicator,
StateVector state) |
Modifier and Type | Method and Description |
---|---|
void |
euler_step(double stepU,
double stepV,
double stepW,
double stepP,
double stepQ,
double stepR,
double mslAltitude,
double timeStep)
Calculates 1 numerical integration step using Euler integration
|
protected int |
getNumberStateParameters() |
StateVector |
getState() |
void |
heun_step(double stepU,
double stepV,
double stepW,
double stepP,
double stepQ,
double stepR,
double mslAltitude,
double timeStep)
Calculates 1 numerical integration step using Heun integration
|
void |
initialize()
Reset method for all transform values
|
void |
integrateEquationsOfMotion()
Lots of math done here
|
void |
loadModel(String configFile)
Loads the model coefficients from a file as required
|
void |
rk4_step(double stepU,
double stepV,
double stepW,
double stepP,
double stepQ,
double stepR,
double mslAltitude,
double timeStep)
Calculates 1 numerical integration step using Runge-Kutta Fourth Order (RK4) integration
|
void |
setState(StateVector state) |
deadReckonTestWithExecutionLevel, disNetClose, disNetOpen, disNetWrite, getPduSkipInterval, getTimeOfLastPdu, isDisPortOpen, loopTestWithExecutionLevel, printRigidBody, setGroup, setPduSkipInterval, setPort, setTimeOfLastPdu, setTtl
compute_world_rates, current_time_value, hmatrix_value, integrate_Hmatrix, nonzerosign, p_dot_value, phi_dot_value, phi_value, print_rigidbody, psi_dot_value, psi_value, q_dot_value, r_dot_value, set_accelerations, set_angular_accelerations, set_angular_velocities, set_current_time, set_linear_accelerations, set_linear_velocities, set_time_of_posture, set_velocities, set_world_rates, square, theta_dot_value, theta_value, time_of_posture_value, u_dot_value, update_Hmatrix, update_state_vector, v_dot_value, w_dot_value, x_dot_value, x_value, y_dot_value, y_value, z_dot_value, z_value
public static final int ENGINE_POWER
public static final int AILERON
public static final int PORT_STAB
public static final int STBD_STAB
public static final int RUDDER
public static final int RADALT
public static final int DOPPLER_SOGU
public static final int DOPPLER_SOGV
public static final int REMAINING_BATTERY_POWER
public UAVBody(DynamicsGlobals globals, WorkbenchCommunicator communicator, StateVector state)
public void initialize()
DISNetworkedRigidBody
initialize
in class DISNetworkedRigidBody
public final void loadModel(String configFile)
public void integrateEquationsOfMotion()
DISNetworkedRigidBody
integrateEquationsOfMotion
in class DISNetworkedRigidBody
public void heun_step(double stepU, double stepV, double stepW, double stepP, double stepQ, double stepR, double mslAltitude, double timeStep)
stepU
- longitudinal speed (m/s) at the start of the timestepstepV
- lateral speed (m/s) at the start of the timestepstepW
- vertical speed (m/s) at the start of the timestepstepP
- bank rate (radians/s) at the start of the timestepstepQ
- pitch rate (radians/s) at the start of the timestepstepR
- yaw rate (radians/s) at the start of the timestepmslAltitude
- mean sea level altitude in meterstimeStep
- duration of time interval for this integrationpublic void rk4_step(double stepU, double stepV, double stepW, double stepP, double stepQ, double stepR, double mslAltitude, double timeStep)
stepU
- longitudinal speed (m/s) at the start of the timestepstepV
- lateral speed (m/s) at the start of the timestepstepW
- vertical speed (m/s) at the start of the timestepstepP
- bank rate (radians/s) at the start of the timestepstepQ
- pitch rate (radians/s) at the start of the timestepstepR
- yaw rate (radians/s) at the start of the timestepmslAltitude
- mean sea level altitude in meterstimeStep
- duration of time interval for this integrationpublic void euler_step(double stepU, double stepV, double stepW, double stepP, double stepQ, double stepR, double mslAltitude, double timeStep)
stepU
- longitudinal speed (m/s) at the start of the timestepstepV
- lateral speed (m/s) at the start of the timestepstepW
- vertical speed (m/s) at the start of the timestepstepP
- bank rate (radians/s) at the start of the timestepstepQ
- pitch rate (radians/s) at the start of the timestepstepR
- yaw rate (radians/s) at the start of the timestepmslAltitude
- mean sea level altitude in meterstimeStep
- duration of time interval for this integrationprotected int getNumberStateParameters()
getNumberStateParameters
in class DISNetworkedRigidBody
public StateVector getState()
public final void setState(StateVector state)
state
- the state to set