Shop OBEX P1 Docs P2 Docs Learn Events
Learning robot with Propeller — Parallax Forums

Learning robot with Propeller

RobofreakRobofreak Posts: 93
edited 2007-12-09 01:54 in Propeller 1
Hello everyone!

Does anyone have any experience or knowledge of how to make a learning robot using a computer? I got some useful information from Mike Green on the subject. He told me about the computer requirements, a good programming language and operating system (Ubuntu Linux) to use, but I want to know more... My idea is to start simple (I think it is, anyway...):

make a small square imobile robot base, with a small camera (suggestions on what kind, please) and mics, one on the left and right of the "head", mounted on a pan and tilt setup using servos. Also, a speaker on the front of the cube, for speach.

This is kinda' far out, but here it is:
I want the robot to learn how to talk like a very young child does, by listening to other people talk, learning what the different words mean, and repeating them. If it gets far enough, I could teach it more about speech, like a child does at school.
So there, it has the ability to interact through speech...
And sight. How does a baby learn to use its eyes? how does it understand what the eyes (or, in this case, eye...) are telling it? That's another thing i need to be clued in about. So, after it learns how to see and comprehend everything i'm telling it, i could teach it about its own anatomy, and how it came into being, etc...
Anywho, (biggest, "what the heck?" moment coming up) what if it learned and did all this, then it had nothing to do? it can't move, it can only talk and see. it can't manipulate it's environment. So, perhaps, it will ask me to build it a mobile body? Perhaps, even becoming selfconcious?

I know, not the greatest robotics engineers have accomplished this yet. But like i said, it's really far out! But i would at least like to make it able to do the first basic things, like talk, and understand what it sees throught its "eye".
I have a kind of general idea of the hardware, i think...
a propeller controlling the body, with a wireless transcever from Parallax, hooked up to the propeller and the computer, so they can talk to each other, and a computer program designed by me that will tell the propeller what to do. and the propeller can send back a message to the computer that it has properly recieved the last·instructions sent by the computer, for obvious reasons.
I have a propeller and homemade programming baord, so that's a start...

I know next to nothing about the nuts and bolts of what is needed to do all this though, so would anyone that has any experiance or knowledge of the subject please leave a reply or PM me?

P.S. I just finished the programming tutoria, literally a few days ago, so I don't know how to send or recieve signals. But i've seen posts on here and stuff that have hinted to me that the wireless transcevers communicate using serial signals... is this right?

Thanks!
Austin Bowen

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Austin Bowen,

Robo-freak.com

"One must watch out for mechanics. They start out with a sewing machine, and end up with the atomic bomb" - A quote from someone that I saw on Addall.com

Post Edited (Robofreak) : 12/8/2007 7:36:51 AM GMT

Comments

  • deSilvadeSilva Posts: 2,967
    edited 2007-12-08 13:26
    Don't let yourself goofed by the fact that a primate baby shows little of what we call "adult intelligence". The internal working of its brain is a billion times more complex than medium sized computers are.
    Concepts of "pattern matching" in fact contain massive parallelism, which has nothing to do with what the Propeller is able to.
  • RobofreakRobofreak Posts: 93
    edited 2007-12-08 17:40
    I'm not going to have the propeller do the "thinking". It'll just take commands from a computer, like moving motors and stuff...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Austin Bowen,

    Robo-freak.com

    "One must watch out for mechanics. They start out with a sewing machine, and end up with the atomic bomb" - A quote from someone that I saw on Addall.com
  • hippyhippy Posts: 1,981
    edited 2007-12-08 18:10
    It's not really clear what the Propeller would be doing, or why it's even needed. It's not really a robot you've described but some sort of AI.

    For controlling the platform all this is built upon, wired or wirelessly, I'm sure the Propeller can be used, but what exactly do you want the Propeller to do ?
  • RobofreakRobofreak Posts: 93
    edited 2007-12-09 00:38
    Dear Hippy and DeSilva,

    The propeller would be taking commands from a computer, acting as a slave. If the computer tells it to move it's head up, the propeller does it. If i'm going to have it wirelessly controlled, don't i need some kind of microcontroller to interpret the signals coming from the reciever?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Austin Bowen,

    Robo-freak.com

    "One must watch out for mechanics. They start out with a sewing machine, and end up with the atomic bomb" - A quote from someone that I saw on Addall.com
  • hippyhippy Posts: 1,981
    edited 2007-12-09 00:42
    Yes, a microcontroller is the most obvious way to interface between a receiver and the hardware which need to be controlled and for providing information back. A propeller is as likely able to do that job as any other micro.
  • Chad GeorgeChad George Posts: 138
    edited 2007-12-09 01:00
    Austin,

    I don't want discourage your interest in robotics. On the contrary I applaud your ambitions. They touch on some of the holy grail projects of AI and robotics. It's just that the problems you propose to solve are incredibly difficult and complex.

    Computer vision is insanely hard, the best researchers in the world haven't really begun to solve this problem in a robust way. Fundamentally we don't even understand how humans (or animals for that matter) do it as well as we do.

    Language understanding is another huge (mostly unsolved) problem even with super powerful computers. In some respects it shares the high level type of difficulties that vision does.
    Austin said...
    perhaps, even becoming self concious?
    As far as a computer program becoming truely self-aware, intelligent or sentient, well some philosophers and researchers aren't convinced that its really even possible. For the classical argument against strong AI see http://en.wikipedia.org/wiki/Chinese_room.
    Austin said...
    I want the robot to learn how to talk like a very young child does, by listening to other people talk, learning what the different words mean, and repeating them. If it gets far enough, I could teach it more about speech, like a child does at school.

    A few decades ago there was a real buzz about a type of computer program that is loosely based on the way that neurons work. These "neural networks" were quite the rage (they're still a hot research topic and very useful) Some even claimed to achieve the task of "learning to speak" like a child.
    http://en.wikipedia.org/wiki/NETtalk_(artificial_neural_network)

    It turns out that few researchers today would claim neural networks will ever (in their current oversimplified form) achieve the level of intelligence that their less artificial versions are capable of.
    Austin said...
    what if it learned and did all this, then it had nothing to do? it can't move, it can only talk and see. it can't manipulate it's environment.
    Again you've touched on a classical point of dissension among researchers. Some would claim that a HUGE (maybe even critical) part of what enables all levels of intelligent creatures to ultimately "become" intelligent is a rich interaction with the world around them. In other words, the only example of intelligence that we know of exists inside of a "body" and some feel that without a body there can't be what we call intelligence.

    So the old idea of making intelligence first inside of some "box" and then giving it a body to do something useful in may be a critical mistake.
    See "How the Body Shapes the Way We Think - A New View of Intelligence" by Rolf Pfeifer and Josh C. Bongard

    For a less academic (but not really less technical) perspective check out "On Intelligence" by Jeff Hawkins. This book looks at the root problem of how the the biological brain achieves intelligence. Its really rather interesting and I think it brings up some really good insights. But no real solutions yet. Check out www.numenta.com for the applied research company the author has created to implement some of the ideas in the book. Read the book though, its very good.

    There is nearly an unlimited amount of research and opinions about AI, but the only practical way to begin to understand the scope of the problem is to start to do something for yourself. Now the more practical part of your question.

    I've recently (finishing the final report for school right now) built a mobile robot platform based on the iRobot Create, a Logitech webcam on a tilt servo, a Gumstix Verdex computer, and even a Propeller (although it pretty much just moves the tilt servo). The whole thing runs Linux and is programmable in Python. It runs a slew of "real" research grade vision libraries. The system is capable of real time vision processing on the robot (or it could be tethered via wifi to a more powerfull processor). All together the system can be put together for <$750. The system could do voice synthesis and voice processing too, through the Verdex's sound capabilities but I didn't do that yet.

    To stay in the realm of microcontrollers I have a propeller based mini sumo robot that could be fitted with a CMUCam or even the PropCam (when it comes out) Although significant vision processing really takes more power than a microcontroller can muster up. Even the bandwith to send the images to the computer at a decent framerate is hard to do without compression (which is again not easily achieved on a microcontroller)

    Another really good (cheap) option if you already have a laptop and webcam there are some good robot "bases" that take a laptop for the brains.

    So many possibilities. Keep thinking big and don't give up when people say its going to be a rough road.

    -Chad
  • RobofreakRobofreak Posts: 93
    edited 2007-12-09 01:54
    Wow. Thanks Chad! That was a great help. I'll defanitely look into that book. I've heard of speech modules that can speak many words, in many voices, but, as far as I know, they only say what it is preprogrammed by a computer to say... (wait a minute!)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Austin Bowen,

    Robo-freak.com

    "One must watch out for mechanics. They start out with a sewing machine, and end up with the atomic bomb" - A quote from someone that I saw on Addall.com
Sign In or Register to comment.