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}






or email your comment to:



CouchDB 3.2 Improves Replication Scheduler

CouchDB has been upgraded with improvements including a more sophisticated replication scheduler and more work to the sharding support.

Microsoft's Data Science for Beginners

There's a new free, self-paced online course about Data Science from Microsoft's Azure Cloud Advocates. Its 20 lesson curriculum, expected to take 10 weeks to complete, is targeted at those new to Dat [ ... ]

More News

Last Updated ( Sunday, 17 September 2017 )