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