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

Public Methods | |
| IDNewtonEuler (unsigned int dof, const String &linkCGandMassFile, const String &linkInertiaFile, const Vector3D &gravity=Vector3D(0.0, 0.0,-9.8)) | |
| IDNewtonEuler (unsigned int dof, const MatrixData &linkCGandMass, const TensorData &linkInertia, const Vector3D &gravity=Vector3D(0.0, 0.0,-9.8)) | |
| virtual | ~IDNewtonEuler () |
| bool | SetBaseJointType (char jointType) |
| bool | SetLocalTransformations (const Xform *transformations) |
| const Vector & | GetJointTorques (const Vector &velocity, const Vector &acceleration, const HandPose &eefLoad=HandPose(0, 0, 0, 0, 0, 0)) |
| bool | GetGravityTorques (Vector &torques) |
| bool | GetVelocityTorques (const Vector &velocity, Vector &torques) |
| bool | GetAccelerationTorques (const Vector &acceleration, Vector &torques) |
| const Matrix * | GetInertiaMatrix () |
| const Matrix & | GetJointLoads () const |
| void | SetToolPoint (const Vector3D &tpVector) |
Protected Methods | |
| void | crossProduct (Vector &x, const Vector &y, const Vector &z) |
| void | crossProduct (Vector &result, unsigned int row_m1, const Matrix &matrix1, const Vector &vector2) |
| void | crossProduct (Vector &result, unsigned int row_m1, const Matrix &matrix1, unsigned int row_m2, const Matrix &matrix2) |
Protected Attributes | |
| Matrix * | joint_force |
| Matrix * | joint_torque |
| Matrix * | rot_joint_vel |
| Matrix * | rot_joint_acc |
| Matrix * | trans_joint_acc |
| Matrix * | inertial_force |
| Matrix * | inertial_torque |
| Matrix * | JointLoads |
| Xform | tool_point |
| char | baseJointType |
| const Xform * | transformations |
| bool | inertiaUpdated |
| bool | gravityUpdated |
|
||||||||||||||||||||
|
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. Same as the above contructor except that the center of gravity and mass data and the inertia data are supplied through MatrixData and TensorData objects instead of data files.
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||
|
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 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. |
|
|
Call this function to set the type of the base joint: Rotary ('R') or Prismatic ('P'). This is critical to the torque computation. The default is set to 'R'.
|
|
|
MUST call this function before calling any GetXXX() method to set the local transformation matrices. The transformation matrices are used in all calculations.
|
|
|
This sets the tool point to as defined by the user. If this method is not called the tool point remains coincident with the last link.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |