The concepts of our proposed architecture address tasks of coordinating different activities: monitoring, execution, detection of abnormal behaviours, fault recovery, and planning. The concepts do not enforce any particularly technique for accomplishing these tasks but leave the designer freedom of how to implement decision making, planning, and control tasks.

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)

(macro on_target
(is base_t target_close)
(macro approach_target
(is front_l o_medfar)
(is front_r o_medfar)
(is tele_e o_medfar)

(macro fine_motion
(not approach_target)

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)

(is base_fl a_closefar)
(is base_t target_left_close)
(not (is front_l o_close))
then (is base turn_left_slow)

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)

(subset turn_right_fast 2.0 5.0 6.0 8.0)
(subset turn_right_medium 0.5 1.0 1.5 2.0)
(subset turn_right_slow 0.0 0.1 0.5 1.0)
(subset turn_left_fast -8.0 -6.0 -5.0 -2.0)
(subset turn_left_medium -2.0 -1.5 -1.0 -0.5)
(subset turn_left_slow -1.0 -0.5 -0.1 0.0)
(subset dont_turn -0.05 0.00 0.00 0.05)

(subset extract_fast 0.3 0.4 0.5 0.6)
(subset extract_medium 0.2 0.3 0.4 0.5)
(subset extract_slow 0.0 0.05 0.1 0.3)

(subset retract_fast -1.1 -0.7 -0.5 -0.4)
(subset retract_medium -0.5 -0.4 -0.3 -0.2)
(subset retract_slow -0.3 -0.1 -0.05 0.0)
(subset dont_move -0.05 0.00 0.00 0.05)

Figure 6. Definition of Fuzzy Subsets as Trapezoids.

Within the motion and grasp planning for the paper roll manipulator the task of planning is conceptually decomposed into several rule sets (behaviours). Each rule set consists of one or more fuzzy rules (Figure 5). Fuzzy rules are antecedent precedent pairs. Antecedents of fuzzy rules may be arbitrary well formed formulas over macros and IS-expressions over input variables and fuzzy subsets. Precedents of fuzzy rules are output variable - fuzzy subset pairs. Fuzzy subsets are defined as trapezoidal membership functions (Figure 6). Default rules can be defined for output variables (Figure 7). Default rules:

(rule (default base 0))
(rule (default tele 0))
(rule (default gripper 0))

Figure 7. Default Rules.

Figure 8 shows the organisation of different behaviours. The grasp and motion planning is divided into Preapproach, Approach, Fine Motion, and Default Action behaviours. Preapproach is activated if the distance to travel is large and the gripper is not in its home position (gripper angle = 0). The task of Preapproach is to turn the gripper angle into home position and to carefully retract the gripper. Approach is the behaviour of retracting the gripper and turning the base towards the target. Left Approach and Right Approach as well as Left Approach Blocked and Left Approach Blocked are sub-behaviours for obstacle avoidance during the approach phase. In Figure 10 Left Approach Blocked turn the telescopic arm towards the target paper roll whilst avoiding the obstacles to the left. On target implies that the base is directed towards the target and initiates extension of the telescopic arm. Fine Motion is initiated in close vicinity of the target and activates fuzzy rules responsible for careful approach to the target, the avoidance of neighbouring paper rolls, and grasping as depicted in Figure 11.

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).



(1) typically 2-5 seconds on 486 50Mhz PC. The execution of a typical path and grasp sequence by the paper roll manipulator takes about 20-60 seconds.
(2) Typical cases of operator intervention are tightly stacked paper rolls which involve pushing and dragging as well as operation very close to obstacles. This is partly due to tolerances in locating paper rolls by the laser range finders, limited accuracy of physical movements, and incremental planning in discrete steps. All these inaccuracies and tolerances add up and cause the planner to fail under certain circumstances. A more precise path could be created by increasing the number of tag points which would, of course, increase planning time.
(3) Fuzzy systems, i.e. fuzzy rule sets, encorporating weights are also known as FAMs (Fuzzy Associative Memories).

Back to my "official" page
updated 4.1.1996 by myself!