#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 |
tf::TransformListener | listener |
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 58 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 158 of file HeadingControl.hpp.
bool labust::control::HeadingControl::enable [private] |
Enabled.
Definition at line 154 of file HeadingControl.hpp.
High level controller service.
Definition at line 175 of file HeadingControl.hpp.
Definition at line 167 of file HeadingControl.hpp.
double labust::control::HeadingControl::flowSurgeEstimate [private] |
Definition at line 146 of file HeadingControl.hpp.
Definition at line 167 of file HeadingControl.hpp.
double labust::control::HeadingControl::gammaARad [private] |
Definition at line 146 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 142 of file HeadingControl.hpp.
Definition at line 167 of file HeadingControl.hpp.
double labust::control::HeadingControl::K1 [private] |
Definition at line 146 of file HeadingControl.hpp.
double labust::control::HeadingControl::K2 [private] |
Definition at line 146 of file HeadingControl.hpp.
Last message times.
Definition at line 127 of file HeadingControl.hpp.
The dynamic reconfigure parameters. The dynamic reconfigure server. The transform listener for frame conversions.
Definition at line 187 of file HeadingControl.hpp.
Dynamic reconfigure callback. The safety test. Update the dynamic reconfiguration settings. The ROS node handles.
Definition at line 123 of file HeadingControl.hpp.
The publisher of the TAU message.
Definition at line 163 of file HeadingControl.hpp.
Definition at line 167 of file HeadingControl.hpp.
Definition at line 123 of file HeadingControl.hpp.
double labust::control::HeadingControl::safetyRadius [private] |
Definition at line 146 of file HeadingControl.hpp.
auv_msgs::NavSts labust::control::HeadingControl::state [private] |
Last received vehicle state.
Definition at line 150 of file HeadingControl.hpp.
The subscribed topics.
Definition at line 167 of file HeadingControl.hpp.
double labust::control::HeadingControl::surge [private] |
Definition at line 146 of file HeadingControl.hpp.
double labust::control::HeadingControl::timeout [private] |
Timeout
Definition at line 131 of file HeadingControl.hpp.
double labust::control::HeadingControl::Ts [private] |
The sampling time.
Definition at line 146 of file HeadingControl.hpp.
Definition at line 163 of file HeadingControl.hpp.
Definition at line 167 of file HeadingControl.hpp.
The heading unwrapper.
Definition at line 171 of file HeadingControl.hpp.