Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Cluster Class Reference

#include <cluster.hpp>

Public Member Functions

 Cluster (unsigned long int id, const pointList &, const double &, const std::string &, const tf::Transform &ego_pose)
 
visualization_msgs::Marker getArrowVisualisationMessage ()
 
visualization_msgs::Marker getBoundingBoxCenterVisualisationMessage ()
 
visualization_msgs::Marker getBoundingBoxVisualisationMessage ()
 
visualization_msgs::Marker getBoxModelKFVisualisationMessage ()
 
visualization_msgs::Marker getBoxSolidVisualisationMessage ()
 
visualization_msgs::Marker getClosestCornerPointVisualisationMessage ()
 
visualization_msgs::Marker getClusterVisualisationMessage ()
 
visualization_msgs::Marker getLineVisualisationMessage ()
 
visualization_msgs::Marker getLShapeVisualisationMessage ()
 
visualization_msgs::Marker getThetaBoxVisualisationMessage ()
 
visualization_msgs::Marker getThetaL1VisualisationMessage ()
 
visualization_msgs::Marker getThetaL2VisualisationMessage ()
 
std::pair< double, double > mean ()
 
double meanX ()
 
double meanY ()
 
void update (const pointList &, const double dt, const tf::Transform &ego_pose)
 

Public Attributes

float a
 
unsigned long int age
 
float b
 
double comega
 
double cvx
 
double cvy
 
double cx
 
double cy
 
Point ego_coordinates
 
std::string frame_name
 
float g
 
unsigned long int id
 
double L1
 
double L1_box
 
double L2
 
double L2_box
 
double length_box
 
LshapeTracker Lshape
 
datmo::Track msg_track_box_kf
 
double old_thetaL1
 
double omega_ukf
 
double psi
 
float r
 
double th
 
double thetaL1
 
double thetaL2
 
double vx_ukf
 
double vy_ukf
 
double width_box
 
double x_ukf
 
double y_ukf
 

Private Member Functions

double areaCriterion (const VectorXd &, const VectorXd &)
 
void calcMean (const pointList &)
 
double closenessCriterion (const VectorXd &, const VectorXd &, const double &)
 
Point lineIntersection (double &, double &, double &, double &, double &, double &)
 
double perpendicularDistance (const Point &, const Point &, const Point &)
 
void populateTrackingMsgs (const double &dt)
 
void ramerDouglasPeucker (const std::vector< Point > &, double, std::vector< Point > &)
 
void rectangleFitting (const pointList &)
 

Private Attributes

visualization_msgs::Marker boxcenter_marker_
 
Point closest_corner_point
 
std::vector< Pointcorner_list
 
std::vector< Pointl1l2
 
std::pair< double, double > mean_values
 
pointList new_cluster
 
std::pair< double, double > previous_mean_values
 
tf2::Quaternion quaternion
 

Detailed Description

Definition at line 48 of file cluster.hpp.

Constructor & Destructor Documentation

◆ Cluster()

Cluster::Cluster ( unsigned long int  id,
const pointList new_points,
const double &  dt,
const std::string &  world_frame,
const tf::Transform ego_pose 
)

Definition at line 57 of file cluster.cpp.

Member Function Documentation

◆ areaCriterion()

double Cluster::areaCriterion ( const VectorXd &  C1,
const VectorXd &  C2 
)
private

Definition at line 356 of file cluster.cpp.

◆ calcMean()

void Cluster::calcMean ( const pointList c)
private

Definition at line 663 of file cluster.cpp.

◆ closenessCriterion()

double Cluster::closenessCriterion ( const VectorXd &  C1,
const VectorXd &  C2,
const double &  d0 
)
private

Definition at line 364 of file cluster.cpp.

◆ getArrowVisualisationMessage()

visualization_msgs::Marker Cluster::getArrowVisualisationMessage ( )

Definition at line 481 of file cluster.cpp.

◆ getBoundingBoxCenterVisualisationMessage()

visualization_msgs::Marker Cluster::getBoundingBoxCenterVisualisationMessage ( )

Definition at line 537 of file cluster.cpp.

◆ getBoundingBoxVisualisationMessage()

visualization_msgs::Marker Cluster::getBoundingBoxVisualisationMessage ( )

Definition at line 230 of file cluster.cpp.

◆ getBoxModelKFVisualisationMessage()

visualization_msgs::Marker Cluster::getBoxModelKFVisualisationMessage ( )

Definition at line 259 of file cluster.cpp.

◆ getBoxSolidVisualisationMessage()

visualization_msgs::Marker Cluster::getBoxSolidVisualisationMessage ( )

Definition at line 592 of file cluster.cpp.

◆ getClosestCornerPointVisualisationMessage()

visualization_msgs::Marker Cluster::getClosestCornerPointVisualisationMessage ( )

Definition at line 510 of file cluster.cpp.

◆ getClusterVisualisationMessage()

visualization_msgs::Marker Cluster::getClusterVisualisationMessage ( )

Definition at line 561 of file cluster.cpp.

◆ getLineVisualisationMessage()

visualization_msgs::Marker Cluster::getLineVisualisationMessage ( )

Definition at line 622 of file cluster.cpp.

◆ getLShapeVisualisationMessage()

visualization_msgs::Marker Cluster::getLShapeVisualisationMessage ( )

Definition at line 307 of file cluster.cpp.

◆ getThetaBoxVisualisationMessage()

visualization_msgs::Marker Cluster::getThetaBoxVisualisationMessage ( )

Definition at line 400 of file cluster.cpp.

◆ getThetaL1VisualisationMessage()

visualization_msgs::Marker Cluster::getThetaL1VisualisationMessage ( )

Definition at line 427 of file cluster.cpp.

◆ getThetaL2VisualisationMessage()

visualization_msgs::Marker Cluster::getThetaL2VisualisationMessage ( )

Definition at line 454 of file cluster.cpp.

◆ lineIntersection()

Point Cluster::lineIntersection ( double &  a1,
double &  b1,
double &  c1,
double &  a2,
double &  b2,
double &  c2 
)
private

Definition at line 343 of file cluster.cpp.

◆ mean()

std::pair<double, double> Cluster::mean ( )
inline

Definition at line 78 of file cluster.hpp.

◆ meanX()

double Cluster::meanX ( )
inline

Definition at line 79 of file cluster.hpp.

◆ meanY()

double Cluster::meanY ( )
inline

Definition at line 80 of file cluster.hpp.

◆ perpendicularDistance()

double Cluster::perpendicularDistance ( const Point pt,
const Point lineStart,
const Point lineEnd 
)
private

Definition at line 676 of file cluster.cpp.

◆ populateTrackingMsgs()

void Cluster::populateTrackingMsgs ( const double &  dt)
private

Definition at line 104 of file cluster.cpp.

◆ ramerDouglasPeucker()

void Cluster::ramerDouglasPeucker ( const std::vector< Point > &  pointList,
double  epsilon,
std::vector< Point > &  out 
)
private

Definition at line 707 of file cluster.cpp.

◆ rectangleFitting()

void Cluster::rectangleFitting ( const pointList new_cluster)
private

Definition at line 123 of file cluster.cpp.

◆ update()

void Cluster::update ( const pointList new_points,
const double  dt,
const tf::Transform ego_pose 
)

Definition at line 84 of file cluster.cpp.

Member Data Documentation

◆ a

float Cluster::a

Definition at line 61 of file cluster.hpp.

◆ age

unsigned long int Cluster::age

Definition at line 60 of file cluster.hpp.

◆ b

float Cluster::b

Definition at line 61 of file cluster.hpp.

◆ boxcenter_marker_

visualization_msgs::Marker Cluster::boxcenter_marker_
private

Definition at line 103 of file cluster.hpp.

◆ closest_corner_point

Point Cluster::closest_corner_point
private

Definition at line 100 of file cluster.hpp.

◆ comega

double Cluster::comega

Definition at line 86 of file cluster.hpp.

◆ corner_list

std::vector<Point> Cluster::corner_list
private

Definition at line 92 of file cluster.hpp.

◆ cvx

double Cluster::cvx

Definition at line 86 of file cluster.hpp.

◆ cvy

double Cluster::cvy

Definition at line 86 of file cluster.hpp.

◆ cx

double Cluster::cx

Definition at line 86 of file cluster.hpp.

◆ cy

double Cluster::cy

Definition at line 86 of file cluster.hpp.

◆ ego_coordinates

Point Cluster::ego_coordinates

Definition at line 55 of file cluster.hpp.

◆ frame_name

std::string Cluster::frame_name

Definition at line 54 of file cluster.hpp.

◆ g

float Cluster::g

Definition at line 61 of file cluster.hpp.

◆ id

unsigned long int Cluster::id

Definition at line 59 of file cluster.hpp.

◆ L1

double Cluster::L1

Definition at line 85 of file cluster.hpp.

◆ L1_box

double Cluster::L1_box

Definition at line 86 of file cluster.hpp.

◆ l1l2

std::vector<Point> Cluster::l1l2
private

Definition at line 94 of file cluster.hpp.

◆ L2

double Cluster::L2

Definition at line 85 of file cluster.hpp.

◆ L2_box

double Cluster::L2_box

Definition at line 86 of file cluster.hpp.

◆ length_box

double Cluster::length_box

Definition at line 86 of file cluster.hpp.

◆ Lshape

LshapeTracker Cluster::Lshape

Definition at line 80 of file cluster.hpp.

◆ mean_values

std::pair<double, double> Cluster::mean_values
private

Definition at line 97 of file cluster.hpp.

◆ msg_track_box_kf

datmo::Track Cluster::msg_track_box_kf

Definition at line 57 of file cluster.hpp.

◆ new_cluster

pointList Cluster::new_cluster
private

Definition at line 91 of file cluster.hpp.

◆ old_thetaL1

double Cluster::old_thetaL1

Definition at line 84 of file cluster.hpp.

◆ omega_ukf

double Cluster::omega_ukf

Definition at line 87 of file cluster.hpp.

◆ previous_mean_values

std::pair<double, double> Cluster::previous_mean_values
private

Definition at line 98 of file cluster.hpp.

◆ psi

double Cluster::psi

Definition at line 86 of file cluster.hpp.

◆ quaternion

tf2::Quaternion Cluster::quaternion
private

Definition at line 93 of file cluster.hpp.

◆ r

float Cluster::r

Definition at line 61 of file cluster.hpp.

◆ th

double Cluster::th

Definition at line 86 of file cluster.hpp.

◆ thetaL1

double Cluster::thetaL1

Definition at line 85 of file cluster.hpp.

◆ thetaL2

double Cluster::thetaL2

Definition at line 85 of file cluster.hpp.

◆ vx_ukf

double Cluster::vx_ukf

Definition at line 87 of file cluster.hpp.

◆ vy_ukf

double Cluster::vy_ukf

Definition at line 87 of file cluster.hpp.

◆ width_box

double Cluster::width_box

Definition at line 86 of file cluster.hpp.

◆ x_ukf

double Cluster::x_ukf

Definition at line 87 of file cluster.hpp.

◆ y_ukf

double Cluster::y_ukf

Definition at line 87 of file cluster.hpp.


The documentation for this class was generated from the following files:


datmo
Author(s): Kostas Konstantinidis
autogenerated on Tue May 2 2023 02:58:06