Go Down

Topic: "LoMoR" - Sonor Mapping for Robots (Read 8121 times) previous topic - next topic


Sep 23, 2009, 10:09 am Last Edit: Sep 23, 2009, 10:13 am by Chip Reason: 1
"LoMoR" - Lets Orientate & Map Our Robots (Sonar Based)
Here is a Sonar system i created by combining
an Ultrasonic Measurement Transducer with a Scanning Servo,
mapped onto a (X,Y) LCD Display.

More Details of "LoMoR"at  http://letsmakerobots.com/node/11259



wow, looks cool! with the direct drawing on the LCD  :)

but try a optical sensor, will give you more precision on different surfaces and a sharper edge compared to the sonar.

see my 3d scanner(http://www.designer2k2.at/index.php?option=com_content&view=article&id=22:3d-scan-arduino&catid=13:arduino&Itemid=40) it uses a GP2Y0A02YK to get quite nice results  :)


Thanks for the link - i have admired your 3D system for a while now :o.

Yes the project is only a few days old and its only now that the true ultrasonic scan data is visible on the display.

The Ultrasonic footprint of an object is quite wide (wider than i had calculated) - and yes i will be probe-ing an IR sharp for comparison soon.

The plus point of Ultrasonic system is its scanning range - however the "extra" echos can be miss-leading.


with the GP2Y0A02YK you can go for a 2,5m range, is that to small for your project?

always a question of use, the optical sensors are a bit slow at far distances, your system seems to scan the 180° quite fast!


Thanks for the Data.
I have since turned the Ultrasonic into vertical alignment and improved the results. (it will work up to 4 meters at solid wall - soft objects reduce the efficiency and echos bounce-ing of objects can interfere )

The Servo is in slow mode at the moment - just for tune-ing . I am expecting it to go 2 or 3 times faster.

To get more accuracy i would have to mount it on a digital servo (ie more in-between steps)


I planned to make a robot that would do the same sort of thing as this, but send the data to my computer wirelessly. Would then have a program to use this data to build a map of the environment. Could then do some path finding with the map to tell the robot how to move around objects. I figure the hardest part would be to have the program always know where the robot is, otherwise things would get unsynced and all that.


Recommendation would be to use "Processing" as it lends its self to serial data and also Graphic Visualization so at least you can see what is happening.
At present i am experimenting with Making Robots with Senses (the project you see here is "Sight") which will be autonomous ie no external PCs.


Recommendation would be to use "Processing" as it lends its self to serial data and also Graphic Visualization so at least you can see what is happening.

I figured I would use C#, because that's the language I've been messing with lately. My programming abilities are much better than my electronic abilities (which aren't that great).

So maybe if I wanted to, throw some XNA graphics into the mix.


Oct 05, 2009, 10:05 pm Last Edit: Oct 06, 2009, 07:29 pm by Chip Reason: 1
Updated using :-
Sharp GP2Y0A02YK0F  Long Range IR sensor - mounted vertically.

[media]http://www.youtube.com/watch?v=9qN02ms2CG8 [/media]

Compared to the Ultrasonic, i must say that the results are much cleaner.
This sensor will scan up to 150cm (tested).


Very cool project. I've been planing to do the same or similar for some time. Only I want to send data by wireless from a robot to my PC.

And like TheMastahC I too have been thinking about how to let the robot know where it is when it's moving around ... WITHOUT a GPS. That seems like the real tricky (however interesting) part.

Anyone has ideas about how this can be achieved?

I was thinking about calculating approximately how fast and in which direction it's moving and constantly comparing that to where the objects around it should be. I wonder if it would be possible given the imprecise knowledge of it's location and ditto sensor readings. PLUS the fact that the object may move?!


Oct 09, 2009, 01:16 am Last Edit: Oct 09, 2009, 01:24 am by Aniss Reason: 1
About Processing: Well I wouldn't recommend it. It's easy to program yes but the performance truly sucks. C# is a better solution allthough I'm not sure about the graphics rendering options? Perhaps not much better than Processing?

I recently finished programming a serial oscilloscope in Visual C++ based on Dark GDK (a DirectX wrapper), which I would recommend. It's almost as easy as Processing BUT it performs 1000 better, when it comes to graphics.

Otherwise I believe there are opengl wrappers around that should work with C# too....

Go Up