Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::FKJacobian Class Reference
[ForwardKinematics]

#include <FKJacobian.h>

Inheritance diagram for OSCAR::FKJacobian:

Inheritance graph
[legend]
List of all members.

Public Types

enum  JacobianType { Full = 0, Partial = 1 }

Public Methods

 FKJacobian (const String &dhFilename, OSCARError &err=DUMMY_ERROR(noError))
 FKJacobian (const DHData &dhParams, OSCARError &err=DUMMY_ERROR(noError))
 FKJacobian (const FKJacobian &fkj)
FKJacobian & operator= (const FKJacobian &fkj)
bool SetActiveOutputs (const CoordinateStatusArray &activeOutputs)
const CoordinateStatusArrayGetActiveOutputs () const
unsigned int GetNumberOfActiveOutputs () const
const MatrixGetJacobian (JacobianType JType=Partial)
const MatrixGetPreviouslyComputedJacobian (JacobianType JType=Partial)
const MatrixGetJacobian (const Vector &jointVector)
const MatrixGetJacobian (const JointVector &jointVector)
const MatrixGetJacobianTranspose (JacobianType JacobianType=Partial)
bool ConvertVelocityToFixedXYZ (const OSCAR::HandPose &handPosition, OSCAR::HandPose &handVelocity)
virtual ~FKJacobian ()

Protected Methods

virtual void calculateJacobian (void)
virtual void calculateJacobianColumn (int jointNo)
virtual void extractPartialJacobian ()
virtual void resizePartialJacobian ()

Protected Attributes

CoordinateSpace activeOutputs
CoordinateSpaceactiveInputs
unsigned int nActiveOutputs
unsigned int nActiveInputs
Matrixjacobian
MatrixjacobianTranspose
MatrixpartialJacobian
MatrixpartialJacobianTranspose

Detailed Description

Jacobian class for the forward kinematics domain. It contains the functionalty to generate the Jacobian matrix for a given set of dh-parameters and joint position vector. It can generate a Full jacobian - one that includes the influence of all joints on a 6-dimensional output space Partial jacobian - one that inlcudes the influence of only ACTIVE joints on the ACTIVE output space


Member Enumeration Documentation

enum OSCAR::FKJacobian::JacobianType
 

Enumeration values:
Full 
Partial 


Constructor & Destructor Documentation

OSCAR::FKJacobian::FKJacobian const String   dhFilename,
OSCARError   err = DUMMY_ERROR(noError)
 

Constructor.

Use this to construct an FKJacobian object from a file.

Parameters:
dhFilename A String object that specifies the name and path of the file that contains the DH parameters.
err A reference to a OSCARError object that holds the value of the error code that was generated when the constructor was called. If this error was not 'noError' you can call GetError() to get the details of the error code.

OSCAR::FKJacobian::FKJacobian const DHData   dhParams,
OSCARError   err = DUMMY_ERROR(noError)
 

Constructor.

Use this to construct an FKJacobian object from an DHData object.

Parameters:
dhParams A DHData object that holds the DH parameters for the robot in whose forward position solution needs to be computed.
err A reference to a OSCARError object that holds the value of the error code that was generated when the constructor was called. If this error was not 'noError' you can call GetError() to get the details of the error code.

OSCAR::FKJacobian::FKJacobian const FKJacobian &    fkj
 

Copy Constructor.

This is the Copy constructor for an object of type FKJacobian. Use this to construct an FKJacobian object from an existing FKJacobian object.

Parameters:
fkj An FKJacobian object that will be used to initialize this new object.

virtual OSCAR::FKJacobian::~FKJacobian   [virtual]
 


Member Function Documentation

virtual void OSCAR::FKJacobian::calculateJacobian void    [protected, virtual]
 

virtual void OSCAR::FKJacobian::calculateJacobianColumn int    jointNo [protected, virtual]
 

bool OSCAR::FKJacobian::ConvertVelocityToFixedXYZ const OSCAR::HandPose   handPosition,
OSCAR::HandPose   handVelocity
 

Use this method to convert an Angular Velocity Vector into velocities defined as FixedXYZ angles.

When the Jacobian is calculated, it relates the input joints to an angular velocity vector. Thus, when the Jacobian is multiplied by an joint velocity vector, the resultant orientation speeds are defined as the angular velocity vector. This vector taken as a unit vector represents the instantaneous axis of rotation and its magnitude represents the speed of rotation about that axis. This function converts the orientation portion of the input HandPose to FixedXYZ velocities.

Parameters:
handPosition The current hand position of the manipulator. This information is needed in the velocity conversion.
handVelocity A HandPose object containing velocity data. The orientation velocities will be converted from an angular velocity vector to FixedXYZ velocities.
Returns:
true if the method succeeds, false if some error occurs. Call GetError() to get detailed error information

virtual void OSCAR::FKJacobian::extractPartialJacobian   [protected, virtual]
 

const CoordinateStatusArray& OSCAR::FKJacobian::GetActiveOutputs   const
 

Use this method to retrieve the current active outputs. The number of active outputs will equal the number of rows in the partial Jacobian.

Returns:
An array that contains the current active outputs.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidOutputSpace invalidOutputSpace

const Matrix* OSCAR::FKJacobian::GetJacobian const JointVector   jointVector
 

Use this method to retrieve the Jacobian matrix. This method will resize the Jacobian matrix based on the input coordinates from the JointVector and the output coordinates set internally.

Parameters:
jointVector A vector of size 1xDOF containing the joint values.
Returns:
A pointer to the Jacobian matrix.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidInputSpace invalidInputSpace

const Matrix* OSCAR::FKJacobian::GetJacobian const Vector   jointVector [virtual]
 

Use this method to retrieve the Jacobian matrix. This method will leave all of the input coordinates in the Jacobian active, but it will still resize the Jacobian if the output coordinates aren't all active. This method first computes the forward position solution and then the jacobian.

Parameters:
jointVector A vector of size 1xDOF containing the joint values.
Returns:
A pointer to the Jacobian matrix.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidInputSpace invalidInputSpace

Implements OSCAR::FKJacobianBase.

const Matrix* OSCAR::FKJacobian::GetJacobian JacobianType    JType = Partial
 

Use this method to retrieve the partial or full Jacobian matrix. The jacobian is computed based on the previously computed transformation matrices when GetHandPose was called.

Parameters:
JacobianType This parameter sets whether the Jacobian will be partial or full. The default value is partial.
Returns:
A pointer to the Jacobian matrix.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidInputSpace invalidInputSpace

const Matrix* OSCAR::FKJacobian::GetJacobianTranspose JacobianType    JacobianType = Partial
 

Use this method to retrieve the transpose of the partial or full Jacobian matrix.

Parameters:
JacobianType This parameter sets whether the Jacobian will be partial or full. The default value is partial.
Returns:
A pointer to the Jacobian matrix.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidInputSpace invalidInputSpace

unsigned int OSCAR::FKJacobian::GetNumberOfActiveOutputs   const
 

Use this method to retrieve the current number of active outputs. ill equal the number of rows in the partial Jacobian.

Returns:
The number of active outputs.

const Matrix* OSCAR::FKJacobian::GetPreviouslyComputedJacobian JacobianType    JType = Partial
 

Use this method to retrieve the partial or full Jacobian matrix. This method simply returns the already computed jacobian.

Parameters:
JacobianType This parameter sets whether the Jacobian will be partial or full. The default value is partial.
Returns:
A pointer to the Jacobian matrix.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect
invalidInputSpace invalidInputSpace

FKJacobian& OSCAR::FKJacobian::operator= const FKJacobian &    fkj
 

Assignment operator.

This is the Assignment operator for an object of type FKJacobian.

Parameters:
fkj An FKJacobian object that goes on the right hand side of the = operator.
Returns:
A reference to the object on the left hand side of the = operator.

virtual void OSCAR::FKJacobian::resizePartialJacobian   [protected, virtual]
 

bool OSCAR::FKJacobian::SetActiveOutputs const CoordinateStatusArray   activeOutputs
 

Use this method to set what output dimensions are active. The number of active outputs will equal the number of rows in the partial Jacobian.

Returns:
true if the method succeeds, false if some error occurs. Call GetError() to get detailed error information
Parameters:
activeOutputs An array that contains the desired active outputs.
Exceptions:
argumentSizeIncorrect argumentSizeIncorrect


Member Data Documentation

CoordinateSpace* OSCAR::FKJacobian::activeInputs [protected]
 

CoordinateSpace OSCAR::FKJacobian::activeOutputs [protected]
 

Matrix* OSCAR::FKJacobian::jacobian [protected]
 

Matrix* OSCAR::FKJacobian::jacobianTranspose [protected]
 

unsigned int OSCAR::FKJacobian::nActiveInputs [protected]
 

unsigned int OSCAR::FKJacobian::nActiveOutputs [protected]
 

Matrix* OSCAR::FKJacobian::partialJacobian [protected]
 

Matrix* OSCAR::FKJacobian::partialJacobianTranspose [protected]
 


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations