12 #ifndef HORIZONTALCONTROL_H_
13 #define HORIZONTALCONTROL_H_
94 void setHeading(
float desiredHeading,
bool useInt =
true );
103 float headingControl(
float heading,
float headingCmd,
float yawRate,
bool useInt =
true );
ConfigReader * kiwpHeadingCfgReader_
Definition: HorizontalControl.h:149
void setRudderAngle(float desiredRudderAngle)
attempts to achieve the desired rudder angle
Definition: HorizontalControl.cpp:326
UniversalDataReader * rudderAngleReader_
Definition: HorizontalControl.h:199
float kiHeading_
Definition: HorizontalControl.h:71
Contains the Trajectory class definition.
ConfigReader * maxHdgAccelCfgReader_
Definition: HorizontalControl.h:150
float headingRate_
Definition: HorizontalControl.h:78
Contains the SyncComponent class definition.
void setHeading(float desiredHeading, bool useInt=true)
attempts to achieve the desired heading
Definition: HorizontalControl.cpp:281
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
ConfigReader * maxKxteCfgReader_
Definition: HorizontalControl.h:153
float kpHeading_
Definition: HorizontalControl.h:72
Trajectory headingTrajectory_
Definition: HorizontalControl.h:63
float kwpHeading_
Definition: HorizontalControl.h:73
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
bool readConfig(void)
read vehicle config variables
Definition: HorizontalControl.cpp:140
DataReader * latitudeCmdReader_
Desired waypoint latitude to head towards.
Definition: HorizontalControl.h:114
float xteIntegral_
Definition: HorizontalControl.h:54
float maxKxte_
Definition: HorizontalControl.h:75
UniversalDataReader * longitudeReader_
Current latitude.
Definition: HorizontalControl.h:197
float kdHeading_
*----------------— vehicle parameters -----------------------—*/
Definition: HorizontalControl.h:70
This is the primary "control" for the vehicle's heading.
Definition: HorizontalControl.h:34
DataWriter * headingIntegralInternalWriter_
Heading integral in radians.
Definition: HorizontalControl.h:175
void initialize(void)
Initialize function.
Definition: HorizontalControl.cpp:82
ConfigReader * kdHeadingCfgReader_
Definition: HorizontalControl.h:145
float maxHeadingRateCfg_
Definition: HorizontalControl.h:79
DataReader * horizontalModeReader_
Desired heading mode (none, waypoint, specified).
Definition: HorizontalControl.h:109
This is a helper class for Depthcontrol, HeadingControl, and SpeedControl which projects the state of...
Definition: Trajectory.h:18
float xte_
Definition: HorizontalControl.h:81
ConfigReader * kwpHeadingCfgReader_
Definition: HorizontalControl.h:148
void run()
The actual "payload" of the component.
Definition: HorizontalControl.cpp:104
DataReader * rudderAngleActionReader_
Used to read last action, even if from another source.
Definition: HorizontalControl.h:209
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
ConfigReader * kpHeadingCfgReader_
Definition: HorizontalControl.h:147
float rudderLimit_
Definition: HorizontalControl.h:77
float headingControl(float heading, float headingCmd, float yawRate, bool useInt=true)
returns rudder angle
Definition: HorizontalControl.cpp:334
DataReader * rudderAngleCmdReader_
Desired rudder angle (radian).
Definition: HorizontalControl.h:142
ConfigReader * rudDeadbandCfgReader_
Definition: HorizontalControl.h:154
ConfigReader * kiHeadingCfgReader_
Definition: HorizontalControl.h:146
UniversalDataReader * latitudeReader_
Current latitude.
Definition: HorizontalControl.h:194
bool ok_
indicates whether things are ok to run
Definition: HorizontalControl.h:66
DataWriter * xteInternalWriter_
Cross-track error, meter.
Definition: HorizontalControl.h:180
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
UniversalDataReader * headingReader_
Current heading (radian) of the vehicle.
Definition: HorizontalControl.h:163
void setHeadingRate(float desiredheadingRate)
attempts to achieve the desired heading rate
Definition: HorizontalControl.cpp:314
ConfigReader * rudLimitCfgReader_
Definition: HorizontalControl.h:155
DataWriter * smoothHeadingInternalWriter_
Smoothed commanded heading angle in radians.
Definition: HorizontalControl.h:171
HorizontalControl(const Module *module)
Definition: HorizontalControl.cpp:23
DataWriter * rudderAngleActionWriter_
Angle (in radian) of Elevator.
Definition: HorizontalControl.h:206
void uninitialize(void)
Uninit function.
Definition: HorizontalControl.cpp:132
float maxHdgAccel_
Definition: HorizontalControl.h:80
Definition: ConfigReader.h:13
virtual ~HorizontalControl()
Definition: HorizontalControl.cpp:78
float maxHeadingInt_
Definition: HorizontalControl.h:76
DataReader * headingCmdReader_
Desired heading (radian) of the vehicle.
Definition: HorizontalControl.h:131
DataWriter * kxteInternalWriter_
Cross-track error correction, radian.
Definition: HorizontalControl.h:183
void controlHeading()
control heading
Definition: HorizontalControl.cpp:159
Abstract Base class for components that compute settings to be communicated to SyncServoComponent ins...
Definition: SyncComponent.h:228
float rudDeadband_
Definition: HorizontalControl.h:83
float headingIntegral_
Definition: HorizontalControl.h:53
DataWriter * headingInternalWriter_
Commanded heading angle in radians.
Definition: HorizontalControl.h:167
DataReader * headingRateCmdReader_
Desired yaw / heading change rate (radian/second).
Definition: HorizontalControl.h:137
DataWriter * bearingInternalWriter_
Commanded bearing, radians. In UTM coordinates, this should be a constant.
Definition: HorizontalControl.h:187
DataReader * longitudeCmdReader_
Desired waypoint longitude to head towards.
Definition: HorizontalControl.h:119
ConfigReader * maxHdgRateCfgReader_
Definition: HorizontalControl.h:152
float kiwpHeading_
Definition: HorizontalControl.h:74
ConfigReader * maxHdgIntCfgReader_
Definition: HorizontalControl.h:151
UniversalDataReader * headingRateReader_
Current yaw / heading change rate (radian/second).
Definition: HorizontalControl.h:191
DataWriter * xteIntegralInternalWriter_
Definition: HorizontalControl.h:176
DataReader * bearingCmdReader_
Bearing to the Desired waypoint.
Definition: HorizontalControl.h:124
Represents absolute times.
Definition: Timestamp.h:31