Fiducials (Tue Nov 5, lect 18) | previous | next | slides |

Uses of Fiducials

Logistics

  • People are taking too much advantage of the free extra three days, and then often even asking for an extension on that.
  • I feel very generous, but that is causing havoc in our grading.
  • So:

NEW POLICY

Starting with the Stage 2 Deliverable, work submitted after the due date can never have an exceeds rating

Standups

  • A weekly new deliverable beteween now and the end of the term: Weekly Standups
  • The first one will be due next Tuesday

Lab Time

  1. To the student lab managers, please make sure you have 2 hours per week on the calendar
  2. If you have a problem with a robot that you cannot solve, please submit a Lab Service Request

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

  • The basic concept of Fiducials can be implemented in different ways
  • We use aruco fiducials. The other well known one are apriltags
  • They each have slightly different performance characteristics
  • aruco fiducials are supported directly by OpenCV
  • We have also used Ubiqutiy Robotics aruco_detect

The Software

Characteristics of Aruco Fiducials

  • Easily recognized by camera using computer vision
  • Known dimensions
  • Known pose (location in 6d) within a certain coordinate system
  • Encode a number so that your software can tell them apart if there is more than one

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)