SharedMem.h

Go to the documentation of this file.
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 
00033 
00034 
00038 
00039 
00040 #ifndef __SHARED_MEM_H_
00041 #define __SHARED_MEM_H_
00042 
00043 #include <MRControlInput.h>
00044 #include <MotionModule.h>
00045 #include <Resource.h>
00046 #include <Trajectory.h>
00047 
00048 using namespace MipResources;
00049 
00050 namespace MipResources{
00051 
00053 /* @{ */
00054 
00060 class SharedMem : public Resource{
00061  private:
00062   static const ResourcePlate _plate= SHMEM_RES; 
00063   
00064  protected:
00065   
00066   Time _time;
00067   bool _realTime;
00068   
00069   // flag di sicurezza
00070   bool _emergencyLock;
00071   
00072   // tutti i flag della stampa
00073   bool _printPose;
00074   bool _printScan;
00075   bool _printFeat;
00076   bool _printFormation;
00077   bool _printFormationDetails;
00078   bool _printTarget;
00079   
00080   // tutti i flag delle funzionalità
00081   bool _doMloc;
00082   bool _doAutoNavigation;
00083   bool _doTracking;
00084   bool _newPath;
00085   bool _useDFL;
00086   // tutte le strutture dati
00087   PosiFeatures *myProtrusions;
00088   MotionModuleTState *myProtrusionsTState;
00089   PosiFeatures *myCorners;
00090   MotionModuleTState *myCornersTState;
00091   
00092   MRControlInputs _controlInputs;
00093   
00094   Time _controlInputTime;
00095   
00096   PoseFeatures *formation;
00097   PoseFeatures *estimates;
00098   Pose *target;
00099   
00100   Path* path;
00101   TimeLaw* timeLaw;
00102   vector<int>* avoidMutLocIds;
00103   
00104   string gaussianMixture;
00105   
00106   //TEMPORANEO INSERITO DA MARCO BARBALINARDO
00107   Angle orientation;
00108   //FINE TEMPORANEO INSERITO DA MARCO BARBALINARDO
00109   
00110   //FOR VISUAL MUTLOC
00111   vector<Angle> *myCamObs;
00112   MotionModuleTState *myCamObsTState;
00113   
00114   // For 3D odometry
00115   Decimal _controlInputLinVelX, _controlInputLinVelY, _controlInputLinVelZ;
00116   Decimal _controlInputAngVelX, _controlInputAngVelY, _controlInputAngVelZ;
00117   // Attitude
00118   Angle _attitudeRoll, _attitudePitch, _yaw;
00119   // Height from sonar
00120   Decimal _height;
00121   vector<Position> measCam;
00122   // Ground truth
00123   map<int,Pose> gtMobRobQuad;
00124   
00125  public:
00127   SharedMem(int argc, const char* argv[]);
00128   
00130   ResourcePlate getPlate() const {
00131    return _plate;
00132   }
00133   
00136   virtual Time getTime();
00137   
00138  protected:
00140   Time setRealTime();
00141   
00143   Time setSimulatedTime();
00144 };
00145 
00146  /* @} */
00147  
00148 }//end namespace MipResources
00149 
00150 #endif
00151 
00152 
00153 
00154 

Generated on Mon Feb 20 07:01:07 2017 for MIP by  doxygen 1.5.6