IAA and RollingOnSurfaceConstraint in 4.0

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Adam Yoder
Posts: 16
Joined: Thu Jul 19, 2012 4:24 pm

IAA and RollingOnSurfaceConstraint in 4.0

Post by Adam Yoder » Sat Mar 07, 2020 3:01 pm

I'm trying to replicate an IAA analysis in v4.1, which works in v3.3 with same models/data/setups etc

Error executing Analyze in 4.1:

Code: Select all

Old version storage/motion file encountered
Storage: read data file =motion_grf.mot (nr=561 nc=19)
.. assuming rotations in Degrees.
ExternalForce::ExternalForce_1
Data source being set to motion_grf.mot
ExternalForce::ExternalForce_2
Data source being set to motion_grf.mot
Performing Induced Accelerations Analysis
time = 0.7
External force expressedInBody ground not found.

Exception:
  ArrayPtrs.get: Array index out of bounds.
IK, ID, RRA all run without errors (so fairly confident it's not the grf.xml and ExternalLoads themselves)

Seems sourced to changes in the implementation of RollingOnSurfaceConstraint:
v3.3
https://simtk.org/api_docs/opensim/api_ ... raint.html
v4.1
https://simtk.org/api_docs/opensim/api_ ... raint.html

The main change I see is use of Socket paths to PhysicalFrame objects, instead of body names in 3.3
For 4.1 I am using syntax /bodyset/calcn_r and /ground for <socket_rolling_body> and <socket_surface_body>
I see Body inherits from PhysicalFrame in 4.1 API

Anyone have a working example of RollingOnSurfaceConstraint implemented in 4.0+ ? Or other ideas

Tags:

User avatar
Adam Yoder
Posts: 16
Joined: Thu Jul 19, 2012 4:24 pm

Re: IAA and RollingOnSurfaceConstraint in 4.0

Post by Adam Yoder » Sun Mar 08, 2020 12:40 pm

attached are the setup and grf.xml external loads files, which specifices the point load on calcn_r in ground
gait2392 model

seems odd that when you load the setup in the GUI, and drill down to the IAA settings, Property Editor, the socket_rolling_body and socket_surface_body fields are blank, even though /bodyset/calcn_r and /ground are in the setup.xml. Can type them in manually to the GUI, but still same error
Attachments
grf.xml
(3.42 KiB) Downloaded 35 times
Setup_Analyze_IAA_4.0.xml
(8.94 KiB) Downloaded 68 times

User avatar
Yuki Koike
Posts: 1
Joined: Sat Apr 06, 2019 7:57 pm

Re: IAA and RollingOnSurfaceConstraint in 4.0

Post by Yuki Koike » Mon May 25, 2020 7:35 am

Hi Mr. Adam

I had almost same trouble in IAA like your cases

In my case, I could run IAA by changing External loads setting "Point Expressed in"

In RRA and CMC, I set both "Force Expressed in" and "Point Expressed in" to ground,
because the ground reaction data is in ground frame.
In this setting, I could run RRA and CMC, but couldn't run IAA with the errors like below

External force expressedInBody ground not found.
Exception
ArrayPtrs.get Array index out of bounds.

So, I changed "Point Expressed in" from "ground" to" calcn_r" or "calcn_l", and succeeded in running IAA,
even though the frame may be incorrect for getting right result.
I also could run with any other bodies for "Point Expressed in" except ground. (only ground is NG).


Also, I got fields blank error, but I have no idea about this trouble
I also input in manually every time

I confirmed with gait2354simbody. OpenSIM ver4.0

POST REPLY