Six crescent shaped legs

Dependencies:   mbed

Committer:
sim642
Date:
Tue Mar 29 16:04:03 2016 +0000
Revision:
7:8dcdb39efc0e
Parent:
6:9f9047ca4a89
Child:
8:c3af2a1c206c
Generalize input smoothing for EncoderMotor speed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phairero 0:0b7259fdb68a 1 #include "mbed.h"
sim642 3:2235787e78c4 2 #include "EncoderMotor.hpp"
sim642 3:2235787e78c4 3 #include "PIDController.hpp"
sim642 7:8dcdb39efc0e 4 #include "LerpSmoother.hpp"
phairero 0:0b7259fdb68a 5
phairero 0:0b7259fdb68a 6 InterruptIn bt(USER_BUTTON);
sim642 2:cf0147952fb9 7 Serial pc(USBTX, USBRX);
sim642 2:cf0147952fb9 8
sim642 6:9f9047ca4a89 9 SpeedEncoder e(PA_0, PA_1);
sim642 7:8dcdb39efc0e 10 LerpSmoother speedSmoother(0.3f);
sim642 4:4d54794b99a5 11 //PIDController ec(0.2, 0.1, 0.01);
sim642 5:7f800f61cb13 12 PIDController ec(0.3, 2.0, 0.02);
sim642 4:4d54794b99a5 13 //PIDController ec(0.75, 2.0, 0.015);
sim642 5:7f800f61cb13 14 //PIDController ec(0.8, 1.5, 0.017);
sim642 5:7f800f61cb13 15 PIDController ecRot(5.0, 0.1, 0.04);
sim642 7:8dcdb39efc0e 16 EncoderMotor m(PB_0, PC_1, PC_0, e, speedSmoother, ec, ecRot);
sim642 4:4d54794b99a5 17 //Motor m(PB_0, PC_1, PC_0);
phairero 0:0b7259fdb68a 18
sim642 2:cf0147952fb9 19 void rise()
sim642 2:cf0147952fb9 20 {
sim642 2:cf0147952fb9 21 pc.printf("rise\n");
sim642 3:2235787e78c4 22 m.drive(0);
sim642 2:cf0147952fb9 23 }
phairero 0:0b7259fdb68a 24
sim642 2:cf0147952fb9 25 void fall()
sim642 2:cf0147952fb9 26 {
sim642 2:cf0147952fb9 27 pc.printf("fall\n");
sim642 4:4d54794b99a5 28 m.drive(0.5);
sim642 2:cf0147952fb9 29 }
phairero 1:8b0322a353f4 30
sim642 2:cf0147952fb9 31 int main()
sim642 3:2235787e78c4 32 {
sim642 3:2235787e78c4 33 bt.rise(&rise);
sim642 3:2235787e78c4 34 bt.fall(&fall);
sim642 3:2235787e78c4 35
sim642 3:2235787e78c4 36 m.setup();
sim642 3:2235787e78c4 37
sim642 5:7f800f61cb13 38 float rot;
sim642 5:7f800f61cb13 39
sim642 2:cf0147952fb9 40 while(1)
sim642 2:cf0147952fb9 41 {
sim642 4:4d54794b99a5 42 //pc.printf("%d %f %f\n", e.getCount(), m.speed, m.out);
sim642 4:4d54794b99a5 43 //wait(0.1);
sim642 5:7f800f61cb13 44 //pc.scanf("%f %f %f", &ec.Kp, &ec.Ki, &ec.Kd);
sim642 5:7f800f61cb13 45 //pc.scanf("%f %f %f %f", &ecRot.Kp, &ecRot.Ki, &ecRot.Kd, &rot);
sim642 5:7f800f61cb13 46 pc.scanf("%f", &rot);
sim642 5:7f800f61cb13 47 m.rotate(rot);
phairero 0:0b7259fdb68a 48 }
sim642 2:cf0147952fb9 49 }