Public Member Functions | Private Member Functions | Private Attributes | List of all members
SlamGMapping Class Reference

#include <slam_gmapping.h>

Public Member Functions

void init ()
 
void laserCallback (const sensor_msgs::LaserScan::ConstPtr &scan)
 
bool mapCallback (nav_msgs::GetMap::Request &req, nav_msgs::GetMap::Response &res)
 
void publishLoop (double transform_publish_period)
 
void publishTransform ()
 
 SlamGMapping ()
 
 SlamGMapping (ros::NodeHandle &nh, ros::NodeHandle &pnh)
 
 SlamGMapping (unsigned long int seed, unsigned long int max_duration_buffer)
 
void startLiveSlam ()
 
void startReplay (const std::string &bag_fname, std::string scan_topic)
 
 ~SlamGMapping ()
 

Private Member Functions

bool addScan (const sensor_msgs::LaserScan &scan, GMapping::OrientedPoint &gmap_pose)
 
double computePoseEntropy ()
 
bool getOdomPose (GMapping::OrientedPoint &gmap_pose, const ros::Time &t)
 
bool initMapper (const sensor_msgs::LaserScan &scan)
 
void updateMap (const sensor_msgs::LaserScan &scan)
 

Private Attributes

double angularUpdate_
 
double astep_
 
std::string base_frame_
 
tf::Stamped< tf::Posecentered_laser_pose_
 
double delta_
 
bool do_reverse_range_
 
ros::Publisher entropy_publisher_
 
bool got_first_scan_
 
bool got_map_
 
GMapping::GridSlamProcessorgsp_
 
GMapping::RangeSensorgsp_laser_
 
unsigned int gsp_laser_beam_count_
 
GMapping::OdometrySensorgsp_odom_
 
int iterations_
 
int kernelSize_
 
double lasamplerange_
 
double lasamplestep_
 
std::vector< double > laser_angles_
 
int laser_count_
 
std::string laser_frame_
 
double linearUpdate_
 
double llsamplerange_
 
double llsamplestep_
 
double lsigma_
 
int lskip_
 
double lstep_
 
nav_msgs::GetMap::Response map_
 
std::string map_frame_
 
boost::mutex map_mutex_
 
tf::Transform map_to_odom_
 
boost::mutex map_to_odom_mutex_
 
ros::Duration map_update_interval_
 
double maxRange_
 
double maxrange_
 
double maxUrange_
 
double minimum_score_
 
ros::NodeHandle node_
 
double occ_thresh_
 
std::string odom_frame_
 
double ogain_
 
int particles_
 
ros::NodeHandle private_nh_
 
double resampleThreshold_
 
tf::MessageFilter< sensor_msgs::LaserScan > * scan_filter_
 
message_filters::Subscriber< sensor_msgs::LaserScan > * scan_filter_sub_
 
unsigned long int seed_
 
double sigma_
 
double srr_
 
double srt_
 
ros::ServiceServer ss_
 
ros::Publisher sst_
 
ros::Publisher sstm_
 
double str_
 
double stt_
 
double temporalUpdate_
 
tf::TransformListener tf_
 
double tf_delay_
 
tf::TransformBroadcastertfB_
 
int throttle_scans_
 
double transform_publish_period_
 
boost::thread * transform_thread_
 
double xmax_
 
double xmin_
 
double ymax_
 
double ymin_
 

Detailed Description

Definition at line 46 of file slam_gmapping.h.

Constructor & Destructor Documentation

◆ SlamGMapping() [1/3]

SlamGMapping::SlamGMapping ( )

Definition at line 142 of file slam_gmapping.cpp.

◆ SlamGMapping() [2/3]

SlamGMapping::SlamGMapping ( ros::NodeHandle nh,
ros::NodeHandle pnh 
)

Definition at line 150 of file slam_gmapping.cpp.

◆ SlamGMapping() [3/3]

SlamGMapping::SlamGMapping ( unsigned long int  seed,
unsigned long int  max_duration_buffer 
)

◆ ~SlamGMapping()

SlamGMapping::~SlamGMapping ( )

Definition at line 363 of file slam_gmapping.cpp.

Member Function Documentation

◆ addScan()

bool SlamGMapping::addScan ( const sensor_msgs::LaserScan &  scan,
GMapping::OrientedPoint gmap_pose 
)
private

Definition at line 551 of file slam_gmapping.cpp.

◆ computePoseEntropy()

double SlamGMapping::computePoseEntropy ( )
private

Definition at line 655 of file slam_gmapping.cpp.

◆ getOdomPose()

bool SlamGMapping::getOdomPose ( GMapping::OrientedPoint gmap_pose,
const ros::Time t 
)
private

Definition at line 382 of file slam_gmapping.cpp.

◆ init()

void SlamGMapping::init ( )

Definition at line 167 of file slam_gmapping.cpp.

◆ initMapper()

bool SlamGMapping::initMapper ( const sensor_msgs::LaserScan &  scan)
private
Todo:
Expose setting an initial pose
Todo:
Check these calls; in the gmapping gui, they use llsamplestep and llsamplerange intead of lasamplestep and lasamplerange. It was probably a typo, but who knows.

Definition at line 406 of file slam_gmapping.cpp.

◆ laserCallback()

void SlamGMapping::laserCallback ( const sensor_msgs::LaserScan::ConstPtr &  scan)

Definition at line 610 of file slam_gmapping.cpp.

◆ mapCallback()

bool SlamGMapping::mapCallback ( nav_msgs::GetMap::Request &  req,
nav_msgs::GetMap::Response &  res 
)

Definition at line 785 of file slam_gmapping.cpp.

◆ publishLoop()

void SlamGMapping::publishLoop ( double  transform_publish_period)

Definition at line 352 of file slam_gmapping.cpp.

◆ publishTransform()

void SlamGMapping::publishTransform ( )

Definition at line 798 of file slam_gmapping.cpp.

◆ startLiveSlam()

void SlamGMapping::startLiveSlam ( )

Definition at line 269 of file slam_gmapping.cpp.

◆ startReplay()

void SlamGMapping::startReplay ( const std::string &  bag_fname,
std::string  scan_topic 
)

Definition at line 282 of file slam_gmapping.cpp.

◆ updateMap()

void SlamGMapping::updateMap ( const sensor_msgs::LaserScan &  scan)
private
Todo:
Sort out the unknown vs. free vs. obstacle thresholding

Definition at line 676 of file slam_gmapping.cpp.

Member Data Documentation

◆ angularUpdate_

double SlamGMapping::angularUpdate_
private

Definition at line 132 of file slam_gmapping.h.

◆ astep_

double SlamGMapping::astep_
private

Definition at line 122 of file slam_gmapping.h.

◆ base_frame_

std::string SlamGMapping::base_frame_
private

Definition at line 103 of file slam_gmapping.h.

◆ centered_laser_pose_

tf::Stamped<tf::Pose> SlamGMapping::centered_laser_pose_
private

Definition at line 81 of file slam_gmapping.h.

◆ delta_

double SlamGMapping::delta_
private

Definition at line 140 of file slam_gmapping.h.

◆ do_reverse_range_

bool SlamGMapping::do_reverse_range_
private

Definition at line 84 of file slam_gmapping.h.

◆ entropy_publisher_

ros::Publisher SlamGMapping::entropy_publisher_
private

Definition at line 66 of file slam_gmapping.h.

◆ got_first_scan_

bool SlamGMapping::got_first_scan_
private

Definition at line 88 of file slam_gmapping.h.

◆ got_map_

bool SlamGMapping::got_map_
private

Definition at line 90 of file slam_gmapping.h.

◆ gsp_

GMapping::GridSlamProcessor* SlamGMapping::gsp_
private

Definition at line 75 of file slam_gmapping.h.

◆ gsp_laser_

GMapping::RangeSensor* SlamGMapping::gsp_laser_
private

Definition at line 76 of file slam_gmapping.h.

◆ gsp_laser_beam_count_

unsigned int SlamGMapping::gsp_laser_beam_count_
private

Definition at line 85 of file slam_gmapping.h.

◆ gsp_odom_

GMapping::OdometrySensor* SlamGMapping::gsp_odom_
private

Definition at line 86 of file slam_gmapping.h.

◆ iterations_

int SlamGMapping::iterations_
private

Definition at line 123 of file slam_gmapping.h.

◆ kernelSize_

int SlamGMapping::kernelSize_
private

Definition at line 120 of file slam_gmapping.h.

◆ lasamplerange_

double SlamGMapping::lasamplerange_
private

Definition at line 144 of file slam_gmapping.h.

◆ lasamplestep_

double SlamGMapping::lasamplestep_
private

Definition at line 145 of file slam_gmapping.h.

◆ laser_angles_

std::vector<double> SlamGMapping::laser_angles_
private

Definition at line 79 of file slam_gmapping.h.

◆ laser_count_

int SlamGMapping::laser_count_
private

Definition at line 98 of file slam_gmapping.h.

◆ laser_frame_

std::string SlamGMapping::laser_frame_
private

Definition at line 104 of file slam_gmapping.h.

◆ linearUpdate_

double SlamGMapping::linearUpdate_
private

Definition at line 131 of file slam_gmapping.h.

◆ llsamplerange_

double SlamGMapping::llsamplerange_
private

Definition at line 142 of file slam_gmapping.h.

◆ llsamplestep_

double SlamGMapping::llsamplestep_
private

Definition at line 143 of file slam_gmapping.h.

◆ lsigma_

double SlamGMapping::lsigma_
private

Definition at line 124 of file slam_gmapping.h.

◆ lskip_

int SlamGMapping::lskip_
private

Definition at line 126 of file slam_gmapping.h.

◆ lstep_

double SlamGMapping::lstep_
private

Definition at line 121 of file slam_gmapping.h.

◆ map_

nav_msgs::GetMap::Response SlamGMapping::map_
private

Definition at line 91 of file slam_gmapping.h.

◆ map_frame_

std::string SlamGMapping::map_frame_
private

Definition at line 105 of file slam_gmapping.h.

◆ map_mutex_

boost::mutex SlamGMapping::map_mutex_
private

Definition at line 96 of file slam_gmapping.h.

◆ map_to_odom_

tf::Transform SlamGMapping::map_to_odom_
private

Definition at line 94 of file slam_gmapping.h.

◆ map_to_odom_mutex_

boost::mutex SlamGMapping::map_to_odom_mutex_
private

Definition at line 95 of file slam_gmapping.h.

◆ map_update_interval_

ros::Duration SlamGMapping::map_update_interval_
private

Definition at line 93 of file slam_gmapping.h.

◆ maxRange_

double SlamGMapping::maxRange_
private

Definition at line 115 of file slam_gmapping.h.

◆ maxrange_

double SlamGMapping::maxrange_
private

Definition at line 117 of file slam_gmapping.h.

◆ maxUrange_

double SlamGMapping::maxUrange_
private

Definition at line 116 of file slam_gmapping.h.

◆ minimum_score_

double SlamGMapping::minimum_score_
private

Definition at line 118 of file slam_gmapping.h.

◆ node_

ros::NodeHandle SlamGMapping::node_
private

Definition at line 65 of file slam_gmapping.h.

◆ occ_thresh_

double SlamGMapping::occ_thresh_
private

Definition at line 141 of file slam_gmapping.h.

◆ odom_frame_

std::string SlamGMapping::odom_frame_
private

Definition at line 106 of file slam_gmapping.h.

◆ ogain_

double SlamGMapping::ogain_
private

Definition at line 125 of file slam_gmapping.h.

◆ particles_

int SlamGMapping::particles_
private

Definition at line 135 of file slam_gmapping.h.

◆ private_nh_

ros::NodeHandle SlamGMapping::private_nh_
private

Definition at line 147 of file slam_gmapping.h.

◆ resampleThreshold_

double SlamGMapping::resampleThreshold_
private

Definition at line 134 of file slam_gmapping.h.

◆ scan_filter_

tf::MessageFilter<sensor_msgs::LaserScan>* SlamGMapping::scan_filter_
private

Definition at line 72 of file slam_gmapping.h.

◆ scan_filter_sub_

message_filters::Subscriber<sensor_msgs::LaserScan>* SlamGMapping::scan_filter_sub_
private

Definition at line 71 of file slam_gmapping.h.

◆ seed_

unsigned long int SlamGMapping::seed_
private

Definition at line 149 of file slam_gmapping.h.

◆ sigma_

double SlamGMapping::sigma_
private

Definition at line 119 of file slam_gmapping.h.

◆ srr_

double SlamGMapping::srr_
private

Definition at line 127 of file slam_gmapping.h.

◆ srt_

double SlamGMapping::srt_
private

Definition at line 128 of file slam_gmapping.h.

◆ ss_

ros::ServiceServer SlamGMapping::ss_
private

Definition at line 69 of file slam_gmapping.h.

◆ sst_

ros::Publisher SlamGMapping::sst_
private

Definition at line 67 of file slam_gmapping.h.

◆ sstm_

ros::Publisher SlamGMapping::sstm_
private

Definition at line 68 of file slam_gmapping.h.

◆ str_

double SlamGMapping::str_
private

Definition at line 129 of file slam_gmapping.h.

◆ stt_

double SlamGMapping::stt_
private

Definition at line 130 of file slam_gmapping.h.

◆ temporalUpdate_

double SlamGMapping::temporalUpdate_
private

Definition at line 133 of file slam_gmapping.h.

◆ tf_

tf::TransformListener SlamGMapping::tf_
private

Definition at line 70 of file slam_gmapping.h.

◆ tf_delay_

double SlamGMapping::tf_delay_
private

Definition at line 152 of file slam_gmapping.h.

◆ tfB_

tf::TransformBroadcaster* SlamGMapping::tfB_
private

Definition at line 73 of file slam_gmapping.h.

◆ throttle_scans_

int SlamGMapping::throttle_scans_
private

Definition at line 99 of file slam_gmapping.h.

◆ transform_publish_period_

double SlamGMapping::transform_publish_period_
private

Definition at line 151 of file slam_gmapping.h.

◆ transform_thread_

boost::thread* SlamGMapping::transform_thread_
private

Definition at line 101 of file slam_gmapping.h.

◆ xmax_

double SlamGMapping::xmax_
private

Definition at line 138 of file slam_gmapping.h.

◆ xmin_

double SlamGMapping::xmin_
private

Definition at line 136 of file slam_gmapping.h.

◆ ymax_

double SlamGMapping::ymax_
private

Definition at line 139 of file slam_gmapping.h.

◆ ymin_

double SlamGMapping::ymin_
private

Definition at line 137 of file slam_gmapping.h.


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


gmapping
Author(s): Brian Gerkey
autogenerated on Wed Aug 21 2024 02:12:11