In box 704, a computer processor on which the computer program is operating manipulates the raw data from the compass 110 to calculate reading corresponding to a heading, using an orientation receiver module that receives orientation information from the compass module of the programmable robotic apparatus. [0071] At box 706, the heading readings are compared with information, such as information