Hi, well, I'm working on a fork of this artificial life evolver, and I have an interesting physics bug in both versions (mine and the parent project). It's two-fold: firstly, if I create random critters who can't move on their own, which is to say never fire a motor neuron which would apply force to a constraint, but who are jittering from body parts colliding with each other, then they may react to the proximity of another object without sensing it.. When the object is brought within a certain distance, the critter will curl up or spin around, even with no brain whatsoever... I see angular momentum and linear momentum popping up on the affected critter just when I get an object close enough to it. Is this a normal result of activation? Scaling up the sizes makes it less noticeable. I'm using sizes of 20 to 200 a side for body parts, by default... the parent app has scaled these values up by 5x and the problem is less severe but still around. The same goes for the second, similar problem:
If I 'grab' an object with the mouse (this creates a constraint attaching the picked object to the camera), it may cause movement in unattached objects, in this case brain-less critters who shouldn't have any motion on their own. This is even with self-collisions obviated as in the parent app. It is particularly easy to bring out if I move an object (say, food) near a critter until one constraint tenses in response. Then, grabbing and releasing the same piece of food causes the same constraint to react, even if I've moved it far away. This 'link' might disappear, however, on a whim. Also, even picking/releasing other objects will cause the same critter constraint to wag in time with the mousebutton, even if they weren't near it first... grabbing another part of the critter will do the same thing, which almost makes sense. Almost
Here's some debug output of a critter coming to rest on its own
critter 1 bodypart 0 linearvelocity changes from -0.000299647 7.22259e-05 -0.00129976 to 0 0 0
critter 1 bodypart 0 angularvelocity changes from 0.000104914 -0.000661141 3.63781e-05 to 0 0 0
Then when I simply move a piece of food close to it, momentum appears:
critter 1 bodypart 0 linearvelocity changes from 0 0 0 to -0.0230598 0.0328973 0.0104193
critter 1 bodypart 0 angularvelocity changes from 0 0 0 to -0.0145706 -0.0235745 0.0104193
The velocity appears on every body part even if the critter appears to be motionless. Usually though, the result is visible. It won't return to rest until the trigger object (the food or other critter) is moved far enough away...
Scaling the sizes up seems to have made the problem much more subtle. I'm actually not sure if it's a problem at all or if some of our parameters are out of range for smooth operation. Hopefully I can get rid of it without making the same change to object sizes which did not really get rid of it on its own anyway
Why does velocity appear on critters when an object is nearby? I'm assuming it has to do with activation. But is it normal?
And what could possibly be conflating our constraints?
Thanks! flamoot
Adding/Deleting a Constraint Causes Motion Elsewhere
-
- Posts: 2
- Joined: Tue Dec 21, 2010 10:01 pm
-
- Posts: 2
- Joined: Mon Apr 12, 2010 8:51 pm
Re: Adding/Deleting a Constraint Causes Motion Elsewhere
Some more info.
writer of the parent app here. I replaced our bthinges with btsliders and witnessed the same problem. After another day of testing I have been able to reproduce the phenomenon in the bullet Demos: RagdollDemo.

As flamoot mentioned it can sometimes be hard to see it, but in the screenshot above, when touching any limb of any ragdoll: the knee in the front right starts twitching.
There definately seems to be some spooky action at a distance going on here...
Kind regards,
Bob
PS: to reproduce, start Ragdolldemo, add a few ragdolls by pressing key "e", spread the ragdolls apart somewhat so that motion cannot be transferred by touch, start left clicking limbs and look out for motion elsewhere.
writer of the parent app here. I replaced our bthinges with btsliders and witnessed the same problem. After another day of testing I have been able to reproduce the phenomenon in the bullet Demos: RagdollDemo.

As flamoot mentioned it can sometimes be hard to see it, but in the screenshot above, when touching any limb of any ragdoll: the knee in the front right starts twitching.
There definately seems to be some spooky action at a distance going on here...
Kind regards,
Bob
PS: to reproduce, start Ragdolldemo, add a few ragdolls by pressing key "e", spread the ragdolls apart somewhat so that motion cannot be transferred by touch, start left clicking limbs and look out for motion elsewhere.
-
- Posts: 2
- Joined: Tue Dec 21, 2010 10:01 pm
Re: Adding/Deleting a Constraint Causes Motion Elsewhere
Yes it's really two problems
Critters with self-collisions deactivated react not at all to object proximity that I can tell. It also makes their reaction to the mouse picker less severe. But it is around
If it's also in the demos then it's normal and in a genetic algorithm it would probably only help the animals. Still I guess I'm glad we brought it up, bobke
Goodbye
Critters with self-collisions deactivated react not at all to object proximity that I can tell. It also makes their reaction to the mouse picker less severe. But it is around
If it's also in the demos then it's normal and in a genetic algorithm it would probably only help the animals. Still I guess I'm glad we brought it up, bobke
Goodbye