Have A Baby? Build Another One!

Ever since his daughter was born, [Markus] has been keeping logs full of observations of human behavior. Despite how it sounds, this sort of occurrence isn’t terribly odd; the field of developmental psychology is filled with research of this sort. It’s what [Markus] is doing with this data that makes his project unique. He’s attempting to use stochastic learning to model the behavior of his daughter and put her mind in a robot. Basically, [Markus] is building a robotic version of his newborn daughter.

The basics of stochastic learning (PDF with more info) is that a control system is modeled on an existing system – in this case, a baby – by telling a robot if it is doing a good or bad job. Think of it as classical conditioning for automatons that can only respond to a 1 or 0.

[Markus] built a robotic platform based on an Arduino Mega and a few ultrasonic distance sensors. By looking at its surrounding environment, the robot makes judgments as to what it should do next. In the video after the break, [Markus] shows off his robot finding its way around an obstacle course – really just a pair of couch cushions.

It’s a long way from crawling around on all fours, paying attention to shiny things, and making a complete mess of everything, but we’re loving [Markus]’ analytical approach to creating a rudimentary artificial intelligence.

[youtube=http://www.youtube.com/watch?v=PglT76lA9D0&w=470]

26 thoughts on “Have A Baby? Build Another One!

  1. How far are you really going to get with an Arduino? This is something researchers have been trying for decades to scale into even huge warehouse-sized computer arrays, and have yet to succeed.

    1. He’s modeling simple behavior patterns, not brains. It won’t ever be realistic to the point of a developing system, but it will look, to a casual observer, like a robot baby.

  2. I’m very underwhelmed, if your going to say it finds the best route, you should have the Ping sensor rotate 360 degrees, and every 5 or 10 degrees have it stop and ping, make an array of all the scans, and whichever had the greatest distance is the route it takes. That would still be pretty basic next you would add in it knowing previous routes, so it would not go back the way it came, or you have it always follow the right wall.

    1. Then your robot drives 40 feet into a pillow 6 inches away because they absorbed the sound from the ultrasonic sensors.

      Not that this did much better, but there’s a chance it could figure out not to trust the sensors in some instances without you having to explicitly program it.

  3. Just a note: it drives not forward out of the obstacle course because in front of it is another obstacle (camera). Driving forward out of the obstacle course would decrease distance to an object which is unfavorable. So the only way is to drive somehow backwards out of the obstacle course. In both cases shown in the video the robot learns this after a while.

  4. im sorry, but that looked to me a bit like a random movements with two “lucky” escapes….
    first: how the “robot” determined that it can push pillow to the point it will open way for “escape”?
    second: driving backwards? so how to avoid obstacles on its way? i’ll rather remember point where the wall is, and start from there…
    also it seems to me that “zero” point for that robot is on the sonar sensor rather on the center of the robot itself… more work needed..

    1. It was a coincidence that the robot figured out that it can push the pillow. As it started to move the pillow, the distance to the opposite pillow was increased, so it learned to keep pushing. If the robot drives backwards and hits an obstacle and this obstacle prevents to drive further backwards, the robot changes its behavior, as the distance would be not increased.

  5. My first thought from reading the first couple of paragraphs summary was of taking this approach with creating an actual sentient AI.

    Imagine actually teaching (raising) one that way. The fitness algorithm is to compare with the ‘real’ sibling. Talk about therapy later in ‘life’!

  6. The whole thing is kinda silly. You’ll find that even with the best equipment, she will out-develop your ability to model her mind. I tied to build an emulator for my daughter in my head, and after about eight to twelve months it became impossible to keep a solid model in my head. By two years there was no way. You’ll have the same experience, no matter how many observations you have.

  7. Not as stupid as it sounds, in fact this approach could work BUT it really needs to be based on a memristor array or (my idea) an array of 32GB microSDs with power line current monitoring.
    Essentially there is non linear leakage between adjacent cells which can be “written” by changing the memory contents.
    This manifests as a varying current which increases slightly the more times the cells are written.
    If this works, a 32GB card could store about 500M artificial synapses worth of data in analogue form with hundreds of analogue levels in each.
    It wound only reliably work with large cards due to the quantum effects used.

    This is similar to back in the olden days, people “cooking” transistors to vary their gain and ending up with something resembling a tunnel diode.

  8. (makes mental note to add spell checker plugin to Firefox)

    Update:- Can someone PLEASE do this experiment, as I haven’t got enough cards to try it with.
    My one and only 32GB is being used by someone to store their phone’s data on…

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.