           digitalWrite(rear_motor_b[i], LOW);
           analogWrite(front_motor_en[i], 0);
           analogWrite(rear_motor_en[i], 0);
+          motor_drive_target[i] = 0;
         break;
       }
     }

          digitalWrite(front_motor_b[i], LOW);
          digitalWrite(rear_motor_a[i], HIGH);
          digitalWrite(rear_motor_b[i], LOW);
          analogWrite(front_motor_en[i], FULL_SPEED);
          analogWrite(rear_motor_en[i], FULL_SPEED);
        break;

        case MOTOR_FORWARD_TURN:

          digitalWrite(front_motor_b[i], HIGH);
          digitalWrite(rear_motor_a[i], LOW);
          digitalWrite(rear_motor_b[i], HIGH);
          //analogWrite(front_motor_en[i], FULL_SPEED);
          //analogWrite(rear_motor_en[i], FULL_SPEED);
          analogWrite(front_motor_en[i], motor_drive_present[i]);
          analogWrite(rear_motor_en[i], motor_drive_present[i]);          
          motor_drive_target[i] = FULL_SPEED;
        break;

        case MOTOR_REVERSE_TURN:
