of its maximum speed. If the error is between 10 and 25 degrees, the Andros is rotated at 25% of its maximum speed. At greater than 25 degrees, the error begins to approach a non-recoverable state, and the Andros is stopped so that appropriate measures can be taken to safely move it off of the staircase. Once the heading error is less than the 6 degrees of angular tolerance, the Andros rotation is halted. The linear motion control command of the Andros is never affected by the skew alignment task, except for the case in which the error is greater than 25 degrees, as the Andros' embedded controller allows for both linear and rotational motion components to be commanded at the same time. After the skew alignment task has been spawned, the IPD begins the stair counter task. The stair counter task uses the stair counter assembly, as described in chapter 2.3, to count the number of steps the Andros has successfully passed and also to account for any possible linear slippage error. The number of steps must be counted to provide the IPD with the relative position of the Andros upon the staircase to trigger stair motion events, such as auxiliary track motions. The next step for the IPD to complete is to determine which stair protocol should be evoked. This is accomplished by determining if the total length, L, of the staircase is less than or greater than the critical length. The critical length is defined as 1.5 times the total length of the Andros. If the total length is less than the critical length, protocol 1 is chosen. If the total length is greater than the critical length, protocol 2 is chosen. The reason for the demarcation between the two protocols is simple: a staircase with a total length equal to or less than the critical length simply does not have enough available length to adequately carry out the full range of stair climbing motions. Also, the majority of the stair motions are meant to ensure that the Andros is stable upon the staircase and