Forums Anyscript.org  

Go Back   Forums Anyscript.org > Professional Forum > Debug model

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 11-13-2018, 12:17 PM
marcopus marcopus is offline
Junior Member
 
Join Date: Oct 2013
Posts: 5
Exclamation bug muscle recruitment?

Hello,


In this simple model there are two muscles, the lower (muscle, -y direction) pulls a 1-kg ball against gravity and his force is correctly 9.81 N. The upper (ghost_muscle, +y direction) is simply attached to a fully constrained segment which has no mass. Its force (Ft) should be identically zero all time. However, its force is not negligible, being 0.001858616, which is way above numerical noise.


Debugging

  • switching off the reaction of ghost_driver makes the ghost_muscle force go to zero (= 3.679053e-038 numerical noise)
  • changing muscle recruitment criterion type or polynomial exponent changes the output force of this muscle
  • changing the mass of the ghost_segment has no effect on this
  • switching off the gravity has no effect on this
  • force direction of ghost_muscle has no effect

Is there a flaw in this model or is this a bug in the muscle recruitment solver?


Using AnyBody version : 7. 2. 0. 6089 (64-bit version) Build : 17590.43440 (beta)


Tried as well with AnyBody version : 7. 1. 2. 6044 (64-bit version) Build : 17695.40860


Best regards,

Marco
Attached Files
File Type: any TestGhostMuscle.any (2.1 KB, 4 views)
Reply With Quote
  #2  
Old 11-23-2018, 04:28 PM
toerholm's Avatar
toerholm toerholm is offline
AnyBody Support
 
Join Date: Feb 2009
Posts: 943
Default

Hi Marco,

Sorry for the slow reply,

The short answer is that is not a bug, it can be explained by that the polynomial muscle criteria is more demanding on the numerics than a linear criterium, for muscles with very low activations. For any practical model this is not be a problem.

In this particular problem the ghost muscle is supposed to do nothing, but it has a relative high strength. This means the accuracy in the solver is at test because this muscle (with very low activation) is in the objective function with a power of 3. If you try with higher power you will see the error getting bigger supporting this explanation, this is also why we have limited the power to a maximum 5.


If you change the solver to minmax strict the error will be very low. I have made an issue in our system, we will take a closer look at the solver being used for the polynomial criteria to see if there are settings which can be improved, to allow a better accuracy for this type of problems, but it is clear that numerics is more demanding and it is not certain it is possible to do any better, it is a balance between accuracy, convergence ability and speed.

Hope it makes sense, please ask again if you have further questions.

Best regards
Sųren
__________________
TIP: How to save and load results.
http://wiki.anyscript.org/index.php/All_about_AnyBody_Modeling_System#Save_Load_and_Re play_Results

Subscribe to the forums, click the 'Forum Tools' link above the list of threads then select 'Subscribe to Forum'. You will then have the option to choose the subscription mode for this forum and get an email automatically.
Reply With Quote
Reply

Tags
bug, muscle force, muscle recruitment solver

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:34 AM.