Let's Make Robots! | RobotShop

One item recognition system on any robot

Dudes and dudettes, i set you the challenge of creating a system to put on any robot of your choice. Try to show us this by making the robot shaake/ nod his head if he/she does or doesnt recognise an object. Good Luck and have fun makers.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I see you are a new member. Here at LMR it's customary and in the rules of the site to only issue challenges that you, yourself can/have completed already.

Paragraph #2:

https://www.robotshop.com/letsmakerobots/view/challenges/list

In the video, the robot recognizes a couple objects in a room, announces what it found verbally, and then calculates its own position based on the bearings of those objects and a map it has in memory.  The objects in this case are words printed in large fonts.  A lot of filtering happens to avoid false positives.  It is using OpenCV and a third party OCR library, tesseract, and can recognize a lot of different words.

http://www.youtube.com/watch?v=giaOSTSio7A

Here's another more basic one, with a lot more words though...

http://www.youtube.com/watch?v=s0ZixvTMdvE

Regards,

Martin

 

you didnt put enough info in this challenge...what kind of object? i have a robot, just like max said, that everytime it hits an object it uses a pan servo to look around...from the amount of info you have put down ive already completed this challenge...also be reasonable...if its gonna cost 1000 US dollars to make and a full staff of engineers than there is no point in trying it

also...prizes would be awesome...just saying :D

you didnt put enough info in this challenge...what kind of object? i have a robot, just like max said, that everytime it hits and object it uses a pan servo to look around...from the amount of info you have put down ive already completed this challenge...also be reasonable...if its gonna cost 1000 US dollars to make and a full staff of engineers than there is no point in trying it

also...prizes would be awesome...just saying :D

thanks to martin and im sorry but i thought that i could use this as help i wont use it again untill i have more knowledge

 

thanks to martin and im sorry but i thought that i could use this as help i wont use it again untill i have more knowledge

 

thanks to martin and im sorry but i thought that i could use this as help i wont use it again untill i have more knowledge

 

thanks to martin and im sorry but i thought that i could use this as help i wont use it again untill i have more knowledge

 

thanks to martin and im sorry but i thought that i could use this as help i wont use it again untill i have more knowledge

 

Hey man, no worries.  I didn't know all these rules either.  I think we skipped over the issue you brought up though, recognizing objects.  To me, it is quite hard.  We could have debates over what "recognizing" an object means. I touch on visual, thermal, sonar, infra-red, and facial.

I definitely wouldn't recommend kids embark on some of these unless they are little prodigies, better things to learn first.  Maybe thats why there are rules around these challenges.

Optical Recognition

A lot of things can run OpenCV now and are quite cheap.  I think even one of the newer Arduinos can do it, Yun?  I like using an old android based device myself, because you get a camera/gps/wifi and a lot else along with it, although you have to deal with USB between the droid and a microcontroller of some sort.  

Even with OpenCV up and going though, "recognizing" objects is still quite a learning and programming task.  I worked on it awhile and the best I could do was recognize cards with a different number of colored boxes on them.  I think I spent too many days on that and the best I got was a few different cards being recognized from a few feet away, as long as nothing else nearby was similar.  In theory, OpenCV can do so much, in the hands of someone other than me.  Thats why I went the OCR route, as part of "recognizing" is distinguishing one object as being "different" than other objects.  There are pros out there that could pull it off though.  It might be realisitic to "recognize" the floor or a road and distinguish it from "not the floor" and "not the road" and use it to steer a fast moving bot.

Thermal Recognition

I would like to point out one other option, thermal recognition...my cat walked by the other day as I was testing my bot which has a thermal array sensor and the ability to track the center of the heat source.  The bot locked onto the cat for the next 5 minutes as the cat rumaged through wires and boxes on the floor.  The bot tracked the cat even though the cat was obscured by debris.  My bot in my latest blog on "Weather" is using its thermal array in the video to track me while I'm talking.

Sonar Recognition

If you have multiple sonars on a bot pointing in multiple directions, you can use a little math and geometry to "recognize" walls, "hallway conditions" - walls on two sides, or dead ends.  This is useful for moving around.  Sometimes a subsumption architecture where you suppress some of your obstacle avoidance when in hallways is useful.

Infra-Red

Ir beacons on sending unique ir codes (like those your tv remote sends out), so bots can recognize each other.

Facial Recognition

This is the one I haven't done yet, there are some web services to do this for you, but I haven't found one that will give me enough free calls to make me want to start on this just yet.  Some of them will recognize emotional state as well.  This is definitely on my to do list for this year.

I'm just a hobbyist, not big an academic robotics, so you can take everything I say with a grain of salt.  Have fun and drink often.

Cheers,

Martin