Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
urg_stamped::UrgStampedNode Class Reference

#include <urg_stamped.h>

Classes

struct  ResponseErrorCount
 

Public Member Functions

void spin ()
 
 UrgStampedNode ()
 

Protected Types

enum  DelayEstimState {
  DelayEstimState::IDLE, DelayEstimState::STOPPING_SCAN, DelayEstimState::STATE_CHECKING, DelayEstimState::ESTIMATION_STARTING,
  DelayEstimState::ESTIMATING, DelayEstimState::EXITING
}
 

Protected Member Functions

void cbClose ()
 
void cbConnect ()
 
void cbII (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status, const std::map< std::string, std::string > &params)
 
void cbIISend (const boost::posix_time::ptime &time_send)
 
void cbM (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status, const scip2::ScanData &scan, const bool has_intensity)
 
void cbPP (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status, const std::map< std::string, std::string > &params)
 
void cbQT (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status)
 
void cbRB (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status)
 
void cbRS (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status)
 
void cbTM (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status, const scip2::Timestamp &time_device)
 
void cbTMSend (const boost::posix_time::ptime &time_send)
 
void cbVV (const boost::posix_time::ptime &time_read, const std::string &echo_back, const std::string &status, const std::map< std::string, std::string > &params)
 
void delayEstimation (const ros::TimerEvent &event=ros::TimerEvent())
 
bool detectDeviceTimeJump (const boost::posix_time::ptime &time_response, const uint64_t &device_timestamp)
 
void errorCountIncrement (const std::string &status="")
 
void hardReset ()
 
void retryTM (const ros::TimerEvent &event=ros::TimerEvent())
 
void sendII ()
 
void sleepRandom (const double min, const double max)
 
void softReset ()
 
void timeSync (const ros::TimerEvent &event=ros::TimerEvent())
 

Protected Attributes

double allowed_device_time_origin_diff_
 
double communication_delay_filter_alpha_
 
std::list< ros::Durationcommunication_delays_
 
DelayEstimState delay_estim_state_
 
scip2::Connection::Ptr device_
 
device_time_origin::DriftedTime device_time_origin_
 
std::list< ros::Timedevice_time_origins_
 
ResponseErrorCount error_count_
 
int error_count_max_
 
ros::Duration estimated_communication_delay_
 
bool estimated_communication_delay_init_
 
bool failed_
 
std::string last_measurement_state_
 
ros::Time last_sync_time_
 
sensor_msgs::LaserScan msg_base_
 
ros::NodeHandle nh_
 
std::vector< ros::Durationon_scan_communication_delays_
 
ros::NodeHandle pnh_
 
ros::Publisher pub_scan_
 
bool publish_intensity_
 
std::default_random_engine random_engine_
 
scip2::Protocol::Ptr scip_
 
uint32_t step_max_
 
uint32_t step_min_
 
std::uniform_real_distribution< double > sync_interval_
 
ros::Time t0_
 
boost::posix_time::ptime time_ii_request
 
boost::posix_time::ptime time_tm_request
 
ros::Timer timer_delay_estim_
 
ros::Timer timer_retry_tm_
 
ros::Timer timer_sync_
 
FirstOrderHPF< double > timestamp_hpf_
 
FirstOrderLPF< double > timestamp_lpf_
 
TimestampMovingAverage timestamp_moving_average_
 
TimestampOutlierRemover timestamp_outlier_removal_
 
ros::Duration tm_command_interval_
 
size_t tm_iter_num_
 
size_t tm_median_window_
 
bool tm_success_
 
int tm_try_count_
 
int tm_try_max_
 
scip2::Walltime< 24 > walltime_
 

Detailed Description

Definition at line 45 of file urg_stamped.h.

Member Enumeration Documentation

◆ DelayEstimState

Enumerator
IDLE 
STOPPING_SCAN 
STATE_CHECKING 
ESTIMATION_STARTING 
ESTIMATING 
EXITING 

Definition at line 65 of file urg_stamped.h.

Constructor & Destructor Documentation

◆ UrgStampedNode()

urg_stamped::UrgStampedNode::UrgStampedNode ( )

Definition at line 707 of file urg_stamped.cpp.

Member Function Documentation

◆ cbClose()

void urg_stamped::UrgStampedNode::cbClose ( )
protected

Definition at line 537 of file urg_stamped.cpp.

◆ cbConnect()

void urg_stamped::UrgStampedNode::cbConnect ( )
protected

Definition at line 531 of file urg_stamped.cpp.

◆ cbII()

void urg_stamped::UrgStampedNode::cbII ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status,
const std::map< std::string, std::string > &  params 
)
protected

Definition at line 330 of file urg_stamped.cpp.

◆ cbIISend()

void urg_stamped::UrgStampedNode::cbIISend ( const boost::posix_time::ptime &  time_send)
protected

Definition at line 325 of file urg_stamped.cpp.

◆ cbM()

void urg_stamped::UrgStampedNode::cbM ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status,
const scip2::ScanData scan,
const bool  has_intensity 
)
protected

Definition at line 46 of file urg_stamped.cpp.

◆ cbPP()

void urg_stamped::UrgStampedNode::cbPP ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status,
const std::map< std::string, std::string > &  params 
)
protected

Definition at line 247 of file urg_stamped.cpp.

◆ cbQT()

void urg_stamped::UrgStampedNode::cbQT ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status 
)
protected

Definition at line 458 of file urg_stamped.cpp.

◆ cbRB()

void urg_stamped::UrgStampedNode::cbRB ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status 
)
protected

Definition at line 479 of file urg_stamped.cpp.

◆ cbRS()

void urg_stamped::UrgStampedNode::cbRS ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status 
)
protected

Definition at line 503 of file urg_stamped.cpp.

◆ cbTM()

void urg_stamped::UrgStampedNode::cbTM ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status,
const scip2::Timestamp time_device 
)
protected

Definition at line 136 of file urg_stamped.cpp.

◆ cbTMSend()

void urg_stamped::UrgStampedNode::cbTMSend ( const boost::posix_time::ptime &  time_send)
protected

Definition at line 131 of file urg_stamped.cpp.

◆ cbVV()

void urg_stamped::UrgStampedNode::cbVV ( const boost::posix_time::ptime &  time_read,
const std::string &  echo_back,
const std::string &  status,
const std::map< std::string, std::string > &  params 
)
protected

Definition at line 292 of file urg_stamped.cpp.

◆ delayEstimation()

void urg_stamped::UrgStampedNode::delayEstimation ( const ros::TimerEvent event = ros::TimerEvent())
protected

Definition at line 569 of file urg_stamped.cpp.

◆ detectDeviceTimeJump()

bool urg_stamped::UrgStampedNode::detectDeviceTimeJump ( const boost::posix_time::ptime &  time_response,
const uint64_t &  device_timestamp 
)
protected

Definition at line 682 of file urg_stamped.cpp.

◆ errorCountIncrement()

void urg_stamped::UrgStampedNode::errorCountIncrement ( const std::string &  status = "")
protected

Definition at line 614 of file urg_stamped.cpp.

◆ hardReset()

void urg_stamped::UrgStampedNode::hardReset ( )
protected

Definition at line 670 of file urg_stamped.cpp.

◆ retryTM()

void urg_stamped::UrgStampedNode::retryTM ( const ros::TimerEvent event = ros::TimerEvent())
protected

Definition at line 582 of file urg_stamped.cpp.

◆ sendII()

void urg_stamped::UrgStampedNode::sendII ( )
protected

Definition at line 551 of file urg_stamped.cpp.

◆ sleepRandom()

void urg_stamped::UrgStampedNode::sleepRandom ( const double  min,
const double  max 
)
protected

Definition at line 676 of file urg_stamped.cpp.

◆ softReset()

void urg_stamped::UrgStampedNode::softReset ( )
protected

Definition at line 665 of file urg_stamped.cpp.

◆ spin()

void urg_stamped::UrgStampedNode::spin ( )

Definition at line 832 of file urg_stamped.cpp.

◆ timeSync()

void urg_stamped::UrgStampedNode::timeSync ( const ros::TimerEvent event = ros::TimerEvent())
protected

Definition at line 558 of file urg_stamped.cpp.

Member Data Documentation

◆ allowed_device_time_origin_diff_

double urg_stamped::UrgStampedNode::allowed_device_time_origin_diff_
protected

Definition at line 88 of file urg_stamped.h.

◆ communication_delay_filter_alpha_

double urg_stamped::UrgStampedNode::communication_delay_filter_alpha_
protected

Definition at line 82 of file urg_stamped.h.

◆ communication_delays_

std::list<ros::Duration> urg_stamped::UrgStampedNode::communication_delays_
protected

Definition at line 76 of file urg_stamped.h.

◆ delay_estim_state_

DelayEstimState urg_stamped::UrgStampedNode::delay_estim_state_
protected

Definition at line 74 of file urg_stamped.h.

◆ device_

scip2::Connection::Ptr urg_stamped::UrgStampedNode::device_
protected

Definition at line 59 of file urg_stamped.h.

◆ device_time_origin_

device_time_origin::DriftedTime urg_stamped::UrgStampedNode::device_time_origin_
protected

Definition at line 87 of file urg_stamped.h.

◆ device_time_origins_

std::list<ros::Time> urg_stamped::UrgStampedNode::device_time_origins_
protected

Definition at line 77 of file urg_stamped.h.

◆ error_count_

ResponseErrorCount urg_stamped::UrgStampedNode::error_count_
protected

Definition at line 112 of file urg_stamped.h.

◆ error_count_max_

int urg_stamped::UrgStampedNode::error_count_max_
protected

Definition at line 114 of file urg_stamped.h.

◆ estimated_communication_delay_

ros::Duration urg_stamped::UrgStampedNode::estimated_communication_delay_
protected

Definition at line 78 of file urg_stamped.h.

◆ estimated_communication_delay_init_

bool urg_stamped::UrgStampedNode::estimated_communication_delay_init_
protected

Definition at line 81 of file urg_stamped.h.

◆ failed_

bool urg_stamped::UrgStampedNode::failed_
protected

Definition at line 63 of file urg_stamped.h.

◆ last_measurement_state_

std::string urg_stamped::UrgStampedNode::last_measurement_state_
protected

Definition at line 117 of file urg_stamped.h.

◆ last_sync_time_

ros::Time urg_stamped::UrgStampedNode::last_sync_time_
protected

Definition at line 94 of file urg_stamped.h.

◆ msg_base_

sensor_msgs::LaserScan urg_stamped::UrgStampedNode::msg_base_
protected

Definition at line 55 of file urg_stamped.h.

◆ nh_

ros::NodeHandle urg_stamped::UrgStampedNode::nh_
protected

Definition at line 48 of file urg_stamped.h.

◆ on_scan_communication_delays_

std::vector<ros::Duration> urg_stamped::UrgStampedNode::on_scan_communication_delays_
protected

Definition at line 85 of file urg_stamped.h.

◆ pnh_

ros::NodeHandle urg_stamped::UrgStampedNode::pnh_
protected

Definition at line 49 of file urg_stamped.h.

◆ pub_scan_

ros::Publisher urg_stamped::UrgStampedNode::pub_scan_
protected

Definition at line 50 of file urg_stamped.h.

◆ publish_intensity_

bool urg_stamped::UrgStampedNode::publish_intensity_
protected

Definition at line 62 of file urg_stamped.h.

◆ random_engine_

std::default_random_engine urg_stamped::UrgStampedNode::random_engine_
protected

Definition at line 92 of file urg_stamped.h.

◆ scip_

scip2::Protocol::Ptr urg_stamped::UrgStampedNode::scip_
protected

Definition at line 60 of file urg_stamped.h.

◆ step_max_

uint32_t urg_stamped::UrgStampedNode::step_max_
protected

Definition at line 57 of file urg_stamped.h.

◆ step_min_

uint32_t urg_stamped::UrgStampedNode::step_min_
protected

Definition at line 56 of file urg_stamped.h.

◆ sync_interval_

std::uniform_real_distribution<double> urg_stamped::UrgStampedNode::sync_interval_
protected

Definition at line 93 of file urg_stamped.h.

◆ t0_

ros::Time urg_stamped::UrgStampedNode::t0_
protected

Definition at line 96 of file urg_stamped.h.

◆ time_ii_request

boost::posix_time::ptime urg_stamped::UrgStampedNode::time_ii_request
protected

Definition at line 84 of file urg_stamped.h.

◆ time_tm_request

boost::posix_time::ptime urg_stamped::UrgStampedNode::time_tm_request
protected

Definition at line 75 of file urg_stamped.h.

◆ timer_delay_estim_

ros::Timer urg_stamped::UrgStampedNode::timer_delay_estim_
protected

Definition at line 52 of file urg_stamped.h.

◆ timer_retry_tm_

ros::Timer urg_stamped::UrgStampedNode::timer_retry_tm_
protected

Definition at line 53 of file urg_stamped.h.

◆ timer_sync_

ros::Timer urg_stamped::UrgStampedNode::timer_sync_
protected

Definition at line 51 of file urg_stamped.h.

◆ timestamp_hpf_

FirstOrderHPF<double> urg_stamped::UrgStampedNode::timestamp_hpf_
protected

Definition at line 98 of file urg_stamped.h.

◆ timestamp_lpf_

FirstOrderLPF<double> urg_stamped::UrgStampedNode::timestamp_lpf_
protected

Definition at line 97 of file urg_stamped.h.

◆ timestamp_moving_average_

TimestampMovingAverage urg_stamped::UrgStampedNode::timestamp_moving_average_
protected

Definition at line 100 of file urg_stamped.h.

◆ timestamp_outlier_removal_

TimestampOutlierRemover urg_stamped::UrgStampedNode::timestamp_outlier_removal_
protected

Definition at line 99 of file urg_stamped.h.

◆ tm_command_interval_

ros::Duration urg_stamped::UrgStampedNode::tm_command_interval_
protected

Definition at line 116 of file urg_stamped.h.

◆ tm_iter_num_

size_t urg_stamped::UrgStampedNode::tm_iter_num_
protected

Definition at line 79 of file urg_stamped.h.

◆ tm_median_window_

size_t urg_stamped::UrgStampedNode::tm_median_window_
protected

Definition at line 80 of file urg_stamped.h.

◆ tm_success_

bool urg_stamped::UrgStampedNode::tm_success_
protected

Definition at line 113 of file urg_stamped.h.

◆ tm_try_count_

int urg_stamped::UrgStampedNode::tm_try_count_
protected

Definition at line 119 of file urg_stamped.h.

◆ tm_try_max_

int urg_stamped::UrgStampedNode::tm_try_max_
protected

Definition at line 118 of file urg_stamped.h.

◆ walltime_

scip2::Walltime<24> urg_stamped::UrgStampedNode::walltime_
protected

Definition at line 90 of file urg_stamped.h.


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


urg_stamped
Author(s): Atsushi Watanabe
autogenerated on Mon Jul 3 2023 02:11:32