#include <IDLagrange.h>
Inheritance diagram for OSCAR::IDLagrange:

Public Methods | |
| IDLagrange (unsigned int DOF, const String &linkCGandMassFile, const String &linkInertiaFile, const Vector3D &gravity=Vector3D(0.0, 0.0,-9.8)) | |
| IDLagrange (unsigned int DOF, const MatrixData &linkCGandMass, const TensorData &linkInertia, const Vector3D &gravity=Vector3D(0.0, 0.0,-9.8)) | |
| virtual | ~IDLagrange () |
| bool | SetGfunctions (const Tensor *tg, const Tensor *rg=0) |
| bool | SetHfunctions (const TensorP *th, const TensorP *rh) |
| bool | GetGravityTorques (Vector &gravityTorques) |
| bool | GetVelocityTorques (const Vector &velocity, Vector &torques) |
| bool | GetAccelerationTorques (const Vector &acceleration, Vector &torques) |
| const Vector & | GetJointTorques (const Vector &velocity, const Vector &acceleration, const HandPose &eefLoad=HandPose(0, 0, 0, 0, 0, 0)) |
| const Matrix * | GetInertiaMatrix () |
| const Rot3by3 * | GetGlobalInertiaMatrices (const Xform *global_ts) |
| const Matrix * | GetIstar (const Xform *global_ts) |
| const Tensor * | GetIstarForEachLink (const Xform *global_ts) |
| const Tensor * | GetPstar () |
| const Tensor * | GetPstar (const Xform *global_ts) |
| bool | GetAppliedLoadTorques (unsigned int linkNumber, const Tensor &gr, const Tensor >, const Vector &link_load, Vector &jnt_torques) |
Protected Methods | |
| void | fillRotationMatrices (const Xform *global_ts) |
| bool | calculateGlobalInertiaMatrices (const Xform *global_ts) |
| bool | calculateIstar () |
| bool | calculateIstarForEachLink () |
| bool | calculatePstar () |
Protected Attributes | |
| Rot3by3 * | rotations |
| Rot3by3 * | rotations_trans |
| Tensor * | global_inertia |
| Matrix * | Istar |
| Tensor * | linkIstars |
| Tensor * | Pstar |
| const Tensor * | trans_g |
| const Tensor * | rot_g |
| const TensorP * | trans_h |
| const TensorP * | rot_h |
| bool | IstarUpdated |
| bool | PstarUpdated |
| bool | gravityUpdated |
Private Methods | |
| IDLagrange (const IDLagrange &) | |
| IDLagrange & | operator= (const IDLagrange &) |
|
||||||||||||||||||||
|
Constructor.
# This file contains centers of gravity and masses for a 2-DOF planar robot.
The number of 3X3 matrices equals to DOF. The following example is for a 2-D planar robot. # This file contains the inertia tensors for a 2-DOF planar robot. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001
|
|
||||||||||||||||||||
|
Constructor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
A pure virtual function for calculating the joint torques due to acceleration.
Implements OSCAR::InverseDynamics. |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
A pure virtual function for calculating the gravity torques.
Implements OSCAR::InverseDynamics. |
|
|
A pure virtual function for calculating the inertia matrix.
Implements OSCAR::InverseDynamics. |
|
|
A function for calculating the inertia matrix. Before this can be calculated the G functions must have been set by calling SetGfunctions. SetLinkPoints must be called in FKVelocity to move the G functions to the cgs before calling SetGfunctions.
|
|
|
|
|
||||||||||||||||
|
A pure virtual function for calculating the total joint torques.
Implements OSCAR::InverseDynamics. |
|
|
|
|
|
|
|
||||||||||||
|
A pure virtual function for calculating the joint torques due to velocity (Coriolis and centripetal effects).
Implements OSCAR::InverseDynamics. |
|
|
|
|
||||||||||||
|
MUST call this function before calling any GetXXX() method to set the G functions. The G functions must be at the centers of gravity for all links. These cgs are set by calling SetLinkPoints in the FKVelocity object.
|
|
||||||||||||
|
MUST call this function before calling any GetAccelerationTorques() method to set the H functions. The H functions must be at the centers of gravity for all links. These cgs are set by calling SetLinkPoints in the FKVelocity object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |