Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

RemoteControllerMC.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_RemoteControllerMC_h
00003 #define INCLUDED_RemoteControllerMC_h
00004 
00005 #include "MotionCommand.h"
00006 #include "OutputCmd.h"
00007 #include "Shared/RobotInfo.h"
00008 
00009 //! This class is used for setting all outputs to a certain set of values (not the gains, just the joint positions)
00010 /*! This is PostureMC's little brother.  Not quite so full of features, but straightforward and easy to understand. (hopefully)
00011  *  This is about as simple of a motion command as you'll find, so it might make for good sample code. */
00012 class RemoteControllerMC : public MotionCommand {
00013 public:
00014   //! constructor, defaults all joints at 0
00015   RemoteControllerMC() : MotionCommand() {}
00016   //! destructor
00017   virtual ~RemoteControllerMC() {}
00018   
00019   //! Updates all of the outputs to their current positions, every time
00020   /*! Any outputs which we don't set would be marked unused and be moved by a lower-priority motion command */
00021   virtual int updateOutputs() {
00022     for (unsigned int i=0; i<NumOutputs; i++)
00023       motman->setOutput(this, i, cmds[i]);
00024     return NumOutputs;
00025   }
00026   
00027   virtual int   isAlive() { return true; } //!< always true
00028   
00029   OutputCmd cmds[NumOutputs]; //!< current vector of positions
00030 };
00031 
00032 /*! @file
00033  * @brief Describes RemoteControllerMC, a class used for setting all outputs to a certain set of values (not the gains, just the joint positions)
00034  * @author alokl (Creator)
00035  *
00036  * $Author: ejt $
00037  * $Name: tekkotsu-4_0 $
00038  * $Revision: 1.6 $
00039  * $State: Exp $
00040  * $Date: 2007/11/15 05:33:10 $
00041  */
00042 
00043 #endif
00044 

Tekkotsu v4.0
Generated Thu Nov 22 00:54:55 2007 by Doxygen 1.5.4