control for robotic arm that can play chess using a granular gripper

Dependencies:   Encoder mbed HIDScope Servo MODSERIAL

Fork of chessRobot by a steenbeek

Committer:
annesteenbeek
Date:
Fri Oct 30 10:32:49 2015 +0100
Revision:
130:2542f844ba1e
Parent:
127:831f03471efb
changes

Who changed what in which revision?

UserRevisionLine numberNew 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