00001 // ---------------------------------------------------------------------------- 00002 // 00003 // $Id$ 00004 // 00005 // Copyright 2008, 2009, 2010, 2011, 2012 Antonio Franchi and Paolo Stegagno 00006 // 00007 // This file is part of MIP. 00008 // 00009 // MIP is free software: you can redistribute it and/or modify 00010 // it under the terms of the GNU General Public License as published by 00011 // the Free Software Foundation, either version 3 of the License, or 00012 // (at your option) any later version. 00013 // 00014 // MIP is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 // GNU General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU General Public License 00020 // along with MIP. If not, see <http://www.gnu.org/licenses/>. 00021 // 00022 // Contact info: antonio.franchi@tuebingen.mpg.de stegagno@diag.uniroma1.it 00023 // 00024 // ---------------------------------------------------------------------------- 00025 00026 00027 00028 #ifndef _VISUALODOMETRY_H 00029 #define _VISUALODOMETRY_H 00030 00031 00032 #include <Thread.h> 00033 00034 namespace MipAlgorithms{ 00035 00036 struct Pose3DandTime{ 00037 Decimal x,y,z,roll,pitch,yaw; 00038 timeval time; 00039 //bool upToDate; 00040 }; 00044 00048 00050 /* @{ */ 00051 00052 class VisualOdometry 00053 { 00054 public: 00055 VisualOdometry(); 00056 virtual bool getPose3DUnscaled(Pose3DandTime* pose) = 0;//restituisce la posa 00057 00058 //(probabilmente un SE3 o altro in dipendenza dell'implementazione di EKF) 00059 00060 00061 00062 private: 00063 //Thread prova; 00064 //posa unscaled (SE3) 00065 00066 }; 00067 /* @} */ 00068 };// end namespace MipAlgorithms 00069 00070 #endif 00071 00072 00073 00074