control_select.h
Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2002-2004  Etienne Lachance
00003 
00004 This library is free software; you can redistribute it and/or modify
00005 it under the terms of the GNU Lesser General Public License as
00006 published by the Free Software Foundation; either version 2.1 of the
00007 License, or (at your option) any later version.
00008 
00009 This library is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 GNU Lesser General Public License for more details.
00013 
00014 You should have received a copy of the GNU Lesser General Public
00015 License along with this library; if not, write to the Free Software
00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 
00018 
00019 Report problems and direct all questions to:
00020 
00021 email: etienne.lachance@polymtl.ca or richard.gourdeau@polymtl.ca
00022 
00023 -------------------------------------------------------------------------------
00024 Revision_history:
00025 
00026 2004/07/13: Ethan Tira-Thompson
00027     -Added support for newmat's use_namespace #define, using ROBOOP namespace
00028 
00029 2005/11/06: Etienne Lachance
00030     - No need to provide a copy constructor and the assignment operator 
00031       (operator=) for Control_Select class. Instead we use the one provide by the
00032       compiler.
00033 -------------------------------------------------------------------------------
00034 */
00035 
00036 
00037 #ifndef CONTROL_SELECT_H
00038 #define CONTROL_SELECT_H
00039 
00045 
00046 static const char header_Control_Select_rcsid[] = "$Id: control_select.h,v 1.4 2006/05/16 16:11:15 gourdeau Exp $";
00047 
00048 
00049 #include <string>
00050 #include "controller.h"
00051 
00052 #ifdef use_namespace
00053 namespace ROBOOP {
00054   using namespace NEWMAT;
00055 #endif
00056 
00057 #define NONE   0
00058 #define PD     1
00059 #define CTM    2
00060 #define RRA    3
00061 #define IMP    4
00062 
00063 #define CONTROLLER  "CONTROLLER"
00064 
00065 #define PROPORTIONAL_DERIVATIVE    "PROPORTIONAL_DERIVATIVE"
00066 #define COMPUTED_TORQUE_METHOD     "COMPUTED_TORQUE_METHOD"
00067 #define RESOLVED_RATE_ACCELERATION "RESOLVED_RATE_ACCELERATION"
00068 #define IMPEDANCE                  "IMPEDANCE"
00069 
00100 class Control_Select
00101 {
00102 public:
00103     Control_Select();
00104     Control_Select(const std::string & filename);
00105     int get_dof();
00106     void set_control(const std::string & filename);
00107     Proportional_Derivative pd;
00108     Computed_torque_method ctm;
00109     Resolved_acc rra;
00110     Impedance impedance;
00111 
00112     short type,            
00113           space_type;      
00114     std::string ControllerName; 
00115 private:
00116     int dof;               
00117 };
00118 
00119 #ifdef use_namespace
00120 }
00121 #endif
00122 
00123 #endif
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


kni
Author(s): Neuronics AG (see AUTHORS.txt); ROS wrapper by Martin Günther
autogenerated on Tue May 28 2013 14:52:53