Functions | Variables
line_fitting.cpp File Reference

Line fitting experimental code. More...

#include <ros/ros.h>
#include <visualization_msgs/Marker.h>
#include <visualization_msgs/MarkerArray.h>
#include <mtt/TargetListPC.h>
#include <tf/transform_listener.h>
#include <laser_geometry/laser_geometry.h>
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/surface/mls.h>
#include <pcl_conversions/pcl_conversions.h>
#include <mtt/mtt_common.h>
Include dependency graph for line_fitting.cpp:

Go to the source code of this file.

Functions

void calcClusterProps (vector< t_clustersPtr > &clusters, t_data &data)
 
void calcObjectProps (vector< t_objectPtr > &objects)
 
void cleanMarkers (void)
 
void cleanObjets (vector< t_objectPtr > &objects)
 
bool clustering (t_data &data, vector< t_clustersPtr > &clusters)
 
bool clustersToObjects (vector< t_clustersPtr > &clusters, t_data &data, vector< t_objectPtr > &objectsPtr)
 
void convertObjectsToTargetListPC (vector< t_objectPtr > &objects, mtt::TargetListPC &targets)
 
void createMarkers (mtt::TargetListPC &targets)
 
void free_lines (vector< t_objectPtr > &objects)
 Removes lines from memory. More...
 
int main (int argc, char **argv)
 
void maintenanceMarkers (vector< visualization_msgs::Marker > &markers)
 
void markersFromData (t_data &data)
 
double point2line_distance (double alpha, double ro, double x, double y)
 Calculates the line to point distance. More...
 
double point2point_distance (double xi, double yi, double xf, double yf)
 Calculates the distante between two points. More...
 
void pointCloud2ToData (const sensor_msgs::PointCloud2 &cloud, t_data &data)
 
void pointsHandler (const sensor_msgs::PointCloud2 &points)
 
void recursive_IEPF (t_objectPtr &object, t_data &data, int start, int end)
 
void recursive_line_fitting (t_objectPtr &object, t_cluster &cluster, t_data &data)
 

Variables

double angular_resolution =3*M_PI/180.
 
double clustering_threshold =0.3
 
string frame_id
 
int marker_id =0
 
map< pair< string, int >, pair
< visualization_msgs::Marker,
int > > 
marker_map
 
ros::Publisher markers_publisher
 
double max_mean_variance =0.03
 
ros::Time message_stamp
 
ros::Publisher target_publisher
 

Detailed Description

Line fitting experimental code.

Definition in file line_fitting.cpp.

Function Documentation

void calcClusterProps ( vector< t_clustersPtr > &  clusters,
t_data data 
)

Definition at line 196 of file line_fitting.cpp.

void calcObjectProps ( vector< t_objectPtr > &  objects)

Definition at line 80 of file line_fitting.cpp.

void cleanMarkers ( void  )

Definition at line 421 of file line_fitting.cpp.

void cleanObjets ( vector< t_objectPtr > &  objects)

Definition at line 75 of file line_fitting.cpp.

bool clustering ( t_data data,
vector< t_clustersPtr > &  clusters 
)

Definition at line 220 of file line_fitting.cpp.

bool clustersToObjects ( vector< t_clustersPtr > &  clusters,
t_data data,
vector< t_objectPtr > &  objectsPtr 
)

Definition at line 173 of file line_fitting.cpp.

void convertObjectsToTargetListPC ( vector< t_objectPtr > &  objects,
mtt::TargetListPC &  targets 
)

Definition at line 349 of file line_fitting.cpp.

void createMarkers ( mtt::TargetListPC &  targets)

Definition at line 453 of file line_fitting.cpp.

void free_lines ( vector< t_objectPtr > &  objects)

Removes lines from memory.

Parameters
objectslist of objects
Returns
void

Definition at line 69 of file line_fitting.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 619 of file line_fitting.cpp.

void maintenanceMarkers ( vector< visualization_msgs::Marker > &  markers)
Todo:
This should be erased but it is not working now marker_map.erase(it);

Definition at line 432 of file line_fitting.cpp.

void markersFromData ( t_data data)

Definition at line 531 of file line_fitting.cpp.

double point2line_distance ( double  alpha,
double  ro,
double  x,
double  y 
)

Calculates the line to point distance.

Parameters
alphapolar coordinates of the line
ropolar coordinates of the line
xcartesian coordinates of the point
y
Returns
algebric distance

Definition at line 66 of file line_fitting.cpp.

double point2point_distance ( double  xi,
double  yi,
double  xf,
double  yf 
)

Calculates the distante between two points.

Parameters
xi
yi
xf
yf
Returns
distance

Definition at line 63 of file line_fitting.cpp.

void pointCloud2ToData ( const sensor_msgs::PointCloud2 &  cloud,
t_data data 
)

Definition at line 284 of file line_fitting.cpp.

void pointsHandler ( const sensor_msgs::PointCloud2 &  points)

Definition at line 567 of file line_fitting.cpp.

void recursive_IEPF ( t_objectPtr object,
t_data data,
int  start,
int  end 
)

This functions malloc a line to work with, each time it mallocs a line it increments the number of lines object data

Definition at line 120 of file line_fitting.cpp.

void recursive_line_fitting ( t_objectPtr object,
t_cluster cluster,
t_data data 
)

Definition at line 165 of file line_fitting.cpp.

Variable Documentation

double angular_resolution =3*M_PI/180.

Definition at line 61 of file line_fitting.cpp.

double clustering_threshold =0.3

Definition at line 60 of file line_fitting.cpp.

string frame_id

Definition at line 55 of file line_fitting.cpp.

int marker_id =0

Definition at line 58 of file line_fitting.cpp.

map<pair<string,int>, pair<visualization_msgs::Marker,int> > marker_map

Definition at line 57 of file line_fitting.cpp.

ros::Publisher markers_publisher

Definition at line 54 of file line_fitting.cpp.

double max_mean_variance =0.03

Definition at line 59 of file line_fitting.cpp.

ros::Time message_stamp

Definition at line 56 of file line_fitting.cpp.

ros::Publisher target_publisher

Definition at line 53 of file line_fitting.cpp.



mtt
Author(s): Jorge Almeida
autogenerated on Mon Mar 2 2015 01:32:18