ICAROUS
|
#include <ProjectedKinematics.h>
Static Public Member Functions | |
static double | turnAngle (Position s1, Position s2, double R) |
static double | turnDistance (Position s1, Position s2, double R) |
static bool | clockwise (Position s1, Velocity v1, Position s2) |
static double | closestDistOnTurn (const Position &turnstart, const Velocity &v1, double R, int dir, const Position &x, double endDist) |
static std::pair< Position, Velocity > | turn (const Position &so, const Velocity &vo, double t, double R, bool turnRight) |
static std::pair< Position, Velocity > | gsAccel (const Position &so, const Velocity &vo, double t, double accel) |
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 accel) |
static std::pair< Position, Velocity > | vsAccelUntil (const Position &so, const Velocity &vo, double t, double goalVs, double accel) |
static std::pair< Position, Velocity > | turnOmega (const Position &so, const Velocity &vo, double t, double omega) |
static std::pair< Position, Velocity > | turnOmega (const Position &so, const Velocity &vo, double t, double omega, const EuclideanProjection &proj) |
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 > | linear (std::pair< Position, Velocity > p, double t) |
static std::pair< Position, Velocity > | linear (const Position &so, const Velocity &p, double t) |
static std::pair< Position, double > | intersection (const Position &so, const Velocity &vo, const Position &si, const Velocity &vi) |
static double | timeOfintersection (const Position &so, const Velocity &vo, const Position &si, const Velocity &vi) |
static Quad< Position, Velocity, double, int > | directToPoint (const Position &so, const Velocity &vo, const Position &wp, double R) |
static Triple< Position, double, double > | genDirectToVertex (const Position &sop, const Velocity &vo, const Position &wpp, double bankAngle, double timeBeforeTurn) |
static Triple< Position, Velocity, double > | vsLevelOutFinal (const Position &so, const Velocity &vo, double climbRate, double targetAlt, double a) |
static double | vsLevelOutTime (const Position &so, const Velocity &vo, double climbRate, double targetAlt, double a) |
static std::pair< Position, Velocity > | vsLevelOut (const Position &so, const Velocity &vo, double t, double climbRate, double targetAlt, double a) |
This class contains versions of the Kinematics functions that have been lifted to deal with Position objects instead of Vect3 objects.
Given two points on a turn and the velocity (direction) at the first point, determine the direction for the shortest turn going through the second point, returning true if that relative direction is to the right
s1 | |
v1 | |
s2 |
Given two points on a turn and the velocity (direction) at the first point, determine the direction for the shortest turn going through the second point, returning true if that relative direction is to the right
|
static |
Return distance along turn where x is closest to. This returns -1 if x is at the turn's center
turnstart | starting position of turn |
v1 | velocity |
R | turn radius |
dir | +1 = turn right, -1 turn left |
x | a position |
endDist | end distance of turn |
|
static |
Wrapper around Kinematic.turnTimeDirecTo() Returns a triple: end of turn point, velocity at that point, time at that point
|
static |
Wrapper around Kinematic.genDirectToVertex Returns the vertex point (in a linear plan sense) between current point and directTo point.
so | current position |
vo | current velocity |
wp | first point (in a flight plan) that you are trying to connect to |
bankAngle | turn bank angle |
timeBeforeTurn | time to continue in current direction before beginning turn |
Calculate the angle of a constant-radius turn from two points and the radius
s1 | |
s2 | |
R |
Calculate the angle of a constant-radius turn from two points and the radius
Horizontal distance covered in a turn
s1 | |
s2 | |
R |
Horizontal distance covered in a turn
|
static |
Position and velocity after t time units turning in direction "dir" with radius R. This is a wrapper around turnPosition and turnVelocity for Position objects,and uses the projection defined in the static Projection class.
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 and velocity after t time units turning in direction "dir" with radius R. This is a wrapper around turnPosition and turnVelocity for Position objects,and uses the projection defined in the static Projection class.
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 and velocity after t time units turning in direction "dir" with radius R. This is a wrapper around turnUntil and uses the projection defined in the static Projection class.
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 |