I’m running into the same problem described in this post.
I’m using batch processing for simulations of mocap data with anypytools.
From the python side, the RunParameterIdentificationfinishes successfully. Python reports the run as completed without errors. However, no .anyset file is written. Rerunning the RunParameterIdentification of the respective file via python does also not conclude in a .anyset file.
When I take the same trial and run the ParameterIdentification manually in AnyBody, everything works as expected.
Rerunning the whole batch with more or less files, this phenomenon occurs always for the exact same trial.
I was wondering if anyone found a solution or workaround for this.
Could you please provide what version of AnyBody Modeling System, AMMR and AnyPyTools you are using ?
If you are not on the latest AnyPyTools version (1.20.6 atm) please try to update that first. There has been some significant changes since the post you refer to in September 2025.
I also realized that my previous statement was a bit premature. When I tested the manual execution before, I only ran the marker optimization which resulted in an .anyset file. In the batch processing, however, I am running marker and anthropometric optimization.
When I now manually run RunParameterIdentification including the anthropometric optimization, I see the following message in the output:
“Failed to resolve kinematic constraints. Newton relaxation too small.”
The model does not abort, but does not seem to continue after this message.
From the Python side, I am only setting num_processes = 4 and do not specify any additional settings.
Could it be that, in the batch setup, the parameter identification effectively terminates before fully converging (i.e. not running as long as in the manual case), without raising an explicit error? That could explain why Python reports a successful run, but no .anyset file is written.
Does this sound like a plausible explanation, and is there a recommended way to handle or detect this more robustly when running anthropometric optimization in batch mode?
That sounds plausible, if the parameter optimization did not converge it will not save an .any file. The fact that it is also always the same trial causing the issue points to that it is a real convergence issue in this specific trial.
So how to fix this…
Since you have many trials working and have issue with one trial try to inspect the C3D data. Look for dropouts, or possibly some sections of the trial in which one or markers have been interpolated because they was out of sight, this would mean they are more inaccurate and may cause issues.
I just wanted to add something on top of Sørens answer.
The python execution does not stop or raise exceptions if the anybody simulation fails - unless you explicitly make it do so. You can see here how to filter simulations with errors to return it early or make mitigations in your script.
Changing the frames for parameter identification has worked. The operation runs through and an .anyset file is saved. Thank you very much for the tip!
Nevertheless, I still don’t quite understand how it can be that AnyBody doesn’t output an error in my original configuration, but only notices, which means that neither an output in the form of an .anyset file nor a temp_output in the form of a .txt file is saved, yet Python still sees it as completed.
Is there an explanation for this? Because as far as I understand, error filtering, as in the example in the documentation, only works if the model fails, doesn’t it?