Open Loop drive forward
Dependencies: mbed Tach ContinuousServo
main.cpp
- Committer:
- m211482
- Date:
- 2019-04-16
- Revision:
- 1:da5831bec373
- Parent:
- 0:072052527879
- Child:
- 2:f1ccaf498a0c
File content as of revision 1:da5831bec373:
#include "mbed.h" #include "ContinuousServo.h" #include "Tach.h" //servos ContinuousServo left(p23); ContinuousServo right(p26); //ecnoders Tach tLeft(p17,64); Tach tRight(p13,64); float proportion(float); float wL; float wR; float ref=1.45; float err; float lspeed=1; float newspeed; float Kp=0.1; int main() { while(1) { left.speed(lspeed); wL=tLeft.getSpeed(); err=ref-wL; if (err!=0) { newspeed=proportion(err); left.speed(newspeed); } printf("wL=%f, err=%f, speed=%f\n\r",wL,err,newspeed); wait(0.2); } } float proportion(float err) { return newspeed=Kp*err; } // left.speed(0.49); //wL=tLeft.getSpeed(); //right.speed(-0.5); //the servo is inverted so much be negative //wR=tRight.getSpeed(); //printf("Both moving, l=%f, r=%f\n\r",wL,wR); //wait(0.5); //left.stop(); //right.stop(); //} //}