Good day,
I'm trying to use CMC and Forward tool for UpperLowerBodySimple model.
But I got an error java.lang.RuntimeException: SimTK Exception thrown at SmallMatrixMixed.h:878:
Error detected by Simbody method lapackInverse(Mat<>): Matrix is singular so can't be inverted (Lapack getrf info=3).
(Required condition 'info==0' was not met.)
at org.opensim.modeling.opensimModelJNI.OpenSimContext_getActivation(Native Method)
at org.opensim.modeling.OpenSimContext.getActivation(OpenSimContext.java:173)
at org.opensim.view.MuscleColorByActivationFunction.getColor(MuscleColorByActivationFunction.java:23)
at org.opensim.view.LineSegmentMuscleDisplayer.updateGeometry(LineSegmentMuscleDisplayer.java:180)
at org.opensim.view.LineSegmentMuscleDisplayer.setApplyColoringFunction(LineSegmentMuscleDisplayer.java:80)
at org.opensim.view.SingleModelVisuals.setApplyMuscleColors(SingleModelVisuals.java:345)
at org.opensim.view.motions.MotionDisplayer.setupMotionDisplay(MotionDisplayer.java:277)
at org.opensim.view.motions.MotionDisplayer.<init>(MotionDisplayer.java:229)
at org.opensim.view.motions.JavaMotionDisplayerCallback.<init>(JavaMotionDisplayerCallback.java:113)
at org.opensim.tracking.ForwardToolModel$ForwardToolWorker.<init>(ForwardToolModel.java:107)
at org.opensim.tracking.ForwardToolModel.execute(ForwardToolModel.java:375)
at org.opensim.tracking.AnalyzeAndForwardToolPanel.pressedApply(AnalyzeAndForwardToolPanel.java:619)
at org.opensim.tracking.BaseToolPanel.actionPerformed(BaseToolPanel.java:130)
at org.netbeans.core.windows.services.NbPresenter$ButtonListener.actionPerformed(NbPresenter.java:1327)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
How can I fix it, or also maybe could you provide some data and settings files(if I'm not using the right one)?
Best,
Alex
Error in using CMC and ForwardTool in Upper limb model
- Alex Priamikov
- Posts: 14
- Joined: Fri Jan 11, 2013 9:11 am
- Ayman Habib
- Posts: 2252
- Joined: Fri Apr 01, 2005 12:24 pm
Re: Error in using CMC and ForwardTool in Upper limb model
Hi Alex,
As the stacktrace indicates, the exception you ran into occurs trying to color the muscles using Activations. Reason you get this singularity could be that the muscles are not initialized properly, or external loads not applied correctly leading to very large forces and infinite accelerations. Other possible culprit would be missing mass properties which you need to full specify if you're running CMC and/or ForwardTool.
Hope this helps,
-Ayman
As the stacktrace indicates, the exception you ran into occurs trying to color the muscles using Activations. Reason you get this singularity could be that the muscles are not initialized properly, or external loads not applied correctly leading to very large forces and infinite accelerations. Other possible culprit would be missing mass properties which you need to full specify if you're running CMC and/or ForwardTool.
Hope this helps,
-Ayman
- Alex Priamikov
- Posts: 14
- Joined: Fri Jan 11, 2013 9:11 am
Re: Error in using CMC and ForwardTool in Upper limb model
Hi Ayman
Can it also occur, because I disabled some muscles and blocked some angles?
Also can you provide example configuration for this model?
Best regards,
Alex
Can it also occur, because I disabled some muscles and blocked some angles?
Also can you provide example configuration for this model?
Best regards,
Alex
- Alex Priamikov
- Posts: 14
- Joined: Fri Jan 11, 2013 9:11 am
Re: Error in using CMC and ForwardTool in Upper limb model
I figure out that I don't have mass properties for my bodies, think the problem comes from this side.