
Ping Pong robot
Revision 3:d36d3cc7ee23, committed 2014-10-14
- Comitter:
- JKleinRot
- Date:
- Tue Oct 14 14:22:18 2014 +0000
- Parent:
- 2:fbda25b453b3
- Commit message:
- 14-10-14 versie met commentaar en tips van Gijs
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r fbda25b453b3 -r d36d3cc7ee23 main.cpp --- a/main.cpp Mon Oct 13 13:30:59 2014 +0000 +++ b/main.cpp Tue Oct 14 14:22:18 2014 +0000 @@ -13,6 +13,10 @@ #define D0 1 #define D1 -1.709 #define D2 0.9625 +#define E1 1.823 +#define E2 -0.8372 +#define F1 0.007438 +#define F2 0.00701 //Pinverdeling en naamgeving variabelen Encoder motor_arm1( //Encoder motor arm 1 @@ -114,23 +118,56 @@ void sample_EMG{ xbk = emg_bi.read(); //Uitlezen EMG signaal biceps xtk = emg_tri.read(); //Uitlezen EMG signaal triceps + filter(); + } + + + void filter() + { + /* do filtering */ + + } + ticker_sample_EMG.attach(sample_EMG,SAMPLETIME_EMG) //Ticker gaat de void sample_EMG uitvoeren en dus de EMG uitlezen iedere 0.005 seconden + + while t<600{ + xbkt(t)=xbk + ybkt(t) = ybk + xtkt(t) = xtk + ytkt(t) = ytk + t = t+1 } - ticker_sample_EMG.attach(sample_EMG,SAMPLETIME_EMG) //Ticker gaat de void sample_EMG uitvoeren en dus de EMG uitlezen iedere 0.005 seconden //Detrend + n = 600; + + //hier wordt de som van de x en y waardes van het gemeten signaal berekend + + int i, n //n = het aantaal samples dat we hebben, is afhankelijk van het tijdinterval dat we kiezen + for(i=0; i<n; i++) { + sum_bk = sum_bk + ybk(i) //functie met line 88 voor een soomatie van alle waardes + //sum = sum_bk + sum_tk += ytk(i) //betekenis van de += dat de waardes altijd bij elkaar op worden geteld + // ook mean van de x en dan met de juiste/betere manier + } + + //hier wordt de mean van de x en y van het gemeten signaal gemeten + + mean_ybk = sum_bk./n + mean_xbk = sum_xbk./n + //Hoogdoorlaatfilter 2Hz while(true){ - ybk = A1*ybk1-A2*ybk2+B0*xbk-B1*xbk1+B2*xbk2 //Overdracht 2e orde hoogdoorlaatfilter + ybk = A1*ybk1+A2*ybk2+B0*xbk+B1*xbk1+B2*xbk2 //Overdracht 2e orde hoogdoorlaatfilter xbk2 = xbk1 //xbk(n-2) wordt xbk(n-1) in de volgende loop xbk1 = xbk //xbk(n-1) wordt xbk(n) in de volgende loop ybk2 = ybk1 //ybk(n-2) wordt ybk(n-1) in de volgende loop ybk1 = ybk //ybk(n-1) wordt ybk(n) in de volgende loop - ytk = A1*ytk1-A2*ytk2+B0*xtk-B1*xtk1+B2*xtk2 //Overdracht 2e orde hoogdoorlaatfilter + ytk = A1*ytk1+A2*ytk2+B0*xtk+B1*xtk1+B2*xtk2 //Overdracht 2e orde hoogdoorlaatfilter xtk2 = xtk1 //xtk(n-2) wordt xtk(n-1) in de volgende loop xtk1 = xtk //xtk(n-1) wordt xtk(n) in de volgende loop