-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
InducedAcceleration analyzes not properly working #3923
Comments
@carlosoleto, thanks for reporting. I'm not sure why Sockets would be cleared when loading a model from XML. Or does this behavior only happen in the GUI? If it's an API issue, could you post a minimum working example? If the issue is limited to the GUI, this issue might be better in https://github.com/opensim-org/opensim-gui. |
Hi @nickbianco, based on this post, this issue exists in both API and GUI: |
@nickbianco , sorry for the delayed response. As Mohammadreza Rezaie posted, We already did some tests and posted the findings in the OpenSim forum. If it is not enough, I can provide further information. Best regards. |
@carlosoleto, @mrrezaie, thank you for the detailed investigation. I'm not too familiar with how the IAA tool works, but I assume the bug is something like a missing As a workaround, could you try manually adding the constraint to the model before passing it to the tool? That way you should be able to guarantee that the model is constructed properly before the analysis is run. |
Hello @nickbianco, I think I already did it, but configuring the IAA component in the configuration file (XML). But I'm not too good at using the API for everything. Here what I tried:
When it runs, it fails in "finalizeConnections".
I already change the model before running the analysis tool, because I need to remove the contact forces in my jump model. So, I could try adding the needed constraints. I remember trying to add the RollingConstraints but I couldn't manage with the available documentation. Could you give some advice in adding the constraint using the API? |
@carlosoleto it would look something like this:
Then you should be able to use this model and exclude the |
Ok, I will try it, but I will cut the corner and add the Constraint directly to the .OSIM editing the XML. I will post it here. Nevertheless, if it works, it will be great to speed things up in developing the analysis data. However, the issue regarding adding the .XML to the Analysis Tool and by no reason it cleares the Constraint information, will still remain. |
@carlosoleto, I agree that the issue still stands, but hopefully my suggestion above will be a usable workaround for your workflow in the meantime. |
Hello @nickbianco , sorry for the delay. I will attach the files used in the tests here. As I mentioned, I edited the files directly in Notepad++ to speed things up.
To summarize, unfortunately, in all combinations tested, the error seems the same. The rolling surfaces definitions are cleared during "loading". If I load the config file iaa.xml (Test 1) in the OpenSim GUI, and rewrite the terms in the tool ConstraintSet (not the model), I can run with good results (myIAA_InducedAccelerations_center_of_mass.sto). Hope it helps. And thanks for all the support. Best regards. |
Hi @carlosoleto, the error seems different in Tests 2 and 3. Are you able to construct the model (i.e., |
Hello @nickbianco , Tests 2 and 3 used a model with the constraints already included. I just used the XML to speed things up. The models appear okay when loaded in OpenSim. The path to the models is defined in the settings file for the analysis (.xml). All the files in the tests are in the zip attached to the previous message. |
I experienced the same strange behavior loading a analyzes xml file in OpenSim GUI and OpenSim API (Python) trying to use the IAA.
As we load the XML file, the RollingOnSurfaceConstraint sockets are cleared. So the values for socket_rolling_body and socket_surface_body are blanked.
In the GUI, if you type the correct values and don't save the XML, the tool will run. In the script with OpenSim API, the tool wont run
with error message:
RuntimeError: std::exception in 'bool OpenSim::AnalyzeTool::run()': Failed to connect Socket 'rolling_body' of type PhysicalFrame (details: Connectee for Socket 'rolling_body' of type PhysicalFrame in RollingOnSurfaceConstraint at /constraintset/right_foot_contact_0 is unspecified. If this model was built programmatically, perhaps finalizeConnections() was not called before printing. Thrown at Component.h:3383 in finalizeConnection().). In Object 'right_foot_contact_0' of type RollingOnSurfaceConstraint. Thrown at Component.cpp:313 in finalizeConnections().
The text was updated successfully, but these errors were encountered: