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

IRI ROS Specific Algorithm Class. More...

#include <segway_rmp400_odom_6d_alg_node.h>

Inheritance diagram for SegwayRmp400OdomAlgNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SegwayRmp400OdomAlgNode (void)
 Constructor.
 SegwayRmp400OdomAlgNode (void)
 Constructor.
 SegwayRmp400OdomAlgNode (void)
 Constructor.
 SegwayRmp400OdomAlgNode (void)
 Constructor.
 SegwayRmp400OdomAlgNode (void)
 Constructor.
 SegwayRmp400OdomAlgNode (void)
 Constructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.
 ~SegwayRmp400OdomAlgNode (void)
 Destructor.

Protected Member Functions

void addNodeDiagnostics (void)
 node add diagnostics
void addNodeDiagnostics (void)
 node add diagnostics
void addNodeDiagnostics (void)
 node add diagnostics
void addNodeDiagnostics (void)
 node add diagnostics
void addNodeDiagnostics (void)
 node add diagnostics
void addNodeDiagnostics (void)
 node add diagnostics
void mainNodeThread (void)
 main node thread
void mainNodeThread (void)
 main node thread
void mainNodeThread (void)
 main node thread
void mainNodeThread (void)
 main node thread
void mainNodeThread (void)
 main node thread
void mainNodeThread (void)
 main node thread
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback

Protected Attributes

tf::TransformBroadcaster odom_broadcaster_

Private Member Functions

void imu_callback (const sensor_msgs::Imu::ConstPtr &msg)
void imu_callback (const sensor_msgs::Imu::ConstPtr &msg)
void imu_callback (const sensor_msgs::Imu::ConstPtr &msg)
double pseudokalman3 (std::vector< double > v, std::vector< double > c)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)
void segway_status_callback (const iri_segway_rmp_msgs::SegwayRMP400Status::ConstPtr &msg)

Private Attributes

geometry_msgs::Transform accum_
std::string base_link_id_
Eigen::Matrix3f cov_
ros::Time current_time_
Eigen::Vector4f d
double dth_
double dx_local_accum_
double epsilon
bool first_imu_
bool first_segway_status_
Eigen::Matrix4f g
Eigen::Matrix4f H
Eigen::Matrix3f I
CMutex imu_mutex_
ros::Subscriber imu_subscriber_
Eigen::Matrix3f Jd_
Eigen::Matrix3f Jp_
ros::Time last_time_
ros::Time last_time_imu_
double left_wheels_velocity_
std::string odom_id_
ros::Publisher odom_publisher_
ros::Publisher odom_rel_publisher_
nav_msgs::Odometry Odometry_msg_
nav_msgs::Odometry Odometry_rel_msg_
double offset_fwd_
double offset_turn_
double p_
double pimu_
double pitch_rate_
std::vector< double > pk_
std::vector< double > pkc_
geometry_msgs::PoseWithCovariance pose_
bool publish_odom_rel_
bool publish_tf_
Eigen::Vector4f q
Eigen::Matrix3f Q_
Eigen::Matrix3f R
double r_
double right_wheels_velocity_
double rimu_
std::vector< double > rk_
std::vector< double > rkc_
double roll_rate_
CMutex segway_status_mutex_
ros::Subscriber segway_status_subscriber_
double sigma2_dth_
double sigma_dx_
double sigma_dx_fwd_
double sigma_dx_turn_
double sigma_thimu_
bool six_d_
Eigen::Vector3f t
Eigen::Vector3f ta
Eigen::Vector3f tb
std::string tf_prefix_
double th_
double thimu_
geometry_msgs::Transform transform_
geometry_msgs::TwistWithCovariance twist_
Eigen::Vector3f v
double vpimu_
double vrimu_
double vT_
double vthimu_
double vyimu_
std::vector< double > vyk_
std::vector< double > vykc_
Eigen::Vector3f w
Eigen::Vector3f wt
Eigen::Matrix3f wt_hat
double wt_norm
Eigen::Vector3f ww
double y_
double yaw_rate_
double yimu_

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 49 of file segway_rmp400_odom_6d_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 segway_rmp400_odom_6d_alg_node.cpp.

Destructor.

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

Definition at line 36 of file segway_rmp400_odom_6d_alg_node.cpp.

Constructor.

This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.

Destructor.

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

Constructor.

This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.

Destructor.

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

Constructor.

This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.

Destructor.

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

Constructor.

This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.

Destructor.

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

Constructor.

This constructor initializes specific class attributes and all ROS communications variables to enable message exchange.

Destructor.

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


Member Function Documentation

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

Definition at line 181 of file segway_rmp400_odom_6d_alg_node.cpp.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

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

Definition at line 267 of file segway_rmp400_odom_6dex_fused_alg_node.cpp.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

Definition at line 41 of file segway_rmp400_odom_6d_alg_node.cpp.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

Definition at line 174 of file segway_rmp400_odom_6d_alg_node.cpp.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

void SegwayRmp400OdomAlgNode::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< SegwayRmp400OdomAlgorithm >.

double SegwayRmp400OdomAlgNode::pseudokalman3 ( std::vector< double >  v,
std::vector< double >  c 
) [private]

Definition at line 77 of file segway_rmp400_odom_nokalman_alg_node.cpp.

Definition at line 148 of file segway_rmp400_odom_6d_alg_node.cpp.


Member Data Documentation

geometry_msgs::Transform SegwayRmp400OdomAlgNode::accum_ [private]

Definition at line 82 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 82 of file segway_rmp400_odom_6d_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::cov_ [private]

Definition at line 89 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 91 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Eigen::Vector4f SegwayRmp400OdomAlgNode::d [private]

Definition at line 96 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 79 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 90 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 87 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 87 of file segway_rmp400_odom_fused_alg_node.h.

Eigen::Matrix4f SegwayRmp400OdomAlgNode::g [private]

Definition at line 95 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Matrix4f SegwayRmp400OdomAlgNode::H [private]

Definition at line 83 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::I [private]

Definition at line 92 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 71 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Definition at line 69 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::Jd_ [private]

Definition at line 89 of file segway_rmp400_odom_fused_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::Jp_ [private]

Definition at line 89 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 90 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Definition at line 83 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 70 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 107 of file segway_rmp400_odom_6d_alg_node.h.

std::string SegwayRmp400OdomAlgNode::odom_id_ [private]

Definition at line 81 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 53 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 58 of file segway_rmp400_odom_fused_alg_node.h.

nav_msgs::Odometry SegwayRmp400OdomAlgNode::Odometry_msg_ [private]

Definition at line 54 of file segway_rmp400_odom_6d_alg_node.h.

nav_msgs::Odometry SegwayRmp400OdomAlgNode::Odometry_rel_msg_ [private]

Definition at line 59 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 86 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 86 of file segway_rmp400_odom_fused_alg_node.h.

double SegwayRmp400OdomAlgNode::p_ [private]

Definition at line 85 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 77 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 73 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_nokalman_alg_node.h.

Definition at line 79 of file segway_rmp400_odom_nokalman_alg_node.h.

geometry_msgs::PoseWithCovariance SegwayRmp400OdomAlgNode::pose_ [private]

Definition at line 75 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 96 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 83 of file segway_rmp400_odom_6d_alg_node.h.

Eigen::Vector4f SegwayRmp400OdomAlgNode::q [private]

Definition at line 97 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::Q_ [private]

Definition at line 89 of file segway_rmp400_odom_fused_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::R [private]

Definition at line 91 of file segway_rmp400_odom_6dex_alg_node.h.

double SegwayRmp400OdomAlgNode::r_ [private]

Definition at line 84 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 71 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 76 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_nokalman_alg_node.h.

Definition at line 79 of file segway_rmp400_odom_nokalman_alg_node.h.

Definition at line 74 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 59 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 57 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 85 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 85 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 85 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 85 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 85 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 81 of file segway_rmp400_odom_fused_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::t [private]

Definition at line 93 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::ta [private]

Definition at line 94 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::tb [private]

Definition at line 94 of file segway_rmp400_odom_6dex_alg_node.h.

std::string SegwayRmp400OdomAlgNode::tf_prefix_ [private]

Definition at line 80 of file segway_rmp400_odom_6d_alg_node.h.

double SegwayRmp400OdomAlgNode::th_ [private]

Definition at line 78 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_fused_alg_node.h.

geometry_msgs::Transform SegwayRmp400OdomAlgNode::transform_ [private]

Definition at line 77 of file segway_rmp400_odom_6d_alg_node.h.

geometry_msgs::TwistWithCovariance SegwayRmp400OdomAlgNode::twist_ [private]

Definition at line 76 of file segway_rmp400_odom_6d_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::v [private]

Definition at line 87 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 88 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Definition at line 87 of file segway_rmp400_odom_6dex_fused_alg_node.h.

double SegwayRmp400OdomAlgNode::vT_ [private]

Definition at line 75 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_fused_alg_node.h.

Definition at line 89 of file segway_rmp400_odom_6dex_fused_alg_node.h.

Definition at line 78 of file segway_rmp400_odom_nokalman_alg_node.h.

Definition at line 79 of file segway_rmp400_odom_nokalman_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::w [private]

Definition at line 84 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::wt [private]

Definition at line 85 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Matrix3f SegwayRmp400OdomAlgNode::wt_hat [private]

Definition at line 88 of file segway_rmp400_odom_6dex_alg_node.h.

Definition at line 89 of file segway_rmp400_odom_6dex_alg_node.h.

Eigen::Vector3f SegwayRmp400OdomAlgNode::ww [private]

Definition at line 86 of file segway_rmp400_odom_6dex_alg_node.h.

double SegwayRmp400OdomAlgNode::y_ [private]

Definition at line 86 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 72 of file segway_rmp400_odom_6d_alg_node.h.

Definition at line 88 of file segway_rmp400_odom_nokalman_alg_node.h.


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


iri_segway_rmp400_odom
Author(s): mmorta
autogenerated on Fri Dec 6 2013 23:10:58