This class detects the door handle in 3D point clouds. More...
#include <handle_detector.h>
This class detects the door handle in 3D point clouds.
This class projects the point cloud into the (tf) door frame (settable via parameter) and crops it to remove the (physical) door frame. It then determines the door plane via RANSAC and assumes the outlying points to be the handle.
Definition at line 25 of file handle_detector.h.
Definition at line 23 of file handle_detector.cpp.
void DoorHandleDetector::cloudCallback | ( | const PointCloudType::ConstPtr & | msg | ) |
Definition at line 58 of file handle_detector.cpp.
bool DoorHandleDetector::doorHandleRansac | ( | const PointCloudType & | cloud, |
PointCloudType & | handle_cloud, | ||
Eigen::Vector3f & | door_normal, | ||
double & | plane_distance_to_origin | ||
) |
Assumption: Clouds are in a frame where Z is vertical (up or down does not matter)
Definition at line 115 of file handle_detector.cpp.
void DoorHandleDetector::estimateDoorHandle | ( | const PointCloudType & | cloud, |
PointCloudType & | handle_cloud | ||
) |
computes angle, stores slope and intercept
Definition at line 209 of file handle_detector.cpp.
bool DoorHandleDetector::serviceCallback | ( | door_perception_msgs::DoorStateSrv::Request & | request, |
door_perception_msgs::DoorStateSrv::Response & | response | ||
) |
Definition at line 305 of file handle_detector.cpp.
bool DoorHandleDetector::switchActive | ( | std_srvs::Empty::Request & | req, |
std_srvs::Empty::Response & | res | ||
) |
Definition at line 287 of file handle_detector.cpp.
bool DoorHandleDetector::switchInactive | ( | std_srvs::Empty::Request & | req, |
std_srvs::Empty::Response & | res | ||
) |
Definition at line 295 of file handle_detector.cpp.
bool DoorHandleDetector::active_ [private] |
Definition at line 53 of file handle_detector.h.
Definition at line 52 of file handle_detector.h.
Definition at line 40 of file handle_detector.h.
Definition at line 51 of file handle_detector.h.
Definition at line 41 of file handle_detector.h.
std::string DoorHandleDetector::door_frame_ [private] |
Definition at line 49 of file handle_detector.h.
double DoorHandleDetector::door_radius_ [private] |
Definition at line 55 of file handle_detector.h.
Definition at line 56 of file handle_detector.h.
Definition at line 43 of file handle_detector.h.
Definition at line 48 of file handle_detector.h.
std::string DoorHandleDetector::filter_polygon_filename_ [private] |
Definition at line 54 of file handle_detector.h.
Definition at line 42 of file handle_detector.h.
Definition at line 45 of file handle_detector.h.
ros::NodeHandle DoorHandleDetector::node_ [private] |
Definition at line 37 of file handle_detector.h.
Definition at line 47 of file handle_detector.h.
Definition at line 46 of file handle_detector.h.
Definition at line 50 of file handle_detector.h.
Definition at line 38 of file handle_detector.h.
ros::Publisher DoorHandleDetector::vis_pub_ [private] |
Definition at line 44 of file handle_detector.h.