Page 1 of 1

OpenSim3.1:CoupledBushingForceExample didn't generate force

Posted: Tue Jan 07, 2014 8:57 am
by mengxjchina
Hello,

Thank you very much for reading this post. Currently, I am trying to add a CoupledBushingForce between torso and pelvis in the given example “gait2354_Simbody.osim” and check the output of the coupledbushingforces. I generated the plugin files based on the given source code(OpenSim 3.1/sdk/APIExamples/Plugin/CoupledBushingForceExample), CMaker2.8 and VS2010, and loaded it in OpenSim3.1 successfully. The CMC (based on the files in the given example) did work and calculated successfully. However, after the analysis, I found that the outputs of the CoupledBushingforces in the forcereport are all zero. So the plugin did not generate any force during the simulation. I also changed the Coupledbushingforce to Bushingforce, the Bushingforce element did generate the expected forces. So I really don't know why.

I sincerely hope someone can help me. I have attached the modified model, forcereport of the analysis, source code of the given CoupledBushingForceExample,the .dll/.lib files of the plugin and other files you may need in this topic. When you load all these files into the your Opensim3.1, you can see the problem that I have met.

Thank you very much for your time. Happy new year!
Xiangjie Meng

--------<to save your time, I show the parts that I modified below>------

The code I added in gait2354_Simbody.osim:
<CoupledBushingForce name="S_L5 CoupledBushing force">
<!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.-->
<isDisabled>false</isDisabled>
<body_1>pelvis</body_1>
<body_2>torso</body_2>
<location_body_1> -0.1007 0.0815 0</location_body_1>
<orientation_body_1> 0 0 0</orientation_body_1>
<location_body_2> 0 0 0</location_body_2>
<orientation_body_2> 0 0 0</orientation_body_2>
<stiffness_row1> 1000 0 0 0 0 0</stiffness_row1>
<stiffness_row2> 0 1000 0 0 0 0</stiffness_row2>
<stiffness_row3> 0 0 1000 0 0 0</stiffness_row3>
<stiffness_row4> 0 0 0 1000 0 0</stiffness_row4>
<stiffness_row5> 0 0 0 0 1000 0</stiffness_row5>
<stiffness_row6> 0 0 0 0 0 1000</stiffness_row6>
<damping_row1> 1000 0 0 0 0 0</damping_row1>
<damping_row2> 0 1000 0 0 0 0</damping_row2>
<damping_row3> 0 0 1000 0 0 0</damping_row3>
<damping_row4> 0 0 0 1000 0 0</damping_row4>
<damping_row5> 0 0 0 0 1000 0</damping_row5>
<damping_row6> 0 0 0 0 0 1000</damping_row6>
</CoupledBushingForce>
PS: I can see that S_L5 CoupledBushing force in "other forces" in the Navigator.

Re: OpenSim3.1:CoupledBushingForceExample didn't generate fo

Posted: Wed Jan 08, 2014 6:11 pm
by jp123909
hi,

I think you need a custom analyzer to analyze a custom controller or force.
I guess opensim just has the function of measuring the bushingforce.
For measurement of force generated by couplebusingforce, a new force,
a new analyzer is necessary.

best regards,
jiang

Re: OpenSim3.1:CoupledBushingForceExample didn't generate fo

Posted: Thu Jan 09, 2014 9:01 am
by mengxjchina
jp123909 wrote:hi,

I think you need a custom analyzer to analyze a custom controller or force.
I guess opensim just has the function of measuring the bushingforce.
For measurement of force generated by couplebusingforce, a new force,
a new analyzer is necessary.

best regards,
jiang
Thank you very much for your suggestions. I really appreciate them. From Dr.Nur Adila Faruk Senan's spinebushing modeling research ( please see: https://simtk.org/home/spinebushing), they simulated their CMC successfully without special analyzer. Their spinebushing elements do generate expected passive forces in OpenSim2.4. Could you please tell me more details of your idea? Thank you very much.

Best regards,
Xiangjie

Re: OpenSim3.1:CoupledBushingForceExample didn't generate fo

Posted: Thu Jan 09, 2014 3:25 pm
by jp123909
hi,

I made a test on your model by forward dynamics simulation.
It seems that couplebusingforce also didn't work during
FD simualtion. The problem is the definition?
I suggest you try different definitions (stiffness and dampness) of it to check when it
will work in FD simulation first.

best regards,
jiang

Re: OpenSim3.1:CoupledBushingForceExample didn't generate fo

Posted: Fri Jan 10, 2014 8:38 am
by mengxjchina
jp123909 wrote:hi,

I made a test on your model by forward dynamics simulation.
It seems that couplebusingforce also didn't work during
FD simualtion. The problem is the definition?
I suggest you try different definitions (stiffness and dampness) of it to check when it
will work in FD simulation first.

best regards,
jiang
Dear Jiang,

Thank you very much again. Actually, I have tried many definitions. If it can not find a solution, it maybe the definition problem. Since it can finish the simulations successfully and in the report there do be labels named CoupledBushingForce... The plugin should have been accepted by OpenSim. Now, I think maybe it is because the version of OpenSim changes and some functions inside also change. The plugin may failed to get the parameter values needed or failed to feed the values back. I am try to modify the source code now. Hope that I can find the problem. If you have time, I will really appreciate it if you can read the source code, specially the COMPUTATIONS part.

Thank you very much again. Wish you a happy life everyday!
Xiangjie

Re: OpenSim3.1:CoupledBushingForceExample didn't generate fo

Posted: Tue Jan 14, 2014 11:25 am
by jenhicks
Hi,

As of OpenSim 3.1, there are function and expression based bushing forces included in the main OpenSim distribution, so you probably don't need to use the plug-in.

You can read about them in doxygen:
Function Based Bushing (takes an OpenSim Function): https://simtk.org/api_docs/opensim/api_ ... Force.html
Expression Based Bushing (takes a symbolic Function): https://simtk.org/api_docs/opensim/api_ ... Force.html

The xml mark-up can be found by using the XML browser in the GUI.

Best wishes,
Jen