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

OSCAR::FKJacobianMitsubishi Class Reference
[ForwardKinematics]

This class computes a semi closed-form of the Jacobian matrix for the Mitsubishi robot. More...

#include <FKJacobianMitsubishiPA-10.h>

Inheritance diagram for OSCAR::FKJacobianMitsubishi:

Inheritance graph
[legend]
List of all members.

Public Methods

 FKJacobianMitsubishi (const String &dhParameterFileName, OSCARError &err=DUMMY_ERROR(noError), const String &name=String(""))
 FKJacobianMitsubishi (const DHData &DHparams, OSCARError &err=DUMMY_ERROR(noError), const String &name=String(""))
 FKJacobianMitsubishi (const FKJacobianMitsubishi &fkj)
virtual ~FKJacobianMitsubishi ()
FKJacobianMitsubishi & operator= (const FKJacobianMitsubishi &fkj)
const XformGetHandPose (const Vector &inputVector)
const MatrixGetJacobian (const Vector &jointVector)
const MatrixGetJacobian ()
const MatrixGetJacobianTranspose ()
void SetBase (const Xform &pose)
void SetBase (const Vector3D &location)

Protected Methods

void calculateJacobian ()
void fillSpatialXform ()

Protected Attributes

Matrixjacobian
MatrixjacobianTranspose
VectorcurrentJointVector
Xform basePoseInv
Xform modifiedHand
Matrix spatialXform
MatrixtempJacobian

Detailed Description

Author:
Chalongrath Pholsiri


Constructor & Destructor Documentation

OSCAR::FKJacobianMitsubishi::FKJacobianMitsubishi const String   dhParameterFileName,
OSCARError   err = DUMMY_ERROR(noError),
const String   name = String("")
 

Constructor.

This is the constructor for an object of type FKJacobianMitsubishi. Use this to construct an FKJacobianMitsubishi object.

Parameters:
dhParameterFileName The name of a file that contains the DH parameters for the Mitsubishi PA-10 &C robot. This file should specify a 7 DOF robot in the standard Mitsubishi PA10-7C geometry. The standard Mitsubishi DH parameters are listed below. You can only change the values of the d(i) column.
-----------------------------------------------------------------------------------------

# This is a DH parameter file for a Mitsubishi PA-10 7 DOF robot. # The variable is specified by typing a "var' or a "VAR" in its # field. i.e. If the joint is revolute then it will be in the fourth # coulumn and if the joint is prismatic it will be in the third column # The notation is based on the "Introduction to Robotics, Mechanics and Controls" # book by John Craig.Units are in mm and degrees.

# The word below should specify the format of the DH Parameters (Craig or Featherstone) Craig
# Alpha(i-1) a(i-1) d(i) theta(i)
0 0 0 var # link 0-1
-90 0 0 var # link 1-2
90 0 450 var # link 2-3
-90 0 0 var # link3-4
90 0 480 var # link 4-5
-90 0 0 var # link 5-6
90 0 0 var # link6-7

# Note: The tool point for this robot is at approximately [0, 0, 70] at the tool plate # expressed in the last joints DH frame

Parameters:
err OSCARError pointer 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.
name Name assigned to object

OSCAR::FKJacobianMitsubishi::FKJacobianMitsubishi const DHData   DHparams,
OSCARError   err = DUMMY_ERROR(noError),
const String   name = String("")
 

Constructor.

Constructor for FKJacobianMitsubishi

Parameters:
DHparams An DHData object that holds the DH parameters for the Mitsubishi robot in whose forward position solution needs to be computed. It is assumed that the geometry specified in the DH params is that of a Mitsubishi 560 robot. The only information that will be pulled out of the DH parameters supplied will be the link lengths.
err OSCARError pointer 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.
name Name assigned to object

OSCAR::FKJacobianMitsubishi::FKJacobianMitsubishi const FKJacobianMitsubishi &    fkj
 

A Const Reference constructor for FKJacobianMitsubishi.

Parameters:
fkp An FKJacobianMitsubishi object that will be used to initialize this new object.

virtual OSCAR::FKJacobianMitsubishi::~FKJacobianMitsubishi   [virtual]
 


Member Function Documentation

void OSCAR::FKJacobianMitsubishi::calculateJacobian   [protected]
 

void OSCAR::FKJacobianMitsubishi::fillSpatialXform   [protected]
 

const Xform* OSCAR::FKJacobianMitsubishi::GetHandPose const Vector   inputVector [virtual]
 

Get the robot's hand pose given the joint positions. This method overrides the one in FKPositionMitsubishi to store the current joint positions.

Returns:
A const pointer to an Xform that holds the tool point (or last link) transformation matrix expressed in the base frame. If there is an error in this method a 0 should be returned.
Parameters:
inputVector A vector containing the joint angles (in radians) or joint positions at which the forward position solution needs to be computed. The size of this vector should be equal to the DOF of the robot. If this is not the case, a 0 is returned. Call GetError() to get detailed error information.
Exceptions:
argumentSizeMismatch argumentSizeMismatch

Reimplemented from OSCAR::FKPositionMitsubishi.

const Matrix* OSCAR::FKJacobianMitsubishi::GetJacobian  
 

Method to compute the semi closed-form of the Jacobian matrix for the last link (or tool point) of the Mitsubishi robot.

Same as GetJacobian(const Vector& jointVector) except that it uses the current joint vector state, for example, as set by a previous call to GetHandPose(const Vector& jointVector).

Returns:
Returns a const pointer to an Matrix that holds the tool point (or last ljnk) based jacobian matrix expressed in the base frame. If there is an error in this method a 0 should be returned.
Exceptions:
argumentSizeMismatch argumentSizeMismatch

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

Method to compute the semi closed-form of the Jacobian matrix for the last link (or tool point) of the Mitsubishi robot.

Since the calculation of the Jacobian matrix requires that the tool point be known a priori, truely closed-form of the Jacobian matrix is extremely difficult unless we fix the tool point or limit the tool point to be of some form (e.g. lies on the Z-axis). This method makes a compromise by allowing a general form of tool point to be defined by the user at runtime (as in other FK classes) but calculating closed form of components that do not require the knowledge of tool point, using the geometric properties of the Mitsubishi robot.

Returns:
Returns a const pointer to an Matrix that holds the tool point (or last ljnk) based jacobian matrix expressed in the base frame. If there is an error in this method a 0 should be returned.
Parameters:
jointVector A vector containing the joint angles (in radians) or joint positions at which the forward position solution needs to be computed. The size of this vector should be equal to the DOF of the robot.
Exceptions:
argumentSizeMismatch argumentSizeMismatch

Implements OSCAR::FKJacobianBase.

const Matrix* OSCAR::FKJacobianMitsubishi::GetJacobianTranspose   [inline]
 

Use this method to retrieve the transpose of the Jacobian matrix. Must be call after GetJacobian in order to obtain an accurate result because a call to GetJacobian will update the internal matrix with the most recent joint angles.

Returns:
A pointer to the Jacobian matrix transpose.

FKJacobianMitsubishi& OSCAR::FKJacobianMitsubishi::operator= const FKJacobianMitsubishi &    fkj
 

= operator. Used for copying objects of type FKJacobianMitsubishi

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

void OSCAR::FKJacobianMitsubishi::SetBase const Vector3D   location [virtual]
 

This function sets the robot base position.

Use this method to set the base position (X, Y, and Z coordinates) of the robot. This method overrides the one in Kinematics to add additional computation required to calculate the Jacobian matrix.

Returns:
None
Parameters:
location A 3 long vector that specifies the X, Y, and Z coordinates of the robot base frame with respect to the world frame, expressed in the world frame coordinates

Reimplemented from OSCAR::Kinematics.

void OSCAR::FKJacobianMitsubishi::SetBase const Xform   pose [virtual]
 

This function sets the robot base position and orientation.

Use this method to set the base position and orientation of the robot in 4X4 form. This method overrides the one in Kinematics to add additional computation required to calculate the Jacobian matrix.

Returns:
None
Parameters:
pose A 4x4 transformation that specifies the position and orientation of the robot base frame with respect to the world frame, expressed in the world frame coordinates

Reimplemented from OSCAR::Kinematics.


Member Data Documentation

Xform OSCAR::FKJacobianMitsubishi::basePoseInv [protected]
 

Vector* OSCAR::FKJacobianMitsubishi::currentJointVector [protected]
 

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

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

Xform OSCAR::FKJacobianMitsubishi::modifiedHand [protected]
 

Matrix OSCAR::FKJacobianMitsubishi::spatialXform [protected]
 

Matrix* OSCAR::FKJacobianMitsubishi::tempJacobian [protected]
 


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