00001 // suUTWalkGenFrc.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // AUTHOR: Frank C. Anderson 00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00005 #ifndef __suUTWalkGenFrc_h__ 00006 #define __suUTWalkGenFrc_h__ 00007 00008 00009 //============================================================================= 00010 // INCLUDES 00011 //============================================================================= 00012 #include <rdTools.h> 00013 #include <rdStorage.h> 00014 #include <rdSDFastDLL.h> 00015 #include <rdModel.h> 00016 #include <rdSDFast.h> 00017 #include <rdUTWalking8.h> 00018 00019 00020 //============================================================================= 00021 // NUMBERS OF THINGS 00022 //============================================================================= 00023 const int suUTWalkGenFrc_NX = 23; 00024 const int suUTWalkGenFrc_NA = 23; 00025 const int suUTWalkGenFrc_NY = rdUTWalking8_NQ + rdUTWalking8_NU; 00026 const int suUTWalkGenFrc_NS = rdUTWalking8_NS; 00027 00028 00029 //============================================================================= 00030 //============================================================================= 00038 class RDSDFAST_API suUTWalkGenFrc : public rdUTWalking8 00039 { 00040 //============================================================================= 00041 // DATA 00042 //============================================================================= 00043 public: 00044 static const int NX; 00045 static const int NA; 00046 static const int NY; 00047 static const int NS; 00048 private: 00049 double *_f; 00050 00051 00052 //============================================================================= 00053 // METHODS 00054 //============================================================================= 00055 public: 00056 suUTWalkGenFrc(); 00057 virtual ~suUTWalkGenFrc(); 00058 protected: 00059 void setNull(); 00060 void constructNames(); 00061 00062 public: 00063 //-------------------------------------------------------------------------- 00064 // GET AND SET 00065 //-------------------------------------------------------------------------- 00066 00067 //-------------------------------------------------------------------------- 00068 // ACTUATION 00069 //-------------------------------------------------------------------------- 00070 virtual void computeActuation(); 00071 virtual void applyActuatorForce(int aI); 00072 virtual void applyActuatorForces(); 00073 virtual void setActuatorForce(int aID,double aForce); 00074 virtual double getActuatorForce(int aID) const; 00075 virtual double getActuatorSpeed(int aID) const; 00076 virtual double getActuatorPower(int aID) const; 00077 00078 //-------------------------------------------------------------------------- 00079 // CONTACT 00080 //-------------------------------------------------------------------------- 00081 00082 //-------------------------------------------------------------------------- 00083 // DERIVATIVES 00084 //-------------------------------------------------------------------------- 00085 virtual int deriv(double t,double *xt,double *y,double *dy); 00086 virtual int deriv(double t,double *xt,double *y,double *dqdt,double *dudt); 00087 00088 //-------------------------------------------------------------------------- 00089 // CALLBACKS 00090 //-------------------------------------------------------------------------- 00091 virtual void 00092 integBeginCallback(int i,double dt,double t,double *x,double *y, 00093 void *cd=NULL); 00094 virtual void 00095 integStepCallback(double *xPrev,double *yPrev, 00096 int i,double dt,double t,double *x,double *y, 00097 void *cd=NULL); 00098 00099 //============================================================================= 00100 }; // END of class suUTWalkGenFrc 00101 //============================================================================= 00102 //============================================================================= 00103 00104 00105 #endif // #ifndef __suUTWalkGenFrc_h__
1.3