|
Size: 5295
Comment:
|
Size: 5064
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 4: | Line 4: |
| = Package Summary = The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a 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. |
== External Documentation == |
| Line 8: | Line 7: |
== Hardware Requirements == |
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.
- Author: Giorgio Grisetti, Cyrill Stachniss, Wolfram Burgard; ROS wrapper by Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- External website: http://openslam.org/
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: None)
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.
- Author: Giorgio Grisetti, Cyrill Stachniss, Wolfram Burgard; ROS wrapper by Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- External website: http://openslam.org/
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: groovy-devel)
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.
- Author: Giorgio Grisetti, Cyrill Stachniss, Wolfram Burgard; ROS wrapper by Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- External website: http://openslam.org/
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: groovy-devel)
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.
- Maintainer status: maintained
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: hydro-devel)
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.
- Maintainer status: maintained
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: hydro-devel)
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.
- Maintainer status: developed
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: hydro-devel)
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.
- Maintainer status: maintained
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Brian Gerkey
- License: CreativeCommons-by-nc-sa-2.0
- Source: git https://github.com/ros-perception/slam_gmapping.git (branch: hydro-devel)
Contents
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. slam_gmapping will attempt to transform each incoming scan into the odometry frame. See below 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 laser scans, and offers up a service over which the resulting map can be retrieved.
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 : usually a fixed value, broadcast periodically by mechanism_control, or a tf/transform_sender
base_link -> odom : usually provided by the odometry system (e.g., the driver for the mobile base)
Provided transforms
map - > odom
Tutorials







