00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __OpenChallengeSymbols_h_
00010 #define __OpenChallengeSymbols_h_
00011
00012 #include "../../BehaviorControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 #include "Tools/SlidingAverageValue.h"
00015
00016
00017 enum OCSetStatus2
00018 {
00019 dtt_initial = 0,
00020 dtt_start,
00021 dtt_finishedIntro,
00022 dtt_finishedGoToBridge,
00023 dtt_finishedClimbBridge,
00024 dtt_finishedWalkWithBridge,
00025 dtt_finishedGoToBitePoint,
00026 dtt_finishedBite,
00027 dtt_loseBitePoints,
00028 dtt_finishedExtro,
00029 dtt_finished
00030 };
00031
00032 typedef struct OC
00033 {
00034 double type;
00035 double x;
00036 double y;
00037 double rotation;
00038 } OC;
00039
00040 class OpenChallengeSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces
00041 {
00042 public:
00043
00044 enum OCStatus
00045 {
00046 initial = 0,
00047 intro,
00048 goToBridge,
00049 goToBitePoint,
00050 allBitePointsReady,
00051 walkWithBridge,
00052 extro,
00053 finished
00054 };
00055
00056 enum OCSetStatus
00057 {
00058 setInitial = 0,
00059 setIntro,
00060 setGoToBridge,
00061 setGoToBitePoint,
00062 setMyBitePointIsReady,
00063 setLostMyBitePoint,
00064 setWalkWithBridge,
00065 setExtro,
00066 setFinished
00067 };
00068
00069 enum CRIP{
00070 unchanged,
00071 rip
00072 };
00073
00074
00075
00076
00077
00078 OpenChallengeSymbols(const BehaviorControlInterfaces& interfaces);
00079
00080
00081 void registerSymbols(Xabsl2Engine& engine);
00082
00083
00084 void update();
00085
00086
00087
00088
00089 OCBridge::Side getLastSeenSide();
00090 double getSeenDistanceToBridge();
00091 double getSeenAngleToBridge();
00092 double getTimeSinceLastSeenBridge();
00093
00094
00095 BitePoint::Position getBitePointPosition();
00096 double getSeenDistanceToBitePoint();
00097 double getSeenAngleToBitePoint();
00098 double getPreciseShiftToBitePoint();
00099 double getTimeSinceLastSeenBitePoint();
00100
00101
00102 double redLineInImageAngle();
00103 double redLineAngle();
00104 double getTimeSinceLastSeenRedLine();
00105 double getSeenDistanceToRedLine();
00106
00107
00108 double getSensorPSDNear();
00109 double getSensorPSDFar();
00110 double getDistanceToSIFOC();
00111
00112
00113 double getSensorAccelerationX();
00114 double getSensorAccelerationY();
00115 double getSensorAccelerationZ();
00116
00117
00118 double getAiboOnRamp();
00119 double getRampAngleOfRedLine();
00120 double getRampLowestLinePointX();
00121 double getRampLowestLinePointY();
00122 double getRampHighestLinePointX();
00123 double getRampHighestLinePointY();
00124 double getRampDistanceToStartPoint();
00125 double getRampTimeSinceLastSeen();
00126
00127
00128 void setRIP(int t);
00129
00130 void setOCStatusDtt(int aStatus);
00131
00132
00133
00134
00135
00136
00137 OCStatus ocStatus;
00138
00139
00140 void setOCStatus(int aStatus);
00141
00142
00143 private:
00144 OC m_walkRequest;
00145 double m_headrot;
00146
00147 int bitePointToUse[Player::numOfPlayerNumbers];
00148 bool bitePointReady[BitePoint::numOfPositions];
00149 int masterDog;
00150
00151
00152 SlidingAverageValue xspeed;
00153
00154
00155 int ambVal;
00156
00157 int learnAcc;
00158 SlidingAverageValue groundVal;
00159
00160
00161 };
00162
00163
00164
00165
00166 #endif // OpenChallengeSymbols
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201