Control up to two motors using filtered EMG signals and a PID controller

Dependencies:   FastPWM HIDScope MODSERIAL QEI Matrix biquadFilter controller errorFetch mbed motorConfig refGen MatrixMath inverseKinematics

Fork of Minor_test_serial by First Last

Changes

RevisionDateWhoCommit message
44:d157094b48d5 2017-11-01 tvlogman potmeter controlled robot default tip
43:dd0888f86357 2017-11-01 tvlogman Cleaned up, now works
42:ae78ff03d9d6 2017-10-27 tvlogman Working setup to test the motors using the potmeter
41:9678fd827d25 2017-10-26 tvlogman Variant of position control - not tested yet but worth a try
40:7418f46a1ac0 2017-10-26 tvlogman Now pseudo-integrating the reference to translate a relation from EMG to velocity to EMG to position. Doesn't work so well.
39:d065ad7a978d 2017-10-26 tvlogman Working version implementing Tom Lankhorst's BiQuad library and using position control.
38:f1d2d42a4bdc 2017-10-24 tvlogman Working version for two motors without kinematics
37:633dd1901681 2017-10-23 tvlogman Used EMG signals to control up to two motors and implements filtering;
36:f3f3327d1d5a 2017-10-22 tvlogman Works, but needs a calibration for the filtering to subtract mean offset and normalize to maximum contraction.
35:99bf23b34ee3 2017-10-22 tvlogman Now seperating getting the reference and filtering the reference for clarity.
34:1a70aa045c8f 2017-10-22 tvlogman Now implementing the new calls to refGen and errorFetch.
33:6f4858b98fe5 2017-10-20 tvlogman Now works implementing a modular error-getting system
32:1bb406d2b3c3 2017-10-20 tvlogman Broke it... gets strange error saying that class constructor for "Noncopyable" class is inaccessible.;
31:cc08254ab7b5 2017-10-17 tvlogman Now implementing a working motorConfig library to replace setMotor1 function.
30:65f0c9ecf810 2017-10-16 tvlogman Now with the controller contained in a seperate library;
29:9aa4d63a9bd1 2017-10-16 tvlogman Working copy of locomotion_pid_action except this one uses a refGen library to get the reference.
28:8cd898ff43a2 2017-10-13 tvlogman Fixed the direction problem! Changed pin of button2 as it was the same as the motor PWM out.
27:a4228ea8fb8f 2017-10-13 tvlogman Most likely fixed motorValue issue, still testing though.
26:4f84448b4d46 2017-10-06 tvlogman All the individual parts seem to be working, never gets to a total error of 0 though. Why?
25:df780572cfc8 2017-10-06 tvlogman Changed names of the errors - not tested if it works yet.
24:672abc3f02b7 2017-10-06 tvlogman First iteration - work in progress (doesn't work yet)
23:917179f72762 2017-10-06 tvlogman Fixed the I-action bit: now I action is based on the position error multiplied by Ts added to the previous I error instead of the Ts multiplied by total I error.
22:2e473e9798c0 2017-10-06 tvlogman I action never seems to go negative (intable)
21:d266d1e503ce 2017-10-06 tvlogman Working P-controller implemented. Note that setting motor magnitude pin to anything under 0.35 doesn't seem to do much - that needs a fix.
20:4ce3fb543a45 2017-10-06 tvlogman Fixed the direction problems, tried, tested, works.
19:f08b5cd2b7ce 2017-10-06 tvlogman Added clarifying comments and (probably) fixed motor direction problems. Needs testing!
18:65e24db15c69 2017-09-29 tvlogman Removed HIDscope - that seems to prevent the entire program from working
17:616ce7bc1f96 2017-09-21 tvlogman Changed variable revs to represent driving shaft revs instead of motor revs
16:27430afe663e 2017-09-21 tvlogman Added a reverse-direction button on button1 of the Biorobotics shield
15:b76b8cff4d8f 2017-09-21 tvlogman Changed control scheme to finite state machine
14:664870b5d153 2017-09-21 tvlogman Added killswitch on sw2 and switch-direction function
13:83e3672b24ee 2017-09-21 tvlogman Motor works
12:0462757e1ed2 2017-09-21 tvlogman Now counts revolutions as well.;
11:d1692be2de30 2017-09-21 tvlogman Encoder reading now works - removed HIDscope as that seemed to be the problem
10:e23cbcdde7e3 2017-09-21 tvlogman With encoder reading - not doing anything just yet;
9:5f0e796c9489 2017-09-19 tvlogman Screwed it up nicely; Work in progress
8:0067469c3389 2017-09-19 tvlogman Using Hidscope to read LED brightness - not screwed up (yet)
7:1bffab95fc5f 2017-09-19 tvlogman Working potmeter controlled LED;
6:5f433011819f 2017-09-13 tvlogman Added message "bananas"
5:d396168a1b20 2017-09-13 tvlogman Added "they're just using coconuts" as a welcome message
4:f74c981d9bc0 2017-09-12 tvlogman Added functionality to turn on various color LEDs when corresponding keys are pressed.
3:99a568200720 2017-09-12 tvlogman Added variable keyPress which stores the character key pressed;
2:002f6b69ebaf 2017-09-12 tvlogman Added listener for keystroke which toggles LED and prints key to serial port;
1:40470bc517f1 2017-09-11 Gijsvanoort Added \r's to force Carriage return
0:c8f15874531b 2015-09-02 vsluiter Added MODSERIAL