Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
PeopleFollowerAlgNode Class Reference

IRI ROS Specific Algorithm Class. More...

#include <people_follower_alg_node.h>

Inheritance diagram for PeopleFollowerAlgNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PeopleFollowerAlgNode (void)
 Constructor.
 ~PeopleFollowerAlgNode (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 Types

enum  states {
  IDLE_STATE, REQ_MB_STATE, FOLLOWING_STATE, SUCCESS_STATE,
  UPDATE_STATE, PREEMPT_STATE
}

Private Member Functions

void followTargetGetFeedbackCallback (iri_nav_msgs::followTargetFeedbackPtr &feedback)
void followTargetGetResultCallback (iri_nav_msgs::followTargetResultPtr &result)
bool followTargetHasSucceedCallback (void)
bool followTargetIsFinishedCallback (void)
void followTargetStartCallback (const iri_nav_msgs::followTargetGoalConstPtr &goal)
void followTargetStopCallback (void)
void moveBaseActive ()
void moveBaseDone (const actionlib::SimpleClientGoalState &state, const move_base_msgs::MoveBaseResultConstPtr &result)
void moveBaseFeedback (const move_base_msgs::MoveBaseFeedbackConstPtr &feedback)
void moveBaseMakeActionRequest (const move_base_msgs::MoveBaseGoal &goal)
void target_pose_callback (const geometry_msgs::PoseStamped::ConstPtr &msg)

Private Attributes

geometry_msgs::PoseStamped current_global_target_pose_
states current_state_
float dist_to_goal_
CEventServer * event_server_
std::string fixed_frame_
std::string follow_target_done_event_id_
IriActionServer
< iri_nav_msgs::followTargetAction
followTarget_aserver_
geometry_msgs::PoseStamped global_target_goal_
actionlib::SimpleActionClient
< move_base_msgs::MoveBaseAction
moveBase_client_
std::string moveBase_done_event_id_
std::string moveBase_preempt_event_id_
std::string new_req_event_id_
unsigned int no_target_pose_msg_received_
unsigned int request_id_
std::string target_frame_
CMutex target_pose_mutex_
std::string target_pose_received_event_id_
ros::Subscriber target_pose_subscriber_
std::string tf_prefix_

Static Private Attributes

static const unsigned int MAX_ITERS_NO_MSG = 200

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 50 of file people_follower_alg_node.h.


Member Enumeration Documentation

Enumerator:
IDLE_STATE 
REQ_MB_STATE 
FOLLOWING_STATE 
SUCCESS_STATE 
UPDATE_STATE 
PREEMPT_STATE 

Definition at line 90 of file people_follower_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 6 of file people_follower_alg_node.cpp.

Destructor.

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

Definition at line 56 of file people_follower_alg_node.cpp.


Member Function Documentation

void PeopleFollowerAlgNode::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< PeopleFollowerAlgorithm >.

Definition at line 396 of file people_follower_alg_node.cpp.

Definition at line 317 of file people_follower_alg_node.cpp.

Definition at line 309 of file people_follower_alg_node.cpp.

Definition at line 295 of file people_follower_alg_node.cpp.

Definition at line 284 of file people_follower_alg_node.cpp.

Definition at line 265 of file people_follower_alg_node.cpp.

Definition at line 277 of file people_follower_alg_node.cpp.

void PeopleFollowerAlgNode::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< PeopleFollowerAlgorithm >.

Definition at line 67 of file people_follower_alg_node.cpp.

Definition at line 344 of file people_follower_alg_node.cpp.

Definition at line 325 of file people_follower_alg_node.cpp.

Definition at line 349 of file people_follower_alg_node.cpp.

Definition at line 367 of file people_follower_alg_node.cpp.

void PeopleFollowerAlgNode::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< PeopleFollowerAlgorithm >.

Definition at line 388 of file people_follower_alg_node.cpp.

void PeopleFollowerAlgNode::target_pose_callback ( const geometry_msgs::PoseStamped::ConstPtr &  msg) [private]

Definition at line 232 of file people_follower_alg_node.cpp.


Member Data Documentation

geometry_msgs::PoseStamped PeopleFollowerAlgNode::current_global_target_pose_ [private]

Definition at line 103 of file people_follower_alg_node.h.

Definition at line 91 of file people_follower_alg_node.h.

Definition at line 94 of file people_follower_alg_node.h.

CEventServer* PeopleFollowerAlgNode::event_server_ [private]

Definition at line 81 of file people_follower_alg_node.h.

std::string PeopleFollowerAlgNode::fixed_frame_ [private]

Definition at line 100 of file people_follower_alg_node.h.

Definition at line 88 of file people_follower_alg_node.h.

Definition at line 65 of file people_follower_alg_node.h.

geometry_msgs::PoseStamped PeopleFollowerAlgNode::global_target_goal_ [private]

Definition at line 102 of file people_follower_alg_node.h.

const unsigned int PeopleFollowerAlgNode::MAX_ITERS_NO_MSG = 200 [static, private]

Definition at line 96 of file people_follower_alg_node.h.

Definition at line 74 of file people_follower_alg_node.h.

Definition at line 85 of file people_follower_alg_node.h.

Definition at line 86 of file people_follower_alg_node.h.

Definition at line 84 of file people_follower_alg_node.h.

Definition at line 95 of file people_follower_alg_node.h.

unsigned int PeopleFollowerAlgNode::request_id_ [private]

Definition at line 93 of file people_follower_alg_node.h.

std::string PeopleFollowerAlgNode::target_frame_ [private]

Definition at line 99 of file people_follower_alg_node.h.

Definition at line 58 of file people_follower_alg_node.h.

Definition at line 87 of file people_follower_alg_node.h.

Definition at line 56 of file people_follower_alg_node.h.

std::string PeopleFollowerAlgNode::tf_prefix_ [private]

Definition at line 98 of file people_follower_alg_node.h.


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


iri_people_follower
Author(s):
autogenerated on Fri Dec 6 2013 23:15:31