Page 1 of 1

Errors with inverse kinematics

Posted: Mon Apr 27, 2020 1:24 pm
by reubebe
I am running inverse kinematics and it runs yet gives me some errors (posted below), this makes it difficult to associate motion data. I wonder what the problem is. Moving ahead with the project is almost impossible. I will very much appreciate some help

java.lang.IndexOutOfBoundsException: Index: 411, Size: 306
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at org.opensim.threejs.ModelVisualizationJson.updatePathWithWrapping(ModelVisualizationJson.java:1505)
at org.opensim.threejs.ModelVisualizationJson.appendToFrame(ModelVisualizationJson.java:793)
at org.opensim.threejs.ModelVisualizationJson.createFrameMessageJson(ModelVisualizationJson.java:714)
at org.opensim.view.pub.ViewDB.updateModelDisplayNoRepaint(ViewDB.java:864)
at org.opensim.view.motions.MasterMotionModel.doUpdateAndRepaint(MasterMotionModel.java:82)
at org.opensim.view.motions.MasterMotionModel.applyTime(MasterMotionModel.java:98)
at org.opensim.view.motions.MasterMotionModel.setTime(MasterMotionModel.java:287)
at org.opensim.view.motions.MotionControlJPanel.update(MotionControlJPanel.java:698)
at java.util.Observable.notifyObservers(Observable.java:159)
at org.opensim.view.motions.MotionsDB.setCurrent(MotionsDB.java:267)
at org.opensim.view.motions.MotionsDB.addMotion(MotionsDB.java:238)
at org.opensim.tracking.IKToolModel.updateMotion(IKToolModel.java:213)
at org.opensim.tracking.IKToolModel.access$500(IKToolModel.java:53)
at org.opensim.tracking.IKToolModel$IKToolWorker.finished(IKToolModel.java:164)
at org.opensim.swingui.SwingWorker$1.run(SwingWorker.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Re: Errors with inverse kinematics

Posted: Mon Apr 27, 2020 1:41 pm
by aymanh
Hello,

According to the stacktrace you provided the issue is with visualization of muscles that have wrap objects (that somehow produces bad wrapping tripping the visualization, we've seen before with a rather complex model where a muscle uses two ellipsoid wrapping objects and one of them produces degenerate wrapping).

Generally, Inverse Kinematics does not use muscles at all, so you might as well remove the muscles from your model and proceed. For later work that needs muscles, please simplify the model to minimal to reproduce and enable debugging the issue.

Best regards,
-Ayman

Re: Errors with inverse kinematics

Posted: Mon Apr 27, 2020 9:21 pm
by reubebe
Thank you