00001 /* 00002 * UOS-ROS packages - Robot Operating System code by the University of Osnabrück 00003 * Copyright (C) 2010 University of Osnabrück 00004 * 00005 * This program is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU General Public License 00007 * as published by the Free Software Foundation; either version 2 00008 * of the License, or (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 * 00019 * SimulatedKatana.h 00020 * 00021 * Created on: 20.12.2010 00022 * Author: Martin Günther <mguenthe@uos.de> 00023 */ 00024 00025 #ifndef SIMULATEDKATANA_H_ 00026 #define SIMULATEDKATANA_H_ 00027 00028 #include "AbstractKatana.h" 00029 #include "spline_functions.h" 00030 00031 namespace katana 00032 { 00033 00034 class SimulatedKatana : public katana::AbstractKatana 00035 { 00036 public: 00037 SimulatedKatana(); 00038 virtual ~SimulatedKatana(); 00039 00040 virtual void refreshEncoders(); 00041 virtual bool executeTrajectory(boost::shared_ptr<SpecifiedTrajectory> traj, 00042 boost::function<bool()> isPreemptRequested); 00043 virtual void moveGripper(double openingAngle); 00044 virtual bool moveJoint(int jointIndex, double turningAngle); 00045 00046 virtual bool someMotorCrashed(); 00047 virtual bool allJointsReady(); 00048 virtual bool allMotorsReady(); 00049 00050 private: 00051 boost::shared_ptr<SpecifiedTrajectory> current_trajectory_; 00052 }; 00053 00054 } 00055 00056 #endif /* SIMULATEDKATANA_H_ */