Replace Thread.sleep() in spin180() with Timer.delay(). Also make the robot actually stop spinning after Constants.SPIN_TIME.