41 #include <visualization_msgs/Marker.h> 42 #include <visualization_msgs/MarkerArray.h> 43 #include <sensor_msgs/LaserScan.h> 44 #include <sensor_msgs/PointCloud2.h> 45 #include <find_moving_objects/MovingObject.h> 46 #include <find_moving_objects/MovingObjectArray.h> 406 virtual long addFirstMessage(
const sensor_msgs::LaserScan *);
407 virtual long addFirstMessage(
const sensor_msgs::PointCloud2 *,
408 const bool discard_message_if_no_points_added);
409 inline void initIndex();
410 inline void advanceIndex();
417 void getOldIndices(
const float range_min,
419 const unsigned int object_width_in_points,
420 const int current_level,
421 const unsigned int levels_searched,
422 const unsigned int index_mean,
423 const unsigned int consecutive_failures_to_find_object,
424 const unsigned int threshold_consecutive_failures_to_find_object,
426 int * index_mean_old,
428 float * range_sum_old,
429 float * range_at_min_index_old,
430 float * range_at_max_index_old);
440 int getOffsetsAndBytes(
BankArgument bank_argument,
const sensor_msgs::PointCloud2::ConstPtr msg);
441 int getOffsetsAndBytes(
BankArgument bank_argument,
const sensor_msgs::PointCloud2 * msg);
443 void reverseBytes(byte_t * bytes,
unsigned int nr_bytes);
444 void readPoint(
const byte_t * start_of_point,
445 const bool must_reverse_bytes,
449 void resetPutPoints();
450 unsigned int putPoints(
const sensor_msgs::PointCloud2::ConstPtr msg);
451 unsigned int putPoints(
const sensor_msgs::PointCloud2 * msg);
452 void emaPutMessage();
453 std::string getStringPutPoints();
496 virtual long init(
BankArgument bank_argument,
const sensor_msgs::LaserScan * msg);
521 virtual long init(
BankArgument bank_argument,
const sensor_msgs::PointCloud2 * msg,
522 const bool discard_message_if_no_points_added =
true);
540 virtual long addMessage(
const sensor_msgs::LaserScan * msg);
560 virtual long addMessage(
const sensor_msgs::PointCloud2 * msg,
561 const bool discard_message_if_no_points_added =
true);
568 void findAndReportMovingObjects();
580 virtual double calculateConfidence(
const find_moving_objects::MovingObject & mo,
582 const double delta_time,
583 const double mo_old_width);
double object_threshold_max_distance
bool publish_objects_velocity_arrows
sensor_msgs::LaserScan msg_ema
double object_threshold_min_speed
std::string PC2_message_y_coordinate_field_name
bool velocity_arrows_use_full_gray_scale
bool publish_objects_closest_point_markers
std::string topic_objects_closest_point_markers
int32_t PC2_message_z_offset
std::string delta_position_line_ns
double object_threshold_bank_tracking_max_delta_distance
ros::Publisher pub_objects
BankArgument bank_argument
bool publish_objects_delta_position_lines
double PC2_voxel_leaf_size
int32_t PC2_message_x_bytes
bool sensor_frame_has_z_axis_forward
ros::Publisher pub_objects_delta_position_lines
ros::Publisher pub_objects_velocity_arrows
bool velocity_arrows_use_sensor_frame
unsigned int bank_ranges_bytes
std::string width_line_ns
friend std::ostream & operator<<(std::ostream &os, const BankArgument &ba)
double object_threshold_edge_max_delta_range
std::string node_name_suffix
std::string topic_objects_width_lines
std::string velocity_arrow_ns
int32_t PC2_message_x_offset
std::string PC2_message_x_coordinate_field_name
visualization_msgs::MarkerArray msg_objects_velocity_arrows
visualization_msgs::MarkerArray msg_objects_delta_position_lines
double PC2_threshold_z_max
visualization_msgs::MarkerArray msg_objects_width_lines
std::string topic_objects_velocity_arrows
double PC2_threshold_z_min
std::string topic_objects_delta_position_lines
tf2_ros::Buffer * tf_buffer
bool velocity_arrows_use_fixed_frame
std::string PC2_message_z_coordinate_field_name
int32_t PC2_message_z_bytes
int32_t PC2_message_y_offset
ros::Publisher pub_objects_closest_point_markers
int32_t PC2_message_y_bytes
visualization_msgs::Marker msg_objects_width_line
int object_threshold_max_delta_width_in_points
bool machine_is_little_endian
int object_threshold_min_nr_points
visualization_msgs::Marker msg_objects_delta_position_line
bool sensor_is_360_degrees
friend class Bank
Allow Bank to access private members of this class.
bool publish_objects_width_lines
bool velocity_arrows_use_base_frame
ros::Publisher pub_objects_width_lines
sensor_msgs::LaserScan msg_objects_closest_point_markers
std::string topic_objects
visualization_msgs::Marker msg_objects_velocity_arrow
double object_threshold_min_confidence