Good Jacobian and code Not been tested

Dependencies:   MODSERIAL biquadFilter mbed

Fork of Kinematics by Ramon Waninge

Revision:
17:e5ca1f228fc5
Parent:
12:8d3bc1fa2321
Child:
18:95611fc90411
Child:
22:31ec06a15ea5
--- a/main.cpp	Wed Oct 31 16:05:53 2018 +0000
+++ b/main.cpp	Wed Oct 31 18:01:43 2018 +0000
@@ -14,41 +14,41 @@
 
 //Joe dit zijn de inputsignalen (en tussenvariabelen)
 //vorige theta
-double theta1 = PI*0.49;                  // huidige/nieuwe theta
-double theta4 = PI*0.49;
+float theta1 = PI*0.49;                  // huidige/nieuwe theta
+float theta4 = PI*0.49;
 bool emg1;
 bool emg2;
 bool emg3;
-double thetaflip = 0;
-double omega1;
-double omega4;
-double prefx;
-double prefy;
-double deltat = 0.01;
+float thetaflip = 0;
+float omega1;
+float omega4;
+float prefx;
+float prefy;
+float deltat = 0.01;
 //Joe dit zijn de constantes
-double ll = 200.0;
-double lu = 170.0;
-double lb = 10.0;
-double le = 79.0;
-double xbase = 340;
+float ll = 200.0;
+float lu = 170.0;
+float lb = 10.0;
+float le = 79.0;
+float xbase = 340;
 
 
 //forward kinematics, Check mathematica! Omdat mbed in paniek raakt met meerdere wortels, hebben we de vergelijking opgedeeld in 3 stukken
 //check void forward voor de berekeningen
 //First define the position equation of x
-double xendsum;
-double xendsqrt1;
-double xendsqrt2;
-double xend;
-double jacobiana;
-double jacobianc;
+float xendsum;
+float xendsqrt1;
+float xendsqrt2;
+float xend;
+float jacobiana;
+float jacobianc;
 //Now define the pos. eq. of y
-double yendsum;
-double yendsqrt1;
-double yendsqrt2;
-double yend;
-double jacobianb;
-double jacobiand;
+float yendsum;
+float yendsqrt1;
+float yendsqrt2;
+float yend;
+float jacobianb;
+float jacobiand;
 
 
 //Hier definieren we de functies en tickers
@@ -58,7 +58,7 @@
 
 
 //dit wordt aangeroepen in de tickerfunctie
-void inverse(double prex, double prey){
+void inverse(float prex, float prey){
     /*
                                     qn = qn-1 + (jacobian^-1)*dPref/dt *deltaT
                                     ofwel
@@ -191,6 +191,7 @@
                         // de button ingedrukt wordt (als emg = boven treshold) is de prefx 1 (da's de rode 1)
     prefy = 1*(!button2); //sw2, 
     inverse(prefx, prefy);
+    ledr!=ledr;
 }
 
 
@@ -215,8 +216,8 @@
 /*void demomode(){}       //Komt nog...
 
                    als emg2 == voorbij treshold,
-                    double theta1 -> plus counts (emg*richting)
-                    double theta4 -> plus counts (emg*richting)
+                    float theta1 -> plus counts (emg*richting)
+                    float theta4 -> plus counts (emg*richting)
                     reken y door
 
 void flip(){
@@ -239,10 +240,8 @@
     theta4 = PI*0.49;
     pc.baud(115200);
     //default = theta1 = theta4 = pi/2, 
-    emgcheck.attach(kinematics, 0.01); // roep de ticker aan (
-
-
-
+    emgcheck.attach(kinematics, 0.0085); // roep de ticker aan (
+    
     pc.printf("%f", theta1);
     while(true) {