#include "ros/ros.h"
#include "std_msgs/String.h"
#include <string>
#include <vector>
#include <map>
#include <ostream>
#include "ros/serialization.h"
#include "ros/builtin_message_traits.h"
#include "ros/message_operations.h"
#include "ros/time.h"
#include "ros/macros.h"
#include "ros/assert.h"
#include "geometry_msgs/Pose.h"
#include "tf/transform_listener.h"
#include "mtt/TargetList.h"
#include <visualization_msgs/Marker.h>
#include <visualization_msgs/MarkerArray.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <stdint.h>
#include <math.h>
#include "opencv2/core/types_c.h"
#include <limits.h>
#include "opencv2/core/core_c.h"
#include "opencv2/imgproc/types_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/features2d/features2d.hpp"
#include <iostream>
Go to the source code of this file.
Functions | |
void | drawPose (const geometry_msgs::Pose &input, uint target, double classification) |
int | main (int argc, char **argv) |
void | targetsCallback (const mtt::TargetList &list) |
ros::Time | time_last_msg (0) |
Variables | |
CvBoost | adaboost |
Code for feature extraction. | |
double | angle_to_robot |
uint | badLeader = 0 |
uint | counter = 0 |
ros::Duration | duration_btw_msg |
geometry_msgs::Twist | features |
double | heading_diff |
double | label |
double | lateral_disp |
visualization_msgs::MarkerArray | ma |
ros::Publisher | marker_pub |
std::list < geometry_msgs::PoseWithCovariance > | matlab_list |
geometry_msgs::PoseWithCovariance | nfeatures |
ros::Publisher | nfeatures_pub |
tf::TransformListener * | p_listener |
double | position_diff |
double | robot_theta |
double | robot_vel |
double | robot_x |
double | robot_y |
CvMat * | sample_to_classify = 0 |
uint | single_target = 0 |
uint | target_id = 0 |
double | target_theta |
double | target_vel |
double | target_x |
double | target_y |
ros::Duration | time_elapsed |
tf::StampedTransform | transform |
geometry_msgs::Twist | twist |
double | velocity_diff |
CvMat * | weak_responses = 0 |
void drawPose | ( | const geometry_msgs::Pose & | input, | |
uint | target, | |||
double | classification | |||
) |
Definition at line 89 of file classify_features.cpp.
int main | ( | int | argc, | |
char ** | argv | |||
) |
Definition at line 202 of file classify_features.cpp.
void targetsCallback | ( | const mtt::TargetList & | list | ) |
ros::Time time_last_msg | ( | 0 | ) |
CvBoost adaboost |
Code for feature extraction.
extract features from targets received from MTT wrt the robot the features are printed in the command line and should be stored in a file (txt) for further processing with matlab the features will be used for training a classifier
it is also responsible of publishing these features to a matlab classifier that will then output a message with the classification of the target based on its features
Definition at line 54 of file classify_features.cpp.
double angle_to_robot |
Definition at line 80 of file classify_features.cpp.
uint badLeader = 0 |
Definition at line 84 of file classify_features.cpp.
uint counter = 0 |
Definition at line 87 of file classify_features.cpp.
ros::Duration duration_btw_msg |
Definition at line 61 of file classify_features.cpp.
geometry_msgs::Twist features |
Definition at line 69 of file classify_features.cpp.
double heading_diff |
Definition at line 79 of file classify_features.cpp.
double label |
Definition at line 83 of file classify_features.cpp.
double lateral_disp |
Definition at line 82 of file classify_features.cpp.
visualization_msgs::MarkerArray ma |
Definition at line 71 of file classify_features.cpp.
ros::Publisher marker_pub |
Definition at line 63 of file classify_features.cpp.
std::list<geometry_msgs::PoseWithCovariance> matlab_list |
Definition at line 73 of file classify_features.cpp.
geometry_msgs::PoseWithCovariance nfeatures |
Definition at line 70 of file classify_features.cpp.
ros::Publisher nfeatures_pub |
Definition at line 62 of file classify_features.cpp.
tf::TransformListener* p_listener |
Definition at line 65 of file classify_features.cpp.
double position_diff |
Definition at line 79 of file classify_features.cpp.
double robot_theta |
Definition at line 78 of file classify_features.cpp.
double robot_vel |
Definition at line 78 of file classify_features.cpp.
double robot_x |
Definition at line 77 of file classify_features.cpp.
double robot_y |
Definition at line 77 of file classify_features.cpp.
CvMat* sample_to_classify = 0 |
Definition at line 55 of file classify_features.cpp.
uint single_target = 0 |
Definition at line 86 of file classify_features.cpp.
uint target_id = 0 |
Definition at line 85 of file classify_features.cpp.
double target_theta |
Definition at line 76 of file classify_features.cpp.
double target_vel |
Definition at line 76 of file classify_features.cpp.
double target_x |
Definition at line 75 of file classify_features.cpp.
double target_y |
Definition at line 75 of file classify_features.cpp.
ros::Duration time_elapsed |
Definition at line 60 of file classify_features.cpp.
tf::StampedTransform transform |
Definition at line 66 of file classify_features.cpp.
geometry_msgs::Twist twist |
Definition at line 68 of file classify_features.cpp.
double velocity_diff |
Definition at line 81 of file classify_features.cpp.
CvMat* weak_responses = 0 |
Definition at line 56 of file classify_features.cpp.