[quote=aalmunajjed;13767]Damon,
this is a wrapping muscle problem. Here is a section from the Wiki on how to resolve this:
Resolve penetration errors
Many muscles in the body are wrapped over bones and slide on the bony surfaces when the body moves. This means that the contact forces between the bone and the muscle are always perpendicular to the bone surface, and the muscle may in fact release the contact with the bone and resume the contact later depending on the movement of the body. Via point muscles are not capable of modeling this type of situation, so the AnyBody Modeling System has a special muscle object for this purpose.
A wrapping muscle is presumed to have an origin and an insertion just like the via point muscle. However, instead of interior via points it passes a set of surfaces. If the surfaces are blocking the way then the muscle finds the shortest geodesic path around the surface. Hence the name of the class: AnyShortestPathMuscle. The fact that the muscle always uses the shortest path means that it slides effortlessly on the surfaces, and hence there is no friction between the muscle and the surface.
Sometimes one or some of the points defining a muscle turn out to be located inside one of the surfaces that the muscle can wrap on. In general this should be avoided because a part of the muscle path will be located inside the surface and this part of the path becomes unpredictable.
The penetration errors can occur at different times:
[ol]
[li]They may happen at load time when the model is in its initial position. If they only occur in this position they are not important. It just means the initial posture creates penetration.[/li][li]They may occur when running inverse analysis of the model. This can be important.[/li][/ol]There can be different reasons for this, including:
[ol]
[li]If for example the arm is penetrating the thorax this may give a penetration warning. This is not an error related to the Body model but related to the way the model is being used. Here the remedy is to change the drivers of the model.[/li][li]In principle all surfaces in the model used for wrapping have been made in a way that makes them scale with the model. When defining a cylinder it is typically defined using three nodes. These nodes control the size and location of the cylinder. When the bone is scaled, these control nodes will also be scaled like any other node on the bone and consequently the cylinder will be scaled too. Ellipsoids are made in a similar way. This setup does not guarantee that penetration errors will never occur. If the via point and the surface are located on the same bone and are very close, different types of scaling and sizes could potentially create penetration errors.[/li][/ol]In general the remedy is to
[ol]
[li]Exclude all muscles from the model except the one causing the problem.[/li][li]Insert an AnyDrawParamSurface in the surface being penetrated to visualize it you can do this directly in the muscle. Typically by writing Surf1={ AnyDrawParamSurf drw={}; }; //assuming a Surf1 reference is existing![/li][li]Insert an AnyDrawRefFrame in the node which is penetrating.[/li][li]Try to understand the root of the problem, whether it is related to scaling or motion.[/li][li]Do modifications on either model or motion to solve the problem[/li][/ol]**************
[/quote=dstambolian]
Hi Amir, Sylvain, or anybody that can help please
Looking at the motion capture I noticed the shape of the torso was changing because of the CLAV STRN markers moving around, so I smoothed the trajectories and now im not getting the same error as before, but am getting this different error. What does maximum number of iterations mean, and what would I do if I get this error?
7.0) Inverse dynamic analysisâŚ
[SIZE=1]ERROR(OBJ.MCH.MUS4)[/SIZE] : [SIZE=1]C:/UâŚs/DB/DâŚs/AâŚs/AâŚ3/AâŚn/AâŚn/GâŚ6/GaitFullBody.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy.InverseDynamics[/SIZE] : Muscle recruitment solver : solver aborted after maximum number of iterations
Sincerely Thanks
Damon