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 * © 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