ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Static Public Member Functions | List of all members
larcfm::KinematicsPosition Class Reference

#include <KinematicsPosition.h>

Static Public Member Functions

static std::pair< Position, Velocitylinear (std::pair< Position, Velocity > p, double t)
 
static std::pair< Position, Velocitylinear (const Position &so, const Velocity &vo, double t)
 
static std::pair< Position, Velocityturn (const Position &so, const Velocity &vo, double t, double R, bool turnRight)
 
static std::pair< Position, VelocityturnOmega (const Position &so, const Velocity &vo, double t, double omega)
 
static std::pair< Position, VelocityturnOmega (std::pair< Position, Velocity > pp, double t, double omega)
 
static std::pair< Position, VelocityturnByDist2D (const Position &so, const Position &center, int dir, double d, double gsAt_d)
 
static Position turnByDist2D (const Position &so, const Position &center, int dir, double d)
 
static Position turnByAngle2D (const Position &so, const Position &center, double alpha)
 
static std::pair< Position, VelocityturnUntil (const Position &so, const Velocity &vo, double t, double goalTrack, double bankAngle)
 
static std::pair< Position, VelocityturnUntil (std::pair< Position, Velocity > sv, double t, double goalTrack, double bankAngle)
 
static std::pair< Position, VelocityturnUntilTimeOmega (const Position &so, const Velocity &vo, double t, double turnTime, double omega)
 
static std::pair< Position, VelocityturnUntilTimeOmega (std::pair< Position, Velocity > sv, double t, double turnTime, double omega)
 
static std::pair< Position, VelocityturnUntilTime (const Position &so, const Velocity &vo, double t, double turnTime, double R, bool turnRight)
 
static std::pair< Position, VelocitygsAccel (const Position &so, const Velocity &vo, double t, double a)
 
static std::pair< Position, VelocitygsAccelUntil (const Position &so, const Velocity &vo, double t, double goalGs, double a)
 
static std::pair< Position, VelocityvsAccel (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, VelocityvsAccelUntil (const Position &so, const Velocity &vo, double t, double goalVs, double a)
 
static std::pair< Position, VelocityvsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double accelUp, double accelDown, bool allowClimbRateChange)
 
static std::pair< Position, VelocityvsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double a, bool allowClimbRateChange)
 
static std::pair< Position, VelocityvsLevelOut (std::pair< Position, Velocity > sv0, double t, double climbRate, double targetAlt, double a)
 
static Position centerFromRadius (const Position &bot, double signedRadius, double trkIn)
 

Detailed Description

This class contains versions of the Kinematics functions that have been lifted to deal with Position objects instead of Vect3 objects.

Member Function Documentation

◆ gsAccel()

std::pair< Position, Velocity > larcfm::KinematicsPosition::gsAccel ( const Position so,
const Velocity vo,
double  t,
double  a 
)
static

Position and velocity after t time units accelerating vertically.

Parameters
sostarting position
voinitial velocity
avertical speed acceleration (or deceleration) (signed)
ttime of turn [secs]
Returns
Position and Velocity after t time

◆ gsAccelUntil()

std::pair< Position, Velocity > larcfm::KinematicsPosition::gsAccelUntil ( const Position so,
const Velocity vo,
double  t,
double  goalGs,
double  a 
)
static

Position and velocity after t time units accelerating horizontally.

Parameters
sostarting position
voinitial velocity
aground speed acceleration (or deceleration) (positive)
ttime of turn [secs]
Returns
Position and Velocity after t time

◆ turn()

std::pair< Position, Velocity > larcfm::KinematicsPosition::turn ( const Position so,
const Velocity vo,
double  t,
double  R,
bool  turnRight 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
Rturn radius
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
Rturn radius
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ turnByAngle2D()

Position larcfm::KinematicsPosition::turnByAngle2D ( const Position so,
const Position center,
double  alpha 
)
static

Position/Velocity after turning (does not compute altitude!!)

Note: will be used in a context where altitude is computing subsequently

Parameters
sostarting position
centercenter of turn
alphaturn angle (signed: positive: turn right, negative: turn left);
Returns
Position after turning distance d

◆ turnByDist2D() [1/2]

Position larcfm::KinematicsPosition::turnByDist2D ( const Position so,
const Position center,
int  dir,
double  d 
)
static

Advance in turn starting at so by distance d

Parameters
sostarting position
centercenter of turn
dirdirection of turn
ddistance to turn (can be negative)
Returns
position after turning distance d

◆ turnByDist2D() [2/2]

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnByDist2D ( const Position so,
const Position center,
int  dir,
double  d,
double  gsAt_d 
)
static

Advance in turn starting at "s0" by distance "d"

Parameters
sostarting position
centercenter of turn
dirdirection of turn
ddistance to turn
Returns
position and velocity after turning distance "d"

◆ turnOmega() [1/2]

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnOmega ( const Position so,
const Velocity vo,
double  t,
double  omega 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
Rturn radius
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ turnOmega() [2/2]

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnOmega ( std::pair< Position, Velocity pp,
double  t,
double  omega 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
Rturn radius
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ turnUntil()

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnUntil ( const Position so,
const Velocity vo,
double  t,
double  goalTrack,
double  bankAngle 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
goalTrackthe target track angle
bankAnglethe aircraft's bank angle
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ turnUntilTime()

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnUntilTime ( const Position so,
const Velocity vo,
double  t,
double  turnTime,
double  R,
bool  turnRight 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
goalTrackthe target track angle
bankAnglethe aircraft's bank angle
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ turnUntilTimeOmega()

std::pair< Position, Velocity > larcfm::KinematicsPosition::turnUntilTimeOmega ( const Position so,
const Velocity vo,
double  t,
double  turnTime,
double  omega 
)
static

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
goalTrackthe target track angle
bankAnglethe aircraft's bank angle
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

Position and velocity after t time units turning in direction "dir" with radius R.

Parameters
sostarting position
voinitial velocity
goalTrackthe target track angle
bankAnglethe aircraft's bank angle
ttime of turn [secs]
turnRighttrue iff only turn direction is to the right
Returns
Position and Velocity after t time

◆ vsAccel()

std::pair< Position, Velocity > larcfm::KinematicsPosition::vsAccel ( const Position so,
const Velocity vo,
double  t,
double  a 
)
static

Position and velocity after t time units accelerating vertically.

Parameters
sostarting position
voinitial velocity
avertical speed acceleration (or deceleration) (signed)
ttime of turn [secs]
Returns
Position and Velocity after t time

◆ vsAccelUntil()

std::pair< Position, Velocity > larcfm::KinematicsPosition::vsAccelUntil ( const Position so,
const Velocity vo,
double  t,
double  goalVs,
double  a 
)
static

Position and velocity after t time units accelerating vertically.

Parameters
sostarting position
voinitial velocity
avertical speed acceleration (a positive value)
ttime of turn [secs]
Returns
Position and Velocity after t time

◆ vsAccelZonly()

std::pair< double, double > larcfm::KinematicsPosition::vsAccelZonly ( const Position so,
double  voz,
double  t,
double  a 
)
static

altitude and vertical speed after t time units accelerating vertically.

Parameters
sostarting position
vosinitial vertical speed
avertical speed acceleration (or deceleration) (signed)
ttime of turn [secs]
Returns
altitude and vs after time t

Position and velocity after t time units accelerating vertically.

Parameters
sostarting position
voinitial velocity
avertical speed acceleration (or deceleration) (signed)
ttime of turn [secs]
Returns
Position and Velocity after t time

◆ vsLevelOut()

std::pair< Position, Velocity > larcfm::KinematicsPosition::vsLevelOut ( std::pair< Position, Velocity sv0,
double  t,
double  climbRate,
double  targetAlt,
double  accelUp,
double  accelDown,
bool  allowClimbRateChange 
)
static

returns Pair that contains position and velocity at time t due to level out maneuver

Parameters
sv0current position and velocity vectors
ttime point of interest
climbRateclimb rate
targetAlttarget altitude
accelUpfirst acceleration
accelDownsecond acceleration
allowClimbRateChangeallows climbRate to change to initial velocity if it can help.
Returns

The documentation for this class was generated from the following files: