Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
AmclNode Class Reference

List of all members.

Classes

struct  TransformListenerWrapper

Public Member Functions

 AmclNode ()
int process ()
void runFromBag (const std::string &in_bag_fn)
 Uses TF and LaserScan messages from bag file to drive AMCL instead.
void savePoseToServer ()
 ~AmclNode ()

Private Member Functions

void applyInitialPose ()
void checkLaserReceived (const ros::TimerEvent &event)
map_tconvertMap (const nav_msgs::OccupancyGrid &map_msg)
void freeMapDependentMemory ()
bool getOdomPose (tf::Stamped< tf::Pose > &pose, double &x, double &y, double &yaw, const ros::Time &t, const std::string &f)
double getYaw (tf::Pose &t)
bool globalLocalizationCallback (std_srvs::Empty::Request &req, std_srvs::Empty::Response &res)
void handleInitialPoseMessage (const geometry_msgs::PoseWithCovarianceStamped &msg)
void handleMapMessage (const nav_msgs::OccupancyGrid &msg)
void initialPoseReceived (const geometry_msgs::PoseWithCovarianceStampedConstPtr &msg)
void laserReceived (const sensor_msgs::LaserScanConstPtr &laser_scan)
void mapReceived (const nav_msgs::OccupancyGridConstPtr &msg)
bool nomotionUpdateCallback (std_srvs::Empty::Request &req, std_srvs::Empty::Response &res)
void reconfigureCB (amcl::AMCLConfig &config, uint32_t level)
void requestMap ()
bool setMapCallback (nav_msgs::SetMap::Request &req, nav_msgs::SetMap::Response &res)
void updatePoseFromServer ()

Static Private Member Functions

static pf_vector_t uniformPoseGenerator (void *arg)

Private Attributes

double a_thresh_
double alpha1_
double alpha2_
double alpha3_
double alpha4_
double alpha5_
double alpha_fast_
double alpha_slow_
ros::WallDuration bag_scan_period_
std::string base_frame_id_
double beam_skip_distance_
double beam_skip_error_threshold_
double beam_skip_threshold_
ros::Timer check_laser_timer_
ros::Duration cloud_pub_interval
boost::recursive_mutex configuration_mutex_
double d_thresh_
amcl::AMCLConfig default_config_
bool do_beamskip_
dynamic_reconfigure::Server
< amcl::AMCLConfig > * 
dsrv_
bool first_map_only_
bool first_map_received_
bool first_reconfigure_call_
std::map< std::string, int > frame_to_laser_
std::string global_frame_id_
ros::ServiceServer global_loc_srv_
ros::Duration gui_publish_period
double init_cov_ [3]
double init_pose_ [3]
amcl_hyp_tinitial_pose_hyp_
ros::Subscriber initial_pose_sub_
ros::Subscriber initial_pose_sub_old_
double lambda_short_
AMCLLaserlaser_
ros::Duration laser_check_interval_
double laser_likelihood_max_dist_
double laser_max_range_
double laser_min_range_
laser_model_t laser_model_type_
tf::MessageFilter
< sensor_msgs::LaserScan > * 
laser_scan_filter_
message_filters::Subscriber
< sensor_msgs::LaserScan > * 
laser_scan_sub_
std::vector< AMCLLaser * > lasers_
std::vector< bool > lasers_update_
ros::Time last_cloud_pub_time
ros::Time last_laser_received_ts_
geometry_msgs::PoseWithCovarianceStamped last_published_pose
tf::Stamped< tf::Poselatest_odom_pose_
tf::Transform latest_tf_
bool latest_tf_valid_
bool m_force_update
map_tmap_
ros::Subscriber map_sub_
char * mapdata
int max_beams_
int max_particles_
int min_particles_
ros::NodeHandle nh_
ros::ServiceServer nomotion_update_srv_
AMCLOdomodom_
std::string odom_frame_id_
odom_model_t odom_model_type_
ros::Publisher particlecloud_pub_
pf_tpf_
double pf_err_
bool pf_init_
pf_vector_t pf_odom_pose_
double pf_z_
ros::Publisher pose_pub_
ros::NodeHandle private_nh_
int resample_count_
int resample_interval_
double resolution
ros::Time save_pose_last_time
ros::Duration save_pose_period
bool sent_first_transform_
ros::ServiceServer set_map_srv_
double sigma_hit_
int sx
int sy
TransformListenerWrappertf_
bool tf_broadcast_
tf::TransformBroadcastertfb_
ros::Duration transform_tolerance_
bool use_map_topic_
double z_hit_
double z_max_
double z_rand_
double z_short_

Static Private Attributes

static std::vector< std::pair
< int, int > > 
free_space_indices

Detailed Description

Definition at line 110 of file amcl_node.cpp.


Constructor & Destructor Documentation

Definition at line 314 of file amcl_node.cpp.

Definition at line 927 of file amcl_node.cpp.


Member Function Documentation

void AmclNode::applyInitialPose ( ) [private]

If initial_pose_hyp_ and map_ are both non-null, apply the initial pose to the particle filter state. initial_pose_hyp_ is deleted and set to NULL after it is used.

Definition at line 1512 of file amcl_node.cpp.

void AmclNode::checkLaserReceived ( const ros::TimerEvent event) [private]

Definition at line 755 of file amcl_node.cpp.

map_t * AmclNode::convertMap ( const nav_msgs::OccupancyGrid &  map_msg) [private]

Convert an OccupancyGrid map message into the internal representation. This allocates a map_t and returns it.

Definition at line 901 of file amcl_node.cpp.

Definition at line 880 of file amcl_node.cpp.

bool AmclNode::getOdomPose ( tf::Stamped< tf::Pose > &  pose,
double &  x,
double &  y,
double &  yaw,
const ros::Time t,
const std::string &  f 
) [private]

Definition at line 939 of file amcl_node.cpp.

double AmclNode::getYaw ( tf::Pose t) [private]

Definition at line 1416 of file amcl_node.cpp.

bool AmclNode::globalLocalizationCallback ( std_srvs::Empty::Request &  req,
std_srvs::Empty::Response &  res 
) [private]

Definition at line 1003 of file amcl_node.cpp.

void AmclNode::handleInitialPoseMessage ( const geometry_msgs::PoseWithCovarianceStamped &  msg) [private]

Definition at line 1430 of file amcl_node.cpp.

void AmclNode::handleMapMessage ( const nav_msgs::OccupancyGrid &  msg) [private]

Definition at line 797 of file amcl_node.cpp.

void AmclNode::initialPoseReceived ( const geometry_msgs::PoseWithCovarianceStampedConstPtr &  msg) [private]

Definition at line 1424 of file amcl_node.cpp.

void AmclNode::laserReceived ( const sensor_msgs::LaserScanConstPtr &  laser_scan) [private]

Definition at line 1039 of file amcl_node.cpp.

void AmclNode::mapReceived ( const nav_msgs::OccupancyGridConstPtr &  msg) [private]

Definition at line 785 of file amcl_node.cpp.

bool AmclNode::nomotionUpdateCallback ( std_srvs::Empty::Request &  req,
std_srvs::Empty::Response &  res 
) [private]

Definition at line 1020 of file amcl_node.cpp.

void AmclNode::reconfigureCB ( amcl::AMCLConfig &  config,
uint32_t  level 
) [private]

Definition at line 458 of file amcl_node.cpp.

void AmclNode::requestMap ( ) [private]

Definition at line 767 of file amcl_node.cpp.

void AmclNode::runFromBag ( const std::string &  in_bag_fn)

Uses TF and LaserScan messages from bag file to drive AMCL instead.

Definition at line 603 of file amcl_node.cpp.

Definition at line 690 of file amcl_node.cpp.

bool AmclNode::setMapCallback ( nav_msgs::SetMap::Request &  req,
nav_msgs::SetMap::Response &  res 
) [private]

Definition at line 1029 of file amcl_node.cpp.

pf_vector_t AmclNode::uniformPoseGenerator ( void *  arg) [static, private]

Definition at line 965 of file amcl_node.cpp.

void AmclNode::updatePoseFromServer ( ) [private]

Definition at line 712 of file amcl_node.cpp.


Member Data Documentation

double AmclNode::a_thresh_ [private]

Definition at line 203 of file amcl_node.cpp.

double AmclNode::alpha1_ [private]

Definition at line 252 of file amcl_node.cpp.

double AmclNode::alpha2_ [private]

Definition at line 252 of file amcl_node.cpp.

double AmclNode::alpha3_ [private]

Definition at line 252 of file amcl_node.cpp.

double AmclNode::alpha4_ [private]

Definition at line 252 of file amcl_node.cpp.

double AmclNode::alpha5_ [private]

Definition at line 252 of file amcl_node.cpp.

double AmclNode::alpha_fast_ [private]

Definition at line 253 of file amcl_node.cpp.

double AmclNode::alpha_slow_ [private]

Definition at line 253 of file amcl_node.cpp.

Definition at line 219 of file amcl_node.cpp.

std::string AmclNode::base_frame_id_ [private]

Definition at line 174 of file amcl_node.cpp.

Definition at line 257 of file amcl_node.cpp.

Definition at line 257 of file amcl_node.cpp.

Definition at line 257 of file amcl_node.cpp.

Definition at line 249 of file amcl_node.cpp.

Definition at line 215 of file amcl_node.cpp.

boost::recursive_mutex AmclNode::configuration_mutex_ [private]

Definition at line 246 of file amcl_node.cpp.

double AmclNode::d_thresh_ [private]

Definition at line 203 of file amcl_node.cpp.

amcl::AMCLConfig AmclNode::default_config_ [private]

Definition at line 248 of file amcl_node.cpp.

bool AmclNode::do_beamskip_ [private]

Definition at line 256 of file amcl_node.cpp.

dynamic_reconfigure::Server<amcl::AMCLConfig>* AmclNode::dsrv_ [private]

Definition at line 247 of file amcl_node.cpp.

bool AmclNode::first_map_only_ [private]

Definition at line 178 of file amcl_node.cpp.

Definition at line 243 of file amcl_node.cpp.

Definition at line 244 of file amcl_node.cpp.

std::map< std::string, int > AmclNode::frame_to_laser_ [private]

Definition at line 196 of file amcl_node.cpp.

std::vector< std::pair< int, int > > AmclNode::free_space_indices [static, private]

Definition at line 144 of file amcl_node.cpp.

std::string AmclNode::global_frame_id_ [private]

Definition at line 175 of file amcl_node.cpp.

Definition at line 236 of file amcl_node.cpp.

Definition at line 180 of file amcl_node.cpp.

double AmclNode::init_cov_[3] [private]

Definition at line 261 of file amcl_node.cpp.

double AmclNode::init_pose_[3] [private]

Definition at line 260 of file amcl_node.cpp.

Definition at line 242 of file amcl_node.cpp.

Definition at line 193 of file amcl_node.cpp.

Definition at line 239 of file amcl_node.cpp.

double AmclNode::lambda_short_ [private]

Definition at line 254 of file amcl_node.cpp.

Definition at line 213 of file amcl_node.cpp.

Definition at line 268 of file amcl_node.cpp.

Definition at line 258 of file amcl_node.cpp.

double AmclNode::laser_max_range_ [private]

Definition at line 207 of file amcl_node.cpp.

double AmclNode::laser_min_range_ [private]

Definition at line 206 of file amcl_node.cpp.

Definition at line 262 of file amcl_node.cpp.

tf::MessageFilter<sensor_msgs::LaserScan>* AmclNode::laser_scan_filter_ [private]

Definition at line 192 of file amcl_node.cpp.

message_filters::Subscriber<sensor_msgs::LaserScan>* AmclNode::laser_scan_sub_ [private]

Definition at line 191 of file amcl_node.cpp.

std::vector< AMCLLaser* > AmclNode::lasers_ [private]

Definition at line 194 of file amcl_node.cpp.

std::vector< bool > AmclNode::lasers_update_ [private]

Definition at line 195 of file amcl_node.cpp.

Definition at line 216 of file amcl_node.cpp.

Definition at line 267 of file amcl_node.cpp.

geometry_msgs::PoseWithCovarianceStamped AmclNode::last_published_pose [private]

Definition at line 184 of file amcl_node.cpp.

Definition at line 171 of file amcl_node.cpp.

Definition at line 137 of file amcl_node.cpp.

Definition at line 138 of file amcl_node.cpp.

bool AmclNode::m_force_update [private]

Definition at line 210 of file amcl_node.cpp.

map_t* AmclNode::map_ [private]

Definition at line 186 of file amcl_node.cpp.

Definition at line 240 of file amcl_node.cpp.

char* AmclNode::mapdata [private]

Definition at line 187 of file amcl_node.cpp.

int AmclNode::max_beams_ [private]

Definition at line 251 of file amcl_node.cpp.

int AmclNode::max_particles_ [private]

Definition at line 251 of file amcl_node.cpp.

int AmclNode::min_particles_ [private]

Definition at line 251 of file amcl_node.cpp.

Definition at line 232 of file amcl_node.cpp.

Definition at line 237 of file amcl_node.cpp.

Definition at line 212 of file amcl_node.cpp.

std::string AmclNode::odom_frame_id_ [private]

Definition at line 168 of file amcl_node.cpp.

Definition at line 259 of file amcl_node.cpp.

Definition at line 235 of file amcl_node.cpp.

pf_t* AmclNode::pf_ [private]

Definition at line 199 of file amcl_node.cpp.

double AmclNode::pf_err_ [private]

Definition at line 200 of file amcl_node.cpp.

bool AmclNode::pf_init_ [private]

Definition at line 201 of file amcl_node.cpp.

Definition at line 202 of file amcl_node.cpp.

double AmclNode::pf_z_ [private]

Definition at line 200 of file amcl_node.cpp.

Definition at line 234 of file amcl_node.cpp.

Definition at line 233 of file amcl_node.cpp.

Definition at line 205 of file amcl_node.cpp.

Definition at line 204 of file amcl_node.cpp.

double AmclNode::resolution [private]

Definition at line 189 of file amcl_node.cpp.

Definition at line 181 of file amcl_node.cpp.

Definition at line 182 of file amcl_node.cpp.

Definition at line 135 of file amcl_node.cpp.

Definition at line 238 of file amcl_node.cpp.

double AmclNode::sigma_hit_ [private]

Definition at line 254 of file amcl_node.cpp.

int AmclNode::sx [private]

Definition at line 188 of file amcl_node.cpp.

int AmclNode::sy [private]

Definition at line 188 of file amcl_node.cpp.

Definition at line 133 of file amcl_node.cpp.

bool AmclNode::tf_broadcast_ [private]

Definition at line 263 of file amcl_node.cpp.

Definition at line 125 of file amcl_node.cpp.

Definition at line 230 of file amcl_node.cpp.

bool AmclNode::use_map_topic_ [private]

Definition at line 177 of file amcl_node.cpp.

double AmclNode::z_hit_ [private]

Definition at line 254 of file amcl_node.cpp.

double AmclNode::z_max_ [private]

Definition at line 254 of file amcl_node.cpp.

double AmclNode::z_rand_ [private]

Definition at line 254 of file amcl_node.cpp.

double AmclNode::z_short_ [private]

Definition at line 254 of file amcl_node.cpp.


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


amcl
Author(s): Brian P. Gerkey, contradict@gmail.com
autogenerated on Sun Mar 3 2019 03:46:02