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

IRI ROS Specific Algorithm Class. More...

#include <camera_people_detection_alg_node.h>

Inheritance diagram for CameraPeopleDetectionAlgNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CameraPeopleDetectionAlgNode (void)
 Constructor.
 ~CameraPeopleDetectionAlgNode (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 fillMarkerArray (const iri_perception_msgs::detectionArray &fusion_poses_msg, visualization_msgs::MarkerArray &markerArray_msg)
void filterLaserDetections (iri_perception_msgs::detectionArray &fusion_poses_msg, cv_bridge::CvImage &img_msg)
void image_callback (const sensor_msgs::ImageConstPtr &image_msg, const sensor_msgs::CameraInfoConstPtr &info_msg)
void laser_callback (const sensor_msgs::LaserScan::ConstPtr &msg)
void people_detection_callback (const iri_perception_msgs::detectionArray::ConstPtr &msg)
void tracker_callback (const iri_perception_msgs::peopleTrackingArray::ConstPtr &msg)

Private Attributes

CCamera_People_Detector cam_detector_
image_geometry::PinholeCameraModel cam_model_
image_transport::CameraSubscriber cam_sub_
cv_bridge::CvImagePtr cv_ptr_
image_transport::Publisher debug_img_publisher_
CEventServer * event_server_
float height_resize_
ros::Publisher image_detection_publisher_
CMutex image_mutex_
image_transport::ImageTransport it_
CMutex laser_mutex_
iri_perception_msgs::detectionArray laser_poses_msg_
ros::Subscriber laser_subscriber_
ros::Publisher markers_publisher_
double minthr_
std::string new_image_event_id_
std::string new_laser_event_id_
std::string new_tracker_event_id_
CMutex people_detection_mutex_
ros::Subscriber people_detection_subscriber_
sensor_msgs::LaserScan scan_
tf::TransformListener tf_listener_
iri_perception_msgs::peopleTrackingArray tracker_msg_
CMutex tracker_mutex_
ros::Subscriber tracker_subscriber_
float width_resize_

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 68 of file camera_people_detection_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 camera_people_detection_alg_node.cpp.

Destructor.

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

Definition at line 42 of file camera_people_detection_alg_node.cpp.


Member Function Documentation

void CameraPeopleDetectionAlgNode::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< CameraPeopleDetectionAlgorithm >.

Definition at line 412 of file camera_people_detection_alg_node.cpp.

void CameraPeopleDetectionAlgNode::fillMarkerArray ( const iri_perception_msgs::detectionArray fusion_poses_msg,
visualization_msgs::MarkerArray &  markerArray_msg 
) [private]

Definition at line 47 of file camera_people_detection_alg_node.cpp.

Definition at line 100 of file camera_people_detection_alg_node.cpp.

void CameraPeopleDetectionAlgNode::image_callback ( const sensor_msgs::ImageConstPtr &  image_msg,
const sensor_msgs::CameraInfoConstPtr &  info_msg 
) [private]

Definition at line 370 of file camera_people_detection_alg_node.cpp.

void CameraPeopleDetectionAlgNode::laser_callback ( const sensor_msgs::LaserScan::ConstPtr &  msg) [private]

Definition at line 339 of file camera_people_detection_alg_node.cpp.

void CameraPeopleDetectionAlgNode::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< CameraPeopleDetectionAlgorithm >.

Definition at line 267 of file camera_people_detection_alg_node.cpp.

void CameraPeopleDetectionAlgNode::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< CameraPeopleDetectionAlgorithm >.

Definition at line 400 of file camera_people_detection_alg_node.cpp.

Definition at line 356 of file camera_people_detection_alg_node.cpp.

Definition at line 316 of file camera_people_detection_alg_node.cpp.


Member Data Documentation

CCamera_People_Detector CameraPeopleDetectionAlgNode::cam_detector_ [private]

Definition at line 105 of file camera_people_detection_alg_node.h.

Definition at line 91 of file camera_people_detection_alg_node.h.

Definition at line 90 of file camera_people_detection_alg_node.h.

Definition at line 104 of file camera_people_detection_alg_node.h.

Definition at line 74 of file camera_people_detection_alg_node.h.

Definition at line 113 of file camera_people_detection_alg_node.h.

Definition at line 121 of file camera_people_detection_alg_node.h.

Definition at line 73 of file camera_people_detection_alg_node.h.

Definition at line 93 of file camera_people_detection_alg_node.h.

Definition at line 89 of file camera_people_detection_alg_node.h.

Definition at line 83 of file camera_people_detection_alg_node.h.

Definition at line 108 of file camera_people_detection_alg_node.h.

Definition at line 81 of file camera_people_detection_alg_node.h.

Definition at line 72 of file camera_people_detection_alg_node.h.

Definition at line 122 of file camera_people_detection_alg_node.h.

Definition at line 115 of file camera_people_detection_alg_node.h.

Definition at line 114 of file camera_people_detection_alg_node.h.

Definition at line 116 of file camera_people_detection_alg_node.h.

Definition at line 87 of file camera_people_detection_alg_node.h.

Definition at line 85 of file camera_people_detection_alg_node.h.

sensor_msgs::LaserScan CameraPeopleDetectionAlgNode::scan_ [private]

Definition at line 106 of file camera_people_detection_alg_node.h.

Definition at line 107 of file camera_people_detection_alg_node.h.

Definition at line 118 of file camera_people_detection_alg_node.h.

Definition at line 79 of file camera_people_detection_alg_node.h.

Definition at line 77 of file camera_people_detection_alg_node.h.

Definition at line 120 of file camera_people_detection_alg_node.h.


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


iri_camera_people_detection
Author(s): Joan Perez, jnperez at iri.upc.edu
autogenerated on Fri Dec 6 2013 22:21:44