Theory of Operation

Altaira is a straightforward rule-based language implementing a simple reactive control strategy. On each execution cycle, four inputs are used to select a rule to be fired:
Sensor Inputs
The five analog sensors on the Zambonibug are each read, and classified as light, dark or as 'don't care'. Two other touch sensors are included on either side of the analog sensors. The values are combined into a seven-bit number.
Current Direction
Tiles may be entered or exited along any of four possible directions. A dead-reckoning navigator keeps track of the robot's current direction, which is then categorized into one of these four directions.
Tile State
Altaira's knowledge of the contents of a road tile is encoded in a tile state in a map. New tile states can be created by the user at run-time.
Robot State
Subgoals required for the solution of a problem are maintained in a robot state.
On each execution cycle, the tuple defined by (sensors, direction, tile state, robot state) selects a single rule for firing (the rule space is actually a four dimensional array, and each of the inputs is an index). The rule contains:
Motor commands
Each motor can be set to run either forward or reverse, or can be halted.
Navigation command
A command is sent to the dead-reckoning navigator, adjusting or correcting its concept of the robot's current direction and tile.
New tile state
If this rule enables Altaira to obtain more information regarding the tile than was present before, the tile state can be changed.
New robot state
If a subgoal is accomplished by the execution of the rule, a new robot state may be set.


web page last updated on March 9, 1998