private void travelAlongXTo(double x, boolean avoidObstable) {
		RConsole.println("DEBUG: I'm now travelling along X");
		if (x - odometer.getX() > 0) {
			turnTo(THETA_P_X);
		}
		else {
			turnTo(THETA_N_X);
		}
		robot.setForwardSpeed();
		Delay.msDelay(500); // prevents the robot from reading a line after a rotate
		while(Math.abs(x - (currentX = odometer.getX())) > EPSILON) {
			RConsole.println("our current X position is " + currentX);
			if (usPoller.getFilteredData() < OBSTACLE_DISTANCE && avoidObstable) {
				avoidObstacle();
			}
			if (leftLP.getSecondOrderDerivative() > GRID_LINE_THRESHOLD || rightLP.getSecondOrderDerivative() > GRID_LINE_THRESHOLD) {
				correctOdometer();
			}
		}
		robot.stop();
	}