A fast implementation was desired for the evaluation environment. We decided to implement major parts of the architecture using fuzzy logic primarily because of the character of fuzzy logic being able of bridging the gap between discrete event systems and continuous control as well as its power as a descriptive tool for describing complex behaviours as demonstrated by the influencing work of Saffioti et al. (1993a) in the field of mobile robot navigation.
We also had earlier good experiences with fuzzy logic in an project implementing an anti-slip system for off-road vehicles (Känsälä & Hasemann 1994a,b, 1995), (Hasemann & Känsälä 1994a,b, 1995), (Hasemann et al. 1994) and where familiar with the technology. Thus we deemed fuzzy logic to be suitable for decision making: as trigger functions for determining the criticalities of different behaviours, as applicability functions for choosing the most suitable decomposition, and most important of all as tool for implementing complex skills such as grasp and path planning for an full size industrial paper roll manipulator (Figure 1).
Figure 1. The Paper Roll Manipulator used in the Grasp and Motion Planning Experiments.
Grasping paper rolls is a challenging task, because it is subject of several objectives, such as: Obstacle avoidance. During the whole process of approaching and grasping a paper roll collision with other paper rolls and obstacles must be avoided. See Figure 10. Coordinated base, arm, and wrist motions.
Approach movements and particularly the grasping demands coordinated control of several joints. Intelligent grasp. Sometimes the gripper cannot grasp a paper roll directly but must move to some extent around the paper roll in order to be able move its jaws around the selected paper roll in order to avoid contact with adjacent paper rolls. See Figure 11. Although this task of motion planning could have been addressed by other methods, this method proved to be very easy to implement and adapt to different conditions, once the fuzzy logic interpreter was written.
The grasp planning behaviour is described by a set of fuzzy rules which are stored in a text file and are loaded by the control architecture on program start. Consequently, the planning behaviour can be easily changed by editing the rule bases and loading them into a simulation environment. In the simulation, planning scenarios can be created, modified, loaded, and retrieved. Figure 2 depicts the control parameters of the fuzzy logic controller for grasping paper rolls, which are:
Figure 2. Grasping Parameters.
The inputs to the fuzzy controller are (Figure 3):
Figure 3. Input Parameters.
The approach taken for grasp and motion planning is state based, i.e. no history and no analysis of effects is made. Planning is done incrementally and results in a sequence of tag points, which, if planning was successful, is passed to the manipulator to carry out as a motion sequence. The approach taken towards motion is a heuristic method. Its major weakness is that it may fail even if a feasable path exists. However, the major advantage compared to exhaustive search approaches such as configuration space approaches (Latombe 1991) is its rather fast operation1 and particular the ease of implementation. Considering the application, grasping paper rolls from train cars, a certain amount of user intervention is tolerable2.
Traditional fuzzy control systems, which usually map fuzzy variables directly to output variables, are usually restricted to low-level control tasks, with a low number of input and output variables. Typical applications of fuzzy controller for low-level control tasks are the inverted pendulum, trailer backup tasks, car parking (Kosko 1992), and an anti-slip controller for vehicles (Akey 1995), (Hasemann et al. 1994). Complex behaviours, such as grasp and motion planning demand more sophistication.
During recent years several new approaches applying fuzzy logic to more complex tasks involving large numbers of inputs and outputs have been proposed. Among these is the ground breaking work of Saffioti et al. (1993a,b), who introduce fuzzy meta-rules for context determination, rule applicability, desirability, and the combination thereof to determine activation levels for lower level behaviours. Sugeno et al. (1993) use fuzzy meta-rules to select flight modes of an unmanned helicopter. Nianzu et al. (1994) employ fuzzy control for robotic arm positioning. Voudouris et al. (1994) propose Fuzzy Hierarchical Control for autonomous vehicles with a more generalised fuzzy decision tree algorithm (Chang and Pavlidis 1977). This approach is based on fuzzy decision trees, which are analogous to classical decision trees but employ fuzzy meta rules on their nodes to determine the activation of subordinate nodes. The leaves of a fuzzy decision tree apply fuzzy rules to determine (after defuzzification) the outputs of the control system.
The approach taken by Voudouris et al. modifies low-level behaviours, i.e. traditional fuzzy systems incorporating weights3 (Kosko 1992) which map inputs to output values, by scaling the weights using fuzzy meta-rules. Our approach of modelling complex behaviours using fuzzy logic stays with the original basic model of fuzzy inference using fuzzy rules without weights. Arbitration among different behaviours is done by adding "macros" (Figure 4), roughly corresponding to activation levels within Voudouris's approach, to the antecedent of fuzzy rules (Figure 5). This is accomplished by conjunctively combining them with the orignal antecedent. Macro definitions: (defining Brooks-like behaviours)
Figure 4. "Macros" defining Behaviour Contexts.
The major difference between our approach and Fuzzy Hierarchical Control lies in the effects of activation. Whereas in Fuzzy Hierarchical Control the output of each rule is scaled by the activation level, within our approach the output of each rule is limited by the activation level due to the min-max inference rule employed. Although "scaling" may result in smoother transitions when switching from one behaviour to another, we believe the possible performance gain over our "limiting" approach is minimal, although this remains to be researched. Rules: (defining the controller output)
Figure 5. Fuzzy Rule from the Fine Motion Rule Set.
The reason for using the "limiting" approach was its smooth integration into an existing fuzzy logic reasoning system. Moreover, our limiting approach is computationally cheaper because it adds only one min-operation as opposed to one floating point multiplication in the "scaling" approach. Together with the computationally cheap centroid defuzzification, the fuzzy logic reasoning system accounts for roughly 10-20% of the computational resources during planning, whereas geometrical reasoning and computation of input parameters accounts for the remaing 90-80%. Fuzzy subsets defined as trapezoids over (-999, 999)
Figure 6. Definition of Fuzzy Subsets as Trapezoids.
Figure 7. Default Rules.
Figure 8. Organisation of Planning Behaviours.
A Microsoft Windows 3.1 simulation environment has been implemented to develop and simulate the grasp and motion planning behaviour (Figure 9). Using this development environment, fuzzy controllers can be easily developed and tested. The activation potential of every rule and macro in the fuzzy controller definition file is shown at every control step (Monitor Window). Environments can be loaded, modified, and saved. The environment shown in Figure 9 was generated from depth images obtained from the laser range scanner of a real environment.
Figure 9. Development and Simulation Environment.
Trajectories can be recorded and saved as Windows Metafile Graphics for later analysis and documentation as in Figure 10 and Figure 11.
Figure 10. Grasping a Paper roll (straight grasp).
Figure 11. Grasping a Paper roll (tilted wrist).