jarllarsson / promenade

Code repository for Master's Thesis: "Performance of Physics-Driven Procedural Animation of Character Locomotion For Bipedal and Quadrupedal Gait"
Other
24 stars 4 forks source link

Something goes wrong when perturbing parameters #9

Closed jarllarsson closed 9 years ago

jarllarsson commented 10 years ago

The first controller which should receive the winner params and get the same score as it achieved last time, does not behave in the same way.

jarllarsson commented 10 years ago
  1. The parameters for the winner is never changed(the original params), even when there's a new winner. This is incorrect.
  2. Even though (seemingly) we set the same input to the controller (unchanged even due to another bug, see 1) we get non-deterministic results between runs. However, when not calling the perturb params function(which also results in unchanged params for the first controller), we do get deterministic results.
  3. consume and get of params seems to work.
jarllarsson commented 10 years ago

So even if it's always the same params getting fed to controller 0, we always get different results. Unless we never perturb the params after the first run. With no perturbation, the same params are fed as well, but then we get deterministic results. WTF! :poop:

jarllarsson commented 10 years ago

Seems to be a problem with controllers writing to each others torques. Or something like that. More than 1 controller in optimization mode with perturbation off gives a different result compared with only 1 controller.

jarllarsson commented 10 years ago

Happens in normal mode as well.

jarllarsson commented 10 years ago

Getting these results when not running VFs, and only PDs.

jarllarsson commented 10 years ago

Same result when only running VFs and not PDs. However, the applyNetLegFrameTorque exhibits these problems on its own as well. Next I'll try the prev. tests to run without it.

jarllarsson commented 10 years ago

Getting non-det results with that off as well. So I conclude that either all three torque manip-funcs are incorrect or theres is another source for the error.

jarllarsson commented 10 years ago

So I've more or less concluded that the fault is not bullet's. At least not immediately in the sense that spawning more rigidbodies have an effect. I've now isolated the creation of components in further characters when creating more than one, and I have to take this isolation back one step at the time and test for 1 and 2 characters(controllers).

jarllarsson commented 10 years ago

Seems like it is the handling of explicit rigidbody collision checks. If I disable CHECK_FOR_COLLISIONS on the feet it seems to be giving me the correct results. Will try this in optimization next as well.

jarllarsson commented 9 years ago

solved