Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)
|
00001 // ---------------------- Doxygen info ---------------------- 00040 // ---------------------------------------------------------- 00041 // For a convenient reading of this file's source code, 00042 // please use a tab width of four characters. 00043 // ---------------------------------------------------------- 00044 00045 00046 #ifndef __TypeIIRMLPolynomial__ 00047 #define __TypeIIRMLPolynomial__ 00048 00049 00050 #include <TypeIIRMLMath.h> 00051 00052 namespace TypeIIRMLMath 00053 { 00054 00055 00056 // ---------------------- Doxygen info ---------------------- 00064 // ---------------------------------------------------------- 00065 class TypeIIRMLPolynomial 00066 { 00067 public: 00068 00069 00070 // ---------------------- Doxygen info ---------------------- 00075 // ---------------------------------------------------------- 00076 TypeIIRMLPolynomial(void); 00077 00078 00079 // ---------------------- Doxygen info ---------------------- 00084 // ---------------------------------------------------------- 00085 ~TypeIIRMLPolynomial(void); 00086 00087 00088 // ---------------------- Doxygen info ---------------------- 00109 // ---------------------------------------------------------- 00110 void SetCoefficients( const double &Coeff2 00111 , const double &Coeff1 00112 , const double &Coeff0 00113 , const double &Diff); 00114 00115 00116 // ---------------------- Doxygen info ---------------------- 00137 // ---------------------------------------------------------- 00138 void GetCoefficients( double *Coeff2 00139 , double *Coeff1 00140 , double *Coeff0 00141 , double *Diff ) const; 00142 00143 00144 00145 00146 // ---------------------- Doxygen info ---------------------- 00169 // ---------------------------------------------------------- 00170 void CalculateRealRoots ( unsigned int *NumberOfRoots 00171 , double *Root1 00172 , double *Root2) const; 00173 00174 00175 // ---------------------- Doxygen info ---------------------- 00189 // ---------------------------------------------------------- 00190 double CalculateValue(const double &t) const; 00191 00192 00193 // ---------------------- Doxygen info ---------------------- 00198 // ---------------------------------------------------------- 00199 unsigned int Degree; 00200 00201 00202 // ---------------------- Doxygen info ---------------------- 00208 // ---------------------------------------------------------- 00209 double a2; 00210 00211 00212 // ---------------------- Doxygen info ---------------------- 00218 // ---------------------------------------------------------- 00219 double a1; 00220 00221 00222 // ---------------------- Doxygen info ---------------------- 00228 // ---------------------------------------------------------- 00229 double a0; 00230 00231 00232 // ---------------------- Doxygen info ---------------------- 00238 // ---------------------------------------------------------- 00239 double DeltaT; 00240 00241 }; // class TypeIIRMLPolynomial 00242 00243 00244 // ---------------------- Doxygen info ---------------------- 00259 // ---------------------------------------------------------- 00260 struct MotionPolynomials 00261 { 00262 // ---------------------- Doxygen info ---------------------- 00272 // ---------------------------------------------------------- 00273 double PolynomialTimes [MAXIMAL_NO_OF_POLYNOMIALS] ; 00274 00275 00276 // ---------------------- Doxygen info ---------------------- 00287 // ---------------------------------------------------------- 00288 TypeIIRMLPolynomial PositionPolynomial [MAXIMAL_NO_OF_POLYNOMIALS] ; 00289 00290 00291 // ---------------------- Doxygen info ---------------------- 00302 // ---------------------------------------------------------- 00303 TypeIIRMLPolynomial VelocityPolynomial [MAXIMAL_NO_OF_POLYNOMIALS] ; 00304 00305 00306 // ---------------------- Doxygen info ---------------------- 00317 // ---------------------------------------------------------- 00318 TypeIIRMLPolynomial AccelerationPolynomial [MAXIMAL_NO_OF_POLYNOMIALS] ; 00319 00320 00321 // ---------------------- Doxygen info ---------------------- 00326 // ---------------------------------------------------------- 00327 unsigned char ValidPolynomials ; 00328 }; 00329 00330 00331 } // namespace TypeIIRMLMath 00332 00333 00334 #endif