Welcome to Synthiam!

Program robots using technologies created from industry experts. EZ-Builder is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.
Get Started

Asked — Edited

2D Floormap And Qr Codes Testing

Since QR codes can be read from a distance I'm going to expirement with QR code grid based location. I searched often for this on Google and found different theories some used only one or two Qr codes and then a complex algorithm calculated position based on the angle the camera views the Qr code. The testing may eventually use this but I want to follow the KISS rule since I'm so famous for over complicating things. I measured out my first floor already in inches and I will do so to the bedroom as well. I'm marking this as a tutorial since I will outline "how to" do this and we will expiriment to find what works best.

The floor layout marks the edges of the area the robot could access if there was no furniture. These are permenant factors for scripting. Next I will mark the semi permanent furniture like fishtank , couch , lamps , tv stand , end tables and fridge.

Bottom floor outer wall layouts.
User-inserted image

QR code tests. I used a more real world test template. A title with x and y coordinates to identify the approx position in the home. I test different sizes , focal points , lighting ect. I did a short video demonstrating the best results so far.
User-inserted image

Here is the second largest QR code at 6ft with illumination with a medium sized QR code. I tested the standard QR code in ez builder and I could only get it to reliably read at 2 -2.5ft with optimal illumination. The largest code seems large in the.picture but once it is on the ceiling it doesn't look that big. Adjusting gridlines I found I could narrow the box to just above the size of the QR code and it wouldn't read a QR code nearby that was not in the gridlines. However if more that half of a QR code is in the box it will try to read it so QR codes should be spaced 50 percent of their physical width apart to keep from having confusion.
User-inserted image

Here I tested the 400 line wide QR code I stretched by hand and the 600 line QR code I custom made. The distance tested here was 7 ft 6 inches exactly with a 1 watt led illuminator 6400k color. This flavor of light favors blue. I used this because I am considering IR illuminator to ensure the QR codes are well lit at this distance.
After work today I will measure the upstairs for a basic map and then the fixtures that are semi permanent downstairs. My goals here are to make a complex environment more simple so the robot does not completely rely on sensors to determine position and environment. Some things are static in the environment and by making those "hard boundaries" I can simplify a space. I did see an idea to outline permenant objects with magnetic tape but that requires a custom sensors to see so I will stick that in my back pocket behind the northstar beacon methods.

As for the camera I believe I may need to wait until the EZB v4 cam is available because I'm very fond of the built in connection. Otherwise I can use the dongle until then for testing and development. I will need to solder up a IR illuminator and hopefully I have enough leds to make a prototype.
Oh yea the code showed up even better than directly shining the bright white light on it. I was very happy. At first I was concerned 30 IR leds may not do the job. Now at this point I'm wondering if I should do 50 leds to widen the light ring. As long as it can read them moving slowly I may use this on the other robots too.
Josh are there any paints that can not be seen with your eyes but show up on camera when IR is shined on it? If there is such a thing, then you may be able to (using a template) paint the QR codes on the ceiling and not have to tape or pin sheets of paper and would not be able to see it with the naked eye. Just wondering. I will en devour to search tonight when I get the chance...if I am not still in a turkey induced coma...LOL. Happy Thanksgiving buddy. Tell your brother hello for me.

BTW...how much current are all those IR LEDs pulling?
Here is a link to IR Ink. But I don't know if it will show up dark enough for the camera to pick up the QR image. Will have to do some more reading.

IR ink

Here is one for IR paint but it is visible to the eye also.

IR Paint

Link with a a fascinating but disturbing concept of object tracking.


Interesting link about invisible QR Codes

Invisible QR Codes


Thanks for the links. I looked at all of them only the nightmarker looks like a real product. The "invisible qr" code was just a app that matches pictures to an online database to trigger a website to display information. so thats not a real QR code. I did play with the codes a bit. I started to pull the roomba out and the booger died from not being on charge so i moved the camera back and forth by hand and it does appear as long as i keep the resolution 640x480 it will read. lower resolution it will not. i did a short video showing the movements.

it's a very short video just showing that the code cam be moving some as long as it's slow enough to grab a frame. I also tried reading the code without the IR light and it would not read at all without direct illumination at 7 ft away using a 400 x 400 line Qr code.
User-inserted image

normal lighting plus fishtank and Christmas tree lights.

User-inserted image

IR illumination with 36 leds at 7ft and IR filter removed from the camera.
Ok new video showing codes read while roomba is moving at 25 percent speed.


So the video was uploaded sideways because that's apparently what my phone wanted. Good news is I'm switching to a galaxy Note 3 in a day or two. Looks like this will work fine and now I can get back to building beer bot. The next step is figuring out how many codes I want to use. I will need to buy a compass I believe next.