Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

WalkMC.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_WalkMC_h
00003 #define INCLUDED_WalkMC_h
00004 
00005 #include "Shared/RobotInfo.h"
00006 
00007 // will be undef'd if none of the cases below apply
00008 #define TGT_HAS_WALK
00009 
00010 #if defined(TGT_HAS_WHEELS)
00011 #  include "WheeledWalkMC.h"
00012 #  define TGT_HAS_WHEELEDWALK
00013 typedef WheeledWalkMC WalkMC;
00014 
00015 #elif defined(TGT_IS_AIBO)
00016 // could use UPennWalkMC instead...
00017 #  include "CMPackWalkMC.h"
00018 #  define TGT_HAS_CMPACKWALK
00019 typedef CMPackWalkMC WalkMC;
00020 
00021 #elif defined(TGT_HAS_LEGS)
00022 #  include "XWalkMC.h"
00023 #  define TGT_HAS_XWALK
00024 typedef XWalkMC WalkMC;
00025 
00026 #else
00027 #undef TGT_HAS_WALK
00028 
00029 // Or supply a no-op... but just asking for more bugs down the line
00030 // Better to fail-fast if the robot is stationary, don't have to pretend we are able to move
00031 
00032 /*
00033  #  if !defined(WALKMC_NO_WARN_NOOP)
00034 #    warning Target robot model has neither legs nor wheels -- WalkMC is a no-op
00035 #  endif
00036 #  define TGT_HAS_NO_WALK
00037 #  include "MotionCommand.h"
00038 class WalkMC : public MotionCommand {
00039 public:
00040   virtual int updateOutputs() { return 0; }
00041   virtual int isDirty() { return false; }
00042   virtual int isAlive() { return false; }
00043   void setTargetVelocity(float, float, float) {}
00044   void setTargetVelocity(float, float, float, float) {}
00045   void setTargetDisplacement(float, float, float, float) {}
00046   void zeroVelocities() {}
00047   size_t loadFile(const char * f) { return 0; }
00048   size_t saveFile(const char * f) const { return 0; }
00049 };
00050 */
00051 
00052 #endif
00053 
00054 /*! @file
00055  * @brief Describes WalkMC, a wrapper for the appropriate locomotion mechanism for the current robot (including wheels)
00056  * @author ejt (Created)
00057  */
00058 
00059 #endif

Tekkotsu v5.1CVS
Generated Mon May 9 04:58:52 2016 by Doxygen 1.6.3