A system for controlling the position of a robot carriage, comprising: a carriage track positioned adjacent to a rotary milking platform; a robot carriage mounted to the carriage track such that the robot carriage may move linearly along the carriage track; and a controller operable to receive a first rotary encoder signal indicating a first rotational position of a milking stall of the rotary milking platform, the first rotational position corresponding to a starting linear position of the robot carriage on the carriage track; receive a second rotary encoder signal indicating a second rotational position of the milking stall of the rotary milking platform; determine, based on a difference between the second rotary encoder signal and the first rotary encoder signal, a desired linear position of the robot carriage on the carriage track, the desired linear position being a position corresponding to the second rotational position of the milking stall of the rotary milking platform; and communicate a position signal to a carriage actuator coupled to the robot carriage and the carriage track, the position signal causing the carriage actuator to move the robot carriage along the carriage track to the desired linear position. a carriage track positioned adjacent to a rotary milking platform; a robot carriage mounted to the carriage track such that the robot carriage may move linearly along the carriage track; and a controller operable to receive a first rotary encoder signal indicating a first rotational position of a milking stall of the rotary milking platform, the first rotational position corresponding to a starting linear position of the robot carriage on the carriage track; receive a second rotary encoder signal indicating a second rotational position of the milking stall of the rotary milking platform; determine, based on a difference between the second rotary encoder signal and the first rotary encoder signal, a desired linear position of the robot carriage on the carriage track, the desired linear position being a position corresponding to the second rotational position of the milking stall of the rotary milking platform; and communicate a position signal to a carriage actuator coupled to the robot carriage and the carriage track, the position signal causing the carriage actuator to move the robot carriage along the carriage track to the desired linear position. receive a first rotary encoder signal indicating a first rotational position of a milking stall of the rotary milking platform, the first rotational position corresponding to a starting linear position of the robot carriage on the carriage track; receive a second rotary encoder signal indicating a second rotational position of the milking stall of the rotary milking platform; determine, based on a difference between the second rotary encoder signal and the first rotary encoder signal, a desired linear position of the robot carriage on the carriage track, the desired linear position being a position corresponding to the second rotational position of the milking stall of the rotary milking platform; and communicate a position signal to a carriage actuator coupled to the robot carriage and the carriage track, the position signal causing the carriage actuator to move the robot carriage along the carriage track to the desired linear position.