public class UGVBody extends DISNetworkedRigidBody
Modifier and Type | Field and Description |
---|---|
static int |
DOPPLER_SOGU |
static int |
DOPPLER_SOGV |
static int |
LEFT_TRACK_CMD |
static int |
LEFT_TRACK_SPD |
static int |
REMAINING_BATTERY_POWER |
static int |
RIGHT_TRACK_CMD |
static int |
RIGHT_TRACK_SPD |
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 |
---|
UGVBody(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 altitude,
double timeStep)
Calculates 1 numerical integration step using Euler integration
TODO: Non-physically-based model does not rely on integration of equations
of motion to update posture.
|
protected int |
getNumberStateParameters() |
StateVector |
getState() |
void |
heun_step(double stepU,
double stepV,
double stepW,
double stepP,
double stepQ,
double stepR,
double altitude,
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 altitude,
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 LEFT_TRACK_CMD
public static final int RIGHT_TRACK_CMD
public static final int LEFT_TRACK_SPD
public static final int RIGHT_TRACK_SPD
public static final int DOPPLER_SOGU
public static final int DOPPLER_SOGV
public static final int REMAINING_BATTERY_POWER
public UGVBody(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 altitude, 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 timestepaltitude
- mean sea level altitude in meterstimeStep
- public void rk4_step(double stepU, double stepV, double stepW, double stepP, double stepQ, double stepR, double altitude, 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 timestepaltitude
- mean sea level altitude in meterstimeStep
- public void euler_step(double stepU, double stepV, double stepW, double stepP, double stepQ, double stepR, double altitude, 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 timestepaltitude
- mean sea level altitude in meterstimeStep
- protected int getNumberStateParameters()
getNumberStateParameters
in class DISNetworkedRigidBody
public StateVector getState()
public final void setState(StateVector state)
state
- the state to set