Go to the documentation of this file.00001 #pragma once
00002
00003 #define JOYSTICK_BUTTON_COUNT 16
00004 #define NB_ADVANCE_RETRACT_POSITION 20
00005
00013 enum POSITION_TYPE
00014 {
00015 CARTESIAN_POSITION = 1,
00016 ANGULAR_POSITION = 2,
00017 RETRACTED_POSITION = 3,
00018 PREDEFINED_POSITION_1 = 4,
00019 PREDEFINED_POSITION_2 = 5,
00020 PREDEFINED_POSITION_3 = 6,
00021 CARTESIAN_VELOCITY = 7,
00022 ANGULAR_VELOCITY = 8,
00023 PREDEFINED_POSITION_4 = 9,
00024 PREDEFINED_POSITION_5 = 10,
00025 TIME_DELAY = 12,
00026 };
00027
00028 enum HAND_MODE
00029 {
00030 POSITION_MODE = 1,
00031 VELOCITY_MODE = 2,
00032 NO_FINGER = 3,
00033 };
00034
00035 enum ARM_LATERALITY
00036 {
00037 RIGHT_HAND,
00038 LEFT_HAND,
00039 };
00040
00041
00042
00043
00050 struct AngularInfo
00051 {
00052 float Actuator1;
00053 float Actuator2;
00054 float Actuator3;
00055 float Actuator4;
00056 float Actuator5;
00057 float Actuator6;
00058 };
00059
00066 struct CartesianInfo
00067 {
00068 float X;
00069 float Y;
00070 float Z;
00071 float ThetaX;
00072 float ThetaY;
00073 float ThetaZ;
00074 };
00075
00079 struct SensorsInfo
00080 {
00081 float Voltage;
00082 float Current;
00083 float AccelerationX;
00084 float AccelerationY;
00085 float AccelerationZ;
00086 float ActuatorTemp1;
00087 float ActuatorTemp2;
00088 float ActuatorTemp3;
00089 float ActuatorTemp4;
00090 float ActuatorTemp5;
00091 float ActuatorTemp6;
00092 float FingerTemp1;
00093 float FingerTemp2;
00094 float FingerTemp3;
00095 };
00096
00103 struct FingersPosition
00104 {
00105 float Finger1;
00106 float Finger2;
00107 float Finger3;
00108 };
00109
00113
00117 struct CartesianPosition
00118 {
00119 CartesianInfo Coordinates;
00120 FingersPosition Fingers;
00121 };
00122
00130 struct AngularPosition
00131 {
00132 AngularInfo Actuators;
00133 FingersPosition Fingers;
00134 };
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00159 struct Limitation
00160 {
00161 float speedParameter1;
00162 float speedParameter2;
00163 float speedParameter3;
00164 float forceParameter1;
00165 float forceParameter2;
00166 float forceParameter3;
00167 float accelerationParameter1;
00168 float accelerationParameter2;
00169 float accelerationParameter3;
00170 };
00171
00180 struct UserPosition
00181 {
00182 POSITION_TYPE Type;
00183 float Delay;
00184 CartesianInfo CartesianPosition;
00185 AngularInfo Actuators;
00187 HAND_MODE HandMode;
00188 FingersPosition Fingers;
00189 };
00190
00199 struct TrajectoryPoint
00200 {
00201 UserPosition Position;
00202 int LimitationsActive;
00203 Limitation Limitations;
00204 };
00205
00209 struct TrajectoryFIFO
00210 {
00211 unsigned int TrajectoryCount;
00212 float UsedPercentage;
00213 unsigned int MaxSize;
00214 };
00215
00219 struct SingularityVector
00220 {
00221 int TranslationSingularityCount;
00222 int OrientationSingularityCount;
00223 float TranslationSingularityDistance;
00224 float OrientationSingularityDistance;
00225 CartesianInfo RepulsionVector;
00226 };
00227
00231 struct JoystickCommand
00232 {
00233 short ButtonValue[JOYSTICK_BUTTON_COUNT];
00235 float InclineLeftRight;
00236 float InclineForwardBackward;
00237 float Rotate;
00239 float MoveLeftRight;
00240 float MoveForwardBackward;
00241 float PushPull;
00242 };
00243
00244
00251 struct ClientConfigurations
00252 {
00253 char ClientID[20];
00254 char ClientName[20];
00255 char Organization[20];
00257 char Serial[20];
00258 char Model[20];
00260 ARM_LATERALITY Laterality;
00262 float MaxLinearSpeed;
00263 float MaxAngularSpeed;
00264 float MaxLinearAcceleration;
00265 float MaxAngularAcceleration;
00266 float MaxForce;
00269 float Sensibility;
00270 float DrinkingHeight;
00272 int ComplexRetractActive;
00273 float RetractedPositionAngle;
00274 int RetractedPositionCount;
00275 UserPosition RetractPositions[NB_ADVANCE_RETRACT_POSITION];
00277 float DrinkingDistance;
00278 int Fingers2and3Inverted;
00279 float DrinkingLenght;
00281 int DeletePreProgrammedPositionsAtRetract;
00283 int EnableFlashErrorLog;
00284 int EnableFlashPositionLog;
00285 };