ICAROUS
|
#include <KinematicsPosition.h>
Static Public Member Functions | |
static std::pair< Position, Velocity > | linear (std::pair< Position, Velocity > p, double t) |
static std::pair< Position, Velocity > | linear (const Position &so, const Velocity &vo, double t) |
static std::pair< Position, Velocity > | turn (const Position &so, const Velocity &vo, double t, double R, bool turnRight) |
static std::pair< Position, Velocity > | turnOmega (const Position &so, const Velocity &vo, double t, double omega) |
static std::pair< Position, Velocity > | turnOmega (std::pair< Position, Velocity > pp, double t, double omega) |
static std::pair< Position, Velocity > | turnByDist2D (const Position &so, const Position ¢er, int dir, double d, double gsAt_d) |
static Position | turnByDist2D (const Position &so, const Position ¢er, int dir, double d) |
static Position | turnByAngle2D (const Position &so, const Position ¢er, double alpha) |
static std::pair< Position, Velocity > | turnUntil (const Position &so, const Velocity &vo, double t, double goalTrack, double bankAngle) |
static std::pair< Position, Velocity > | turnUntil (std::pair< Position, Velocity > sv, double t, double goalTrack, double bankAngle) |
static std::pair< Position, Velocity > | turnUntilTimeOmega (const Position &so, const Velocity &vo, double t, double turnTime, double omega) |
static std::pair< Position, Velocity > | turnUntilTimeOmega (std::pair< Position, Velocity > sv, double t, double turnTime, double omega) |
static std::pair< Position, Velocity > | turnUntilTime (const Position &so, const Velocity &vo, double t, double turnTime, double R, bool turnRight) |
static std::pair< Position, Velocity > | gsAccel (const Position &so, const Velocity &vo, double t, double a) |
static std::pair< Position, Velocity > | gsAccelUntil (const Position &so, const Velocity &vo, double t, double goalGs, double a) |
static std::pair< Position, Velocity > | vsAccel (const Position &so, const Velocity &vo, double t, double a) |
static std::pair< double, double > | vsAccelZonly (const Position &so, double voz, double t, double a) |
static std::pair< Position, Velocity > | vsAccelUntil (const Position &so, const Velocity &vo, double t, double goalVs, double a) |
static std::pair< Position, Velocity > | vsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double accelUp, double accelDown, bool allowClimbRateChange) |
static std::pair< Position, Velocity > | vsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double a, bool allowClimbRateChange) |
static std::pair< Position, Velocity > | vsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double a) |
static Position | centerFromRadius (const Position &bot, double signedRadius, double trkIn) |
This class contains versions of the Kinematics functions that have been lifted to deal with Position objects instead of Vect3 objects.
|
static |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
R | turn radius |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
R | turn radius |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
|
static |
Position/Velocity after turning (does not compute altitude!!)
Note: will be used in a context where altitude is computing subsequently
so | starting position |
center | center of turn |
alpha | turn angle (signed: positive: turn right, negative: turn left); |
|
static |
Advance in turn starting at so
by distance d
so | starting position |
center | center of turn |
dir | direction of turn |
d | distance to turn (can be negative) |
d
|
static |
Advance in turn starting at "s0" by distance "d"
so | starting position |
center | center of turn |
dir | direction of turn |
d | distance to turn |
|
static |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
goalTrack | the target track angle |
bankAngle | the aircraft's bank angle |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
|
static |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
goalTrack | the target track angle |
bankAngle | the aircraft's bank angle |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
|
static |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
goalTrack | the target track angle |
bankAngle | the aircraft's bank angle |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
Position and velocity after t time units turning in direction "dir" with radius R.
so | starting position |
vo | initial velocity |
goalTrack | the target track angle |
bankAngle | the aircraft's bank angle |
t | time of turn [secs] |
turnRight | true iff only turn direction is to the right |
|
static |
altitude and vertical speed after t time units accelerating vertically.
so | starting position |
vos | initial vertical speed |
a | vertical speed acceleration (or deceleration) (signed) |
t | time of turn [secs] |
Position and velocity after t time units accelerating vertically.
so | starting position |
vo | initial velocity |
a | vertical speed acceleration (or deceleration) (signed) |
t | time of turn [secs] |
|
static |
returns Pair that contains position and velocity at time t due to level out maneuver
sv0 | current position and velocity vectors |
t | time point of interest |
climbRate | climb rate |
targetAlt | target altitude |
accelUp | first acceleration |
accelDown | second acceleration |
allowClimbRateChange | allows climbRate to change to initial velocity if it can help. |