us.ihmc.utilities.screwTheory
Class GeneralizedRigidBodyInertia

java.lang.Object
  extended by us.ihmc.utilities.screwTheory.GeneralizedRigidBodyInertia
Direct Known Subclasses:
CompositeRigidBodyInertia, RigidBodyInertia

public abstract class GeneralizedRigidBodyInertia
extends java.lang.Object


Constructor Summary
GeneralizedRigidBodyInertia()
          Default constructor; null reference frame, everything set to zero
GeneralizedRigidBodyInertia(GeneralizedRigidBodyInertia other)
          Copy constructor
GeneralizedRigidBodyInertia(ReferenceFrame frame, double Ixx, double Iyy, double Izz, double mass)
           
GeneralizedRigidBodyInertia(ReferenceFrame frame, javax.vecmath.Matrix3d massMomentOfInertia, double mass)
          Construct using the reference frame in which the GeneralizedRigidBodyInertia is expressed, the mass moment of inertia matrix in that frame and the mass For the case that the origin of the frame in which the GeneralizedRigidBodyInertia is expressed coincides with the center of mass.
GeneralizedRigidBodyInertia(ReferenceFrame frame, javax.vecmath.Matrix3d massMomentOfInertia, double mass, javax.vecmath.Vector3d crossPart)
           
 
Method Summary
 void changeFrame(ReferenceFrame newFrame)
          Changes the frame in which this GeneralizedRigidBodyInertia is expressed.
 FramePoint getCenterOfMassOffset()
           
 ReferenceFrame getExpressedInFrame()
           
 double getMass()
           
 javax.vecmath.Matrix3d getMassMomentOfInertiaPartCopy()
           
 boolean isCrossPartZero()
           
 void packMatrix(org.ejml.data.DenseMatrix64F matrixToPack)
           
 void set(GeneralizedRigidBodyInertia other)
           
 void setMass(double mass)
           
 void setMomentOfInertia(double Ixx, double Iyy, double Izz)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GeneralizedRigidBodyInertia

public GeneralizedRigidBodyInertia()
Default constructor; null reference frame, everything set to zero


GeneralizedRigidBodyInertia

public GeneralizedRigidBodyInertia(ReferenceFrame frame,
                                   javax.vecmath.Matrix3d massMomentOfInertia,
                                   double mass)
Construct using the reference frame in which the GeneralizedRigidBodyInertia is expressed, the mass moment of inertia matrix in that frame and the mass For the case that the origin of the frame in which the GeneralizedRigidBodyInertia is expressed coincides with the center of mass.

Parameters:
frame - the reference frame in which the GeneralizedRigidBodyInertia is expressed, and also the frame of which this
massMomentOfInertia - the mass moment of inertia matrix in ReferenceFrame frame
mass - the mass of the rigid body to which this GeneralizedRigidBodyInertia corresponds

GeneralizedRigidBodyInertia

public GeneralizedRigidBodyInertia(ReferenceFrame frame,
                                   double Ixx,
                                   double Iyy,
                                   double Izz,
                                   double mass)

GeneralizedRigidBodyInertia

public GeneralizedRigidBodyInertia(ReferenceFrame frame,
                                   javax.vecmath.Matrix3d massMomentOfInertia,
                                   double mass,
                                   javax.vecmath.Vector3d crossPart)

GeneralizedRigidBodyInertia

public GeneralizedRigidBodyInertia(GeneralizedRigidBodyInertia other)
Copy constructor

Parameters:
other - the GeneralizedRigidBodyInertia to be copied
Method Detail

getExpressedInFrame

public ReferenceFrame getExpressedInFrame()
Returns:
the frame in which this inertia is expressed

isCrossPartZero

public boolean isCrossPartZero()

getMassMomentOfInertiaPartCopy

public javax.vecmath.Matrix3d getMassMomentOfInertiaPartCopy()

getMass

public double getMass()

getCenterOfMassOffset

public FramePoint getCenterOfMassOffset()

setMomentOfInertia

public void setMomentOfInertia(double Ixx,
                               double Iyy,
                               double Izz)

setMass

public void setMass(double mass)

set

public void set(GeneralizedRigidBodyInertia other)

packMatrix

public void packMatrix(org.ejml.data.DenseMatrix64F matrixToPack)

changeFrame

public void changeFrame(ReferenceFrame newFrame)
Changes the frame in which this GeneralizedRigidBodyInertia is expressed. See Duindam, Port-Based Modeling and Control for Efficient Bipedal Walking Robots, page 40, eq. (2.57) http://sites.google.com/site/vincentduindam/publications

Parameters:
newFrame - the frame in which this inertia should be expressed

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object