Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

IKMantis.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_IKMantis_h_
00003 #define INCLUDED_IKMantis_h_
00004 
00005 #include "Motion/IKSolver.h"
00006 
00007 #if defined(TGT_IS_MANTIS) && defined(TGT_HAS_HEAD)
00008 
00009 
00010 //! Kinematics solver for the 3-DOF Mantis Head
00011 class IKMantis : public IKSolver {
00012 public:     
00013 //  static const float EPSILON;
00014     //! constructor
00015     IKMantis();
00016 
00017     using IKSolver::solve;
00018     using IKSolver::step;
00019     virtual bool solve(const Point& pEff, const Rotation& oriEff, KinematicJoint& j, const Position& pTgt, float posPri, const Orientation& oriTgt, float oriPri) const;
00020     virtual StepResult_t step(const Point& pEff, const Rotation& oriEff, KinematicJoint& j, const Position& pTgt, float pDist, float posPri, const Orientation& oriTgt, float oriDist, float oriPri) const;               
00021 
00022 protected:
00023     virtual bool solveHead(KinematicJoint& j, const Position& pTgt) const;
00024     virtual bool solvePosLeg(KinematicJoint& j, const Position& pTgt) const;       
00025     virtual bool solveFrontLeg(KinematicJoint& j, const Position& pTgt) const; 
00026 private:
00027     //! holds the class name, set via registration with the DeviceDriver registry
00028     static const std::string autoRegisterIKMantis;
00029 //  fmat::Transform baseToHead;
00030 //  plist::Angle qOffset;
00031 //  plist::Angle cameraOffset; 
00032 };
00033 #endif
00034 #endif
00035 

Tekkotsu v5.1CVS
Generated Mon May 9 04:58:42 2016 by Doxygen 1.6.3