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)
void reconfigureCB (amcl::AMCLConfig &config, uint32_t level)
void requestMap ()

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_
ros::Timer check_laser_timer_
ros::Duration cloud_pub_interval
boost::recursive_mutex configuration_mutex_
double d_thresh_
amcl::AMCLConfig default_config_
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_
map_tmap_
ros::Subscriber map_sub_
char * mapdata
int max_beams_
int max_particles_
int min_particles_
ros::NodeHandle nh_
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_
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 245 of file amcl_node.cpp.

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

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

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

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

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

Definition at line 1176 of file amcl_node.cpp.

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

Definition at line 774 of file amcl_node.cpp.

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

Definition at line 575 of file amcl_node.cpp.

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

Definition at line 1185 of file amcl_node.cpp.

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

Definition at line 790 of file amcl_node.cpp.

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

Definition at line 563 of file amcl_node.cpp.

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

Definition at line 403 of file amcl_node.cpp.

void AmclNode::requestMap ( ) [private]

Definition at line 545 of file amcl_node.cpp.

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

Definition at line 736 of file amcl_node.cpp.


Member Data Documentation

double AmclNode::a_thresh_ [private]

Definition at line 170 of file amcl_node.cpp.

double AmclNode::alpha1_ [private]

Definition at line 211 of file amcl_node.cpp.

double AmclNode::alpha2_ [private]

Definition at line 211 of file amcl_node.cpp.

double AmclNode::alpha3_ [private]

Definition at line 211 of file amcl_node.cpp.

double AmclNode::alpha4_ [private]

Definition at line 211 of file amcl_node.cpp.

double AmclNode::alpha5_ [private]

Definition at line 211 of file amcl_node.cpp.

double AmclNode::alpha_fast_ [private]

Definition at line 212 of file amcl_node.cpp.

double AmclNode::alpha_slow_ [private]

Definition at line 212 of file amcl_node.cpp.

std::string AmclNode::base_frame_id_ [private]

Definition at line 141 of file amcl_node.cpp.

Definition at line 208 of file amcl_node.cpp.

Definition at line 179 of file amcl_node.cpp.

boost::recursive_mutex AmclNode::configuration_mutex_ [private]

Definition at line 205 of file amcl_node.cpp.

double AmclNode::d_thresh_ [private]

Definition at line 170 of file amcl_node.cpp.

amcl::AMCLConfig AmclNode::default_config_ [private]

Definition at line 207 of file amcl_node.cpp.

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

Definition at line 206 of file amcl_node.cpp.

bool AmclNode::first_map_only_ [private]

Definition at line 145 of file amcl_node.cpp.

Definition at line 202 of file amcl_node.cpp.

Definition at line 203 of file amcl_node.cpp.

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

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

Definition at line 197 of file amcl_node.cpp.

Definition at line 147 of file amcl_node.cpp.

double AmclNode::init_cov_[3] [private]

Definition at line 217 of file amcl_node.cpp.

double AmclNode::init_pose_[3] [private]

Definition at line 216 of file amcl_node.cpp.

Definition at line 201 of file amcl_node.cpp.

Definition at line 160 of file amcl_node.cpp.

Definition at line 198 of file amcl_node.cpp.

double AmclNode::lambda_short_ [private]

Definition at line 213 of file amcl_node.cpp.

Definition at line 177 of file amcl_node.cpp.

Definition at line 223 of file amcl_node.cpp.

Definition at line 214 of file amcl_node.cpp.

double AmclNode::laser_max_range_ [private]

Definition at line 174 of file amcl_node.cpp.

double AmclNode::laser_min_range_ [private]

Definition at line 173 of file amcl_node.cpp.

Definition at line 218 of file amcl_node.cpp.

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

Definition at line 159 of file amcl_node.cpp.

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

Definition at line 158 of file amcl_node.cpp.

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

Definition at line 161 of file amcl_node.cpp.

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

Definition at line 162 of file amcl_node.cpp.

Definition at line 180 of file amcl_node.cpp.

Definition at line 222 of file amcl_node.cpp.

geometry_msgs::PoseWithCovarianceStamped AmclNode::last_published_pose [private]

Definition at line 151 of file amcl_node.cpp.

Definition at line 115 of file amcl_node.cpp.

Definition at line 116 of file amcl_node.cpp.

map_t* AmclNode::map_ [private]

Definition at line 153 of file amcl_node.cpp.

Definition at line 199 of file amcl_node.cpp.

char* AmclNode::mapdata [private]

Definition at line 154 of file amcl_node.cpp.

int AmclNode::max_beams_ [private]

Definition at line 210 of file amcl_node.cpp.

int AmclNode::max_particles_ [private]

Definition at line 210 of file amcl_node.cpp.

int AmclNode::min_particles_ [private]

Definition at line 210 of file amcl_node.cpp.

Definition at line 193 of file amcl_node.cpp.

Definition at line 176 of file amcl_node.cpp.

std::string AmclNode::odom_frame_id_ [private]

Definition at line 139 of file amcl_node.cpp.

Definition at line 215 of file amcl_node.cpp.

Definition at line 196 of file amcl_node.cpp.

pf_t* AmclNode::pf_ [private]

Definition at line 166 of file amcl_node.cpp.

double AmclNode::pf_err_ [private]

Definition at line 167 of file amcl_node.cpp.

bool AmclNode::pf_init_ [private]

Definition at line 168 of file amcl_node.cpp.

Definition at line 169 of file amcl_node.cpp.

double AmclNode::pf_z_ [private]

Definition at line 167 of file amcl_node.cpp.

Definition at line 195 of file amcl_node.cpp.

Definition at line 194 of file amcl_node.cpp.

Definition at line 172 of file amcl_node.cpp.

Definition at line 171 of file amcl_node.cpp.

double AmclNode::resolution [private]

Definition at line 156 of file amcl_node.cpp.

Definition at line 148 of file amcl_node.cpp.

Definition at line 149 of file amcl_node.cpp.

Definition at line 113 of file amcl_node.cpp.

double AmclNode::sigma_hit_ [private]

Definition at line 213 of file amcl_node.cpp.

int AmclNode::sx [private]

Definition at line 155 of file amcl_node.cpp.

int AmclNode::sy [private]

Definition at line 155 of file amcl_node.cpp.

Definition at line 111 of file amcl_node.cpp.

Definition at line 110 of file amcl_node.cpp.

Definition at line 191 of file amcl_node.cpp.

bool AmclNode::use_map_topic_ [private]

Definition at line 144 of file amcl_node.cpp.

double AmclNode::z_hit_ [private]

Definition at line 213 of file amcl_node.cpp.

double AmclNode::z_max_ [private]

Definition at line 213 of file amcl_node.cpp.

double AmclNode::z_rand_ [private]

Definition at line 213 of file amcl_node.cpp.

double AmclNode::z_short_ [private]

Definition at line 213 of file amcl_node.cpp.


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


amcl
Author(s): Brian P. Gerkey
autogenerated on Sat Dec 28 2013 17:14:46