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

IRI ROS Specific Algorithm Class. More...

#include <open_door_detector_alg_node.h>

Inheritance diagram for OpenDoorDetectorAlgNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 OpenDoorDetectorAlgNode (void)
 Constructor.
 ~OpenDoorDetectorAlgNode (void)
 Destructor.

Protected Member Functions

void addNodeDiagnostics (void)
 node add diagnostics
double AngleBetweenLines (cv::Point point1, cv::Point point2, cv::Point point3, cv::Point point4)
 Angle between two lines.
void DoorSizeCalibration (cv::Mat inputImage, double min_dst_h, double max_dst_h, double min_dst_v, double max_dst_v)
 Display door size limits.
void DrawRect (cv::Mat inputImage, cv::Point q1, cv::Point q2, cv::Point q3, cv::Point q4, cv::Scalar color, int lineSize, int filled)
 Draw Quadrilateral.
void mainNodeThread (void)
 main node thread
void node_config_update (Config &config, uint32_t level)
 dynamic reconfigure server callback

Private Member Functions

void door_action_start_callback (const std_msgs::Int8::ConstPtr &msg)
void image_color_callback (const sensor_msgs::Image::ConstPtr &msg)
void points_callback (const sensor_msgs::PointCloud2::ConstPtr &msg)

Private Attributes

float area_ratio
int aspect
bool Aspect_filter
double b1
double b2
cv::Point2d b_c1
cv::Point2d b_c2
cv::Point2d b_c3
cv::Point2d b_c4
float b_depth
cv::Point2d b_door_centroid
cv::Point2d b_handle
cv::Scalar black
cv::Point2d c1
cv::Point2d c2
cv::Point2d c3
cv::Point2d c4
cv::Point2d c5
cv::Point2d c6
cv::Point2d c7
cv::Point2d c8
int captured_depth
int check
pcl::PointCloud< pcl::PointXYZ > cloud
std::vector< cv::Vec3b > colorTab
int count
int cx_max
int cx_min
int cy_max
int cy_min
float * Da
int debugging_images
cv_bridge::CvImagePtr depth_raw
float * Di
float * Dii
float distance_to_room
CMutex door_action_start_mutex_
ros::Subscriber door_action_start_subscriber_
ros::Publisher door_centroid_publisher_
std_msgs::Int32MultiArray door_coordinates
int door_end
int door_x
int door_y
bool DSC
double dst
double dst_down
double dst_h
double dst_left
double dst_right
double dst_up
double dst_v
double dx
double dy
int f_c1
int f_c2
int f_c3
int f_c4
float frame_left
float frame_right
float frame_up
int frame_x
int frame_y
bool Geom_filter
int geometry
int idx
int idx_left
int idx_right
int idx_top
char * Ii
CMutex image_color_mutex_
ros::Subscriber image_color_subscriber_
std_msgs::Int32MultiArray Int32MultiArray_msg_
int jamb
float left_depth
float left_door_edge
int left_door_end
int lintel
double m1
double m2
float max_depth
double max_dst_h
double max_dst_v
double max_range
int max_x
int max_y
float meters
float min_depth
double min_dst_h
double min_dst_v
double min_range
int min_x
int min_y
bool no_simulator
int offset_d
int offset_l
int offset_r
int offset_u
ros::Publisher open_door_coordinates_publisher_
cv_bridge::CvImagePtr original
int p_set
bool Persp_filter
int perspective
int point
pcl::PointXYZ point3D
CMutex points_mutex_
ros::Subscriber points_subscriber_
geometry_msgs::PoseStamped poses
geometry_msgs::PoseStamped PoseStamped_msg_
float prev_depth
double r
bool Range_filter
float right_depth
float right_door_edge
int right_door_end
cv::RNG rng
int roi_x
int roi_y
float room_door_ratio
int room_frame_height
cv::Point2d s_door_centroid
double security_distance
int sensor_range
bool SFC
float side
int sill
int size
bool Size_filter
std::vector< cv::Point2d > ss_c1
std::vector< cv::Point2d > ss_c2
std::vector< cv::Point2d > ss_c3
std::vector< cv::Point2d > ss_c4
std::vector< float > ss_depth
std::vector< cv::Point2d > ss_door_centroid
int start
double step_x
double step_y
int support
bool SVL
bool SVP
double theta
double theta1
double theta2
double theta3
double theta4
std::vector< cv::Point2d > vec_down
size_t vec_end
std::vector< cv::Point2d > vec_left
std::vector< cv::Point2d > vec_right
size_t vec_start
std::vector< cv::Point2d > vec_up
cv::Scalar white
float x
float x_1
float x_2
float x_i
float x_left
float x_right
float y
float y_1
float y_2
float y_i
float y_top
float z
float z_i

Detailed Description

IRI ROS Specific Algorithm Class.

Definition at line 69 of file open_door_detector_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 9 of file open_door_detector_alg_node.cpp.

Destructor.

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

Definition at line 49 of file open_door_detector_alg_node.cpp.


Member Function Documentation

void OpenDoorDetectorAlgNode::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< OpenDoorDetectorAlgorithm >.

Definition at line 1306 of file open_door_detector_alg_node.cpp.

double OpenDoorDetectorAlgNode::AngleBetweenLines ( cv::Point  point1,
cv::Point  point2,
cv::Point  point3,
cv::Point  point4 
) [protected]

Angle between two lines.

Return minimum angle between two lines in radians

Definition at line 1361 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::door_action_start_callback ( const std_msgs::Int8::ConstPtr &  msg) [private]

Definition at line 69 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::DoorSizeCalibration ( cv::Mat  inputImage,
double  min_dst_h,
double  max_dst_h,
double  min_dst_v,
double  max_dst_v 
) [protected]

Display door size limits.

Display current door limits in inputImage in order to modify these parameters based on visual feedback

Definition at line 1317 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::DrawRect ( cv::Mat  inputImage,
cv::Point  q1,
cv::Point  q2,
cv::Point  q3,
cv::Point  q4,
cv::Scalar  color,
int  lineSize,
int  filled 
) [protected]

Draw Quadrilateral.

Draw a Quadrilateral shape on inputImage given 4 cvPoint coordinates in clockwise order. If filled == 0 4 lines are drawn. If filled == 1 a filled quadrilateral is drawn

Definition at line 1337 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::image_color_callback ( const sensor_msgs::Image::ConstPtr &  msg) [private]

Definition at line 95 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::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< OpenDoorDetectorAlgorithm >.

Definition at line 54 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::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< OpenDoorDetectorAlgorithm >.

Definition at line 1282 of file open_door_detector_alg_node.cpp.

void OpenDoorDetectorAlgNode::points_callback ( const sensor_msgs::PointCloud2::ConstPtr &  msg) [private]

Definition at line 124 of file open_door_detector_alg_node.cpp.


Member Data Documentation

Definition at line 186 of file open_door_detector_alg_node.h.

Definition at line 142 of file open_door_detector_alg_node.h.

Definition at line 111 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::b1 [private]

Definition at line 163 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::b2 [private]

Definition at line 164 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::b_c1 [private]

Definition at line 230 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::b_c2 [private]

Definition at line 231 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::b_c3 [private]

Definition at line 232 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::b_c4 [private]

Definition at line 233 of file open_door_detector_alg_node.h.

Definition at line 214 of file open_door_detector_alg_node.h.

Definition at line 228 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::b_handle [private]

Definition at line 229 of file open_door_detector_alg_node.h.

cv::Scalar OpenDoorDetectorAlgNode::black [private]

Definition at line 251 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c1 [private]

Definition at line 220 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c2 [private]

Definition at line 221 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c3 [private]

Definition at line 222 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c4 [private]

Definition at line 223 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c5 [private]

Definition at line 224 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c6 [private]

Definition at line 225 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c7 [private]

Definition at line 226 of file open_door_detector_alg_node.h.

cv::Point2d OpenDoorDetectorAlgNode::c8 [private]

Definition at line 227 of file open_door_detector_alg_node.h.

Definition at line 148 of file open_door_detector_alg_node.h.

Definition at line 141 of file open_door_detector_alg_node.h.

Definition at line 252 of file open_door_detector_alg_node.h.

Definition at line 247 of file open_door_detector_alg_node.h.

Definition at line 121 of file open_door_detector_alg_node.h.

Definition at line 125 of file open_door_detector_alg_node.h.

Definition at line 124 of file open_door_detector_alg_node.h.

Definition at line 127 of file open_door_detector_alg_node.h.

Definition at line 126 of file open_door_detector_alg_node.h.

float* OpenDoorDetectorAlgNode::Da [private]

Definition at line 217 of file open_door_detector_alg_node.h.

Definition at line 102 of file open_door_detector_alg_node.h.

Definition at line 235 of file open_door_detector_alg_node.h.

float* OpenDoorDetectorAlgNode::Di [private]

Definition at line 216 of file open_door_detector_alg_node.h.

float* OpenDoorDetectorAlgNode::Dii [private]

Definition at line 215 of file open_door_detector_alg_node.h.

Definition at line 210 of file open_door_detector_alg_node.h.

Definition at line 81 of file open_door_detector_alg_node.h.

Definition at line 79 of file open_door_detector_alg_node.h.

Definition at line 73 of file open_door_detector_alg_node.h.

std_msgs::Int32MultiArray OpenDoorDetectorAlgNode::door_coordinates [private]

Definition at line 249 of file open_door_detector_alg_node.h.

Definition at line 156 of file open_door_detector_alg_node.h.

Definition at line 130 of file open_door_detector_alg_node.h.

Definition at line 131 of file open_door_detector_alg_node.h.

Definition at line 104 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::dst [private]

Definition at line 183 of file open_door_detector_alg_node.h.

Definition at line 174 of file open_door_detector_alg_node.h.

Definition at line 167 of file open_door_detector_alg_node.h.

Definition at line 175 of file open_door_detector_alg_node.h.

Definition at line 176 of file open_door_detector_alg_node.h.

Definition at line 173 of file open_door_detector_alg_node.h.

Definition at line 168 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::dx [private]

Definition at line 165 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::dy [private]

Definition at line 166 of file open_door_detector_alg_node.h.

Definition at line 133 of file open_door_detector_alg_node.h.

Definition at line 134 of file open_door_detector_alg_node.h.

Definition at line 135 of file open_door_detector_alg_node.h.

Definition at line 136 of file open_door_detector_alg_node.h.

Definition at line 187 of file open_door_detector_alg_node.h.

Definition at line 188 of file open_door_detector_alg_node.h.

Definition at line 189 of file open_door_detector_alg_node.h.

Definition at line 122 of file open_door_detector_alg_node.h.

Definition at line 123 of file open_door_detector_alg_node.h.

Definition at line 110 of file open_door_detector_alg_node.h.

Definition at line 144 of file open_door_detector_alg_node.h.

Definition at line 116 of file open_door_detector_alg_node.h.

Definition at line 117 of file open_door_detector_alg_node.h.

Definition at line 118 of file open_door_detector_alg_node.h.

Definition at line 119 of file open_door_detector_alg_node.h.

char* OpenDoorDetectorAlgNode::Ii [private]

Definition at line 218 of file open_door_detector_alg_node.h.

Definition at line 84 of file open_door_detector_alg_node.h.

Definition at line 82 of file open_door_detector_alg_node.h.

std_msgs::Int32MultiArray OpenDoorDetectorAlgNode::Int32MultiArray_msg_ [private]

Definition at line 76 of file open_door_detector_alg_node.h.

Definition at line 153 of file open_door_detector_alg_node.h.

Definition at line 212 of file open_door_detector_alg_node.h.

Definition at line 190 of file open_door_detector_alg_node.h.

Definition at line 154 of file open_door_detector_alg_node.h.

Definition at line 151 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::m1 [private]

Definition at line 161 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::m2 [private]

Definition at line 162 of file open_door_detector_alg_node.h.

Definition at line 194 of file open_door_detector_alg_node.h.

Definition at line 172 of file open_door_detector_alg_node.h.

Definition at line 171 of file open_door_detector_alg_node.h.

Definition at line 185 of file open_door_detector_alg_node.h.

Definition at line 99 of file open_door_detector_alg_node.h.

Definition at line 101 of file open_door_detector_alg_node.h.

Definition at line 195 of file open_door_detector_alg_node.h.

Definition at line 193 of file open_door_detector_alg_node.h.

Definition at line 169 of file open_door_detector_alg_node.h.

Definition at line 170 of file open_door_detector_alg_node.h.

Definition at line 184 of file open_door_detector_alg_node.h.

Definition at line 98 of file open_door_detector_alg_node.h.

Definition at line 100 of file open_door_detector_alg_node.h.

Definition at line 103 of file open_door_detector_alg_node.h.

Definition at line 140 of file open_door_detector_alg_node.h.

Definition at line 137 of file open_door_detector_alg_node.h.

Definition at line 138 of file open_door_detector_alg_node.h.

Definition at line 139 of file open_door_detector_alg_node.h.

Definition at line 75 of file open_door_detector_alg_node.h.

Definition at line 236 of file open_door_detector_alg_node.h.

Definition at line 132 of file open_door_detector_alg_node.h.

Definition at line 109 of file open_door_detector_alg_node.h.

Definition at line 143 of file open_door_detector_alg_node.h.

Definition at line 120 of file open_door_detector_alg_node.h.

pcl::PointXYZ OpenDoorDetectorAlgNode::point3D [private]

Definition at line 253 of file open_door_detector_alg_node.h.

Definition at line 87 of file open_door_detector_alg_node.h.

Definition at line 85 of file open_door_detector_alg_node.h.

geometry_msgs::PoseStamped OpenDoorDetectorAlgNode::poses [private]

Definition at line 248 of file open_door_detector_alg_node.h.

geometry_msgs::PoseStamped OpenDoorDetectorAlgNode::PoseStamped_msg_ [private]

Definition at line 74 of file open_door_detector_alg_node.h.

Definition at line 192 of file open_door_detector_alg_node.h.

double OpenDoorDetectorAlgNode::r [private]

Definition at line 182 of file open_door_detector_alg_node.h.

Definition at line 108 of file open_door_detector_alg_node.h.

Definition at line 213 of file open_door_detector_alg_node.h.

Definition at line 191 of file open_door_detector_alg_node.h.

Definition at line 155 of file open_door_detector_alg_node.h.

cv::RNG OpenDoorDetectorAlgNode::rng [private]

Definition at line 234 of file open_door_detector_alg_node.h.

Definition at line 128 of file open_door_detector_alg_node.h.

Definition at line 129 of file open_door_detector_alg_node.h.

Definition at line 211 of file open_door_detector_alg_node.h.

Definition at line 152 of file open_door_detector_alg_node.h.

Definition at line 219 of file open_door_detector_alg_node.h.

Definition at line 113 of file open_door_detector_alg_node.h.

Definition at line 146 of file open_door_detector_alg_node.h.

Definition at line 107 of file open_door_detector_alg_node.h.

Definition at line 196 of file open_door_detector_alg_node.h.

Definition at line 150 of file open_door_detector_alg_node.h.

Definition at line 145 of file open_door_detector_alg_node.h.

Definition at line 112 of file open_door_detector_alg_node.h.

Definition at line 243 of file open_door_detector_alg_node.h.

Definition at line 244 of file open_door_detector_alg_node.h.

Definition at line 245 of file open_door_detector_alg_node.h.

Definition at line 246 of file open_door_detector_alg_node.h.

Definition at line 242 of file open_door_detector_alg_node.h.

Definition at line 241 of file open_door_detector_alg_node.h.

Definition at line 147 of file open_door_detector_alg_node.h.

Definition at line 159 of file open_door_detector_alg_node.h.

Definition at line 160 of file open_door_detector_alg_node.h.

Definition at line 149 of file open_door_detector_alg_node.h.

Definition at line 106 of file open_door_detector_alg_node.h.

Definition at line 105 of file open_door_detector_alg_node.h.

Definition at line 177 of file open_door_detector_alg_node.h.

Definition at line 178 of file open_door_detector_alg_node.h.

Definition at line 179 of file open_door_detector_alg_node.h.

Definition at line 180 of file open_door_detector_alg_node.h.

Definition at line 181 of file open_door_detector_alg_node.h.

Definition at line 240 of file open_door_detector_alg_node.h.

Definition at line 158 of file open_door_detector_alg_node.h.

Definition at line 237 of file open_door_detector_alg_node.h.

Definition at line 238 of file open_door_detector_alg_node.h.

Definition at line 157 of file open_door_detector_alg_node.h.

Definition at line 239 of file open_door_detector_alg_node.h.

cv::Scalar OpenDoorDetectorAlgNode::white [private]

Definition at line 250 of file open_door_detector_alg_node.h.

float OpenDoorDetectorAlgNode::x [private]

Definition at line 207 of file open_door_detector_alg_node.h.

Definition at line 203 of file open_door_detector_alg_node.h.

Definition at line 204 of file open_door_detector_alg_node.h.

Definition at line 197 of file open_door_detector_alg_node.h.

Definition at line 198 of file open_door_detector_alg_node.h.

Definition at line 199 of file open_door_detector_alg_node.h.

float OpenDoorDetectorAlgNode::y [private]

Definition at line 208 of file open_door_detector_alg_node.h.

Definition at line 206 of file open_door_detector_alg_node.h.

Definition at line 205 of file open_door_detector_alg_node.h.

Definition at line 200 of file open_door_detector_alg_node.h.

Definition at line 201 of file open_door_detector_alg_node.h.

float OpenDoorDetectorAlgNode::z [private]

Definition at line 209 of file open_door_detector_alg_node.h.

Definition at line 202 of file open_door_detector_alg_node.h.


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


iri_door_detector
Author(s): Jose Rodriguez
autogenerated on Fri Dec 6 2013 23:57:17