[ODE] Re: Virtual creatures (karl sims etc...)
loth at users.sourceforge.net
Wed May 15 03:45:02 2002
Martin C. Martin wrote:
>>>>For example, a freely rotating body in space, without
>>>>any damping (e.g. air resistance), will continuously gain angular momentum.
> If strictly conserving energy over a long period of time is your goal,
> then ODE isn't for you. However, when evolving virtual creatures, this
> usually isn't a problem. That's because in every time step energy is
> generally added (through muscles) and/or subtracted (through muscles
> and/or friction). The fact that a little extra energy may be added or
> subtracted each time step won't change your results radically.
> If you intend to add little or no energy of your own, and have little or
> no drag, and need energy to stay the same (e.g. simulating planetary
> motions), then you need a physics engine that emphasizes accuracy over
> I'm doing some Karl Sims type work at MIT and using ODE for it, and the
> biggest problem is that constraints aren't added until penetration has
> already happened, i.e. until it's "too late." Then ODE adds a force to
> separate the two bodies. With a little bit of cleverness, the virtual
> creatures can extract quite a bit of energy from this in a single time
> step. For example, check out the video CheatingJumper2_320.mpg here:
Seizure as a means of locomotion. Would it be enough to damage the
creature if a contact joint is too deep, lowering fitness? This would
encourage a more gliding vault and smoother landing and discourage
seizing behaviour. As the generations go on, this could become more
touchy, to make the leap ever smoother.
Spin abuse could likewise cause fitness hits. This would not only make
it hard to exploit over-spinning, but encourage the creature to control
the situation to keep from accidentally going into a spin.
But I haven't done any work in this field, so what do I know.
As to the FPGA creatures exploiting the physical properties of the chip,
there was a Discover magazine article a few years back about this, see
(http://126.96.36.199/archive/output.cfm?ID=1455). The money shot:
"It wasn't just efficient, the chip's performance was downright weird.
The current through the chip was feeding back and forth through the
gates, "swirling around," says Thompson, and then moving on. Nothing at
all like the ordered path that current might take in a human-designed
chip. And of the 32 cells being used, some seemed to be out of the loop.
Although they weren't directly tied to the main circuit, they were
affecting the performance of the chip. This is what Thompson calls "the
crazy thing about it."
"Thompson gradually narrowed the possible explanations down to a handful
of phenomena. The most likely is known as electromagnetic coupling,
which means the cells on the chip are so close to each other that they
could, in effect, broadcast radio signals between themselves without
sending current down the interconnecting wires. Chip designers, aware of
the potential for electromagnetic coupling between adjacent components
on their chips, go out of their way to design their circuits so that it
won't affect the performance. In Thompson's case, evolution seems to
have discovered the phenomenon and put it to work."
> So, I'm toying around with adding the constraint a timestep early, i.e.
> on any timestep where two things would otherwise start to