Cool frog Zac ! ;-)
Here is a challenge for handbuilders/evolvers:
create a snake (i.e. linear FramSticks) structure that is able to move
in one (bonus: more than one) of these ways:
- lateral undulation (forward)
- concertina
- sinusoidal inchworm gait (forward, by up down motion)
- sideways sliding / sidewinder
MPG/Quicktime examples of these movements are at
http://ic-www.arc.nasa.gov/ic/snakebot/movies.html
NASA is exploring snake like robots for space assembly and surface
exploration & repair missions:
http://ic-www.arc.nasa.gov/ic/snakebot/hello.html
Gavin Miller aka Dr Snake has built some very realistic snake robots:
http://www.snakerobots.com/
He also told me about the mechanism for creating the sidewinder motion:
there is horizontal sinusoidal motion (bend in FramStick speak) and up
down motion with the same frequency, but a quarter amplitude and a 90
degree phase shift.
Detailed description of the motion types can be found at Kevin Dowlings
PhD thesis
http://www.ri.cmu.edu/pub_files/pub1/dowling_kevin_1997_5/dowling_kevin_...
pages 21ff
Some of the trickyness of creating and simulating these in FrameSticks
(I think) will be: stability in the inchworm gait (unlike boxes, sticks
are not stable vertically)
Current representation of morphology & neurons does not allow reuse of a
single, identical modules and thus its extremely unlikely that a
coordinated, regular movement will be evolved from uncorrelated parts.
But evolver could still be used to optimize weights for example though.
Snakes are interesting models I think because they allow - in principle
- for a wide range of motion types (some snakes can jump vertically,
coil, wind around & forward on a stick etc.) yet have a simple body
plan.
My own - admittedly feeble - attempts so far:
X[!:0.891,=:0.834][|-1:-1][|-2:1]X[|-2:1,!:.01][|-2:1,!:.01]X[|-2:1,!:.01][|-2:1,!:.01]X[|-2:1,0:.01][|-2:0.887,!:.01]X[|-2:1,!:.01][|-2:-2.729,!:.01]X[@
-1 :3.077][|-3:1,1 :-5.351][|-3:1,!:0.102]X[|-2:1,!:.01][|-2:1,!:.01]
a (slow) forward movement, similar to inchworm gait
X[0:-8,!:.001,=:1,/:.3][@-1:3][|1:1][-2:-2,=:.2]X[|-1:1]X[@-1:-1][|1:1][-2:-2,=:.2]X[|-1:1]X[@-1:-1][|1:1][-2:-2,=:.2]X[|-1:1]
a slow sideways movement (sidewinder)
Perhaps other people can come up with better genotypes. Meanwhile,
thanks to the Maciej for providing the software and this forum !
Robert
PS: Perhaps I am playing too much with FramSticks but watching my 7
month old son learning to sit up, crawl, stand up, etc. reminds me a lot
of the helpless sticks ;-) But - uhm - he learns a lot faster it
seems...