00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __PIDDATA_H__
00010 #define __PIDDATA_H__
00011
00012 #include "JointData.h"
00013 #include "Tools/Streams/InOut.h"
00014
00015
00016
00017
00018
00019 class PIDData
00020 {
00021 public:
00022
00023
00024 int p[JointData::numOfJoint];
00025 int i[JointData::numOfJoint];
00026 int d[JointData::numOfJoint];
00027
00028
00029 PIDData();
00030
00031
00032 PIDData& operator=(const PIDData& other);
00033
00034
00035 PIDData(const PIDData& other);
00036
00037
00038
00039
00040 void setValues(JointData::JointID joint, int ap, int ai, int ad);
00041
00042
00043
00044
00045 void setToDefaults();
00046
00047
00048
00049 void setHeadToDefaults(bool neckTilt = true, bool headPan = true, bool headTilt = true, bool mouth = true, bool earL = true, bool earR = true);
00050
00051
00052
00053
00054 void setLegFJ1Values(int ap, int ai, int ad);
00055 void setLegHJ1Values(int ap, int ai, int ad);
00056 void setLegFJ2Values(int ap, int ai, int ad);
00057 void setLegHJ2Values(int ap, int ai, int ad);
00058 void setLegFJ3Values(int ap, int ai, int ad);
00059 void setLegHJ3Values(int ap, int ai, int ad);
00060 };
00061
00062
00063
00064
00065
00066
00067
00068
00069 In& operator>>(In& stream,PIDData& pidData);
00070
00071
00072
00073
00074
00075
00076
00077 Out& operator<<(Out& stream, const PIDData& pidData);
00078
00079 #endif //__PIDDATA_H__