room mapping methods
I am looking for an efficient way to implement simple room mapping, and have an idea, but I have some questions about it. My idea is to use 2 distance sensors pointing in the same direction (on the front of the robot) spaced about 6" apart. This will allow the robot to get two distance measures of the wall. Supposing the sensor read 10" from the wall and the second read 7", I could find the difference (3") and using arctanθ=(distance between sensors/difference in distances) I could find the angle that the robot is to the wall. This would allow the robot to think of that wall as an indefinite line and until it finds another wall (also a line) that intersects with the first line, which would mark a corner. After a while, the robot should have the room mapped out.
I have several questions about this regarding the sensors though. First, the only sensor that I know of that can take distance measurements far enough are the ultrasonics. The problem with these is that they detect in a conical pattern and might echo off of something next to it instead of in front, giving a false reading. What sensors are reccomended in accomplishing something like this? And most importantly, how do others do room mapping? is my idea ok, or am I making it too complex/simple?
Thank you,
Justin W.
I have several questions about this regarding the sensors though. First, the only sensor that I know of that can take distance measurements far enough are the ultrasonics. The problem with these is that they detect in a conical pattern and might echo off of something next to it instead of in front, giving a false reading. What sensors are reccomended in accomplishing something like this? And most importantly, how do others do room mapping? is my idea ok, or am I making it too complex/simple?
Thank you,
Justin W.
Comments
It seems that it should be possible, since you can buy laser rangefinders in golf shops, outdoor stores, etc.
Justin, if you are wanting to stick with the ultrasound I have·three suggestions, either 1) mount the ultrasounic transducers so thier beam angles don't overlap, 2) operated them in round robin fashion, or 3) fashion an acoustical waveguide which would look like the high frequency tweeter horns mounted vertically.
My brain is too tired right now to figure out if 2 ultrasonic transducers are sufficient for mapping purposes, it still hurts from the last time I helped someone with this and that was a few months ago.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
Foremost is knowledge gained from actual travel and collisions.
If you have the ram to create an array of where you have successful gone and what areas are no good that gives you an idea of how to map.
Every map should also have a home or havens. These are spots that are safe to rest in or maybe you can actually recharge there. Ideally these are out of traffic - like corners or under a table. Maybe sonar can help you recognize a safe haven.
My own ideal system would have collison sensors, IR distance sensors, and sonar. Basically having three perimeters confirming pathways and spots. Being dependent on one set of sensors is really not a mimic of the real world. We use our eyes, our ears, and our toes to decide. If you integrate - you will get a real map. All the sensors have short-comings that a mix helps eliminate
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)
······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
The Ultrasonic sensors don't have the slimmest beam-width....and the further an object is away, the wider its resolution becomes.
Laser is a better way to go....but without spending some big $$'s on a laser rangefinder and then hacking it to see if you MIGHT be able to make it work, I think some trig tricks with a photo-op and a laser might be the cheaper method (probably not easier).
I had looked using a laser mounted on a post...which is level. Then, 6inches to one side of the laser you'd mount a small mirror on a servo post.
Then, mount a photo-op (with a long narrow tube/shroud) directly behind the laser and pointing at the center of the mirror.
So, you'd then train the laser on an object and then move the mirror until the reflected light from the object was directed in to the photo-op.
Now, ambient light would be a problem....so boxing in everything would help, but if ever your mirror reflected in something from a light source, you'd get bad readings....so maybe modulating the laswer would help.
Another thought I had was using the CMUcam in a similar fashion. Basically, you'd "paint" the object with the laser and then use the mirror to direct the reflected light into the center of the CCD (in this you could do more than just 2D planes).
Anyhow, all thoughts but never got anywhere with it (bought the little laser lightpen...but that's about it!)!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·
Steve
"Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
Now I have several things I want to avoid when doing the room mapping. Since so many things in the room I am going to attempt to map vary so much in color (literally half of the room is black, the other half white) I wanted to avoid using any sort of light (infrared, laser or otherwise) ranger. I came across this page. There are several videos that are interesting (especially the ones shown as an overhead map). They appear to use one "beacon" transducer in the middle of a ring of what looks like 8 receiving transucers. I'm not quite sure how to explain their method so only the video can do it justice. The only problem is, this goes beyond my math and programming skills, and I have no idea how they store the information as they get it (unless it's all sent to a central server).