Robots may be broadly divided into two classes: (1) stationary robots, which typically function as intelligent tools in tightly constrained industrial environments such as assembly lines, and (2) autonomous mobile robots, which usually maneuver in much less constrained environments such as offices, hallways, or even the surface of another planet.
These two very different environments call for radically different approaches, methodology, and even languages. For a stationary industrial robot, it is appropriate to control the robot's motion procedurally, with (possibly) fine adjustments based on sensor inputs. The robot may be programmed explicitly, using a procedural robot control language, or implicitly using a pendant to guide the robot through its sequence of operations.
In a mobile robot, a procedural programming approach becomes very difficult to employ successfully, since there is a much higher probability of reaching unanticipated situations. Because of this, a reactive control strategy using rules to combine sensor inputs with state information to produce motor control outputs and state changes is a common and successful approach [13], [14].
A rule-based visual representation is especially well-suited for this domain, for reasons relating both to the domain and to the language model adopted.
There is a natural match between the objects required in the domain and visual representations. This is equally true for the robot's inputs and its outputs: visual sensor inputs have a very natural representation as light or dark circles, visual representations of direction are extremely common, and the local environment of the robot is naturally represented as an icon; while motor controls and direction updates also have clear representations.
Rule-based languages have a great deal of independence between rules, which is easily mapped to showing a single rule in a window.
This paper explores the development of Altaira, a visual language intended for programming mobile robots in relatively unconstrained environments. The language is rule-based, with rule selection based on information from the environment combined with information describing the robot's current direction and knowledge regarding the local environment. All rules conform to a standard template, easing the development process; rules are prioritized with the possibility of multiple rule firings on each execution cycle. There is also a search mechanism, tying system state changes to the rules that cause them.
The paper is organized as follows: following this Introduction,
Section 2
reviews past work. Section 3 describes
the Altaira visual language and environment. Examples of Altaira
rulesets are presented in
Section 4,
and conclusions and planned
future enhancements are outlined in
Section 5.
Acknowledgements and References are in
Sections 6 and
7.