lib/DistObsrv.hh
00001 // 螟紋ケア繧ェ繝悶じ繝シ繝舌け繝ゥ繧ケ
00002 // 2011/02/18 Yuki YOKOKURA
00003 //
00004 // 1谺。蠖「 螟紋ケア繧ェ繝悶じ繝シ繝�
00005 //
00006 // Copyright (C) 2011 Yuki YOKOKURA
00007 // This program is free software;
00008 // you can redistribute it and/or modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 3 of the License, or any later version.
00010 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
00011 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00012 // See the GNU General Public License for more details <http://www.gnu.org/licenses/>.
00013 // Besides, you can negotiate about other options of licenses instead of GPL.
00014 // If you would like to get other licenses, please contact us<yuki@katsura.sd.keio.ac.jp>.
00015 
00016 #ifndef DISTOBSRV
00017 #define DISTOBSRV
00018 
00019 namespace ARCS {        // ARCS蜷榊燕遨コ髢�
00020         class DistObsrv {
00021                 private:
00022                         double gdis;    // [rad/s]                      蟶ッ蝓�
00023                         double Mn;              // [kg] or [kgm^2]      諷」諤ァ
00024                         double Kfn;             // [N/A] or [Nm/A]      謗ィ蜉� or 繝医Ν繧ッ螳壽焚
00025                         double Ts;              // [s]                          蛻カ蠕。蜻ィ譛�
00026                         double Bp;              //                                      迥カ諷句、画焚1
00027                         double C;               //                                      迥カ諷句、画焚2
00028                 
00029                 public:
00030                         DistObsrv(double Bandwidth, double Mass, double TrqConst, double SmplTime);
00031                         // 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ
00032                         // Bandwidth�シ媼rad/s] 蟶ッ蝓滂シ勲ass�シ媼kg] or [kgm^2] 諷」諤ァ
00033                         // TrqConst�シ媼N/A] or [Nm/A] 繝医Ν繧ッ螳壽焚�シ郡mplTime�シ媼s] 蛻カ蠕。蜻ィ譛�
00034                         ~DistObsrv();                                                           // 繝�繧ケ繝医Λ繧ッ繧ソ
00035                         double GetForce(double Iref, double XDres);     // 謗ィ螳壼、紋ケア縺ョ蜿門セ� Iref�シ媼A] 髮サ豬∝盾辣ァ蛟、�シ傾Dres�シ媼m/s] or [rad/s] 騾溷コヲ蠢懃ュ泌�、
00036                         void SetBandwidth(double Bandwidth);            // 蟶ッ蝓溘�ョ蜀崎ィュ螳� gdis�シ媼rad/s] 蟶ッ蝓�
00037                         void SetInertia(double Mass);                           // 諷」諤ァ縺ョ蜀崎ィュ螳� Mass�シ媼kg] or [kgm^2] 諷」諤ァ
00038                         void SetTrqConst(double TrqConst);                      // 謗ィ蜉� or 繝医Ν繧ッ螳壽焚縺ョ蜀崎ィュ螳� TrqConst�シ媼N/A] or [Nm/A] 謗ィ蜉� or 繝医Ν繧ッ螳壽焚
00039                         void SetSmplTime(double SmplTime);                      // 蛻カ蠕。蜻ィ譛溘�ョ蜀崎ィュ螳� SmplTime�シ媼s] 蛻カ蠕。蜻ィ譛�
00040                         void ClearStateVars(void);                                      // 縺吶∋縺ヲ縺ョ迥カ諷句、画焚縺ョ繝ェ繧サ繝�繝�
00041         };
00042 }
00043 
00044 #endif
00045 
00046 
00047 
 All Classes Files