control for robotic arm that can play chess using a granular gripper
Dependencies: Encoder mbed HIDScope Servo MODSERIAL
Fork of chessRobot by
actuators.h@130:2542f844ba1e, 2015-10-30 (annotated)
- Committer:
- annesteenbeek
- Date:
- Fri Oct 30 10:32:49 2015 +0100
- Revision:
- 130:2542f844ba1e
- Parent:
- 127:831f03471efb
changes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
annesteenbeek | 13:4837b36b9a68 | 1 | #ifndef ACTUATORS_H |
annesteenbeek | 13:4837b36b9a68 | 2 | #define ACTUATORS_H |
annesteenbeek | 13:4837b36b9a68 | 3 | |
annesteenbeek | 25:874675516927 | 4 | #include "PID.h" |
annesteenbeek | 25:874675516927 | 5 | #include "mbed.h" |
annesteenbeek | 25:874675516927 | 6 | #include "config.h" |
annesteenbeek | 25:874675516927 | 7 | #include "encoder.h" |
annesteenbeek | 99:7030e9790b1d | 8 | #include "buttons.h" |
annesteenbeek | 127:831f03471efb | 9 | #include "serialcom.h" |
annesteenbeek | 25:874675516927 | 10 | |
annesteenbeek | 99:7030e9790b1d | 11 | extern DigitalOut redLed; |
annesteenbeek | 99:7030e9790b1d | 12 | extern DigitalOut greenLed; |
annesteenbeek | 99:7030e9790b1d | 13 | extern DigitalOut blueLed; |
annesteenbeek | 25:874675516927 | 14 | |
annesteenbeek | 34:f315b2b38555 | 15 | extern bool motorsEnable; |
annesteenbeek | 73:05cd0e692b74 | 16 | extern bool safetyOn; |
annesteenbeek | 25:874675516927 | 17 | |
annesteenbeek | 25:874675516927 | 18 | // CCW is false(positive rotation), CW is true (neg rotation) |
annesteenbeek | 62:6c566e6f9664 | 19 | extern double motor1Pos; |
annesteenbeek | 62:6c566e6f9664 | 20 | extern double motor2Pos; |
annesteenbeek | 25:874675516927 | 21 | |
annesteenbeek | 62:6c566e6f9664 | 22 | extern double motor1SetSpeed; |
annesteenbeek | 62:6c566e6f9664 | 23 | extern double motor2SetSpeed; |
annesteenbeek | 118:49605b5bd802 | 24 | extern double setXSpeed; |
annesteenbeek | 118:49605b5bd802 | 25 | extern double setYSpeed; |
annesteenbeek | 98:25528494287d | 26 | extern double servoSpeed; |
annesteenbeek | 25:874675516927 | 27 | |
annesteenbeek | 78:0cc7c64ba94c | 28 | // unscaled EMG velocity's |
annesteenbeek | 78:0cc7c64ba94c | 29 | extern double x_velocity; |
annesteenbeek | 78:0cc7c64ba94c | 30 | extern double y_velocity; |
annesteenbeek | 78:0cc7c64ba94c | 31 | extern double z_velocity; |
annesteenbeek | 78:0cc7c64ba94c | 32 | |
annesteenbeek | 110:a6439e13be8b | 33 | extern double servoSpeed; |
annesteenbeek | 62:6c566e6f9664 | 34 | extern double motorCall; |
annesteenbeek | 25:874675516927 | 35 | |
annesteenbeek | 112:7b964afb97b4 | 36 | extern bool calReady; |
annesteenbeek | 112:7b964afb97b4 | 37 | |
annesteenbeek | 25:874675516927 | 38 | // Set PID values |
annesteenbeek | 52:2ac9dee099ce | 39 | extern PID motor2PID; |
annesteenbeek | 127:831f03471efb | 40 | extern bool usePotmeters; |
annesteenbeek | 127:831f03471efb | 41 | extern bool controlAngle; |
annesteenbeek | 127:831f03471efb | 42 | extern bool controlDirection; |
annesteenbeek | 127:831f03471efb | 43 | |
annesteenbeek | 127:831f03471efb | 44 | extern bool enablePump; |
annesteenbeek | 127:831f03471efb | 45 | |
annesteenbeek | 30:a20f16bf8dda | 46 | |
annesteenbeek | 13:4837b36b9a68 | 47 | void motorInit(); |
annesteenbeek | 13:4837b36b9a68 | 48 | void motorControl(); |
annesteenbeek | 13:4837b36b9a68 | 49 | void servoControl(); |
annesteenbeek | 106:1773bf7b95c5 | 50 | bool calibrateMotors(); |
annesteenbeek | 34:f315b2b38555 | 51 | void writeMotors(); |
annesteenbeek | 76:0aa90e728e4a | 52 | void safety(); |
annesteenbeek | 120:440f1516101b | 53 | bool kinematics(); |
annesteenbeek | 25:874675516927 | 54 | |
annesteenbeek | 13:4837b36b9a68 | 55 | #endif |