|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Speeding up and slowing down in autonomous
For some reason whenever I try to run this code; speed remains at 0 and it counts i up to x and then speed is suddenly changed to 1.0. Speed is supposed to be a decimal of x depending on how many times the for loop has run through. I don't understand why this is happening and would be very grateful for some clarity.
double speed; int x = 200; for(int i = 0; i <= x; i++){ double gyroAngle = gyro.getAngle(); speed = i/x; chassis.drive(-speed,-gyroAngle * Kp); System.out.println("Speed- " + speed); System.out.println("Ticks- " + i); Timer.delay(0.01); } Timer.delay(1.0); for(int i = x; i >= 0; i--){ double gyroAngle = gyro.getAngle(); speed = i/x; chassis.drive(-speed,-gyroAngle * Kp); Timer.delay(0.01); } chassis.drive(0.0, 0.0); //full stop Thanks ~Adam Wiwc |
|
#2
|
||||||
|
||||||
|
#3
|
||||
|
||||
|
Re: Speeding up and slowing down in autonomous
You're performing integer division. When you divide an int by a larger int, you get 0. Java gets rid of the decimal portion of the number. Try making i a double instead of an int.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|