KinovaTypes.h
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 //  <br>Note: The finger position is always the same however it is angular or cartesian
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 //      |                                                       |               Cartesian mode          |               Angular mode                    |
00139 //      |___________________________|___________________________|_______________________________|
00140 //      |       speedParameter1                 |       Linear Speed                    |       Speed of 3 first joints         |
00141 //      |       speedParameter2                 |       Rotation Speed                  |       Speed of 3 last joints          |
00142 //      |       speedParameter3                 |       Finger Speed                    |       Finger speed                            |
00143 //      |                                                       |                                                       |                                                               |
00144 //      |       forceParameter1                 |       Linear force                    |       3 first joints force            |
00145 //      |       forceParameter2                 |       Rotation Force                  |       3 last joints force                     |
00146 //      |       forceParameter3                 |       finger force                    |       Finger force                            |
00147 //      |                                                       |                                                       |                                                               |
00148 //      |       accelerationParameter1  |       Linear acceleration             |       3 first joints acceleration     |
00149 //      |       accelerationParameter2  |       Rotation acceleration   |       3 last joints acceleration      |
00150 //      |       accelerationParameter3  |       finger acceleration             |       Finger force acceleration       |
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 };                      


jaco_driver
Author(s): Jeff Schmidt (Clearpath), Alex Bencz (Clearpath), Matt DeDonato (WPI)
autogenerated on Mon Jan 6 2014 11:23:43