Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
calamaridudeman
Date:
Wed Nov 27 02:51:39 2013 +0000
Revision:
44:3566c5699ba6
Parent:
43:68faf056ed5c
Child:
45:0db0fc9f77b1
Child:
52:b168d1194819
moved the default for the control switch to the top of the list, should work now?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
calamaridudeman 23:112c0be5a7f3 1 #include "mbed.h"
calamaridudeman 37:bf257a0154db 2
calamaridudeman 37:bf257a0154db 3 #include "Master.hpp"
calamaridudeman 22:4d85d989af08 4
calamaridudeman 23:112c0be5a7f3 5 Serial pc(USBTX, USBRX);
calamaridudeman 23:112c0be5a7f3 6
calamaridudeman 37:bf257a0154db 7 QEI mEnc1(p25, p26, NC, 1200, QEI::X4_ENCODING); //hip
calamaridudeman 37:bf257a0154db 8 QEI mEnc2(p23, p24, NC, 1200, QEI::X4_ENCODING);//knee
calamaridudeman 37:bf257a0154db 9
calamaridudeman 43:68faf056ed5c 10 Motor m1(p15,p17,p18,p21,mEnc2);//hip p17 high is CCW
calamaridudeman 43:68faf056ed5c 11 Motor m2(p16,p19,p20,p22,mEnc1);//knee p19 high is CCW
calamaridudeman 25:8a34b8d6cc6e 12
calamaridudeman 43:68faf056ed5c 13 QEI bEnc1(p27, p28, p29, 500, QEI::X4_ENCODING); //track offset:-2.236814
calamaridudeman 43:68faf056ed5c 14 QEI bEnc2(p5, p6, p7, 500, QEI::X4_ENCODING); //body offset:1.770973
calamaridudeman 37:bf257a0154db 15
calamaridudeman 37:bf257a0154db 16 Kangaroo kankan(m1,m2,bEnc1,bEnc2);
calamaridudeman 37:bf257a0154db 17
calamaridudeman 43:68faf056ed5c 18 Ticker t;
calamaridudeman 43:68faf056ed5c 19
calamaridudeman 43:68faf056ed5c 20 AnalogIn aIn(p15);
calamaridudeman 43:68faf056ed5c 21 DigitalOut Forward(p17);
calamaridudeman 43:68faf056ed5c 22 DigitalOut Backward(p18);
calamaridudeman 43:68faf056ed5c 23 PwmOut pwmOut(p21);
calamaridudeman 43:68faf056ed5c 24
calamaridudeman 37:bf257a0154db 25 int main() {
calamaridudeman 43:68faf056ed5c 26
calamaridudeman 43:68faf056ed5c 27 Point p1(0,-.1,0);
calamaridudeman 43:68faf056ed5c 28 Point p2(0,-.6,0);
calamaridudeman 43:68faf056ed5c 29 Point p3(0,-.1,0);
calamaridudeman 43:68faf056ed5c 30 Point p[3]={p1, p2, p3};
calamaridudeman 43:68faf056ed5c 31 BezCurve curve(p, 3);
calamaridudeman 43:68faf056ed5c 32
calamaridudeman 43:68faf056ed5c 33 curve.startCurve();
calamaridudeman 44:3566c5699ba6 34 m1.setTorque(3);
calamaridudeman 43:68faf056ed5c 35 m2.setPos(0);
calamaridudeman 43:68faf056ed5c 36 kankan.start();
calamaridudeman 43:68faf056ed5c 37 wait(3);
calamaridudeman 43:68faf056ed5c 38
calamaridudeman 43:68faf056ed5c 39 /*while(!curve.isDone()){
calamaridudeman 43:68faf056ed5c 40 //kankan.testEncoders(pc);
calamaridudeman 43:68faf056ed5c 41 curve.incrementAlpha();
calamaridudeman 43:68faf056ed5c 42 Point end = curve.getPoint();
calamaridudeman 43:68faf056ed5c 43
calamaridudeman 43:68faf056ed5c 44 Joints motorset = invKinBody(end);
calamaridudeman 43:68faf056ed5c 45 //pc.printf("%f, %f, %f, %f\n", motorset.t1, motorset.t2, end.x, end.y);
calamaridudeman 43:68faf056ed5c 46
calamaridudeman 43:68faf056ed5c 47 m1.setPos(motorset.t1);
calamaridudeman 43:68faf056ed5c 48 m2.setPos(motorset.t2);
calamaridudeman 43:68faf056ed5c 49
calamaridudeman 43:68faf056ed5c 50 wait(.05);
calamaridudeman 43:68faf056ed5c 51 }
calamaridudeman 43:68faf056ed5c 52 */
calamaridudeman 23:112c0be5a7f3 53
calamaridudeman 43:68faf056ed5c 54 /*
calamaridudeman 43:68faf056ed5c 55 kankan.start();
calamaridudeman 43:68faf056ed5c 56 wait(1);
calamaridudeman 43:68faf056ed5c 57 //m1.setPos(-3.1415/6);
calamaridudeman 43:68faf056ed5c 58 //m2.setPos(3.1415/6);
calamaridudeman 43:68faf056ed5c 59 //m1.setTorque(2);
calamaridudeman 37:bf257a0154db 60
calamaridudeman 43:68faf056ed5c 61 //kankan.setPoint(Point(0,-.3,0));
calamaridudeman 43:68faf056ed5c 62 wait(5);
calamaridudeman 43:68faf056ed5c 63 */
calamaridudeman 43:68faf056ed5c 64 m1.stop();
calamaridudeman 43:68faf056ed5c 65 m2.stop();
calamaridudeman 43:68faf056ed5c 66
calamaridudeman 43:68faf056ed5c 67 /*Forward=1;
calamaridudeman 43:68faf056ed5c 68 Backward=0;
calamaridudeman 43:68faf056ed5c 69 pwmOut.period_us(500);
calamaridudeman 43:68faf056ed5c 70
calamaridudeman 43:68faf056ed5c 71
calamaridudeman 43:68faf056ed5c 72 pwmOut.write(.15);
calamaridudeman 43:68faf056ed5c 73
calamaridudeman 43:68faf056ed5c 74 wait(5);
calamaridudeman 43:68faf056ed5c 75 pwmOut.write(0);
calamaridudeman 43:68faf056ed5c 76
calamaridudeman 43:68faf056ed5c 77 */
calamaridudeman 37:bf257a0154db 78
calamaridudeman 37:bf257a0154db 79 //kankan.zero();
calamaridudeman 22:4d85d989af08 80 }