Fiducial Marker Navigation for Mobile Robots
Rhodes University - Honours Project 2012

Progress

Basic Progression Timeline


Detailed Progress

- Introductory presentation given.
- Project proposal complete.
- Created fiducial markers using ArUco.
- Accurate recognition of fiducial markers with webcam using ArUco successful.
- Initial version of website complete and online.
- Literature review and plan of action complete.
- Robot upgraded with a larger and faster flash card (4GB-16GB) followed by a clean installation of Ubuntu.
- Robot following fiducial marker in a straight line.
- Robot following fiducial marker with turning involved.
- Robot detects obstacles in its path using lidar.
- Obstacle avoidance algorithm designed and implemented - results inadequate.
- Second presentation given.
- New obstacle avoidance algorithm designed and implemented - results adequate,
- Robot searches for the marker when it is lost.
- Experiments performed and results recorded.
- Final presentation given.
- Thesis complete.

Issues and Alterations

Originally, ARToolKit was chosen for the detection of fiducial markers, since is it well known and well documented, cross-platform and provides for robust detection. Unfortunately compatability issues arose. These issues were owing to ARToolKit being outdated (latest release in 2006), and therefore it was difficult to set up on the versions of Ubuntu installed on the robot (10.04 and 11.10). ArUco, a minimal marker detection library based on OpenCv, was chosen instead.


The previous installation of Ubuntu installed on the robot was cluttered, messy and in terms of speed, was performing poorly. Space was also an issue as the capacity of the flash card in the robot was only 4GB. Therefore, a new flash card (Kingston 16GB Compact Flash Ultimate - 266x) was purchased and installed into the robot. Ubuntu 10.04 LTS was then installed onto the card.


The accuracy of the odometer readings from the robot proved poor and were not repeatable. This meant that using the investigated search algorithms in the manner that they were intended, was no longer possible. Instead, the A* search algorithm was used in a replanning manner.