Biorobotics / DemoMode

Dependencies:   HIDScope MODSERIAL QEI biquadFilter mbed

Fork of Robot-Software_jesse by Biorobotics

Committer:
MaikOvermars
Date:
Mon Oct 22 12:57:34 2018 +0000
Revision:
0:4cb1de41d049
Child:
2:17ed767d8394
HEuy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MaikOvermars 0:4cb1de41d049 1 #include "mbed.h"
MaikOvermars 0:4cb1de41d049 2
MaikOvermars 0:4cb1de41d049 3 double L1 = 0.5;
MaikOvermars 0:4cb1de41d049 4 double L2 = 0.7;
MaikOvermars 0:4cb1de41d049 5 double x01 = 0.0;
MaikOvermars 0:4cb1de41d049 6 double y01 = 0.2;
MaikOvermars 0:4cb1de41d049 7 double q1,q2,x,y;
MaikOvermars 0:4cb1de41d049 8
MaikOvermars 0:4cb1de41d049 9 float forwardkinematics_function(double motor_angle) {
MaikOvermars 0:4cb1de41d049 10 // input are joint angles, output are x and y position of end effector
MaikOvermars 0:4cb1de41d049 11 q1 = motor_angle;
MaikOvermars 0:4cb1de41d049 12 q2 = motor_angle;
MaikOvermars 0:4cb1de41d049 13
MaikOvermars 0:4cb1de41d049 14 x = x01 - L1 * sin(q1) + L2 * cos(q1 + q2);
MaikOvermars 0:4cb1de41d049 15 y = y01 + L1 * cos(q1) + L2 * sin(q1 + q2);
MaikOvermars 0:4cb1de41d049 16 return x;
MaikOvermars 0:4cb1de41d049 17 }
MaikOvermars 0:4cb1de41d049 18
MaikOvermars 0:4cb1de41d049 19 float inversekinematics_function(double reference) {
MaikOvermars 0:4cb1de41d049 20 // pseudo inverse jacobian to get joint speeds
MaikOvermars 0:4cb1de41d049 21 // input are desired vx and vy of end effector, output joint angle speeds
MaikOvermars 0:4cb1de41d049 22
MaikOvermars 0:4cb1de41d049 23 return 5.5;
MaikOvermars 0:4cb1de41d049 24 }