• Diff for "gmapping"
Differences between revisions 32 and 33
Revision 32 as of 2009-08-03 04:28:47
Size: 5007
Editor: BrianGerkey
Comment:
Revision 33 as of 2009-08-03 04:29:04
Size: 5007
Editor: BrianGerkey
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
=== Advertised serviced === === Advertised services ===

Include(Menus/MapBuildingStack) RosdocHeader(gmapping) TableOfContents(3)

Package Summary

The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping). Using slam_gmapping, you can create a 2-D occupancy grid map (like a building floorplan) from laser and pose data collected by a mobile robot.

This is mostly a third party package; the underlying GMapping library is [http://openslam.org/gmapping.html external documented]. Look there for details on many of the parameters listed below.

To use gmapping, you need a mobile robot that provides odometry data and is equipped with a horizontally-mounted, fixed, laser range-finder. gmapping will attempt to transform each incoming scan into the odometry frame; make sure that all necessary transforms are available. Normally there are two transforms involved:

  • base_link -> odom : provided by the odometry system (e.g., the driver for the mobile base)

  • base_link -> base_laser : a fixed value, broadcast periodically by mechanism_control, or a tf/transform_sender

Example

ROS API

Subscribed topics

  • scan (sensor_msgs/LaserScan) : Laser scans to create the map from

Advertised services

  • dynamic_map (nav_msgs/GetMap) : Call this service to get the map data

Parameters used

  • ~inverted_laser (default: false) : Is the laser right side up (scans are ordered CCW), or upside down (scans are ordered CW)?
  • ~throttle_scans (default: 1) : Process 1 out of every this many scans (set it to a higher number to skip more scans)
  • ~base_frame (default: "base_link") : The frame attached to the mobile base.
  • ~map_frame (default: "map") : The frame attached to the map.
  • ~odom_frame (default: "odom") : The frame attached to the odometry system.
  • ~map_update_interval_ (default: 5.0) : How long (in seconds) between updates to the map. Lowering this number updates the occupancy grid more often, at the expense of greater computational load.
  • ~maxUrange (default: 80.0) : The maximum usable range of the laser. A beam is cropped to this value.
  • ~sigma (default: 0.05) : The sigma used by the greedy endpoint matching
  • ~kernelSize (default: 1) : The kernel in which to look for a correspondence
  • ~lstep (default: 0.05) : The optimization step in translation
  • ~astep (default: 0.05) : The optimization step in rotation
  • ~iterations (default: 5) : The number of iterations of the scanmatcher
  • ~lsigma (default: 0.075) : The sigma of a beam used for likelihood computation
  • ~ogain (default: 3.0) : Obstacle gain (?)
  • ~lskip (default: 0) : Number of beams to skip in each scan.
  • ~srr (default: 0.1) : Odometry error in translation as a function of translation (rho/rho)
  • ~srt (default: 0.2) : Odometry error in translation as a function of rotation (rho/theta)
  • ~str (default: 0.1) : Odometry error in rotation as a function of translation (theta/rho)
  • ~stt (default: 0.2) : Odometry error in rotation as a function of rotation (theta/theta)
  • ~linearUpdate (default: 1.0) : Process a scan each time the robot translates this far
  • ~angularUpdate (default: 0.5) : Process a scan each time the robot rotates this far
  • ~resampleThreshold (default: 0.5) : The neff based resampling threshold (?)
  • ~particles (default: 30) : Number of particles in the filter
  • ~xmin (default: -100.0) : Initial map size
  • ~ymin (default: -100.0) : Initial map size
  • ~xmax (default: 100.0) : Initial map size
  • ~ymax (default: 100.0) : Initial map size
  • ~delta (default: 0.05) : Processing parameters (resolution of the map)
  • ~llsamplerange (default: 0.01) : Translational sampling range for the likelihood
  • ~llsamplestep (default: 0.01) : Translational sampling range for the likelihood
  • ~lasamplerange (default: 0.005) : Angular sampling range for the likelihood
  • ~lasamplestep (default: 0.005) : Angular sampling step for the likelihood

tf API

Required transforms

  • (the frame attached to incoming scans) -> base_link

  • base_link -> odom

Provided transforms

  • map - > odom


[wiki:/Reviews Review Process]

Wiki: gmapping (last edited 2015-12-09 04:40:26 by Sebastian Schweigert)