Package LinksDependencies (7)
This package contains CoreSLAM, from OpenSlam, and a ROS wrapper.
- Author: Bruno Steuxa and Oussama El Hamzaoui; ROS Wrapper by Michael Ferguson
- License: MIT
- Repository: albany-ros-pkg
- Source: svn http://albany-ros-pkg.googlecode.com/svn/trunk/slam_coreslam/coreslam
To use CoreSLAM, you need a mobile robot that provides odometry data and is equipped with a horizontally-mounted, fixed, laser range-finder. The slam_coreslam node will attempt to transform each incoming scan into the odom (odometry) tf frame. See the "Required tf transforms" for more on required transforms.
To make a map from a robot with a laser publishing scans on the base_scan topic:
rosrun coreslam slam_coreslam scan:=base_scan
slam_coreslamThe slam_coreslam 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.
Subscribed Topicstf (tf/tfMessage)
- Transforms necessary to relate frames for laser, base, and odometry (see below)
- Laser scans to create the map from
Published Topicsmap_metadata (nav_msgs/MapMetaData)
- Get the map data from this topic, which is latched, and updated periodically.
- Get the map data from this topic, which is latched, and updated periodically
- Call this service to get the map data
Parameters~throttle_scans (int, default: 1)
- Process 1 out of every this many scans (set it to a higher number to skip more scans)
- The frame attached to the mobile base.
- The frame attached to the map.
- The frame attached to the odometry system.
- 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.
- Resolution of the map.
- Standard deviation in x and y directions for Monte Carlo sampling (in meters).
- Standard deviation for rotation in Monte Carlo sampling (in radians).
- Width of a hole (in meters). See CoreSLAM paper for details.
Required tf Transforms<the frame attached to incoming scans> → base_link
- usually a fixed value, broadcast periodically by a robot_state_publisher, or a tf static_transform_publisher.
- usually provided by the odometry system (e.g., the driver for the mobile base)
Provided tf Transformsmap → odom
- the current estimate of the robot's pose within the map frame