15 #include <matrix/vlDcm.h>
16 #include <matrix/vlVector.h>
53 virtual bool init()
override;
59 virtual const char*
type()
const override;
62 virtual void tick()
override;
99 virtual void computeDesiredLinearAccel(DtVector& desiredHorizBodyAccel,
100 double& desiredYawAccel);
112 virtual void computeDesiredTopoAccelToPosition(
const double maxAccel,
const double period,
113 DtVector& desiredTopoAccel,
double& yawAccel);
120 virtual void computeDesiredTopoAccelToVelocity(
const DtVector& desiredVel,
const double period,
121 DtVector& desiredTopoAccel);
130 virtual double desiredHeadingWithNoMoveGoal();
134 virtual void computeDesiredTopoAccelToHeading(
const double desiredHeading,
const double desiredSpeed,
135 const double period, DtVector& desiredTopoAccel);
140 virtual void checkLandNoFuel();
150 virtual void findEarthCurveDeltaPosition(DtVector fromPosition,
151 DtVector toPosition, DtVector& deltaPosition,
159 virtual void limitAccelFromMaxAcceleration(DtVector& horizBodyAccel);
165 virtual void computeTopoDeltaPosition(DtVector& topoDeltaPosition);
170 virtual void computeTopoDesiredEndVelocity(
const DtVector& topoXyDeltaPos,
171 DtVector& topoXyEndDirection,
172 double& topoXyEndSpeed);
178 virtual double limitedVerticalControlAcceleration(
const double verticalControlAccel,
179 const double verticalError,
const double currentVerticalVelocity,
const double period);
185 virtual bool isCloseToGoalPosition(
const DtVector& topoDeltaPos);
199 virtual void setCollectiveAndCyclicFromAccel(
const DtVector& desiredAcceleration);
201 virtual void setPedalFromDesiredYawAcceleration(
const double yawAccel);
204 virtual void setThrottle();
211 void limitAccelForFixedFlightSlope(DtVector& topoEntToGoal,
212 DtVector& topoCurrentVel,
double period, DtVector& desiredTopoAccel);
216 virtual DtReal terrainAvoidanceVelocity()
const;
224 virtual void calculateTargetAlignmentAngle(DtReal& headingToTarget)
const;
228 virtual void computeYawAccelerationToHeading(
const double headingToPoint,
233 virtual void getTransformationMatrices();
237 virtual void clearControlState();
257 virtual void lookupAndCacheProcessSR();
301 static DtReal xyDistSquared(DtVector a, DtVector b);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual bool postAddComponentsInit() override
Calls enableTaskTypes()
DtRotaryWingPilotDescriptor * myPilotDescriptor
A pointer to the descriptor for this controller.
Definition: simpleRotaryWingPilot.h:273
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component. Default behavior is to r...
DtVector myLastIntegralDistError
PID state variables. In topo coordinates. Note – Integral control not employed currently.
Definition: simpleRotaryWingPilot.h:291
DtDcm myBodyToRef
The local orientation matrix.
Definition: simpleRotaryWingPilot.h:276
virtual double stationaryGoalSpeedThreshold()
Constants.
Definition: simpleRotaryWingPilot.h:249
Definition: rotaryWingFlightPSR.h:30
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtRotaryWingPilotDescriptor is a component descriptor for helicopter flight involving destination poi...
Definition: rotaryWingPilotDescriptor.h:25
DtSimpleRotaryWingPilot is a controller that represents the autopilot aspects of a rotary-wing pilot...
Definition: simpleRotaryWingPilot.h:36
Definition: readerWriterRegistry.h:39
virtual bool createPorts() override
Overridden to create rotary wing ports.
const DtRotaryWingPilotController & operator=(const DtRotaryWingPilotController &orig)
assignment operator; not implemented
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:443
virtual void tick() override
Reads the data from the guidance ports into the state repository.
Definition: coordSystem.h:54
DtDcm myTopoToBodyHeadingDcm
The 2D rotation about the yaw axis only.
Definition: simpleRotaryWingPilot.h:285
virtual bool init() override
Overridden to initialize myRotaryWingEntityState.
DtRotaryWingFlightPSR * myProcessState
Definition: simpleRotaryWingPilot.h:287
DtDcm myLocalToTopoDcm
The local to topographic coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:279
virtual double catchUpSpeedFactor()
When moving toward a moving goal, how much faster than the goal's speed the entity is allowed to move...
Definition: simpleRotaryWingPilot.h:255
DtDcm myTopoToLocalDcm
The topographic to local coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:282
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
The DtRotaryWingPilotController class creates the rotary-wing-control port group needed to control ro...
Definition: rotaryWingPilotController.h:38
double myLastYawDerivativeControl
D state variable for yaw control.
Definition: simpleRotaryWingPilot.h:293
A locally simulated VRF object.
Definition: localObject.h:98