Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
UalCatecAlgNode Class Reference

IRI ROS Specific Algorithm Class. More...

#include <ual_catec_alg_node.h>

Inheritance diagram for UalCatecAlgNode:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 59 of file ual_catec_alg_node.h.


Constructor & Destructor Documentation

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.

Destructor.

This destructor frees all necessary dynamic memory allocated within this this class.

Definition at line 76 of file ual_catec_alg_node.cpp.


Member Function Documentation

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.

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.

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.

Parameters:
configan object with new configuration from all algorithm parameters defined in the config file.
levelinteger 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.

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.

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.


Member Data Documentation

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.

Definition at line 64 of file ual_catec_alg_node.h.

Definition at line 67 of file ual_catec_alg_node.h.

Definition at line 63 of file ual_catec_alg_node.h.

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.

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.

Definition at line 81 of file ual_catec_alg_node.h.

Definition at line 79 of file ual_catec_alg_node.h.

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.

Definition at line 63 of file ual_catec_alg_node.h.

Definition at line 63 of file ual_catec_alg_node.h.

Definition at line 63 of file ual_catec_alg_node.h.

Definition at line 72 of file ual_catec_alg_node.h.

Definition at line 64 of file ual_catec_alg_node.h.

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.

Definition at line 72 of file ual_catec_alg_node.h.

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.

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.

Definition at line 63 of file ual_catec_alg_node.h.

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.


The documentation for this class was generated from the following files:


iri_ual_catec
Author(s): Àngel Sanatamaria Navarro
autogenerated on Fri Dec 6 2013 21:24:08