Follow this link to skip to the main content

2dof_planar_arm.h

Go to the documentation of this file.
00001 // -*-c++-*-
00002 //---------------------------< /-/ CLARAty /-/ >------------------------------
00003 /**
00004  * @file  2dof_planar_arm.h
00005  *
00006  * A specialization of mechanism_model for a 2 dof planar arm. This is
00007  * primarily to implement the custom inverse kinematics for the arm.
00008  *
00009  * <br>@b Designer(s):  Hari Das Nayar
00010  * <br>@b Author(s):    Hari Das Nayar
00011  * <br>@b Date:         September 27, 2006
00012  *
00013  * <b>Software License:</b><br>
00014  * <code> http://claraty.jpl.nasa.gov/license/open_src/  or 
00015  *        file: license/open_src.txt </code> 
00016  *
00017  * &copy; 2006, Jet Propulsion Laboratory, California Institute of Technology<br>
00018  * $Revision: 1.5 $
00019  */
00020 //-----------------------------------------------------------------------------
00021 
00022 #ifndef  N_2DOF_PLANAR_ARM_H
00023 #define  N_2DOF_PLANAR_ARM_H
00024 
00025 #include "claraty/mechanism_model.h"
00026 
00027 //-----------------------------------------------------------------------------
00028 /**
00029  * @ingroup 
00030  */
00031 
00032 namespace claraty {
00033 
00034 class  N_2DOF_Planar_Arm : public Mechanism_Model {
00035 
00036   public:
00037     
00038     /** @{ @name Constructors/destructors */
00039     N_2DOF_Planar_Arm() {};
00040     N_2DOF_Planar_Arm(std::string filename);
00041     ~N_2DOF_Planar_Arm();
00042     
00043     /** @} */
00044     
00045     /** @{ @name Observers */
00046     bool inverse_kinematics(N_2D_Point<double> tip_pos, Vector< Vector<double> > & joint_values);
00047     
00048     /** @} */
00049     
00050     /** @{ @name Mutators */
00051     void initialize();
00052     
00053     
00054     /** @} */
00055     
00056   protected:
00057     
00058   private:
00059     double _link1_length; 
00060     double _link2_length;
00061 
00062 };
00063  
00064 } // namespace claraty
00065 
00066 #endif // N_2DOF_PLANAR_ARM_H