loading
 
Roborealm for finding wall outlet
Anonymous from United Kingdom  [99 posts]
10 years
I have been working on getting roborealm to pick out a power outlet from the background.  
(The task is to design a robot that will autonomously navigate to a wall outlet and plug itself in)

My progress is at http://profmason.com/?p=314.    

Does anyone have any suggestions on how to do this better!!!!!

Thanks!
Anonymous 10 years
Thats a good start.

Here is one that uses thresholding (lower 10% of image intensity) to id the blackest areas of the image. Then blob processing removes small objects, object s that are not circular and only objects close to another circular object.

Note we will post a couple ways to solve this problem ... they are not necessarily all correct but offer different ways that may suit your camera resolution/color/etc better.

See attached robo-file.
program.robo
Anonymous 10 years
This one will jump right to edge detection using canny, find circles and them blob filter based on proximity. (proximity of blobs seems to be a nice on to use in detecting sockets versus other blobs in the image).

STeven.
program.robo
Anonymous 10 years
Do you have a problem getting the robot to light straight up with the wall outlet? (I.E. do you have a problem with it coming in at an angle and not being able plug?)  could you somehow move the robot  the floor wall intersection line level? so you know you are coming in perpendicular to the wall?  conceptually, wouldn’t this be similar to how the wall avoider tutorial works?

My suggestion is more for my edification on why it wouldn't work rather than an actual suggestion from one who is knowledgeable.

Thanks,
Anonymous 10 years
I think you're correct. You can use the floor wall intersection line to line up with the wall and then approach the socket straight on. The main issue would be detecting the floor, wall intersection and then once the angle is realize to align the robot more appropriately with the wall. I assume one could use encoders for this kind of movement adjustment (i.e. turn away from socket, move straight, then turn back to where the socket is believed to be).

Alternatively we're looking at a way to detect the square around the outlets and use that as an affine map, i.e. the outlet is assumed to be square and thus you can rotate the image till it is .. this rotation will indicate how aligned you are with the wall. You'd then default to the same routine above to correct the robots alignment.

STeven.
Anonymous 10 years
Here's another robo-file that uses the flood fill to segment the sockets from the rest of the wall and then the above blob filters to remove all blobs that are too light, not round and not close to another dark round object. Note that we negate the image so that we are left with light blobs as apposed to dark.

STeven.
program.robo
Anonymous 10 years
Thanks for all the ideas!!!!  I finally got around to testing them, first on my PIII then on my P4.   The P3 doesn't seem to have to horsepower to do this reasonably well.  Swithcing over to the P4, the first (Thresholding) gives me the best frame rate (~10fps) The second (Canny) based is a bit slower ~9 fps, but seems to do a better job finding outlets (Now of course the outlets in my house are white instead of black!!!!)  
The third (Lots of blob filtering)  really bogs down and the framerate drops below 4fps.   I like that I actually understand how that filter works (It seems to have lots of false positives though?)  
I think I will have to give up on the laptop mounted on the robot.  I now have a 2.4 Ghz wireless camera running under robo realm.  Now I just have to get the wireless control of the robot sorted out. !@#!@# 418 Mhz transmitter!

Now that I figured out how to load a movie into roborealm, I will stop by CSUF and make a video of the outlet from "robot's eye view" to test things further.

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index