PID controll for the robot motors.

Dependencies:   BioroboticsMotorControl MODSERIAL mbed

Revision:
3:689f3f2e78e8
Parent:
2:3be8cd780b3d
Child:
4:fce8c7458e97
--- a/main.cpp	Fri Oct 19 08:43:25 2018 +0000
+++ b/main.cpp	Fri Oct 19 09:06:28 2018 +0000
@@ -9,9 +9,9 @@
 const int PULSES_PER_ROTATION = 6533; // Amount of motor encoder pulses per rotation. When using X4 encoding.
 const float pid_period = 0.0001; // PID sample period in seconds.
 
-const double Kp = 5.0;
-const double Ki = 0.1;
-const double Kd = 0.1;
+const double Kp = 10.0;
+const double Ki = 0.5;
+const double Kd = 0.5;
 
 const double motor_threshold_rps = 0.3; // Rad/s under which we send 0 to the motor, to prevent it from jittering around.
 const double motor_stall_pwm = 0.5; // PWM fraction above which the motor starts to move.
@@ -62,7 +62,7 @@
     if (rps > 0 && rps < motor_threshold_rps) {
         rps = 0;
     }
-    if (rps < 0 && rps > motor_threshold_rps) {
+    if (rps < 0 && rps > -motor_threshold_rps) {
         rps = 0;
     }