us.ihmc.utilities.screwTheory
Class InverseDynamicsCalculator

java.lang.Object
  extended by us.ihmc.utilities.screwTheory.InverseDynamicsCalculator

public class InverseDynamicsCalculator
extends java.lang.Object

Computes joint torques based on desired joint accelerations. Uses a recursive Newton-Euler algorithm, as described in Featherstone - Rigid Body Dynamics Algorithms (2008)

Author:
Twan Koolen

Constructor Summary
InverseDynamicsCalculator(ReferenceFrame inertialFrame, java.util.HashMap<RigidBody,Wrench> externalWrenches, java.util.ArrayList<InverseDynamicsJoint> jointsToIgnore, SpatialAccelerationCalculator spatialAccelerationCalculator, TwistCalculator twistCalculator)
           
InverseDynamicsCalculator(ReferenceFrame inertialFrame, SpatialAccelerationVector rootAcceleration, java.util.HashMap<RigidBody,Wrench> externalWrenches, java.util.ArrayList<InverseDynamicsJoint> jointsToIgnore, boolean doVelocityTerms, boolean doAcceleration, TwistCalculator twistCalculator)
           
InverseDynamicsCalculator(TwistCalculator twistCalculator, double gravity)
           
 
Method Summary
 void compute()
           
 Wrench computeTotalExternalWrench(ReferenceFrame referenceFrame)
           
 void getJointWrench(InverseDynamicsJoint joint, Wrench wrenchToPack)
           
 SpatialAccelerationCalculator getSpatialAccelerationCalculator()
           
 void reset()
           
 void setExternalWrench(RigidBody rigidBody, Wrench externalWrench)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InverseDynamicsCalculator

public InverseDynamicsCalculator(ReferenceFrame inertialFrame,
                                 java.util.HashMap<RigidBody,Wrench> externalWrenches,
                                 java.util.ArrayList<InverseDynamicsJoint> jointsToIgnore,
                                 SpatialAccelerationCalculator spatialAccelerationCalculator,
                                 TwistCalculator twistCalculator)

InverseDynamicsCalculator

public InverseDynamicsCalculator(ReferenceFrame inertialFrame,
                                 SpatialAccelerationVector rootAcceleration,
                                 java.util.HashMap<RigidBody,Wrench> externalWrenches,
                                 java.util.ArrayList<InverseDynamicsJoint> jointsToIgnore,
                                 boolean doVelocityTerms,
                                 boolean doAcceleration,
                                 TwistCalculator twistCalculator)

InverseDynamicsCalculator

public InverseDynamicsCalculator(TwistCalculator twistCalculator,
                                 double gravity)
Method Detail

compute

public void compute()

setExternalWrench

public void setExternalWrench(RigidBody rigidBody,
                              Wrench externalWrench)

getSpatialAccelerationCalculator

public SpatialAccelerationCalculator getSpatialAccelerationCalculator()

reset

public void reset()

computeTotalExternalWrench

public Wrench computeTotalExternalWrench(ReferenceFrame referenceFrame)

getJointWrench

public void getJointWrench(InverseDynamicsJoint joint,
                           Wrench wrenchToPack)