snake challenge 

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...

Forums: 

Robert Seidl wrote:

> Perhaps other people can come up with better genotypes. Meanwhile,
> thanks to the Maciej for providing the software and this forum !
>

I agree, I keep returning to the snake design for understanding locomotion. I've had to go back in to the water as well. starting on land gives me very
jerky motion with not many limbs (=drag?). I'll try tadpole next :)

> 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...

I was thinking just this morning that the ability to remember bad or good locomotion must be a great help when attempting to move. building Framsticks that
can adapt to a new enviroment on the fly is an unreal expectation. it takes a couple million generations just to get around a rock. Of course i think I've
only used 50 'nuerons' at the most :) memory might be the essential part of problem solving.

-zac