Robot Navigation Made Easy With QR Codes
Written by Lucy Black   
Saturday, 30 November 2013

Getting a robot to know where it is and navigate to new locations is a tough problem that needs Bayesian particle filters, sophisticated machine vision, planning and ... or does it?

The localization problem is at the heart of robot navigation. If you want a robot to bring you a beer or a coffee then the robot needs to know where it is and where the coffee is. In short, the robot needs a map and it needs to know where it is on the map at any moment in time. A slightly more complicated problem is getting the robot to learn or construct the map as it works out where it is - the so called Simultaneous Localization and Mapping or SLAM problem. 

Interesting though these problems are, there is another way of doing things. Most robots navigate around a "built" environment and there is no reason why we can't simply augment the environment so that the robot finds it easier to find its position. You can think up advanced technological ways of labeling the environment with RF beacons and so on, but a much simpler way is to use a real physical label. 

QR codes, sometimes called robot vomit, might just be more useful than we thought. By sticking QR codes on walls, doors and other features, the environment can be signposted in a way that any robot equipped with a video camera can read. Of course, it isn't quite that simple in that the software has to detect the QR code sign, the robot can then move closer to read it and finally work out where it is.  

An implementation of this idea by Aldebaran Robotics using the Nao proves that it could work with a full size robot.  In this case Nao doesn't have to be closer than 2.5m and at no more than 45 degrees to the code to read it and to work out its position relative to the sticker. Putting the two pieces of information together gives its global position. The codes don't have to be stuck in any particular location as Nao learns where they are as he walks about either using supervised learning or an unsupervised learning algorithm. 




Once a map has been built up Nao can navigate to any location by frist finding a bar code sticker and then planning a route that includes other bar codes to verify the dead-reckoning position. 



One of the worries was that the bar codes might be thought intrusive in a human an environment, but when asked the biggest and most disturbing problem that humans reported was when the robot rotated its head more than Pi/4, i.e. 45 degrees. You can see that robot vomit coupled with something out of the exorcist might well be disturbing. Fortunately the solution is easy - just limit the head movement. 




So if you see bar codes appearing around your house, or worse your town, look out for the imminent robot invasion. 

More Information

Humanoid Robot Indoor Navigation Based on 2D Bar Codes (Home page)

Humanoid Robot Indoor Navigation Based on 2D Bar Codes: Application to the NAO Robot (pdf)


Related Articles

Atlas Walking Over Randomness

Robots For Kids And Developers

NAO Works With Autistic Children

Nao Learns to Draw

Nao Plays Connect Four

Robots As Dancers - The Nao Dance Troupe

Nao Picks Up Discarded Socks


{loadpoisition signup}


C book



or email your comment to:



Celebrating Alan Turing

Today, June 7th 2024 is the 70th anniversary of the untimely death of Alan Turing. While we now commemorate him for his contributions to code-breaking computer science and artificial intelligence, sev [ ... ]

TIOBE Index June Highlights

The June 2024 TIOBE Index is out and its headline comes as a bit of a shock: C++ surpasses C for the first time in history. Lower down the ranks both Go and Rust have achieved their highest positions  [ ... ]

More News

Last Updated ( Sunday, 17 September 2017 )