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

FKJacobianMitsubishiPA-10.h

Go to the documentation of this file.
00001 
00002 //
00003 //       Title           : FKJacobianMitsubishiPA-10.h
00004 //       Project         : OSCAR
00005 //       Created         : January 5, 2005
00006 //       Author          : Chalongrath Pholsiri
00007 //       Platforms       : All
00008 //           Copyright       : Copyright© The University of Texas at Austin, 2002. All rights reserved.
00009 //                 
00010 //                 This software and documentation constitute an unpublished work
00011 //                 and contain valuable trade secrets and proprietary information
00012 //                 belonging to University.  None of the foregoing material may be
00013 //                 copied  or duplicated or disclosed without the express, written
00014 //                 permission of University.  UNIVERSITY EXPRESSLY DISCLAIMS ANY
00015 //                 AND ALL WARRANTIES CONCERNING THIS SOFTWARE AND DOCUMENTATION,
00016 //                 INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
00017 //                 PARTICULAR PURPOSE, AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY
00018 //                 THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE.
00019 //                 NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF
00020 //                 THE SOFTWARE OR DOCUMENTATION.  Under no circumstances shall
00021 //                 University be liable for incidental, special, indirect, direct or
00022 //                 consequential damages or loss of profits, interruption of business,
00023 //                 or related expenses which may arise from use of software or documentation,
00024 //                 including but not limited to those resulting from defects in software
00025 //                 and/or documentation, or loss or inaccuracy of data of any kind.
00026 //       Purpose         : Class to compute a semi closed-form Jacobian for
00027 //                         the Mitsubishi robot
00028 //
00029 //----------------------------------------------------------------------------
00030 //
00031 //       $Revisions$
00032 //
00033 //
00035 
00036 #ifndef FKJacobianMitsubishi_hpp
00037 #define FKJacobianMitsubishi_hpp
00038 
00039 #include "ForwardKinematics/FKJacobianBase.h"
00040 #include "ForwardKinematics/FKPositionMitsubishiPA-10.h"
00041 
00042 
00044 namespace OSCAR {
00045 
00053   class FKJacobianMitsubishi : public FKPositionMitsubishi, public FKJacobianBase
00054   {
00055   
00056   public:
00057 
00093     FKJacobianMitsubishi(const String& dhParameterFileName, OSCARError& err = DUMMY_ERROR(noError), const String& name = String(" "));
00094 
00095 
00111     FKJacobianMitsubishi(const DHData& DHparams, OSCARError& err = DUMMY_ERROR(noError), const String& name = String(" "));
00112 
00113 
00118     FKJacobianMitsubishi(const FKJacobianMitsubishi& fkj);
00119 
00120     virtual ~FKJacobianMitsubishi();
00121 
00127     FKJacobianMitsubishi& operator=(const FKJacobianMitsubishi& fkj);
00128 
00142     const Xform* GetHandPose(const Vector& inputVector); 
00143 
00160     const Matrix* GetJacobian(const Vector& jointVector); 
00161 
00172     const Matrix* GetJacobian();
00173 
00180     const Matrix* GetJacobianTranspose( ) { return jacobianTranspose; }
00181 
00193           void SetBase(const Xform& pose);
00194 
00206           void SetBase(const Vector3D& location);
00207 
00208   protected:
00209 
00210     Matrix*   jacobian;  // holds [6 x n] Jacobian
00211     Matrix*   jacobianTranspose;
00212     Vector*   currentJointVector;
00213 
00214           // defined to avoid alloc/deallocation of temporaries
00215     Xform   basePoseInv, modifiedHand;
00216           Matrix        spatialXform;
00217           Matrix*       tempJacobian;
00218 
00219     void calculateJacobian();
00220                 void fillSpatialXform();
00221   };
00222 
00223 }
00224 #endif  // FKJacobianMitsubishi_hpp
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations