15 #include <matrix/vlDcm.h>
16 #include <matrix/vlVector.h>
59 virtual const char*
type()
const;
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,
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,
157 virtual void limitAccelFromMaxForwardSpeed(
const DtVector& topoVelocity,
158 const double speedAtGoal,
178 virtual void limitAccelFromMaxAcceleration(
DtVector& horizBodyAccel);
184 virtual void computeTopoDeltaPosition(
DtVector& topoDeltaPosition);
189 virtual void computeTopoDesiredEndVelocity(
const DtVector& topoXyDeltaPos,
191 double& topoXyEndSpeed);
199 virtual void computeAccelerationTowardGoal(
const DtVector& topoCurrentXyVel,
200 const DtVector& topoVelDirAtGoalPt,
const double horizDesSpeedAtGoal,
201 const DtVector& topoHorizDeltaPos,
const double period,
202 double& maxAccelTowardGoal);
208 virtual void limitAccelForFixedFlightSlope(
DtVector& topoDeltaPos,
209 DtVector&topoCurrentXyVel,
double& maxAccel);
214 virtual void computeAccelerationPerpendicularToGoal(
const DtVector& topoCurrentXyVel,
216 const DtVector& horizDeltaPos,
const double maxAccel,
const double delayTime,
217 double& maxAccelTowardGoal);
226 virtual void computeVerticalAcceleration(
const DtVector& topoDeltaPos,
227 const double downSpeed,
229 double& desiredZAccel);
244 virtual double accelFromConstraintsAvoidingOvershoot(
245 const double maxDecel,
const double maxAccel,
const double period,
double speed,
246 double targetDist,
const double speedAtTarget);
252 virtual bool isCloseToGoalPosition(
const DtVector& topoDeltaPos);
265 virtual void setCollectiveAndCyclicFromAccel(
const DtVector& desiredAcceleration);
267 virtual void setPedalFromDesiredYawAcceleration(
const double yawAccel);
270 virtual void setThrottle();
276 virtual DtReal terrainAvoidanceVelocity()
const;
282 virtual void calculateTargetAlignmentAngle(DtReal& alignmentAngle)
const;
286 virtual void computeYawAccelerationToHeading(
const double headingToPoint,
291 virtual void getTransformationMatrices();
311 virtual void lookupAndCacheProcessSR();
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtRotaryWingPilotDescriptor * myPilotDescriptor
A pointer to the descriptor for this controller.
Definition: simpleRotaryWingPilot.h:327
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component. Default behavior is to r...
virtual void tick()
Reads the data from the guidance ports into the state repository.
DtDcm myBodyToRef
The local orientation matrix.
Definition: simpleRotaryWingPilot.h:330
virtual double stationaryGoalSpeedThreshold()
Constants.
Definition: simpleRotaryWingPilot.h:303
Definition: rotaryWingFlightPSR.h:29
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
const DtRotaryWingPilotController & operator=(const DtRotaryWingPilotController &orig)
assignment operator; not implemented
virtual bool createPorts()
Overridden to create rotary wing ports.
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:436
Definition: coordSystem.h:54
virtual bool init()
Overridden to initialize myRotaryWingEntityState.
DtDcm myTopoToBodyHeadingDcm
The 2D rotation about the yaw axis only.
Definition: simpleRotaryWingPilot.h:339
DtRotaryWingFlightPSR * myProcessState
Definition: simpleRotaryWingPilot.h:341
DtDcm myLocalToTopoDcm
The local to topographic coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:333
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:309
DtDcm myTopoToLocalDcm
The topographic to local coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:336
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
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
virtual bool postAddComponentsInit()
Calls enableTaskTypes()
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86