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

List of all members.

Public Member Functions

 AmclNode ()
int process ()
 ~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 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 ()
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_
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::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_
double sigma_hit_
int sx
int sy
tf::TransformListenertf_
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 101 of file amcl_node.cpp.


Constructor & Destructor Documentation

Definition at line 257 of file amcl_node.cpp.

Definition at line 753 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 1333 of file amcl_node.cpp.

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

Definition at line 581 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 727 of file amcl_node.cpp.

Definition at line 706 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 765 of file amcl_node.cpp.

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

Definition at line 1248 of file amcl_node.cpp.

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

Definition at line 829 of file amcl_node.cpp.

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

Definition at line 623 of file amcl_node.cpp.

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

Definition at line 1256 of file amcl_node.cpp.

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

Definition at line 855 of file amcl_node.cpp.

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

Definition at line 611 of file amcl_node.cpp.

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

Definition at line 846 of file amcl_node.cpp.

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

Definition at line 394 of file amcl_node.cpp.

void AmclNode::requestMap ( ) [private]

Definition at line 593 of file amcl_node.cpp.

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

Definition at line 791 of file amcl_node.cpp.

void AmclNode::updatePoseFromServer ( ) [private]

Definition at line 538 of file amcl_node.cpp.


Member Data Documentation

double AmclNode::a_thresh_ [private]

Definition at line 174 of file amcl_node.cpp.

double AmclNode::alpha1_ [private]

Definition at line 219 of file amcl_node.cpp.

double AmclNode::alpha2_ [private]

Definition at line 219 of file amcl_node.cpp.

double AmclNode::alpha3_ [private]

Definition at line 219 of file amcl_node.cpp.

double AmclNode::alpha4_ [private]

Definition at line 219 of file amcl_node.cpp.

double AmclNode::alpha5_ [private]

Definition at line 219 of file amcl_node.cpp.

double AmclNode::alpha_fast_ [private]

Definition at line 220 of file amcl_node.cpp.

double AmclNode::alpha_slow_ [private]

Definition at line 220 of file amcl_node.cpp.

std::string AmclNode::base_frame_id_ [private]

Definition at line 145 of file amcl_node.cpp.

Definition at line 224 of file amcl_node.cpp.

Definition at line 224 of file amcl_node.cpp.

Definition at line 224 of file amcl_node.cpp.

Definition at line 216 of file amcl_node.cpp.

Definition at line 186 of file amcl_node.cpp.

boost::recursive_mutex AmclNode::configuration_mutex_ [private]

Definition at line 213 of file amcl_node.cpp.

double AmclNode::d_thresh_ [private]

Definition at line 174 of file amcl_node.cpp.

amcl::AMCLConfig AmclNode::default_config_ [private]

Definition at line 215 of file amcl_node.cpp.

bool AmclNode::do_beamskip_ [private]

Definition at line 223 of file amcl_node.cpp.

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

Definition at line 214 of file amcl_node.cpp.

bool AmclNode::first_map_only_ [private]

Definition at line 149 of file amcl_node.cpp.

Definition at line 210 of file amcl_node.cpp.

Definition at line 211 of file amcl_node.cpp.

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

Definition at line 167 of file amcl_node.cpp.

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

Definition at line 122 of file amcl_node.cpp.

std::string AmclNode::global_frame_id_ [private]

Definition at line 146 of file amcl_node.cpp.

Definition at line 204 of file amcl_node.cpp.

Definition at line 151 of file amcl_node.cpp.

double AmclNode::init_cov_[3] [private]

Definition at line 228 of file amcl_node.cpp.

double AmclNode::init_pose_[3] [private]

Definition at line 227 of file amcl_node.cpp.

Definition at line 209 of file amcl_node.cpp.

Definition at line 164 of file amcl_node.cpp.

Definition at line 206 of file amcl_node.cpp.

double AmclNode::lambda_short_ [private]

Definition at line 221 of file amcl_node.cpp.

Definition at line 184 of file amcl_node.cpp.

Definition at line 235 of file amcl_node.cpp.

Definition at line 225 of file amcl_node.cpp.

double AmclNode::laser_max_range_ [private]

Definition at line 178 of file amcl_node.cpp.

double AmclNode::laser_min_range_ [private]

Definition at line 177 of file amcl_node.cpp.

Definition at line 229 of file amcl_node.cpp.

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

Definition at line 163 of file amcl_node.cpp.

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

Definition at line 162 of file amcl_node.cpp.

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

Definition at line 165 of file amcl_node.cpp.

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

Definition at line 166 of file amcl_node.cpp.

Definition at line 187 of file amcl_node.cpp.

Definition at line 234 of file amcl_node.cpp.

geometry_msgs::PoseWithCovarianceStamped AmclNode::last_published_pose [private]

Definition at line 155 of file amcl_node.cpp.

Definition at line 115 of file amcl_node.cpp.

Definition at line 116 of file amcl_node.cpp.

bool AmclNode::m_force_update [private]

Definition at line 181 of file amcl_node.cpp.

map_t* AmclNode::map_ [private]

Definition at line 157 of file amcl_node.cpp.

Definition at line 207 of file amcl_node.cpp.

char* AmclNode::mapdata [private]

Definition at line 158 of file amcl_node.cpp.

int AmclNode::max_beams_ [private]

Definition at line 218 of file amcl_node.cpp.

int AmclNode::max_particles_ [private]

Definition at line 218 of file amcl_node.cpp.

int AmclNode::min_particles_ [private]

Definition at line 218 of file amcl_node.cpp.

Definition at line 200 of file amcl_node.cpp.

Definition at line 205 of file amcl_node.cpp.

Definition at line 183 of file amcl_node.cpp.

std::string AmclNode::odom_frame_id_ [private]

Definition at line 143 of file amcl_node.cpp.

Definition at line 226 of file amcl_node.cpp.

Definition at line 203 of file amcl_node.cpp.

pf_t* AmclNode::pf_ [private]

Definition at line 170 of file amcl_node.cpp.

double AmclNode::pf_err_ [private]

Definition at line 171 of file amcl_node.cpp.

bool AmclNode::pf_init_ [private]

Definition at line 172 of file amcl_node.cpp.

Definition at line 173 of file amcl_node.cpp.

double AmclNode::pf_z_ [private]

Definition at line 171 of file amcl_node.cpp.

Definition at line 202 of file amcl_node.cpp.

Definition at line 201 of file amcl_node.cpp.

Definition at line 176 of file amcl_node.cpp.

Definition at line 175 of file amcl_node.cpp.

double AmclNode::resolution [private]

Definition at line 160 of file amcl_node.cpp.

Definition at line 152 of file amcl_node.cpp.

Definition at line 153 of file amcl_node.cpp.

Definition at line 113 of file amcl_node.cpp.

double AmclNode::sigma_hit_ [private]

Definition at line 221 of file amcl_node.cpp.

int AmclNode::sx [private]

Definition at line 159 of file amcl_node.cpp.

int AmclNode::sy [private]

Definition at line 159 of file amcl_node.cpp.

Definition at line 111 of file amcl_node.cpp.

bool AmclNode::tf_broadcast_ [private]

Definition at line 230 of file amcl_node.cpp.

Definition at line 110 of file amcl_node.cpp.

Definition at line 198 of file amcl_node.cpp.

bool AmclNode::use_map_topic_ [private]

Definition at line 148 of file amcl_node.cpp.

double AmclNode::z_hit_ [private]

Definition at line 221 of file amcl_node.cpp.

double AmclNode::z_max_ [private]

Definition at line 221 of file amcl_node.cpp.

double AmclNode::z_rand_ [private]

Definition at line 221 of file amcl_node.cpp.

double AmclNode::z_short_ [private]

Definition at line 221 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 Thu Aug 27 2015 14:07:48