#include <VirtualTarget.hpp>
Public Member Functions | |
void | onInit () |
void | start () |
void | step () |
VirtualTarget () | |
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 | onFlowTwist (const geometry_msgs::TwistStamped::ConstPtr &flowtwist) |
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 |
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 |
bool | use_flow_frame |
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 VirtualTarget.hpp.
Main constructor
Definition at line 50 of file VirtualTarget.cpp.
void VirtualTarget::initialize_controller | ( | ) | [private] |
Initialize the controller parameters etc.
Definition at line 288 of file VirtualTarget.cpp.
bool VirtualTarget::onEnableControl | ( | labust_uvapp::EnableControl::Request & | req, |
labust_uvapp::EnableControl::Response & | resp | ||
) | [private] |
Handle the enable control request.
Definition at line 141 of file VirtualTarget.cpp.
void VirtualTarget::onEstimate | ( | const auv_msgs::NavSts::ConstPtr & | estimate | ) | [private] |
Handle the new point. Handle the new tracking point. Handle incoming estimates message.
Definition at line 161 of file VirtualTarget.cpp.
void VirtualTarget::onFlowTwist | ( | const geometry_msgs::TwistStamped::ConstPtr & | flowtwist | ) | [private] |
Handle incoming flow frame twist estimates.
Definition at line 153 of file VirtualTarget.cpp.
void VirtualTarget::onInit | ( | ) |
Initialize and setup controller.
Definition at line 66 of file VirtualTarget.cpp.
void VirtualTarget::onOpenLoopSurge | ( | const std_msgs::Float32::ConstPtr & | surge | ) | [private] |
The open loop surge specification.
Definition at line 148 of file VirtualTarget.cpp.
void VirtualTarget::onWindup | ( | const auv_msgs::BodyForceReq::ConstPtr & | tauAch | ) | [private] |
Handle windup occurence.
Definition at line 175 of file VirtualTarget.cpp.
void VirtualTarget::start | ( | ) |
Start the controller loop.
Definition at line 283 of file VirtualTarget.cpp.
void VirtualTarget::step | ( | ) |
Performs one iteration.
Definition at line 205 of file VirtualTarget.cpp.
boost::mutex labust::control::VirtualTarget::dataMux [private] |
Mutex to sync updates.
Definition at line 158 of file VirtualTarget.hpp.
bool labust::control::VirtualTarget::enable [private] |
Enabled.
Definition at line 154 of file VirtualTarget.hpp.
High level controller service.
Definition at line 175 of file VirtualTarget.hpp.
Definition at line 167 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::flowSurgeEstimate [private] |
Definition at line 146 of file VirtualTarget.hpp.
Definition at line 167 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::gammaARad [private] |
Definition at line 146 of file VirtualTarget.hpp.
PIDController labust::control::VirtualTarget::headingController [private] |
The horizontal distance PD controller. It has a limit on the P output value.
Definition at line 142 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::K1 [private] |
Definition at line 146 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::K2 [private] |
Definition at line 146 of file VirtualTarget.hpp.
Last message times.
Definition at line 127 of file VirtualTarget.hpp.
The dynamic reconfigure parameters. The dynamic reconfigure server. The transform listener for frame conversions.
Definition at line 187 of file VirtualTarget.hpp.
Dynamic reconfigure callback. The safety test. Update the dynamic reconfiguration settings. The ROS node handles.
Definition at line 123 of file VirtualTarget.hpp.
The publisher of the TAU message.
Definition at line 163 of file VirtualTarget.hpp.
Definition at line 167 of file VirtualTarget.hpp.
Definition at line 123 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::safetyRadius [private] |
Definition at line 146 of file VirtualTarget.hpp.
auv_msgs::NavSts labust::control::VirtualTarget::state [private] |
Last received vehicle state.
Definition at line 150 of file VirtualTarget.hpp.
The subscribed topics.
Definition at line 167 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::surge [private] |
Definition at line 146 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::timeout [private] |
Timeout
Definition at line 131 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::Ts [private] |
The sampling time.
Definition at line 146 of file VirtualTarget.hpp.
bool labust::control::VirtualTarget::use_flow_frame [private] |
Definition at line 154 of file VirtualTarget.hpp.
Definition at line 163 of file VirtualTarget.hpp.
Definition at line 167 of file VirtualTarget.hpp.
The heading unwrapper.
Definition at line 171 of file VirtualTarget.hpp.