Fiducials (Thu Oct 24, lect 16) | previous | next | slides |

Uses of Fiducials

Logistics

Introduction to Fiducials

  • A specific kind of graphical image combined with an algorithm
  • Generally the recognition algorithm includes a tool to create the images

  • Standardized image with known dimensions
  • Conceptually simple geometrical transformation
  • Perspective distortion is used to compute relative pose (orientation and distance)
  • Tricky business with TFs and POV!

Aruco Fiducials

  • We have used Ubiqutiy Robotics aruco_detect
  • Easily recognized by camera using computer vision
  • Known dimensions
  • Known pose (location in 6d) within a certain coordinate system
  • Think of that as the map coordinate system

Creating Aruco Fiducials

  • Lots of ways, in code or online
  • e.g. Aruco Markers Generator
  • You can choose the size, the number of bits, and the number of distinct tags

Tag Detection

  • How do we get the transform between a camera and fiducials?
  • Compare the orientation, size and transfor betwen the obsrved image and the known features of the fiducial
  • ROS Wiki with demo

Tag Placement

  • Trade-offs: along the wall, along the ceiling
  • How many tags do you need?
  • Can you have too many?
  • Remember: the tag is not identifying a thing
  • It is just a point where your real world coordinate system is bound to your robot coordinate system

Fiducial Localization

  • In general localization means computing the transform between real world and robot coordinates.
  • More specifically we are computing a transform betwen a map tf and a robot_base tf
  • Even more specifically what is the transform between the pose of the fiducial and the pose of the camera.

Lab Notebook Entries

  • A coming homework asks that you write a “howto” for our lab notebook
  • Here’s one about Localization with Fiducials from another semester

Other Resources

Fiducial SLAM

  • Detect fideucials in image
  • Compute transform between fiducial(s) and camera (and robot)
  • Orient a coordinate system corresponding to the real world

Fiducial Localization with an existing map

  • Predefine a map with fiducials marked on it
  • Detect fiducials in camera image
  • Find transforms between fiducials and camera
  • Localize robot on that map

Thank you. Questions?  (random Image from picsum.photos)