public class UAVBody extends DISNetworkedRigidBody
Modifier and Type | Field and Description |
---|---|
static int |
AELERON |
static int |
DOPPLER_SOGU |
static int |
ENGINE_POWER |
Vector3D |
inertiaTensor |
double |
Ixx |
double |
Ixy |
double |
Ixz |
double |
Iyy |
double |
Iyz |
double |
Izz |
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)
Creates a new instance of UAVBody
|
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()
Get the number of state parameters that are used by this vehicle type
|
StateVector |
getStateVector() |
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) |
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 4 integration
|
void |
setStateVector(StateVector stateVector) |
Vector3D |
unitGravity()
Computes the force vector due to gravity in body coordinates based on the current posture
|
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 AELERON
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 REMAINING_BATTERY_POWER
public double Ixx
public double Iyy
public double Izz
public double Ixy
public double Ixz
public double Iyz
public Vector3D inertiaTensor
public UAVBody(DynamicsGlobals globals, WorkbenchCommunicator communicator, StateVector state)
globals
- communicator
- state
- public void initialize()
DISNetworkedRigidBody
initialize
in class DISNetworkedRigidBody
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 integrationpublic Vector3D unitGravity()
Vector3D
protected int getNumberStateParameters()
getNumberStateParameters
in class DISNetworkedRigidBody
public StateVector getStateVector()
public final void setStateVector(StateVector stateVector)
stateVector
- the state to set