#include <DPControl.hpp>
Public Member Functions | |
DPControl () | |
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 | onNewPoint (const geometry_msgs::PointStamped::ConstPtr &point) |
void | onOpenLoopSurge (const std_msgs::Float32::ConstPtr &surge) |
void | onTrackPoint (const auv_msgs::NavSts::ConstPtr &ref) |
void | onWindup (const auv_msgs::BodyForceReq::ConstPtr &tauAch) |
Private Attributes | |
PIDController | distanceController |
bool | enable |
ros::ServiceServer | enableControl |
ros::Subscriber | enableFlag |
PIDController | headingController |
bool | inRegion |
ros::Time | lastEst |
ros::NodeHandle | nh |
ros::Publisher | nuRef |
ros::Subscriber | openLoopSurge |
ros::NodeHandle | ph |
ros::Subscriber | refPoint |
ros::Subscriber | refTrack |
double | safetyRadius |
auv_msgs::NavSts | state |
ros::Subscriber | stateHat |
double | surge |
double | timeout |
auv_msgs::NavSts | trackPoint |
double | Ts |
ros::Subscriber | windup |
labust::math::unwrap | yaw_ref |
The class contains the implementation of the station keeping controller for a non-holonomic surface vehicle.
Definition at line 60 of file DPControl.hpp.
Main constructor
Definition at line 49 of file DPControl.cpp.
void DPControl::initialize_controller | ( | ) | [private] |
Initialize the controller parameters etc.
Definition at line 246 of file DPControl.cpp.
bool DPControl::onEnableControl | ( | labust_uvapp::EnableControl::Request & | req, |
labust_uvapp::EnableControl::Response & | resp | ||
) | [private] |
Handle the enable control request.
Definition at line 132 of file DPControl.cpp.
void DPControl::onEstimate | ( | const auv_msgs::NavSts::ConstPtr & | estimate | ) | [private] |
Handle incoming estimates message.
Definition at line 144 of file DPControl.cpp.
void DPControl::onInit | ( | ) |
Initialize and setup controller.
Definition at line 61 of file DPControl.cpp.
void DPControl::onNewPoint | ( | const geometry_msgs::PointStamped::ConstPtr & | point | ) | [private] |
Handle the new point.
Definition at line 125 of file DPControl.cpp.
void DPControl::onOpenLoopSurge | ( | const std_msgs::Float32::ConstPtr & | surge | ) | [private] |
The open loop surge specification.
Definition at line 139 of file DPControl.cpp.
void DPControl::onTrackPoint | ( | const auv_msgs::NavSts::ConstPtr & | ref | ) | [private] |
Handle the new tracking point.
Definition at line 152 of file DPControl.cpp.
void DPControl::onWindup | ( | const auv_msgs::BodyForceReq::ConstPtr & | tauAch | ) | [private] |
Handle windup occurence.
Definition at line 158 of file DPControl.cpp.
void DPControl::start | ( | ) |
Start the controller loop.
Definition at line 241 of file DPControl.cpp.
void DPControl::step | ( | ) |
Performs one iteration.
Definition at line 189 of file DPControl.cpp.
PIDController labust::control::DPControl::distanceController [private] |
Definition at line 140 of file DPControl.hpp.
bool labust::control::DPControl::enable [private] |
Enabled.
Definition at line 152 of file DPControl.hpp.
High level controller service.
Definition at line 169 of file DPControl.hpp.
Definition at line 161 of file DPControl.hpp.
PIDController labust::control::DPControl::headingController [private] |
The horizontal distance PD controller. It has a limit on the P output value.
Definition at line 140 of file DPControl.hpp.
bool labust::control::DPControl::inRegion [private] |
Definition at line 152 of file DPControl.hpp.
ros::Time labust::control::DPControl::lastEst [private] |
Last message times.
Definition at line 125 of file DPControl.hpp.
Dynamic reconfigure callback. The safety test. Update the dynamic reconfiguration settings. The ROS node handles.
Definition at line 121 of file DPControl.hpp.
The publisher of the TAU message.
Definition at line 157 of file DPControl.hpp.
Definition at line 161 of file DPControl.hpp.
Definition at line 121 of file DPControl.hpp.
Definition at line 161 of file DPControl.hpp.
Definition at line 161 of file DPControl.hpp.
double labust::control::DPControl::safetyRadius [private] |
Definition at line 144 of file DPControl.hpp.
auv_msgs::NavSts labust::control::DPControl::state [private] |
Last received vehicle state.
Definition at line 148 of file DPControl.hpp.
The subscribed topics.
Definition at line 161 of file DPControl.hpp.
double labust::control::DPControl::surge [private] |
Definition at line 144 of file DPControl.hpp.
double labust::control::DPControl::timeout [private] |
Timeout
Definition at line 129 of file DPControl.hpp.
auv_msgs::NavSts labust::control::DPControl::trackPoint [private] |
Definition at line 148 of file DPControl.hpp.
double labust::control::DPControl::Ts [private] |
The sampling time.
Definition at line 144 of file DPControl.hpp.
Definition at line 161 of file DPControl.hpp.
The heading unwrapper.
Definition at line 165 of file DPControl.hpp.