#include <ros/ros.h>#include <iostream>#include <cmath>#include <stdexcept>#include "duration.h"#include <sys/time.h>#include "ros/time.h"#include <cstdio>#include <sstream>#include <log4cxx/logger.h>#include "ros/console.h"#include <boost/static_assert.hpp>#include <cassert>#include <stdint.h>#include <assert.h>#include <stddef.h>#include <string>#include "ros/assert.h"#include <vector>#include <map>#include <set>#include <list>#include <boost/shared_ptr.hpp>#include <boost/weak_ptr.hpp>#include <boost/function.hpp>#include "exceptions.h"#include <boost/shared_array.hpp>#include "ros/types.h"#include "ros/forwards.h"#include "ros/common.h"#include "ros/macros.h"#include <string.h>#include <boost/array.hpp>#include "serialized_message.h"#include "message_forward.h"#include <boost/utility/enable_if.hpp>#include <boost/type_traits/remove_const.hpp>#include <boost/type_traits/remove_reference.hpp>#include "message_traits.h"#include "ros/exception.h"#include <boost/call_traits.hpp>#include <boost/mpl/and.hpp>#include <boost/mpl/or.hpp>#include <boost/mpl/not.hpp>#include <cstring>#include <boost/bind.hpp>#include <typeinfo>#include <ros/message.h>#include <boost/type_traits/is_void.hpp>#include <boost/type_traits/is_base_of.hpp>#include <boost/type_traits/is_const.hpp>#include <boost/type_traits/add_const.hpp>#include <boost/make_shared.hpp>#include <ros/static_assert.h>#include "ros/message_traits.h"#include "ros/builtin_message_traits.h"#include "ros/serialization.h"#include "ros/message_event.h"#include "forwards.h"#include "timer_options.h"#include "wall_timer_options.h"#include "ros/service_traits.h"#include <boost/lexical_cast.hpp>#include "subscription_callback_helper.h"#include "ros/spinner.h"#include <time.h>#include "ros/publisher.h"#include <boost/utility.hpp>#include "ros/service_server.h"#include "ros/subscriber.h"#include "ros/node_handle.h"#include "ros/init.h"#include "XmlRpcValue.h"#include "node_handle.h"#include "ros/names.h"#include <ostream>#include "ros/message_operations.h"#include "std_msgs/Header.h"#include <sensor_msgs/Image.h>#include <stdlib.h>#include <float.h>#include <math.h>#include <limits.h>#include "opencv2/core/core.hpp"#include "opencv2/core/types_c.h"#include "opencv2/imgproc/types_c.h"#include "opencv2/core/core_c.h"#include "geometry_msgs/Vector3.h"#include "geometry_msgs/Quaternion.h"#include "geometry_msgs/Point.h"#include "btMatrix3x3.h"#include "geometry_msgs/Pose.h"
Go to the source code of this file.
Classes | |
| struct | Observation |
| struct | Track |
Functions | |
| void | addToTrack (Observation &percept) |
| bool | checkPercept (Observation &percept, int plane) |
| void | CountConvexPoly (cv::Mat &img, const cv::Point *v, int npts, int &pixel_value, int &pixel_size, int &pixel_occ) |
| float | evalPercept (Observation &percept, int plane, bool draw=false) |
| bool | extractPlanes () |
| void | imageCallback (const sensor_msgs::Image::ConstPtr &msg) |
| void | infoCallback (const sensor_msgs::CameraInfo::ConstPtr &msg) |
| int | main (int argc, char **argv) |
| int | openChannel (articulation_msgs::TrackMsg &track, std::string name, bool autocreate) |
| float | optimizePercept (Observation &percept, int plane) |
| bool | sameObject (Observation &a, Observation &b) |
| cv::Point | samplePoint (int step) |
| void | sendTracks (std_msgs::Header header) |
| cv::Point | to2D (cv::Point3f pt) |
| cv::Point3f | to3D (cv::Point a) |
Variables | |
| sensor_msgs::CameraInfo::ConstPtr | cameraInfo_ |
| int | CLIP_BOTTOM = 16 |
| int | CLIP_LEFT = 16 |
| int | CLIP_RIGHT = 16 |
| int | CLIP_TOP = 40 |
| int | COST_FREE = 255 |
| int | COST_INPLANE = 0 |
| int | COST_OCCLUDED = 20 |
| int | COST_UNKNOWN = 20 |
| cv_bridge::CvImagePtr | cv_ptr |
| cv::Mat | debugImage_ |
| double | FILTER_Z = 2 |
| double | MAX_DIFF_ROT = M_PI/180*20 |
| double | MAX_DIFF_SIZE = 0.05 |
| double | MAX_DIFF_TRANS = 0.10 |
| const int | MAX_PLANES = 10 |
| cv::Vec3f | planeCenter [MAX_PLANES] |
| cv::Mat | planeImage [MAX_PLANES] |
| cv::Vec3f | planeNormal [MAX_PLANES] |
| int | PLANES = 1 |
| int | planeSize [MAX_PLANES] |
| double | PRIOR_HEIGHT = 0.1 |
| double | PRIOR_WIDTH = 0.1 |
| double | RANSAC_DISTANCE = 0.01 |
| int | RANSAC_DOWNSAMPLE = 15 |
| int | RANSAC_FITTING_ITERATIONS = 200 |
| int | RANSAC_ITERATIONS = 200 |
| bool | SHOW_IMAGES = true |
| int | STEP_FACTOR [] = {8,4,2,1} |
| double | STEP_ROT = M_PI/180*0.5 |
| double | STEP_TRANS = 0.005 |
| double | THRESHOLD_PRECISION = 0.7 |
| double | THRESHOLD_RECALL = 0.7 |
| cv::Mat | tmpImage_ |
| ros::Publisher | track_pub_ |
| std::vector< Track > | tracks |
| ros::Publisher | visualization_array_pub_ |
| ros::Publisher | visualization_pub_ |
| void addToTrack | ( | Observation & | percept | ) |
Definition at line 568 of file detector.cpp.
| bool checkPercept | ( | Observation & | percept, | |
| int | plane | |||
| ) |
Definition at line 458 of file detector.cpp.
| void CountConvexPoly | ( | cv::Mat & | img, | |
| const cv::Point * | v, | |||
| int | npts, | |||
| int & | pixel_value, | |||
| int & | pixel_size, | |||
| int & | pixel_occ | |||
| ) |
Definition at line 84 of file detector.cpp.
| float evalPercept | ( | Observation & | percept, | |
| int | plane, | |||
| bool | draw = false | |||
| ) |
Definition at line 405 of file detector.cpp.
| bool extractPlanes | ( | ) |
Definition at line 268 of file detector.cpp.
| void imageCallback | ( | const sensor_msgs::Image::ConstPtr & | msg | ) |
Definition at line 647 of file detector.cpp.
| void infoCallback | ( | const sensor_msgs::CameraInfo::ConstPtr & | msg | ) |
Definition at line 642 of file detector.cpp.
| int main | ( | int | argc, | |
| char ** | argv | |||
| ) |
Definition at line 716 of file detector.cpp.
| int openChannel | ( | articulation_msgs::TrackMsg & | track, | |
| std::string | name, | |||
| bool | autocreate | |||
| ) |
Definition at line 592 of file detector.cpp.
| float optimizePercept | ( | Observation & | percept, | |
| int | plane | |||
| ) |
Definition at line 480 of file detector.cpp.
| bool sameObject | ( | Observation & | a, | |
| Observation & | b | |||
| ) |
Definition at line 556 of file detector.cpp.
| cv::Point samplePoint | ( | int | step | ) |
Definition at line 240 of file detector.cpp.
| void sendTracks | ( | std_msgs::Header | header | ) |
Definition at line 613 of file detector.cpp.
| cv::Point to2D | ( | cv::Point3f | pt | ) | [inline] |
Definition at line 261 of file detector.cpp.
| cv::Point3f to3D | ( | cv::Point | a | ) | [inline] |
Definition at line 249 of file detector.cpp.
| sensor_msgs::CameraInfo::ConstPtr cameraInfo_ |
Definition at line 69 of file detector.cpp.
| int CLIP_BOTTOM = 16 |
Definition at line 50 of file detector.cpp.
| int CLIP_LEFT = 16 |
Definition at line 47 of file detector.cpp.
| int CLIP_RIGHT = 16 |
Definition at line 48 of file detector.cpp.
| int CLIP_TOP = 40 |
Definition at line 49 of file detector.cpp.
| int COST_FREE = 255 |
Definition at line 33 of file detector.cpp.
| int COST_INPLANE = 0 |
Definition at line 32 of file detector.cpp.
| int COST_OCCLUDED = 20 |
Definition at line 34 of file detector.cpp.
| int COST_UNKNOWN = 20 |
Definition at line 35 of file detector.cpp.
| cv_bridge::CvImagePtr cv_ptr |
Definition at line 70 of file detector.cpp.
| cv::Mat debugImage_ |
Definition at line 71 of file detector.cpp.
| double FILTER_Z = 2 |
Definition at line 30 of file detector.cpp.
| double MAX_DIFF_ROT = M_PI/180*20 |
Definition at line 53 of file detector.cpp.
| double MAX_DIFF_SIZE = 0.05 |
Definition at line 54 of file detector.cpp.
| double MAX_DIFF_TRANS = 0.10 |
Definition at line 52 of file detector.cpp.
| const int MAX_PLANES = 10 |
Definition at line 20 of file detector.cpp.
| cv::Vec3f planeCenter[MAX_PLANES] |
Definition at line 75 of file detector.cpp.
| cv::Mat planeImage[MAX_PLANES] |
Definition at line 73 of file detector.cpp.
| cv::Vec3f planeNormal[MAX_PLANES] |
Definition at line 76 of file detector.cpp.
| int PLANES = 1 |
Definition at line 22 of file detector.cpp.
| int planeSize[MAX_PLANES] |
Definition at line 74 of file detector.cpp.
| double PRIOR_HEIGHT = 0.1 |
Definition at line 38 of file detector.cpp.
| double PRIOR_WIDTH = 0.1 |
Definition at line 37 of file detector.cpp.
| double RANSAC_DISTANCE = 0.01 |
Definition at line 26 of file detector.cpp.
| int RANSAC_DOWNSAMPLE = 15 |
Definition at line 27 of file detector.cpp.
| int RANSAC_FITTING_ITERATIONS = 200 |
Definition at line 28 of file detector.cpp.
| int RANSAC_ITERATIONS = 200 |
Definition at line 25 of file detector.cpp.
| bool SHOW_IMAGES = true |
Definition at line 23 of file detector.cpp.
| int STEP_FACTOR[] = {8,4,2,1} |
Definition at line 42 of file detector.cpp.
| double STEP_ROT = M_PI/180*0.5 |
Definition at line 41 of file detector.cpp.
| double STEP_TRANS = 0.005 |
Definition at line 40 of file detector.cpp.
| double THRESHOLD_PRECISION = 0.7 |
Definition at line 44 of file detector.cpp.
| double THRESHOLD_RECALL = 0.7 |
Definition at line 45 of file detector.cpp.
| cv::Mat tmpImage_ |
Definition at line 72 of file detector.cpp.
| ros::Publisher track_pub_ |
Definition at line 80 of file detector.cpp.
Definition at line 82 of file detector.cpp.
| ros::Publisher visualization_array_pub_ |
Definition at line 79 of file detector.cpp.
| ros::Publisher visualization_pub_ |
Definition at line 78 of file detector.cpp.