• Diff for "gmapping"
Differences between revisions 63 and 64
Revision 63 as of 2009-09-28 23:03:56
Size: 5519
Editor: KenConley
Comment:
Revision 64 as of 2009-09-28 23:16:16
Size: 5526
Editor: KenConley
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
To use `slam_gmapping`, you need a mobile robot that provides odometry data and is equipped with a horizontally-mounted, fixed, laser range-finder. The `slam_gmapping` node will attempt to transform each incoming scan into the `odom` (odometry) [[tf]] frame. See below for more on required transforms. To use `slam_gmapping`, you need a mobile robot that provides odometry data and is equipped with a horizontally-mounted, fixed, laser range-finder. The `slam_gmapping` node will attempt to transform each incoming scan into the `odom` (odometry) [[tf]] frame. See the "tf API" for more on required transforms.

  Documentation Status

slam_gmapping: gmapping

Package Summary

Documented

This package contains GMapping, from OpenSlam, and a ROS wrapper. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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 package uses r39 from GMapping SVN repsitory at openslam.org, with minor patches applied to support newer versions of GCC and OSX.

slam_gmapping: gmapping

Package Summary

Documented

This package contains GMapping, from OpenSlam, and a ROS wrapper. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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 package uses r39 from GMapping SVN repsitory at openslam.org, with minor patches applied to support newer versions of GCC and OSX.

slam_gmapping: gmapping

Package Summary

Documented

This package contains GMapping, from OpenSlam, and a ROS wrapper. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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 package uses r39 from GMapping SVN repsitory at openslam.org, with minor patches applied to support newer versions of GCC and OSX.

slam_gmapping: gmapping | openslam_gmapping

Package Summary

Released Continuous integration Documented

This package contains a ROS wrapper for OpenSlam's Gmapping. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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.

slam_gmapping: gmapping | openslam_gmapping

Package Summary

Released Continuous integration Documented

This package contains a ROS wrapper for OpenSlam's Gmapping. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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.

slam_gmapping: gmapping | openslam_gmapping

Package Summary

Released Continuous integration Documented

This package contains a ROS wrapper for OpenSlam's Gmapping. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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.

slam_gmapping: gmapping | openslam_gmapping

Package Summary

Released Continuous integration Documented

This package contains a ROS wrapper for OpenSlam's Gmapping. The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. 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.

Cannot load information on name: gmapping, distro: lunar, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

External Documentation

This is mostly a third party package; the underlying GMapping library is externally documented. Look there for details on many of the parameters listed below.

Hardware Requirements

To use slam_gmapping, you need a mobile robot that provides odometry data and is equipped with a horizontally-mounted, fixed, laser range-finder. The slam_gmapping node will attempt to transform each incoming scan into the odom (odometry) tf frame. See the "tf API" for more on required transforms.

Example

To make a map from a robot with a laser publishing scans on the base_scan topic:

rosrun gmapping slam_gmapping scan:=base_scan

Nodes

slam_gmapping

The slam_gmapping node takes in sensor_msgs/LaserScan messages and builds a map (nav_msgs/OccupancyGrid. The map can be retrieved via a ROS Topic or Service.

ROS API

Subscribed topics
  • tf (tf/tfMessage) : Transforms necessary to relate frames for laser, base, and odometry (see below)

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

Advertised topics
  • map_metadata (nav_msgs/MapMetaData) : Get the map data from this topic, which is latched, and updated periodically.

  • map (nav_msgs/OccupancyGrid) : Get the map data from this topic, which is latched, and updated periodically

Advertised services

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 : usually a fixed value, broadcast periodically by mechanism_control, or a tf/transform_sender

  • base_linkodom : usually provided by the odometry system (e.g., the driver for the mobile base)

Provided transforms
  • mapodom

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