motris.model
Interface DynamicModel

All Known Implementing Classes:
CarDynamicModelPece, RigidDynamicModel

public interface DynamicModel

Interface for Dynamical Models which describe

  1. the transformation between the local coordinate systems of different actor parts (for instance body parts)
  2. the 1st and 2nd derivative of these transformations with respect to all degrees of freedom (free parameters)

Author:
dahlkamp, preuter

Method Summary
 void advanceTimeStep(double deltaT, JSci.maths.DoubleSquareMatrix F)
          Predict state for next time t+deltaT
 void calculateDerivations(JSci.maths.DoubleSquareMatrix[] tensorinput, JSci.maths.DoubleSquareMatrix[] gradientinput, JSci.maths.DoubleSquareMatrix toGlobalinput, State state)
          Precompute internal derivation matrices.
 int[] getDOF()
          Return degrees of freedom.
 JSci.maths.DoubleSquareMatrix[] getLocalToParent(int derivativeNumber)
           
 JSci.maths.DoubleSquareMatrix getToGlobal()
           
 void markDirty()
          Mark internally computed matrices as dirty so that they are recomputed on next call of getLocalToParent() Note: replaces update() in DerivableMatrix
 

Method Detail

getLocalToParent

public JSci.maths.DoubleSquareMatrix[] getLocalToParent(int derivativeNumber)
Parameters:
derivativeNumber - n
Returns:
nth derivative of the transformation from this RigidModel to the parent model

getToGlobal

public JSci.maths.DoubleSquareMatrix getToGlobal()
Returns:
transformation from local to global coordinate system

getDOF

public int[] getDOF()
Return degrees of freedom.


advanceTimeStep

public void advanceTimeStep(double deltaT,
                            JSci.maths.DoubleSquareMatrix F)
Predict state for next time t+deltaT

Parameters:
deltaT - time difference [s]
F - first derivative of prediction function

markDirty

public void markDirty()
Mark internally computed matrices as dirty so that they are recomputed on next call of getLocalToParent() Note: replaces update() in DerivableMatrix


calculateDerivations

public void calculateDerivations(JSci.maths.DoubleSquareMatrix[] tensorinput,
                                 JSci.maths.DoubleSquareMatrix[] gradientinput,
                                 JSci.maths.DoubleSquareMatrix toGlobalinput,
                                 State state)
Precompute internal derivation matrices. In a kinematic chain, these depend on previous matrices

Parameters:
tensorinput - functions as in and output for the second derivation times dState /dt
gradientinput - functions as in and output for the first derivation
toGlobalinput - concatenation of all local-to-parent matrices up to the global coordinate system
state -