Documentation Status

Cannot load information on name: fiducial_slam, distro: electric, 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.
Cannot load information on name: fiducial_slam, distro: fuerte, 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.
Cannot load information on name: fiducial_slam, distro: groovy, 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.
Cannot load information on name: fiducial_slam, distro: hydro, 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.
fiducials: fiducial_detect | fiducial_lib | fiducial_pose | fiducial_slam

Package Summary

Released Continuous integration Documented

Hercules sensor fusion exploration

  • Maintainer status: developed
  • Maintainer: Jim Vaughan <jimv AT mrjim DOT com>, Rohan Agrawal <send2arohan AT gmail DOT com>
  • Author: Jim Vaughan <jimv AT mrjim DOT com>
  • License: TODO
  • Source: git https://github.com/UbiquityRobotics/fiducials.git (branch: indigo-devel)
Cannot load information on name: fiducial_slam, distro: jade, 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.
fiducials: aruco_detect | fiducial_detect | fiducial_lib | fiducial_pose | fiducial_slam

Package Summary

Released Continuous integration Documented

ROS node to build a 3D map of fiducials and estimate robot pose from fiducial transforms

  • Maintainer status: developed
  • Maintainer: Jim Vaughan <jimv AT mrjim DOT com>, Rohan Agrawal <send2arohan AT gmail DOT com>
  • Author: Jim Vaughan <jimv AT mrjim DOT com>
  • License: BSD
  • Source: git https://github.com/UbiquityRobotics/fiducials.git (branch: kinetic-devel)
Cannot load information on name: fiducial_slam, 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.

Nodes

fiducial_slam

fiducial_slam receives fiducial_poses from aruco_detect or fiducial_detect and combines them to build a map of fiducial locations and an estimate of the robots pose.

Subscribed Topics

fiducial_transforms (fiducial_pose/FiducialTransform)
  • Poses of observed fiducials.
tf (tf/tfMessage)
  • Transforms.

Published Topics

fiducial_pose (geometry_msgs/PoseWithCovarianceStamped)
  • Robot's estimated pose in the map, with covariance.
fiducials (visualization_msgs/Marker)
  • Markers showing the map, for use with rviz for diagnostics.
fiducial_map (fiducial_slam/FiducialMapEntryArray)
  • The current state of the map.
tf (tf/tfMessage)
  • Transforms.

Services

initialize_fiducial_map (fiducial_slam/InitializeMap)
  • Clears the map and reinitializes it with the specified data.

Parameters

map_file (string, default: map.txt)
  • Path to the file containing the generated map.
trans_file (string, default: trans.txt)
  • Path to a file to store all detected fiducial transforms.
obs_file (string, default: obs.txt)
  • Path to a file to store all detected fiducial observations
odom_frame (string, default: not set)
  • If this is set to a non-empty string, then the result of the localization is published as a correction to odometry. For example, the odometry publishes the tf from map to odom, and this node publishes the tf from odom to base_link, with the tf from map to odom removed.
map_frame (string, default: map)
  • The name of the map (world) frame.
pose_frame (string, default: base_link)
  • The tf we publish.
publish_tf (bool, default: true)
  • If true, transforms are published.
republish_tf (bool)
  • If true, transforms are republished until a new pose is calculated.
mapping_mode (bool, default: false)
  • If true the map updated and saved more frequently.
use_external_pose (bool, default: false)
  • If true then the node will attempt to use an external estimate of the robot pose (e.g. from AMCL) to estimate the pose of fiducials if no known fiducials are observed.
future (double, default: 0.0)
  • Time with which to post-date the transform that is published, to indicate that this transform is valid into the future.
fiducials_are_level (bool, default: true)
  • If true, it is assumed that all fiducials are level, as would be the case on ceiling mounted fiducials. In this case only 3DOF are estimated.
median_filter_samples (int, default: 0)
  • If none zero, a median filter is applied to the final transform before it is published. This has the effect of removing jitter, but will add latency if set too high.

File Formats

The map file is a text file with a line for each fiducial id: `

id x y z pan tilt roll variance numObservations links

x, y and z specify the translation of the fiducial from the origin in meters, and pan, tilt, and roll specify its orientation in degrees. The fields variance and numObservations represent how good the pose estimate is considered, and how many observations were used to generate it. links is a list of the ids of fiducials that have been observed at the same time as the current fiducial. The coordinate frame used is the map frame, which is relative to the floor, so markers of the ceiling will have been rotated. The supplied launch files specify the map file as ~/.ros/slam/map.txt.

Wiki: fiducial_slam (last edited 2017-03-15 10:39:31 by JimVaughan)