#include <HeadingControl.hpp>
Public Member Functions | |
HeadingControl () | |
void | onInit () |
void | start () |
void | step () |
Private Member Functions | |
void | initialize_controller () |
bool | onEnableControl (labust_uvapp::EnableControl::Request &req, labust_uvapp::EnableControl::Response &resp) |
void | onEstimate (const auv_msgs::NavSts::ConstPtr &estimate) |
void | onHeadingRef (const std_msgs::Float32::ConstPtr &ref) |
void | onOpenLoopSurge (const std_msgs::Float32::ConstPtr &surge) |
void | onWindup (const auv_msgs::BodyForceReq::ConstPtr &tauAch) |
Private Attributes | |
boost::mutex | dataMux |
bool | enable |
ros::ServiceServer | enableControl |
ros::Subscriber | enableFlag |
double | flowSurgeEstimate |
ros::Subscriber | flowTwist |
double | gammaARad |
PIDController | headingController |
ros::Subscriber | headingRef |
double | K1 |
double | K2 |
ros::Time | lastEst |
ros::NodeHandle | nh |
ros::Publisher | nuRef |
ros::Subscriber | openLoopSurge |
ros::NodeHandle | ph |
double | safetyRadius |
auv_msgs::NavSts | state |
ros::Subscriber | stateHat |
double | surge |
double | timeout |
double | Ts |
ros::Publisher | vtTwist |
ros::Subscriber | windup |
labust::math::unwrap | yaw_ref |
The class contains the implementation of the virtual target path following.
Definition at line 59 of file HeadingControl.hpp.
Main constructor
Definition at line 50 of file HeadingControl.cpp.
void HeadingControl::initialize_controller | ( | ) | [private] |
Initialize the controller parameters etc.
Definition at line 224 of file HeadingControl.cpp.
bool HeadingControl::onEnableControl | ( | labust_uvapp::EnableControl::Request & | req, |
labust_uvapp::EnableControl::Response & | resp | ||
) | [private] |
Handle the enable control request.
Definition at line 137 of file HeadingControl.cpp.
void HeadingControl::onEstimate | ( | const auv_msgs::NavSts::ConstPtr & | estimate | ) | [private] |
Handle the new tracking point. Handle incoming estimates message.
Definition at line 157 of file HeadingControl.cpp.
void HeadingControl::onHeadingRef | ( | const std_msgs::Float32::ConstPtr & | ref | ) | [private] |
Handle the new point.
Definition at line 132 of file HeadingControl.cpp.
void HeadingControl::onInit | ( | ) |
Initialize and setup controller.
Definition at line 65 of file HeadingControl.cpp.
void HeadingControl::onOpenLoopSurge | ( | const std_msgs::Float32::ConstPtr & | surge | ) | [private] |
The open loop surge specification.
Definition at line 144 of file HeadingControl.cpp.
void HeadingControl::onWindup | ( | const auv_msgs::BodyForceReq::ConstPtr & | tauAch | ) | [private] |
Handle incoming flow frame twist estimates. Handle windup occurence.
Definition at line 171 of file HeadingControl.cpp.
void HeadingControl::start | ( | ) |
Start the controller loop.
Definition at line 219 of file HeadingControl.cpp.
void HeadingControl::step | ( | ) |
Performs one iteration.
Definition at line 201 of file HeadingControl.cpp.
boost::mutex labust::control::HeadingControl::dataMux [private] |
Mutex to sync updates.
Definition at line 159 of file HeadingControl.hpp.
bool labust::control::HeadingControl::enable [private] |
Enabled.
Definition at line 155 of file HeadingControl.hpp.
High level controller service.
Definition at line 176 of file HeadingControl.hpp.
Definition at line 168 of file HeadingControl.hpp.
double labust::control::HeadingControl::flowSurgeEstimate [private] |
Definition at line 147 of file HeadingControl.hpp.
Definition at line 168 of file HeadingControl.hpp.
double labust::control::HeadingControl::gammaARad [private] |
Definition at line 147 of file HeadingControl.hpp.
PIDController labust::control::HeadingControl::headingController [private] |
The horizontal distance PD controller. It has a limit on the P output value.
Definition at line 143 of file HeadingControl.hpp.
Definition at line 168 of file HeadingControl.hpp.
double labust::control::HeadingControl::K1 [private] |
Definition at line 147 of file HeadingControl.hpp.
double labust::control::HeadingControl::K2 [private] |
Definition at line 147 of file HeadingControl.hpp.
Last message times.
Definition at line 128 of file HeadingControl.hpp.
Dynamic reconfigure callback. The safety test. Update the dynamic reconfiguration settings. The ROS node handles.
Definition at line 124 of file HeadingControl.hpp.
The publisher of the TAU message.
Definition at line 164 of file HeadingControl.hpp.
Definition at line 168 of file HeadingControl.hpp.
Definition at line 124 of file HeadingControl.hpp.
double labust::control::HeadingControl::safetyRadius [private] |
Definition at line 147 of file HeadingControl.hpp.
auv_msgs::NavSts labust::control::HeadingControl::state [private] |
Last received vehicle state.
Definition at line 151 of file HeadingControl.hpp.
The subscribed topics.
Definition at line 168 of file HeadingControl.hpp.
double labust::control::HeadingControl::surge [private] |
Definition at line 147 of file HeadingControl.hpp.
double labust::control::HeadingControl::timeout [private] |
Timeout
Definition at line 132 of file HeadingControl.hpp.
double labust::control::HeadingControl::Ts [private] |
The sampling time.
Definition at line 147 of file HeadingControl.hpp.
Definition at line 164 of file HeadingControl.hpp.
Definition at line 168 of file HeadingControl.hpp.
The heading unwrapper.
Definition at line 172 of file HeadingControl.hpp.