argh, design problems w/ 6 legs 

I'm still somewhat new to FramSticks, and I'm working on a from-scratch
redesign of my first creature, Bugger. The design goal is to make it a have
6 legs in 3 pairs, and walk like an insect does, i.e. 3 legs at a time so
that there are always 3 on the ground.
This is my current basic structure...
Bugger mk2
(MMMCCrrX[@7:1](MMMX[|7:1]),MMMMMMMMMMX[0:1][@-1:1](MMMCCrrX[@5:1](MMMX[|5:1
]),MMMMMMMMMMX[@-3:1][*:0][*:0][*:0][*:0](MMMCCrrX[@-4:1](MMMX[|-4:1]),,MMMC
CrrX[@-4:-1](MMMX[|-4:1])),MMMMCCrrX[@-8:-1](MMMX[|-8:1])),MMMCCrrX[@-8:-1](
MMMX[|-8:1]))

Each leg has 2 segments. For convenience I think of the upper as the 'leg'
and the lower the 'foot'
Each foot has a bend, for lifting the foot. Each upper-leg has a rotator,
for pivoting the foot forwards/backwards.
Insects walk by moving the front/back legs on each side in unison with the
middle leg on the opposite side, leaving 3 legs on the ground at all times
for stability. Each muscle from each cooperative set of legs reads from a
neuron in the spine. There are 4 of these, 2 for each set of legs (one
rotation, one for bend). I've been testing the critter out by tweaking those
4 neurons manually in the brain viewer. However, no matter what I do I can't
seem to get them to be able to pick up the sets of 3 legs. The spine always
twists so that all the lifted legs are still on the ground, no matter how
much I strengthen the spine's muscles.

Anyone know what I'm doing wrong? I've been fiddling and tweaking for many
hours, and finally realised I was repeating myself and wasn't coming up with
any new ideas for how to fix this. : (
Thanks in advance...

Will

Forums: 

Just to clarify, I am aware that the motion I'm going for could be
accomplished with a much simpler system, more along the lines of:
Simple Mk2 Bugger
(CCrrX(X),MMMX[1:-2][-1:2][@-1:0.2][|-1:0.5](CCrrX(X),
MMMX[@-2:-1][|-2:-1](CCrrX(X),,CCrrX(X)),CCrrX(X)),CCrrX(X))

I'm running this right now for distance to see how it does.
however, I'm still currious about the original post's version. Are all my
added Ms and such increasing the weight of the sticks, or what?

Will

Ok, last time I respond to myself in this thread, I promise. : )
I redesigned a little more. Based on available examples, I changed the sin
net from
[1:-2][-1:2]
to
[0:0,1:0,2:-2][0:0,-1:2,1:0][0:0,-1:2,-2:0]

and in only 2 million steps I had a dozen genotypes with distance > 60, this
is the current height of fitness at 70:
Evolved Simpler Bugger Mk2
(rrCCX(X),MMMX[0:2.224,1:0,2:1.560][0:1.967,-1:
-1.844,1:-3.769][0:0,-1:2,-2:-3.330][@-1:-702.6
05][|-2:2.521](rrCCX(X),MMMX[@-3:-491.573][|-4:
1.846](rrCCX(X),,rrCCX(X)),rrCCX(X)),rrCCX(X))

heh, well, enough.

Will

I spent a lot of time last summer trying to implement a tripod gait into a
hexapod as you are. I eventually gave up and decided that it could never
pick up its feet in the way I had envisioned.

I did come up with a relatively interesting walker though. Here is
"BigBrainedHexapod"

LXXX[17:0,18:0,19:0,20:-776.627,0:0,1:0,2:-4.280][16:-1.137,17:0,18:0,19:0.5
41,-1:0.682,0:0,1:0][15:0,16:0,17:0,18:0,-2:0,-1:0,0:0](RRLLcccccMMMMMMMX[-3
:0,-2:0,-1:0,0:0,1:0,2:0,5:2.922,10:-785.834,19:-2.227,24:0,29:1.523][-1:2.3
87,0:-1.131,1:-1.567,3:0.808][-2:-2.082,-1:-1.776,0:2.250,1:-1.806][|-1:572.
242,12:561.938]lMMXX[T:-518.463,-3:-13.902],,X(RRLLcccccMMMMMMMX[-8:0,-7:0,-
6:0,0:-0.826,1:-129.204,2:0,-5:2.090,5:210.788,14:940.343,19:0,24:0][-1:0,0:
0,1:0,3:0][-2:-2.045,-1:1.854,0:1.692,1:1.188][|-1:2.453]lMMXX[T:0.518,-3:90
8.088],X(,RRLLcccccMMMMMMMX[-13:0,-12:0,-11:0,0:0,1:4.582,2:0,-10:0,-5:0,9:0
,14:0,19:0][-1:0,0:0,1:0,3:0][-2:-1.148,-1:320.297,0:3.647,1:1.558][|-1:0,5:
3.928]lMMXX[T:3.436,-3:-1.329],IIIIIX(llIIIIIX[S:868.089][S:-2.456],,llIIIII
X[S:-1.699][S:-4.135]),RRLLcccccMMMMMMMX[-21:0,-20:0,-19:0,0:-2.684,1:0,2:0,
-19:0,-14:0,-9:-1.963,5:0,10:0][-1:1.510,0:-4.052,1:-1.680,3:780.591][-2:2.7
17,-1:-4.779,0:-3.227,1:-0.684][|-1:1.469,-6:406.149]lMMXX[T:-1.487,-3:2.863
],),RRLLcccccMMMMMMMX[-25:0,-24:0,-23:435.904,0:2.911,1:146.704,2:-2.070,-24
:0.996,-19:1.846,-14:-1.797,-5:2.845,5:-367.186][-1:-3.156,0:-776.566,1:3.51
5,3:0.601][-2:-4.644,-1:1.666,0:-0.683,1:1.765][|-1:2.889]lMMXX[T:1.883,-3:-
2.005]),,RRLLcccccMMMMMMMX[-30:0,-29:0,-28:0,0:0,1:1.964,2:0,-29:-1.718,-24:
-3.742,-19:0.861,-10:4.780,-5:0][-1:25.182,0:-671.447,1:4.235,3:-2.253][-2:-
4.303,-1:-3.610,0:-2.407,1:-0.895][|-1:-2.317,-15:-2.277]lMMXX[T:0.837,-3:0]
)

Cheers,

Pete

"Pete Mandik" wrote in message
news:a94oho$8sc$1@cancer.cs.put.poznan.pl...
> I spent a lot of time last summer trying to implement a tripod gait into a
> hexapod as you are. I eventually gave up and decided that it could never
> pick up its feet in the way I had envisioned.

Hrm, that's rather disapointing. It doesn't seem like it should be
impossible, or even that difficult. I haven't beaten my head against it long
enough to give up just yet myself, though; I can be a stubborn and
persistant one. : )
From my attempts so far it seems like they just can't withstand the twisting
effect applied by the weight of their own legs. I can't change the legs'
weight, but I have a couple of ideas I've come up with to try since my last
failed effort. If I somehow manage to pull it off, I'll let you know; a few
times it's seemed like it was so close!

Will

Hi Gopher,

I think the problem is with the rigidity of the individual sticks. You will
notice that when your fram's legs push down they squidge and stretch, the
fram's body hardly moves.

Ander

"Gopher" wrote in message
news:a94rqc$8ur$1@cancer.cs.put.poznan.pl...
>
> "Pete Mandik" wrote in message
> news:a94oho$8sc$1@cancer.cs.put.poznan.pl...
> > I spent a lot of time last summer trying to implement a tripod gait into
a
> > hexapod as you are. I eventually gave up and decided that it could never
> > pick up its feet in the way I had envisioned.
>
> Hrm, that's rather disapointing. It doesn't seem like it should be
> impossible, or even that difficult. I haven't beaten my head against it
long
> enough to give up just yet myself, though; I can be a stubborn and
> persistant one. : )
> From my attempts so far it seems like they just can't withstand the
twisting
> effect applied by the weight of their own legs. I can't change the legs'
> weight, but I have a couple of ideas I've come up with to try since my
last
> failed effort. If I somehow manage to pull it off, I'll let you know; a
few
> times it's seemed like it was so close!
>
> Will
>
>

Ander,
hrm, that may be, but is there any way to increase the rigidity of a stick?
I don't remember seeing anything like that in the documentation

> I think the problem is with the rigidity of the individual sticks. You
will
> notice that when your fram's legs push down they squidge and stretch, the
> fram's body hardly moves.
>
> Ander

Maciej Komosinski's picture

> hrm, that may be, but is there any way to increase the rigidity of a stick?
> I don't remember seeing anything like that in the documentation

Szymon wrote:

weight doesn't work in air. but it wouldn't give us anything new -
creatures "floating" in air vs. floating in water.
(actually this parameter should be called "density" - all sticks have
the same weight, they differ in buoyant force)
it could work in air.

> Rigidness, you would have to check joint parameters
> in f0 documentation from the SDK.

you can change "stif" and "rotstif" in f0, but the maximum value is not
better than in old v1 simulator.

>weight doesn't work in air. but it wouldn't give us
>anything new - creatures "floating" in air vs. floating in
>water.

Floating in air would be quite different from floating in water as they a
have very different viscosity.

Szymon Ulatowski's picture

"Ander" wrote in message
news:ab9685$t5p$1@cancer.cs.put.poznan.pl...

> >weight doesn't work in air. but it wouldn't give us
> >anything new - creatures "floating" in air vs. floating in
> >water.
>
> Floating in air would be quite different from floating in water as
they a
> have very different viscosity.

another problem with realistic flying in air is that we don't have
facets in our model, only thin sticks. under these conditions flying
would be very limited.
but perhaps we will investigate this subject later...

sz.

No, as far as I know you cannot. Also being able to adjust the mass of each
stick would be good.

"Gopher" wrote in message
news:aajeub$8si$1@cancer.cs.put.poznan.pl...
> Ander,
> hrm, that may be, but is there any way to increase the rigidity of a
stick?
> I don't remember seeing anything like that in the documentation
>
>
> > I think the problem is with the rigidity of the individual sticks. You
> will
> > notice that when your fram's legs push down they squidge and stretch,
the
> > fram's body hardly moves.
> >
> > Ander
>
>
>

Of course, stick weight can be adjusted, but weight is disabled out of water
to avoid creatures that jump up and never come down.

This might make you think of developing sixlegged walkers in a shallow water
environment. I have experimented with that with unsatisfactory results.

Cheers,

Pete

Ander Taylor wrote in message ...
>No, as far as I know you cannot. Also being able to adjust the mass of each
>stick would be good.

> Of course, stick weight can be adjusted, but weight is disabled out of
water
> to avoid creatures that jump up and never come down.

hrm. If that was the only reason, wouldn't it have been better just to not
allow weights below a certain level? In any case, it seems to me there
should be density rather than weight, so it is scaled by the length and
passes on to child-sticks without too much quirkiness.

> This might make you think of developing sixlegged walkers in a shallow
water
> environment. I have experimented with that with unsatisfactory results.

hmm, that idea does seem somewhat promising... make the main body very light
so it floats but make the legs very heavy so they can get friction with the
bottom as well as the water... I'l have to play with that later, I'll let
you know if my results are any less unsatisfactory. ;)

Will

I should have specified that I meant out of water.

Walker's and water don't seem to mix very well in my experience, maybe if we
could play with the viscosity of the water?

Ander

"Gopher" wrote in message
news:aanbbk$bp2$1@cancer.cs.put.poznan.pl...
>
> > Of course, stick weight can be adjusted, but weight is disabled out of
> water
> > to avoid creatures that jump up and never come down.
>
> hrm. If that was the only reason, wouldn't it have been better just to not
> allow weights below a certain level? In any case, it seems to me there
> should be density rather than weight, so it is scaled by the length and
> passes on to child-sticks without too much quirkiness.
>
>
> > This might make you think of developing sixlegged walkers in a shallow
> water
> > environment. I have experimented with that with unsatisfactory results.
>
> hmm, that idea does seem somewhat promising... make the main body very
light
> so it floats but make the legs very heavy so they can get friction with
the
> bottom as well as the water... I'l have to play with that later, I'll let
> you know if my results are any less unsatisfactory. ;)
>
> Will
>
>

htm, I haven't been able to connect to the server today, but this should get
posted whenever I do.

I found a compromise that let me design a critter that walks with the right
leg-pattern, though it's technically not a tripod gait as I just made the
belly drag the ground, and set the friction low on everything but the feet,
where I seet it high. Here was my design, which managed d=~12

Gopher's Bugger mk4
ffffffXffffffX[0:0.7,3:-0.6][0:0.6,-1:0.5][0:0.6,-1:0.5]
[0:0.6,-1:0.5][-1:.7][-4:.7](MMMMMMllllllffffffrrcX[|-2:
-1](MMMMMMCCllllllX[|-2:0.5](FFFFFFX)),ffffX(MMMMMMlllll
lffffffrrcX[|-4:1](MMMMMMCCllllllX[|-4:-0.5](FFFFFFX)),f
fffffX(MMMMMMllllllffffffrrcX[|-6:-1](MMMMMMCCllllllX[|-
6:0.5](FFFFFFX)),ffffffXffffffX,MMMMMMllllllffffffrrcX[|
-8:-1](MMMMMMCCllllllX[|-8:-0.5](FFFFFFX))),MMMMMMllllll
ffffffrrcX[|-10:1](MMMMMMCCllllllX[|-10:0.5](FFFFFFX))),
MMMMMMllllllffffffrrcX[|-12:-1](MMMMMMCCllllllX[|-12:-0.
5](FFFFFFX)))

I'd originally intended it to stand off the ground, and the neck/tail were
there to keep it from flipping forwards/backwards as it kept doing. When
they just weighted the whole thing down, it occurred to me to just try it as
a belly-dragger, and I decided to leave them in for possible use in the
future for sensors and perhaps a means of controling it's direction Looking
at it again now I realise I had 2 useless neurons in there, the muscles
should've been connected directly to the central pattern generator. Live and
learn.

When I evolved it, however, they ended up losing the leg-pattern, which in
retrospect shouldn't have been surprising since the purpose of such a gait
is to maintain stability, which this critter no longer needed since it's
belly drags on the ground. I'm going to let them run overnight still, but
the fastest now is doing d=130, it's speed a whopping 0.016 (the fastest of
the Bugger series at least) Here's one with a pretty smooth walk...

evolved Bugger mk4

ffffffXffffffX[0:0.799,3:-0.6][0:0.6,-1:0.5][0:0.6,-1:1.
870][0:0.6,-1:1.604][-1:.7][-4:-696.690](rrllllllcffffff
MMMMMMX[|-2:1.710](llllllCCMMMMMMX[|-2:-312.431](FFFFFFX
)),ffffX(rrllllllcffffffMMMMMMX[|-4:1](llllllCCMMMMMMX[|
-4:-1.440](FFFFFFX)),ffffffX(rrllllllcffffffMMMMMMX[|-6:
-1](llllllCCMMMMMMX[|-6:0.5](FFFFFFX)),ffffffXffffffX,rr
llllllcffffffMMMMMMX[|-8:1.375](llllllCCMMMMMMX[|-8:3.40
4](FFFFFFX))),rrllllllcffffffMMMMMMX[|-10:1](llllllCCMMM
MMMX[|-10:0.5](FFFFFFX))),rrllllllcffffffMMMMMMX[|-12:-1
](llllllCCMMMMMMX[|-12:-0.5](FFFFFFX)))

Ah well, I think mk4 is going to be my last attempt at a tripod gait, though
I may attempt to manually tweak the original version, removing those extra
neurons and adjusting the weights myself, see how fast I can make it.

Gopher