Robot navigating by visible light alone

 

Update:

To make FritsLDR stand the ultimate test, I wanted it to navigate with light only.. but using a standard old fashionable light bulb instead of a smart & fast display of super bright LED's to track in front..

.. and then it had to navigate at a kitchen table.. where all lights in the cieling was florescent lamps :)

And it can be done. Quite easily actually! So this concludes this for me; It CAN be done - you can navigate by visible light, and you can make your own sensors with just some source of light and a cheap LDR!

I may upload some code for the filtering of florescent light if I have time or someone asks. However, it is very easy to do; Look at the "how to", use the code attached. Instead of "Pause P", use the time to measure perhaps 4 times, and let this be the result that you subtract from the other result (light on / off) and get difference from these two averaged variables instead. That does the trick.

FYI; In the video with the light bulb, I am reading 40 times on / 40 times off, and get the average.. But that is because I have to spend the time it takes the darn thing to start glowing on something :D


You may not think much of it, but to me it is sensational :D

The worlds first robot navigating by the reflection of visible light - does not care if it is driving in day or night, artificial or natural light :)

(And yes, it is also a Joystick)

Instructions on how is found here: https://www.robotshop.com/letsmakerobots/node/1833


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/robot-navigating-by-visible-light-alone

Hey so you should try using

Hey so you should try using night vision(IR) on the camera (if you have it of course) to see if that has any affect on the edge avoidance…could be interesting.

 

btw, is there anything that you don’t use to make a robot out of??? :slight_smile: I now waiting for a nintendo bot…

Out standing! Not to be a

Out standing! Not to be a downer, doesn’t this already exiest? Does anyone remember “Lego Mindstorms”, it came with a IR sensor. I am probably just missing something… I AM new to the wonderful world of robotics!

-MacLean

I like it, and have an

I like it, and have an interest, for sure. I have a sunken (down 2 steps) Living room. I have to ccnstantly be alert to prevent my robot from driving “over the edge”. :frowning: There have been 2 times that the robot tumbled because I was distracted. Can hardly wait for the walk through.

It’s a good thing that you included the video, because otherwise someone might tell you that you are doing something impossible. :wink:

Duane S

Wilson, NC USA

 

The only thing that affects
The only thing that affects it is light so bright that it is over the max of the LDR… :slight_smile: Does no matter if it is Ultra Violet or Infra Red or whatever.

That was excactly “IR” -

That was excactly “IR” - this can be any color, which is why I chose green to show :slight_smile:

And the LEGO-things are extremely sensitive to the distance from the sensor to the object; Within 1 centimeter. This can vary at least 5 centimeters in any condition with any color LED. At best I have made it work on 30 cm distance!

so lets see some code and a

so lets see some code and a simple wire schematic… :slight_smile:

I’m curius on one thing, since there are varying sizes of ldr’s, have you tried different sizes to see how differently they react? I bought a pack of them recently, from big penny sized surface to as little as the width of an average LED…

Eyes?
Very damn clever, and cool! I am a bit confused about how it works though, is it using two imputs, and then judging the distance, like eyes? Sorry, just a bit confused!

The bigger the more

The bigger the more sensitive, the better!

Same goes for LED; The bigger, the more light - or even the more - the better!

Ehi it definitely seems to
Ehi it definitely seems to work :slight_smile: Can it be used for obstacle avoidance? IE pointing it forward instead of downward and checking the distance ?

Yes and no:NO:If you like

Yes and no:

NO:
If you like to program in a way that you know excactly (measured in human-distance like CM’s) how far away things are.

YES:
If you like to program a robot that has a very “subjective” measuring to distance; You know when something is close, but if it is further away you may not see it, or just know that it is out there. (Like a person driving a car; distance can only be relyed on when the objects are really close - else it is quite subjective)

NO:
If you are just using one LED and a small LDR. This is what I do on this bot (so far) and this can only be used at a distance of some 5 CM.

YES:
If you are using multiple and powerfull LED’s, specially the red ones, and the biggest LDR(s) you can find. That way you can make it react to objects up to 30 CM away (as far as I have made it, but that was actually before I made some optimazation in the code that has proved to make much better results, so it may be that even my setup can look further) Indoor is of course best, some 30% off distance in bright sunlight outside.

- I am going to make one that navigates this way myself :slight_smile:

Ok, i think that anyway we
Ok, i think that anyway we use classic sensors with a theresold value so your method could be just as useful :slight_smile:

It IS more crap! But is is

It IS more crap! But is is also more fun :slight_smile:

And some of the crap can be usefull - like the ability to select colors and be a lot better than avarage IR’s to line following.

I’d say that it is betwenn standard little things you use to line sensoring (Emitor colector in black plastic), and SHARP IR finder… But is just looks so much more COOL :smiley: Colors flashing :smiley:

Hey, idaniel - this should
Hey, idaniel - this should be something for you, you are making such flashy robots! Sensoring by flashing lights, huh? :slight_smile:

Crap ? Not really.

This has got to be one of the coolest ideas I have seen in this hobby. Your method is right on track. We don’t need to know the precise, exact, dead nuts on, distance in millimeters to an object, just know that the object is getting closer.

Think about when the phone rings and you need to navigate through your living room to get to the phone. You don’t need to know the precise distance to the coffee table, or the basket of laundry, or the nintendo game left lying on the floor, you just need to avoid them on your way to the phone.

I agree 1.000%! Which is why

I agree 1.000%! Which is why I am so excited as well :slight_smile:

However, it IS crap, because it is a constant battle for more distance. When comming from SRF05 that works (in reality) on 1.5 meters, SHARP IR (That works on some 10-50 CM’s) is crap… But this is working from 0-30 at best, more like 0-10 CM in average conditions / average setup, so that is crap.

But it is flashing light on the objects, and that is so cool because it is not just flashing, it is visible detection :smiley: And it is fun to try to make it sense longer… I have really not tried much optimiazation, only basic development, testing the most basic stuff that I am now sharing. I am sure someone can make this work on much longer distances!

Also the signal could be amplified etc etc…

(And thanks for also thinking it is cool)

BTW, it is better than any
BTW, it is better than any of the others at really close up; The SHARP is F***ed when things gets close - this is really steady - like REALLY at close up!

adjust the light

Try putting a tube over the LED ( drinking straw, old BIC pen case, etc. ). This would limit the diffusion of the light.

You could also uses lenses to focus the light. Cheap plastic ones would work.

You aren’t alone in your thinking either, check this one out …

http://www.robotroom.com/ColorSensor.html

Putting the light in tubes

Putting the light in tubes etc has proven to reduce the amount of energy / light shining back. Bad idea :slight_smile: The diffusion does not matter, it is the center of the light that peaks. Mirrors to narrow the beam on the other hand is a good thing!

Focusing the light; Doing it with the beam is not possible (unless I should make laser). Doing it with the light shining on the LDR (putting a lens in front of the LDR) works… only the lens has to be some distance away from the LDR… and so it has to be closer to the objects… and so all in all - perhaps I can look some 5 CM longer ahead, but I get to be some 15 CM longer in total ;/

The guy @ robot room is only talking about color seperation, and there is nothing new in that at all what so ever. I just thought I’d add it to this perhaps. But still cool with the link, thanks :slight_smile:

Speaking of lasers, have you

Speaking of lasers, have you tried one yet? I used one a while back with a webcam - and did some triangulation to do lidar like ranging. It worked pretty good - I could do ranges of up to 20’ in dimly lit spaces - sunshine would have a tendency to wash it out of the webcam picture. I was going to start that project up again, but I wanted to see how far I could get with just passive light. The stereopsis should work well with an active spot like a laser - I wonder if you would get much variance in your design?

The laser light is coherent and stick together very well over long distances but its power output is pretty low - maybe combine 3 laser pens together - I started to do that … its pretty cool - give it a “Predator” look :smiley:

Another idea i had for “active” ranging is setting up 3 lasers at a slightly inward tilt - then when the robot picks it up on the web cam the measurement between the 3 points (although only 2 are needed) is an instant indication of how far away the reflecting object is…

so much to do … so little time

GroG
my robots
my garden