35 #include <Eigen/Dense> 37 #include <visualization_msgs/Marker.h> 38 #include "datmo/Track.h" 43 using namespace Eigen;
45 typedef std::pair<double, double>
Point;
60 unsigned long int age;
63 visualization_msgs::Marker getBoundingBoxCenterVisualisationMessage();
64 visualization_msgs::Marker getClosestCornerPointVisualisationMessage();
65 visualization_msgs::Marker getClusterVisualisationMessage();
66 visualization_msgs::Marker getLineVisualisationMessage();
67 visualization_msgs::Marker getArrowVisualisationMessage();
68 visualization_msgs::Marker getThetaL2VisualisationMessage();
69 visualization_msgs::Marker getThetaL1VisualisationMessage();
70 visualization_msgs::Marker getThetaBoxVisualisationMessage();
71 visualization_msgs::Marker getBoundingBoxVisualisationMessage();
72 visualization_msgs::Marker getBoxModelKFVisualisationMessage();
73 visualization_msgs::Marker getLShapeVisualisationMessage();
74 visualization_msgs::Marker getBoxSolidVisualisationMessage();
78 std::pair<double, double>
mean() {
return mean_values; };
79 double meanX() {
return mean_values.first; };
80 double meanY() {
return mean_values.second;};
86 double cx, cy, cvx, cvy, L1_box, L2_box, th, psi, comega, length_box,
width_box;
87 double x_ukf,
y_ukf, vx_ukf, vy_ukf, omega_ukf;
104 void populateTrackingMsgs(
const double& dt);
106 void rectangleFitting(
const pointList& );
107 double areaCriterion(
const VectorXd&,
const VectorXd& );
108 double closenessCriterion(
const VectorXd& ,
const VectorXd&,
const double& );
109 Point lineIntersection(
double& ,
double& ,
double& ,
double& ,
double& ,
double& );
110 double perpendicularDistance(
const Point&,
const Point&,
const Point&);
111 void ramerDouglasPeucker(
const std::vector<Point>&,
double, std::vector<Point>&);
datmo::Track msg_track_box_kf
std::vector< Point > corner_list
std::vector< Point > l1l2
visualization_msgs::Marker boxcenter_marker_
Point closest_corner_point
std::pair< double, double > Point
void update(const std::string &key, const XmlRpc::XmlRpcValue &v)
std::vector< Point > pointList
tf2::Quaternion quaternion
std::pair< double, double > mean_values
std::pair< double, double > previous_mean_values
std::pair< double, double > mean()