IRI ROS Specific Algorithm Class. More...
#include <ual_catec_alg_node.h>
Public Member Functions | |
UalCatecAlgNode (void) | |
Constructor. | |
~UalCatecAlgNode (void) | |
Destructor. | |
Protected Member Functions | |
void | addNodeDiagnostics (void) |
node add diagnostics | |
void | mainNodeThread (void) |
main node thread | |
void | node_config_update (Config &config, uint32_t level) |
dynamic reconfigure server callback | |
Private Member Functions | |
void | input_tag_callback (const ar_pose::ARMarkers::ConstPtr &msg) |
void | land_actionActive () |
void | land_actionDone (const actionlib::SimpleClientGoalState &state, const catec_actions_msgs::LandResultConstPtr &result) |
void | land_actionFeedback (const catec_actions_msgs::LandFeedbackConstPtr &feedback) |
void | land_actionMakeActionRequest () |
string | landMessage (const catec_actions_msgs::LandResultConstPtr &result) |
void | take_off_actionActive () |
void | take_off_actionDone (const actionlib::SimpleClientGoalState &state, const catec_actions_msgs::TakeOffResultConstPtr &result) |
void | take_off_actionFeedback (const catec_actions_msgs::TakeOffFeedbackConstPtr &feedback) |
void | take_off_actionMakeActionRequest () |
string | takeOffMessage (const catec_actions_msgs::TakeOffResultConstPtr &result) |
void | ual_state_callback (const catec_msgs::UALStateStamped::ConstPtr &msg) |
Private Attributes | |
btMatrix3x3 | body_earth_rot_ |
ros::Publisher | control_references_rw_publisher_ |
catec_msgs::ControlReferenceRwStamped | ControlReferenceRwStamped_msg_ |
double | cruise_ |
double | dist_to_tag_ |
int | fixed_to_id_ |
bool | go_initial_tag_pose_ |
double | goal_cruise_ |
double | goal_x_ |
double | goal_y_ |
double | goal_yaw_ |
double | goal_z_ |
double | ini_pos_x_ |
double | ini_pos_y_ |
double | ini_pos_yaw_ |
double | ini_pos_z_ |
CMutex | input_tag_mutex_ |
ros::Subscriber | input_tag_subscriber_ |
bool | land_action_ |
actionlib::SimpleActionClient < catec_actions_msgs::LandAction > | land_action_client_ |
catec_actions_msgs::LandGoal | land_action_goal_ |
Eigen::MatrixXf | land_pos_ |
bool | land_position_fixed_ |
bool | land_position_ok_ |
bool | LandGoalSended_ |
ros::Time | last_t_tag_ |
double | marker_cruise_ |
geometry_msgs::Pose | pose_ |
double | quad_x_ |
double | quad_y_ |
double | quad_yaw_ |
double | quad_z_ |
double | seq_ |
ros::Time | t_ |
bool | tag_detected_ |
double | tag_x_ |
double | tag_y_ |
double | tag_yaw_ |
double | tag_z_ |
bool | take_off_action_ |
actionlib::SimpleActionClient < catec_actions_msgs::TakeOffAction > | take_off_action_client_ |
catec_actions_msgs::TakeOffGoal | take_off_action_goal_ |
bool | TakeOffGoalSended_ |
CMutex | ual_state_mutex_ |
ros::Subscriber | ual_state_subscriber_ |
double | yaw_cruise_ |
IRI ROS Specific Algorithm Class.
Definition at line 59 of file ual_catec_alg_node.h.
UalCatecAlgNode::UalCatecAlgNode | ( | void | ) |
Constructor.
This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.
Definition at line 32 of file ual_catec_alg_node.cpp.
UalCatecAlgNode::~UalCatecAlgNode | ( | void | ) |
Destructor.
This destructor frees all necessary dynamic memory allocated within this this class.
Definition at line 76 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::addNodeDiagnostics | ( | void | ) | [protected, virtual] |
node add diagnostics
In this abstract function additional ROS diagnostics applied to the specific algorithms may be added.
Implements algorithm_base::IriBaseAlgorithm< UalCatecAlgorithm >.
Definition at line 464 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::input_tag_callback | ( | const ar_pose::ARMarkers::ConstPtr & | msg | ) | [private] |
Definition at line 229 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::land_actionActive | ( | ) | [private] |
Definition at line 342 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::land_actionDone | ( | const actionlib::SimpleClientGoalState & | state, |
const catec_actions_msgs::LandResultConstPtr & | result | ||
) | [private] |
Definition at line 350 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::land_actionFeedback | ( | const catec_actions_msgs::LandFeedbackConstPtr & | feedback | ) | [private] |
Definition at line 346 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::land_actionMakeActionRequest | ( | ) | [private] |
Definition at line 380 of file ual_catec_alg_node.cpp.
std::string UalCatecAlgNode::landMessage | ( | const catec_actions_msgs::LandResultConstPtr & | result | ) | [private] |
Definition at line 399 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::mainNodeThread | ( | void | ) | [protected, virtual] |
main node thread
This is the main thread node function. Code written here will be executed in every node loop while the algorithm is on running state. Loop frequency can be tuned by modifying loop_rate attribute.
Here data related to the process loop or to ROS topics (mainly data structs related to the MSG and SRV files) must be updated. ROS publisher objects must publish their data in this process. ROS client servers may also request data to the corresponding server topics.
Implements algorithm_base::IriBaseAlgorithm< UalCatecAlgorithm >.
Definition at line 81 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::node_config_update | ( | Config & | config, |
uint32_t | level | ||
) | [protected, virtual] |
dynamic reconfigure server callback
This method is called whenever a new configuration is received through the dynamic reconfigure. The derivated generic algorithm class must implement it.
config | an object with new configuration from all algorithm parameters defined in the config file. |
level | integer referring the level in which the configuration has been changed. |
Implements algorithm_base::IriBaseAlgorithm< UalCatecAlgorithm >.
Definition at line 438 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::take_off_actionActive | ( | ) | [private] |
Definition at line 322 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::take_off_actionDone | ( | const actionlib::SimpleClientGoalState & | state, |
const catec_actions_msgs::TakeOffResultConstPtr & | result | ||
) | [private] |
Definition at line 330 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::take_off_actionFeedback | ( | const catec_actions_msgs::TakeOffFeedbackConstPtr & | feedback | ) | [private] |
Definition at line 326 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::take_off_actionMakeActionRequest | ( | ) | [private] |
Definition at line 362 of file ual_catec_alg_node.cpp.
std::string UalCatecAlgNode::takeOffMessage | ( | const catec_actions_msgs::TakeOffResultConstPtr & | result | ) | [private] |
Definition at line 418 of file ual_catec_alg_node.cpp.
void UalCatecAlgNode::ual_state_callback | ( | const catec_msgs::UALStateStamped::ConstPtr & | msg | ) | [private] |
Definition at line 287 of file ual_catec_alg_node.cpp.
btMatrix3x3 UalCatecAlgNode::body_earth_rot_ [private] |
Definition at line 69 of file ual_catec_alg_node.h.
Definition at line 75 of file ual_catec_alg_node.h.
catec_msgs::ControlReferenceRwStamped UalCatecAlgNode::ControlReferenceRwStamped_msg_ [private] |
Definition at line 76 of file ual_catec_alg_node.h.
double UalCatecAlgNode::cruise_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::dist_to_tag_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
int UalCatecAlgNode::fixed_to_id_ [private] |
Definition at line 67 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::go_initial_tag_pose_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
double UalCatecAlgNode::goal_cruise_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::goal_x_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::goal_y_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::goal_yaw_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::goal_z_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::ini_pos_x_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::ini_pos_y_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::ini_pos_yaw_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::ini_pos_z_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
CMutex UalCatecAlgNode::input_tag_mutex_ [private] |
Definition at line 81 of file ual_catec_alg_node.h.
Definition at line 79 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::land_action_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
actionlib::SimpleActionClient<catec_actions_msgs::LandAction> UalCatecAlgNode::land_action_client_ [private] |
Definition at line 100 of file ual_catec_alg_node.h.
catec_actions_msgs::LandGoal UalCatecAlgNode::land_action_goal_ [private] |
Definition at line 101 of file ual_catec_alg_node.h.
Eigen::MatrixXf UalCatecAlgNode::land_pos_ [private] |
Definition at line 65 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::land_position_fixed_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::land_position_ok_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::LandGoalSended_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
ros::Time UalCatecAlgNode::last_t_tag_ [private] |
Definition at line 72 of file ual_catec_alg_node.h.
double UalCatecAlgNode::marker_cruise_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
geometry_msgs::Pose UalCatecAlgNode::pose_ [private] |
Definition at line 71 of file ual_catec_alg_node.h.
double UalCatecAlgNode::quad_x_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::quad_y_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::quad_yaw_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::quad_z_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::seq_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
ros::Time UalCatecAlgNode::t_ [private] |
Definition at line 72 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::tag_detected_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
double UalCatecAlgNode::tag_x_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::tag_y_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::tag_yaw_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
double UalCatecAlgNode::tag_z_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::take_off_action_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
actionlib::SimpleActionClient<catec_actions_msgs::TakeOffAction> UalCatecAlgNode::take_off_action_client_ [private] |
Definition at line 93 of file ual_catec_alg_node.h.
catec_actions_msgs::TakeOffGoal UalCatecAlgNode::take_off_action_goal_ [private] |
Definition at line 94 of file ual_catec_alg_node.h.
bool UalCatecAlgNode::TakeOffGoalSended_ [private] |
Definition at line 63 of file ual_catec_alg_node.h.
CMutex UalCatecAlgNode::ual_state_mutex_ [private] |
Definition at line 84 of file ual_catec_alg_node.h.
Definition at line 82 of file ual_catec_alg_node.h.
double UalCatecAlgNode::yaw_cruise_ [private] |
Definition at line 64 of file ual_catec_alg_node.h.