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
- To the student lab managers, please make sure you have 2 hours per week on the calendar
- 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)