#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 |
tf2_ros::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 |
tf2_ros::Buffer | transBuffer |
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 60 of file VirtualTarget.hpp.
Main constructor
Definition at line 51 of file VirtualTarget.cpp.
void VirtualTarget::initialize_controller | ( | ) | [private] |
Initialize the controller parameters etc.
Definition at line 289 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 143 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 163 of file VirtualTarget.cpp.
void VirtualTarget::onFlowTwist | ( | const geometry_msgs::TwistStamped::ConstPtr & | flowtwist | ) | [private] |
Handle incoming flow frame twist estimates.
Definition at line 155 of file VirtualTarget.cpp.
void VirtualTarget::onInit | ( | ) |
Initialize and setup controller.
Definition at line 68 of file VirtualTarget.cpp.
void VirtualTarget::onOpenLoopSurge | ( | const std_msgs::Float32::ConstPtr & | surge | ) | [private] |
The open loop surge specification.
Definition at line 150 of file VirtualTarget.cpp.
void VirtualTarget::onWindup | ( | const auv_msgs::BodyForceReq::ConstPtr & | tauAch | ) | [private] |
Handle windup occurence.
Definition at line 177 of file VirtualTarget.cpp.
void VirtualTarget::start | ( | ) |
Start the controller loop.
Definition at line 284 of file VirtualTarget.cpp.
void VirtualTarget::step | ( | ) |
Performs one iteration.
Definition at line 207 of file VirtualTarget.cpp.
boost::mutex labust::control::VirtualTarget::dataMux [private] |
Mutex to sync updates.
Definition at line 160 of file VirtualTarget.hpp.
bool labust::control::VirtualTarget::enable [private] |
Enabled.
Definition at line 156 of file VirtualTarget.hpp.
High level controller service.
Definition at line 177 of file VirtualTarget.hpp.
Definition at line 169 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::flowSurgeEstimate [private] |
Definition at line 148 of file VirtualTarget.hpp.
Definition at line 169 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::gammaARad [private] |
Definition at line 148 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 144 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::K1 [private] |
Definition at line 148 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::K2 [private] |
Definition at line 148 of file VirtualTarget.hpp.
Last message times.
Definition at line 129 of file VirtualTarget.hpp.
The transform listener for frame conversions.
Definition at line 193 of file VirtualTarget.hpp.
Dynamic reconfigure callback. The safety test. Update the dynamic reconfiguration settings. The ROS node handles.
Definition at line 125 of file VirtualTarget.hpp.
The publisher of the TAU message.
Definition at line 165 of file VirtualTarget.hpp.
Definition at line 169 of file VirtualTarget.hpp.
Definition at line 125 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::safetyRadius [private] |
Definition at line 148 of file VirtualTarget.hpp.
auv_msgs::NavSts labust::control::VirtualTarget::state [private] |
Last received vehicle state.
Definition at line 152 of file VirtualTarget.hpp.
The subscribed topics.
Definition at line 169 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::surge [private] |
Definition at line 148 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::timeout [private] |
Timeout
Definition at line 133 of file VirtualTarget.hpp.
The dynamic reconfigure parameters. The dynamic reconfigure server. The transform listener buffer.
Definition at line 189 of file VirtualTarget.hpp.
double labust::control::VirtualTarget::Ts [private] |
The sampling time.
Definition at line 148 of file VirtualTarget.hpp.
bool labust::control::VirtualTarget::use_flow_frame [private] |
Definition at line 156 of file VirtualTarget.hpp.
Definition at line 165 of file VirtualTarget.hpp.
Definition at line 169 of file VirtualTarget.hpp.
The heading unwrapper.
Definition at line 173 of file VirtualTarget.hpp.