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

IRI ROS Specific Algorithm Class. More...

#include <uncalibvs_alg_node.h>

Inheritance diagram for UncalibvsAlgNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 UncalibvsAlgNode (void)
 Constructor.
 ~UncalibvsAlgNode (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 height_callback (const mav_msgs::Height::ConstPtr &msg)
void imu_callback (const sensor_msgs::Imu::ConstPtr &msg)
void input_tag_callback (const ar_pose::ARMarkers::ConstPtr &msg)
void ll_status_callback (const asctec_msgs::LLStatus::ConstPtr &msg)
void model_state_callback (const asctec_msgs::IMUCalcData::ConstPtr &msg)

Private Attributes

bool activate_
double angle_pitch_
double angle_roll_
geometry_msgs::Twist body_twist_msg_
ros::Publisher body_twist_publisher_
std_msgs::Bool Bool_msg_
double buff_speed_
bool calibrated_ctrl_
std_msgs::Float64 cmd_pitch_msg_
ros::Publisher cmd_pitch_publisher_
std_msgs::Float64 cmd_roll_msg_
ros::Publisher cmd_roll_publisher_
std_msgs::Float64 cmd_thrust_msg_
ros::Publisher cmd_thrust_publisher_
std_msgs::Float64 cmd_yaw_msg_
ros::Publisher cmd_yaw_publisher_
double ctrl_ref_
double ENUyaw_
double ENUyaw_fix_
Eigen::MatrixXf error_
bool estop_
ros::Publisher ESTOP_publisher_
double final_z_
double height_
double height_fix_
CMutex height_mutex_
ros::Subscriber height_subscriber_
CMutex imu_mutex_
ros::Subscriber imu_subscriber_
bool init_
CMutex input_tag_mutex_
ros::Subscriber input_tag_subscriber_
double lambda_
CMutex ll_status_mutex_
ros::Subscriber ll_status_subscriber_
CMutex model_state_mutex_
ros::Subscriber model_state_subscriber_
bool output_files_
std::string path_
control_toolbox::Pid pid_pitch_
control_toolbox::Pid pid_roll_
control_toolbox::Pid pid_thrust_
control_toolbox::Pid pid_yaw_
iri_uncalibvs::control pitch_control_msg_
ros::Publisher pitch_control_publisher_
double pitch_kd_
double pitch_kp_
bool quadrotor_
bool random_points_
iri_uncalibvs::control roll_control_msg_
ros::Publisher roll_control_publisher_
double roll_kd_
double roll_kp_
int rollpitch_div_
double rollpitch_sat_max_
double rollpitch_sat_min_
Eigen::Matrix3f Rquad_inertial_
double sat_max_
double sat_min_
bool serial_
ros::Publisher state_publisher_
mav_msgs::Status Status_msg_
Eigen::MatrixXf tag_error_
control_toolbox::Pid tag_pid_pitch_
control_toolbox::Pid tag_pid_roll_
control_toolbox::Pid tag_pid_thrust_
control_toolbox::Pid tag_pid_yaw_
double tag_pitch_kd_
double tag_pitch_kp_
double tag_roll_kd_
double tag_roll_kp_
double tag_thrust_kd_
double tag_thrust_kp_
double tag_yaw_kd_
double tag_yaw_kp_
iri_uncalibvs::control thrust_control_msg_
ros::Publisher thrust_control_publisher_
double thrust_kd_
double thrust_kp_
ros::Time time_
ros::Time time_last_
bool traditional_
double trimm_x_
double trimm_y_
geometry_msgs::Twist twist_ctrl_out_
geometry_msgs::Twist twist_quad_
geometry_msgs::Twist twist_quad_asctec_
Uncalibvs_Algorithm uncalib_vs_alg_
iri_uncalibvs::control yaw_control_msg_
ros::Publisher yaw_control_publisher_
double yaw_kd_
double yaw_kp_
double yaw_sat_max_
double yaw_sat_min_

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 62 of file uncalibvs_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 3 of file uncalibvs_alg_node.cpp.

Destructor.

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

Definition at line 100 of file uncalibvs_alg_node.cpp.


Member Function Documentation

void UncalibvsAlgNode::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< Uncalibvs_Algorithm >.

Definition at line 715 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::height_callback ( const mav_msgs::Height::ConstPtr &  msg) [private]

Definition at line 190 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::imu_callback ( const sensor_msgs::Imu::ConstPtr &  msg) [private]

Definition at line 209 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::input_tag_callback ( const ar_pose::ARMarkers::ConstPtr &  msg) [private]

Temp to put control without marker only on Z axis

Pose-based Control

Image-based Control

Definition at line 409 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::ll_status_callback ( const asctec_msgs::LLStatus::ConstPtr &  msg) [private]

Definition at line 147 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::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< Uncalibvs_Algorithm >.

Definition at line 105 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::model_state_callback ( const asctec_msgs::IMUCalcData::ConstPtr &  msg) [private]

Definition at line 336 of file uncalibvs_alg_node.cpp.

void UncalibvsAlgNode::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< Uncalibvs_Algorithm >.

Definition at line 653 of file uncalibvs_alg_node.cpp.


Member Data Documentation

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

geometry_msgs::Twist UncalibvsAlgNode::body_twist_msg_ [private]

Definition at line 67 of file uncalibvs_alg_node.h.

Definition at line 66 of file uncalibvs_alg_node.h.

std_msgs::Bool UncalibvsAlgNode::Bool_msg_ [private]

Definition at line 87 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 81 of file uncalibvs_alg_node.h.

Definition at line 80 of file uncalibvs_alg_node.h.

Definition at line 83 of file uncalibvs_alg_node.h.

Definition at line 82 of file uncalibvs_alg_node.h.

Definition at line 85 of file uncalibvs_alg_node.h.

Definition at line 84 of file uncalibvs_alg_node.h.

Definition at line 79 of file uncalibvs_alg_node.h.

Definition at line 78 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::ctrl_ref_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::ENUyaw_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Eigen::MatrixXf UncalibvsAlgNode::error_ [private]

Definition at line 122 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 86 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::final_z_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::height_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 96 of file uncalibvs_alg_node.h.

Definition at line 94 of file uncalibvs_alg_node.h.

CMutex UncalibvsAlgNode::imu_mutex_ [private]

Definition at line 99 of file uncalibvs_alg_node.h.

Definition at line 97 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 104 of file uncalibvs_alg_node.h.

Definition at line 105 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::lambda_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 93 of file uncalibvs_alg_node.h.

Definition at line 91 of file uncalibvs_alg_node.h.

Definition at line 102 of file uncalibvs_alg_node.h.

Definition at line 100 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

std::string UncalibvsAlgNode::path_ [private]

Definition at line 113 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 71 of file uncalibvs_alg_node.h.

Definition at line 70 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::pitch_kd_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::pitch_kp_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 73 of file uncalibvs_alg_node.h.

Definition at line 72 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::roll_kd_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::roll_kp_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 119 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Eigen::Matrix3f UncalibvsAlgNode::Rquad_inertial_ [private]

Definition at line 121 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::sat_max_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::sat_min_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

Definition at line 76 of file uncalibvs_alg_node.h.

Definition at line 77 of file uncalibvs_alg_node.h.

Eigen::MatrixXf UncalibvsAlgNode::tag_error_ [private]

Definition at line 122 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 115 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 75 of file uncalibvs_alg_node.h.

Definition at line 74 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::thrust_kd_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::thrust_kp_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 117 of file uncalibvs_alg_node.h.

Definition at line 117 of file uncalibvs_alg_node.h.

Definition at line 109 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::trimm_x_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::trimm_y_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

geometry_msgs::Twist UncalibvsAlgNode::twist_ctrl_out_ [private]

Definition at line 88 of file uncalibvs_alg_node.h.

geometry_msgs::Twist UncalibvsAlgNode::twist_quad_ [private]

Definition at line 88 of file uncalibvs_alg_node.h.

geometry_msgs::Twist UncalibvsAlgNode::twist_quad_asctec_ [private]

Definition at line 88 of file uncalibvs_alg_node.h.

Definition at line 107 of file uncalibvs_alg_node.h.

Definition at line 69 of file uncalibvs_alg_node.h.

Definition at line 68 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::yaw_kd_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

double UncalibvsAlgNode::yaw_kp_ [private]

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.

Definition at line 111 of file uncalibvs_alg_node.h.


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


iri_uncalibvs
Author(s): Àngel Sanatamaria Navarro
autogenerated on Fri Dec 6 2013 23:40:59