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. 

 

naolabel

 

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. 

 

naolabel2

 

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

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

blog comments powered by Disqus

 

Banner


Android Studio Graduates To Beta
30/06/2014

Although Google I/O didn't bring us the finished version of Android Studio, we do have the first beta.



ConvNetJS - Deep Learning In The Browser
07/07/2014

ConvNetJS brings deep neural networks to your browser. It's easy to use and fast without using a GPU, which means it works almost anywhere. 


More News

Last Updated ( Saturday, 30 November 2013 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.