Evolving Lego Mindstorms
John Conner writes "With a fairly simple routine, you can model evolution with Lego Mindstorms. In this hackaday experiment, robots were created that could mate, evolve, and become extinct. Similar technology could be used in real applications for deployed robot optimization and automatic software updates. Now that physical robot replication is near, it's only a matter of time before... well...
You'd better make robot friends while you can."
Evolution of code is pretty cool, but it could be improved upon with a few motors that actually build little Lego figures. I for one welcome our etc.
Speaking of Robots... Alan Watts, the famed PHD Buddhist, before he died, spoke of the potential for a future where we live in a society with robots serving us instead of us serving the machine. He looked at it as an escape from a puzzle, to some extent, and that humanity is destined to escape from our confines and expand our knowledge into new areas of human development. When I read "The Book - On the Taboo Against Knowing Who You Are", I thought he was an insightful visionary. Funny thing is, he spoke of this future with Zen in mind and spoke of it as somewhat inevitable. I think it's great that these robots keep improving. I just wish we could spread these improvements uniformly over corporate structure, so that we don't have to keep serving the machine -- it should be serving us.
I can't find link to the thread now, but there are several Lego groups already talking of making LEGO robots that build Lego 'things' and it would only be a few more steps to get Lego robots to build parts for other Lego robots, and other Lego robots to assemble the parts. I'm pretty certain that its a probable event in the near future, given the 'coolness factor' of having built the first 'plastic' skynet :-)
Is it just me, or have other people noticed how the 'replicators' on SG1 look a lot like 'evolved' Lego robots?
Support NYCountryLawyer RIAA vs People
I was SOOOO hoping the lego bots would rebuild themselves each generation.
Actually, I really like this guy's idea. I wonder if there's a way to build a commodity bot to implement the idea...
Something like this
If I were to list the design criteria it would be:
cheap programmable controller (like one of those $3 PICs or something)
commodity IR gear
two-motor steering
bump sensors
changeable actuator
simple charging
The actuator would be things like a pincer on the front (to pick things up), or a crane, or a pronged fork. Doesn't matter. Point is to differentiate the population to give natural selection a chance to do its thing.
The charger, I would probably make the wheels metal and make charging areas such that any orientation the bot goes over the area will result in a charge. Use mini supercaps for energy storage.
I even have a perfect platform in mind;
zipzaps.
Give me a zipzap chassis with a few modifications (like ripping out the radio gear and replacing it with a PIC)
Ideally I'd like to get the build cost under $10. Then you could afford to run a real population. Anything that doesn't get back to the sensor pad gets killed from the genome and recharged. If two bots are in the charge area and agree to reproduce, they both send their genomes to the wiped bot who does his combinatorial magic on it.
I'd be interested to see what sort of emergent behaviours might occur...
I am disrespectful to dirt! Can you see that I am serious?!
It is amazing to observe the progress of evolution. Initially, the agents act as though they don't know what they are doing, their movements being very laboured and imprecise. As the population continues to evolve, individuals from the later generations begin to increasingly show signs of intelligent improvements. Such as being able to coordinate and time their movements to afford them better walking/running behaviors. What is really surprising is that as I allowed the population to continue to evolve, I saw behaviors that I could never have predicted. Some of the agents began to do "tricks" and evolved some strange jumping or sommersalting behaviors, not unlike that of a gymnast.
If you get a chance, check out my thesis. It is freely available (with GPL'd source code) at: http://www.erachampion.com/ai
Karl Sims did some fantastic work on evolving movement a decade ago. Creatures were randomly assembled using blocks and a few standard connectors, and eventually evolved a wide variety of strategies for motion. My favorties were the 3-block creature which moved like an ape and the 2-block creature which moved in the same way a washing machine walks.
An alternative to sexual reproduction (which is not always possible, depending on your application) is to keep "physical discontinuity". For wrapping "world" of a varying number of dimensions, each object only competes with its neighbors. For a large enough world (a 1d ring seems to work best), you can lower the odds of getting stuck on local maxima because different approaches will be taken all around the ring without interference from neighbors that may initially perform better but max out sooner. Over time, the best performing elements will eventually spread to take over the whole ring, but it's a much slower process, and by that time, a slower but more adaptable evolutionary approach elsewhere on the ring can have bested them.
BTW, to whoever said that bacteria don't have sexual reproduction: that's not exactly true. Many bacteria actively take part in "gene exchange" (not for reproduction, just an outright exchange of genetics), and bacteria are widely known to often take up bits of free DNA that they encounter and incorporate them into their own genome. A better example would have been parthenogenic multicellular animals, like whiptail lizards.
I once listened to a Philip Glass record for an hour and a half before I realized it was skipping.