opspace/include/opspace/Controller.hpp

Go to the documentation of this file.
00001 /*
00002  * Shared copyright notice and LGPLv3 license statement.
00003  *
00004  * Copyright (C) 2011 The Board of Trustees of The Leland Stanford Junior University. All rights reserved.
00005  * Copyright (C) 2011 University of Texas at Austin. All rights reserved.
00006  *
00007  * Authors: Roland Philippsen (Stanford) and Luis Sentis (UT Austin)
00008  *          http://cs.stanford.edu/group/manips/
00009  *          http://www.me.utexas.edu/~hcrl/
00010  *
00011  * This program is free software: you can redistribute it and/or
00012  * modify it under the terms of the GNU Lesser General Public License
00013  * as published by the Free Software Foundation, either version 3 of
00014  * the License, or (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful, but
00017  * WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public
00022  * License along with this program.  If not, see
00023  * <http://www.gnu.org/licenses/>
00024  */
00025 
00026 #ifndef OPSPACE_CONTROLLER_HPP
00027 #define OPSPACE_CONTROLLER_HPP
00028 
00029 #include <opspace/Parameter.hpp>
00030 #include <opspace/Skill.hpp>
00031 
00032 namespace opspace {
00033     
00034   class Controller
00035     : public ParameterReflection
00036   {
00037   protected:
00038     explicit Controller(std::string const & name);
00039     
00040   public:
00041     virtual Status init(Model const & model) = 0;
00042     
00043     virtual Status computeCommand(Model const & model,
00044           Skill & skill,
00045           Vector & gamma) = 0;
00046     
00047     virtual void dbg(std::ostream & os,
00048          std::string const & title,
00049          std::string const & prefix) const {}
00050   };
00051   
00052 }
00053 
00054 #endif // OPSPACE_CONTROLLER_HPP

Generated on Fri Aug 26 01:31:16 2011 for Stanford Whole-Body Control Framework by  doxygen 1.5.4