Only released in EOL distros:
Package Summary
The tuw_marker_slam package provides a framework for feature based SLAM implementations in ROS. Meanwhile a variant of EKF-SLAM is implemented.
- Maintainer status: developed
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Macsek
- License: BSD
- Source: git https://github.com/tuw-robotics/tuw_marker_filter.git (branch: kinetic)
Contents
Overview
tuw_marker_slam_node
This C++ ROS node implements the SLAM framework. It listens for commands executed by the vehicle for the prediction step and receives the detected markers for the update step. At the end of each SLAM cycle it publishes the currently explored marker map and the vehicles estimated pose in it. Furthermore a transformation from the established map to odom is provided.
Related papers
Mobile Robotics: EKF-SLAM using Visual Markers for Vehicle Pose Estimation
Macsek, M., "Masters Thesis at Vienna University of Technology", 2016 (PDF)
Usage
rosrun tuw_marker_slam tuw_marker_slam_node
Examples
Start SLAM framework in EKF-SLAM mode with a predefined measurement noise model:
roslaunch tuw_marker_slam slam.launch
Start SLAM framework in EKF-SLAM mode with a predefined measurement noise model using the simulation environment Stage (https://github.com/tuw-robotics/stage_ros):
roslaunch tuw_marker_slam slam_demo_stage.launch
Start SLAM framework in EKF-SLAM mode with a predefined measurement noise model using the simulation environment Gazebo (https://github.com/tuw-robotics/tuw_gazebo) and the tuw_aruco marker detection
roslaunch tuw_marker_slam slam_demo_gazebo.launch
Node
Subscribed Topics
cmd (geometry_msgs/Twist)- Velocity and angular rate commands of the vehicle will be retrieved via this latched topic.
- Pose measurements of detected markers will be retrieved via this latched topic.
Published Topics
xt (geometry_msgs/PoseWithCovarianceStamped)- Receive the vehicles pose in the currently explored marker map via this latched topic.
- Receive the currently explored marker map via this latched topic.
Parameters
mode (int, default: 0)- Indicates the used SLAM technique: 0 - EKF-SLAM
- Indicates whether the measurements are taken in the XZ-plane (e.g. Gazebo) or in the XY-plane (e.g. Stage)
- Name of frame inserted into header of published map and vehicle pose respectively but also used as source frame in the provided transformation from map to odom.
- Name of destination frame used in the provided transformation from map to odom.
- Name of vehicles frame.
- Parameters of the used measurement noise model in EKF SLAM.
Required tf Transforms
base → odom- Transform from the estimated pose to odom
- Transform incoming measurements into the base frame
Provided tf Transforms
map → odom- Transform from the estimated map to odom