00001
00002 #ifndef INCLUDED_ERS7Info_h
00003 #define INCLUDED_ERS7Info_h
00004
00005 #include <math.h>
00006 #ifndef PLATFORM_APERIOS
00007 typedef unsigned short word;
00008 #else
00009 #include <Types.h>
00010 #endif
00011
00012 #include "CommonInfo.h"
00013 using namespace RobotInfo;
00014
00015
00016 namespace ERS7Info {
00017
00018
00019
00020
00021
00022
00023 const unsigned int FrameTime=8;
00024 const unsigned int NumFrames=4;
00025 const unsigned int SlowFrameTime=8;
00026 const unsigned int NumSlowFrames=4;
00027 const unsigned int SoundBufferTime=32;
00028
00029
00030
00031
00032 const unsigned JointsPerLeg = 3;
00033 const unsigned NumLegs = 4;
00034 const unsigned NumLegJoints = JointsPerLeg*NumLegs;
00035 const unsigned NumHeadJoints = 3;
00036 const unsigned NumTailJoints = 2;
00037 const unsigned NumMouthJoints = 1;
00038 const unsigned NumEarJoints = 2;
00039 const unsigned NumButtons = 2+4+3+1;
00040 const unsigned NumSensors = 3+3+5;
00041 const unsigned NumLEDs = 27;
00042
00043 const unsigned NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints;
00044 const unsigned NumBinJoints = NumEarJoints;
00045 const unsigned NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs;
00046 const unsigned NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 3;
00047
00048 const float CameraHorizFOV=56.9/180*M_PI;
00049 const float CameraVertFOV=45.2/180*M_PI;
00050 const float CameraFOV=CameraHorizFOV;
00051 const unsigned int CameraResolutionX=208;
00052 const unsigned int CameraResolutionY=160;
00053
00054
00055 const bool IsFastOutput[NumOutputs] = {
00056 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00057 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00058 true,true
00059 };
00060
00061 const bool IsRealERS7[NumOutputs] = {
00062 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00063 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,
00064 true,true
00065 };
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 const unsigned PIDJointOffset = 0;
00077 const unsigned LegOffset = PIDJointOffset;
00078 const unsigned HeadOffset = LegOffset+NumLegJoints;
00079 const unsigned TailOffset = HeadOffset+NumHeadJoints;
00080 const unsigned MouthOffset = TailOffset+NumTailJoints;
00081
00082 const unsigned LEDOffset = PIDJointOffset + NumPIDJoints;
00083
00084 const unsigned BinJointOffset = LEDOffset + NumLEDs;
00085 const unsigned EarOffset = BinJointOffset;
00086
00087 const unsigned BaseFrameOffset = NumOutputs;
00088 const unsigned PawFrameOffset = BaseFrameOffset+1;
00089 const unsigned CameraFrameOffset = PawFrameOffset+NumLegs;
00090 const unsigned NearIRFrameOffset = CameraFrameOffset+1;
00091 const unsigned FarIRFrameOffset = NearIRFrameOffset+1;
00092 const unsigned ChestIRFrameOffset = FarIRFrameOffset+1;
00093
00094
00095
00096 enum LegOffset_t {
00097 LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg,
00098 RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg,
00099 LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg,
00100 RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg
00101 };
00102
00103
00104
00105
00106 enum LEDOffset_t {
00107 HeadColorLEDOffset = LEDOffset,
00108 HeadWhiteLEDOffset,
00109 ModeRedLEDOffset,
00110 ModeGreenLEDOffset,
00111 ModeBlueLEDOffset,
00112 WirelessLEDOffset,
00113 FaceLEDPanelOffset,
00114 FrBackColorLEDOffset = FaceLEDPanelOffset+14,
00115 FrBackWhiteLEDOffset,
00116 MdBackColorLEDOffset,
00117 MdBackWhiteLEDOffset,
00118 RrBackColorLEDOffset,
00119 RrBackWhiteLEDOffset,
00120 LEDABModeOffset,
00121
00122
00123 BotLLEDOffset = FaceLEDPanelOffset+0,
00124 BotRLEDOffset = FaceLEDPanelOffset+1,
00125 MidLLEDOffset = FaceLEDPanelOffset+2,
00126 MidRLEDOffset = FaceLEDPanelOffset+3,
00127 TopLLEDOffset = FaceLEDPanelOffset+6,
00128 TopRLEDOffset = FaceLEDPanelOffset+7,
00129 TopBrLEDOffset= HeadColorLEDOffset,
00130 TlRedLEDOffset= RrBackColorLEDOffset,
00131 TlBluLEDOffset= FrBackColorLEDOffset
00132 };
00133
00134
00135
00136 typedef unsigned int LEDBitMask_t;
00137
00138 const LEDBitMask_t HeadColorLEDMask = 1<<(HeadColorLEDOffset-LEDOffset);
00139 const LEDBitMask_t HeadWhiteLEDMask = 1<<(HeadWhiteLEDOffset-LEDOffset);
00140 const LEDBitMask_t ModeRedLEDMask = 1<<(ModeRedLEDOffset-LEDOffset);
00141 const LEDBitMask_t ModeGreenLEDMask = 1<<(ModeGreenLEDOffset-LEDOffset);
00142 const LEDBitMask_t ModeBlueLEDMask = 1<<(ModeBlueLEDOffset-LEDOffset);
00143 const LEDBitMask_t WirelessLEDMask = 1<<(WirelessLEDOffset-LEDOffset);
00144 const LEDBitMask_t FaceLEDPanelMask = 1<<(FaceLEDPanelOffset-LEDOffset);
00145 const LEDBitMask_t FrBackColorLEDMask = 1<<(FrBackColorLEDOffset-LEDOffset);
00146 const LEDBitMask_t FrBackWhiteLEDMask = 1<<(FrBackWhiteLEDOffset-LEDOffset);
00147 const LEDBitMask_t MdBackColorLEDMask = 1<<(MdBackColorLEDOffset-LEDOffset);
00148 const LEDBitMask_t MdBackWhiteLEDMask = 1<<(MdBackWhiteLEDOffset-LEDOffset);
00149 const LEDBitMask_t RrBackColorLEDMask = 1<<(RrBackColorLEDOffset-LEDOffset);
00150 const LEDBitMask_t RrBackWhiteLEDMask = 1<<(RrBackWhiteLEDOffset-LEDOffset);
00151 const LEDBitMask_t LEDABModeMask = 1<<(LEDABModeOffset-LEDOffset);
00152
00153 const LEDBitMask_t BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset);
00154 const LEDBitMask_t BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset);
00155 const LEDBitMask_t MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset);
00156 const LEDBitMask_t MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset);
00157 const LEDBitMask_t TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset);
00158 const LEDBitMask_t TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset);
00159 const LEDBitMask_t TopBrLEDMask= 1<<(TopBrLEDOffset-LEDOffset);
00160 const LEDBitMask_t TlRedLEDMask= 1<<(TlRedLEDOffset-LEDOffset);
00161 const LEDBitMask_t TlBluLEDMask= 1<<(TlBluLEDOffset-LEDOffset);
00162
00163 const LEDBitMask_t FaceLEDMask = (FaceLEDPanelMask<<0) | (FaceLEDPanelMask<<1) | (FaceLEDPanelMask<<2) | (FaceLEDPanelMask<<3) | (FaceLEDPanelMask<<4) | (FaceLEDPanelMask<<5) | (FaceLEDPanelMask<<6) | (FaceLEDPanelMask<<7) | (FaceLEDPanelMask<<8) | (FaceLEDPanelMask<<9) | (FaceLEDPanelMask<<10) | (FaceLEDPanelMask<<11) | (FaceLEDPanelMask<<12) | (FaceLEDPanelMask<<13);
00164 const LEDBitMask_t HeadLEDMask = FaceLEDMask | HeadColorLEDMask | HeadWhiteLEDMask | ModeRedLEDMask | ModeGreenLEDMask | ModeBlueLEDMask | WirelessLEDMask;
00165 const LEDBitMask_t BackLEDMask = FrBackColorLEDMask | FrBackWhiteLEDMask | MdBackColorLEDMask | MdBackWhiteLEDMask | RrBackColorLEDMask | RrBackWhiteLEDMask;
00166 const LEDBitMask_t TailLEDMask = 0;
00167 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188 enum ButtonOffset_t {
00189 LFrPawOffset = LFrLegOrder,
00190 RFrPawOffset = RFrLegOrder,
00191 LBkPawOffset = LBkLegOrder,
00192 RBkPawOffset = RBkLegOrder,
00193 ChinButOffset= 4,
00194 HeadButOffset,
00195 HeadFrButOffset=HeadButOffset,
00196 FrontBackButOffset,
00197 MiddleBackButOffset,
00198 BackButOffset = MiddleBackButOffset,
00199 RearBackButOffset,
00200 WirelessSwOffset
00201 };
00202
00203
00204 const char* const buttonNames[NumButtons] = {
00205 "LFrPaw","RFrPaw","LBkPaw","RBkPaw",
00206 "ChinBut","HeadBut",
00207 "FrontBackBut","MiddleBackBut","RearBackBut",
00208 "WirelessSw"
00209 };
00210
00211
00212
00213 enum SensorOffset_t {
00214 NearIRDistOffset = 0,
00215 FarIRDistOffset,
00216 ChestIRDistOffset,
00217 BAccelOffset,
00218 LAccelOffset,
00219 DAccelOffset,
00220 PowerRemainOffset,
00221 PowerThermoOffset,
00222 PowerCapacityOffset,
00223 PowerVoltageOffset,
00224 PowerCurrentOffset
00225 };
00226
00227
00228 const char* const sensorNames[NumSensors] = {
00229 "NearIRDist","FarIRDist","ChestIRDist",
00230 "BAccel","LAccel","DAccel",
00231 "PowerRemain","PowerThermo","PowerCapacity","PowerVoltage","PowerCurrent"
00232 };
00233
00234
00235
00236
00237
00238 const unsigned outputNameLen = 9;
00239
00240 const char* const outputNames[NumOutputs] = {
00241 "LFr:rotor",
00242 "LFr:elvtr",
00243 "LFr:knee~",
00244 "RFr:rotor",
00245 "RFr:elvtr",
00246 "RFr:knee~",
00247 "LBk:rotor",
00248 "LBk:elvtr",
00249 "LBk:knee~",
00250 "RBk:rotor",
00251 "RBk:elvtr",
00252 "RBk:knee~",
00253
00254 "NECK:tilt",
00255 "NECK:pan~",
00256 "NECK:nod~",
00257
00258 "TAIL:tilt",
00259 "TAIL:pan~",
00260
00261 "MOUTH~~~~",
00262
00263 "LED:headC",
00264 "LED:headW",
00265 "LED:modeR",
00266 "LED:modeG",
00267 "LED:modeB",
00268 "LED:wless",
00269 "LED:faceA",
00270 "LED:faceB",
00271 "LED:faceC",
00272 "LED:faceD",
00273 "LED:faceE",
00274 "LED:faceF",
00275 "LED:faceG",
00276 "LED:faceH",
00277 "LED:faceI",
00278 "LED:faceJ",
00279 "LED:faceK",
00280 "LED:faceL",
00281 "LED:faceM",
00282 "LED:faceN",
00283 "LED:bkFrC",
00284 "LED:bkFrW",
00285 "LED:bkMdC",
00286 "LED:bkMdW",
00287 "LED:bkRrC",
00288 "LED:bkRrW",
00289 "LED:ABmod",
00290
00291 "EAR:left~",
00292 "EAR:right"
00293 };
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306 const char* const PrimitiveName [NumOutputs] = {
00307 "PRM:/r2/c1-Joint2:21",
00308 "PRM:/r2/c1/c2-Joint2:22",
00309 "PRM:/r2/c1/c2/c3-Joint2:23",
00310 "PRM:/r4/c1-Joint2:41",
00311 "PRM:/r4/c1/c2-Joint2:42",
00312 "PRM:/r4/c1/c2/c3-Joint2:43",
00313
00314 "PRM:/r3/c1-Joint2:31",
00315 "PRM:/r3/c1/c2-Joint2:32",
00316 "PRM:/r3/c1/c2/c3-Joint2:33",
00317 "PRM:/r5/c1-Joint2:51",
00318 "PRM:/r5/c1/c2-Joint2:52",
00319 "PRM:/r5/c1/c2/c3-Joint2:53",
00320
00321 "PRM:/r1/c1-Joint2:11",
00322 "PRM:/r1/c1/c2-Joint2:12",
00323 "PRM:/r1/c1/c2/c3-Joint2:13",
00324
00325 "PRM:/r6/c1-Joint2:61",
00326 "PRM:/r6/c2-Joint2:62",
00327
00328 "PRM:/r1/c1/c2/c3/c4-Joint2:14",
00329
00330 "PRM:/r1/c1/c2/c3/l1-LED2:l1",
00331 "PRM:/r1/c1/c2/c3/l2-LED2:l2",
00332 "PRM:/r1/c1/c2/c3/l3-LED2:l3",
00333 "PRM:/r1/c1/c2/c3/l4-LED2:l4",
00334 "PRM:/r1/c1/c2/c3/l5-LED2:l5",
00335 "PRM:/r1/c1/c2/c3/l6-LED2:l6",
00336
00337 "PRM:/r1/c1/c2/c3/la-LED3:la",
00338 "PRM:/r1/c1/c2/c3/lb-LED3:lb",
00339 "PRM:/r1/c1/c2/c3/lc-LED3:lc",
00340 "PRM:/r1/c1/c2/c3/ld-LED3:ld",
00341 "PRM:/r1/c1/c2/c3/le-LED3:le",
00342 "PRM:/r1/c1/c2/c3/lf-LED3:lf",
00343 "PRM:/r1/c1/c2/c3/lg-LED3:lg",
00344 "PRM:/r1/c1/c2/c3/lh-LED3:lh",
00345 "PRM:/r1/c1/c2/c3/li-LED3:li",
00346 "PRM:/r1/c1/c2/c3/lj-LED3:lj",
00347 "PRM:/r1/c1/c2/c3/lk-LED3:lk",
00348 "PRM:/r1/c1/c2/c3/ll-LED3:ll",
00349 "PRM:/r1/c1/c2/c3/lm-LED3:lm",
00350 "PRM:/r1/c1/c2/c3/ln-LED3:ln",
00351
00352 "PRM:/lu-LED3:lu",
00353 "PRM:/lv-LED3:lv",
00354 "PRM:/lw-LED3:lw",
00355 "PRM:/lx-LED3:lx",
00356 "PRM:/ly-LED3:ly",
00357 "PRM:/lz-LED3:lz",
00358 "",
00359
00360 "PRM:/r1/c1/c2/c3/e5-Joint4:15",
00361 "PRM:/r1/c1/c2/c3/e6-Joint4:16"
00362 };
00363
00364
00365 const char* const SpeakerLocator="PRM:/s1-Speaker:S1";
00366
00367
00368 const char* const CameraLocator="PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1";
00369
00370
00371 const float DefaultPIDs[NumPIDJoints][3] =
00372 {
00373 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00374 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00375 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00376 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00377 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00378 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00379 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00380 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00381 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00382 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00383 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00384 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00385
00386 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
00387 { 0x08/(double)(1<<(16-0xE)), 0x02/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00388 { 0x08/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
00389
00390 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00391 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00392
00393 { 0x08/(double)(1<<(16-0xE)), 0x00/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) }
00394 };
00395
00396
00397
00398 const unsigned char DefaultPIDShifts[3] = {0x0E, 0x02-1, 0x0F-3};
00399
00400
00401
00402
00403
00404
00405
00406
00407 const float MaxOutputSpeed[NumOutputs] = {
00408 4.86510529e-3,
00409 5.27962099e-3,
00410 5.27962099e-3,
00411 4.86510529e-3,
00412 5.27962099e-3,
00413 5.27962099e-3,
00414 4.86510529e-3,
00415 5.27962099e-3,
00416 5.27962099e-3,
00417 4.86510529e-3,
00418 5.27962099e-3,
00419 5.27962099e-3,
00420
00421 3.18522588e-3,
00422 1.00574598e-2,
00423 5.78140315e-3,
00424
00425 1.51625479e-2,
00426 1.51625479e-2,
00427
00428 1.01447263e-2,
00429
00430 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
00431
00432 0,0
00433 };
00434
00435 #ifndef RAD
00436
00437 #define RAD(deg) (((deg) * M_PI ) / 180.0)
00438
00439 #define __RI_RAD_FLAG
00440 #endif
00441
00442
00443 enum MinMaxRange_t { MinRange,MaxRange };
00444
00445
00446 const double outputRanges[NumOutputs][2] =
00447 {
00448 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00449 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00450 { RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00451 { RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00452
00453 { RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
00454
00455 { RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
00456
00457 { RAD(-55),RAD(-3) },
00458
00459 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00460 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00461 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00462 {0,1},
00463
00464 {0,1},{0,1}
00465 };
00466
00467
00468 const double mechanicalLimits[NumOutputs][2] =
00469 {
00470 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00471 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00472 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00473 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00474
00475 { RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
00476
00477 { RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
00478
00479 { RAD(-55),RAD(-3) },
00480
00481 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00482
00483 {0,1},{0,1}
00484 };
00485
00486 #ifdef __RI_RAD_FLAG
00487 #undef RAD
00488 #undef __RI_RAD_FLAG
00489 #endif
00490
00491
00492
00493
00494 static const int CPCJointMouth = 0;
00495 static const int CPCSwitchChin = 1;
00496 static const int CPCJointNeckNod = 2;
00497 static const int CPCSensorHead = 3;
00498 static const int CPCSensorNearPSD = 4;
00499 static const int CPCSensorFarPSD = 5;
00500 static const int CPCJointNeckPan = 6;
00501 static const int CPCJointNeckTilt = 7;
00502 static const int CPCSwitchLFPaw = 8;
00503 static const int CPCJointLFKnee = 9;
00504 static const int CPCJointLFElevator = 10;
00505 static const int CPCJointLFRotator = 11;
00506 static const int CPCSwitchLHPaw = 12;
00507 static const int CPCJointLHKnee = 13;
00508 static const int CPCJointLHElevator = 14;
00509 static const int CPCJointLHRotator = 15;
00510 static const int CPCSwitchRFPaw = 16;
00511 static const int CPCJointRFKnee = 17;
00512 static const int CPCJointRFElevator = 18;
00513 static const int CPCJointRFRotator = 19;
00514 static const int CPCSwitchRHPaw = 20;
00515 static const int CPCJointRHKnee = 21;
00516 static const int CPCJointRHElevator = 22;
00517 static const int CPCJointRHRotator = 23;
00518 static const int CPCJointTailTilt = 24;
00519 static const int CPCJointTailPan = 25;
00520 static const int CPCSensorAccelFB = 26;
00521 static const int CPCSensorAccelLR = 27;
00522 static const int CPCSensorAccelUD = 28;
00523 static const int CPCSensorChestPSD = 29;
00524 static const int CPCSwitchWireless = 30;
00525 static const int CPCSensorBackRear = 31;
00526 static const int CPCSensorBackMiddle= 32;
00527 static const int CPCSensorBackFront = 33;
00528
00529
00530 }
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543 #endif