# Development of a Sensitive Winding Application Based on a Serial Robot and Integrated Torque Sensors

A. Kanso, M. Vette-Steinkamp, R. Müller

► To cite this version:

A. Kanso, M. Vette-Steinkamp, R. Müller. Development of a Sensitive Winding Application Based on a Serial Robot and Integrated Torque Sensors. 9th International Precision Assembly Seminar (IPAS), Dec 2020, Held virtually, Unknown Region. pp.125-139, 10.1007/978-3-030-72632-4_9. hal-03520388

HAL Id: hal-03520388

https://inria.hal.science/hal-03520388

Submitted on 11 Jan 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Development of a sensitive winding application based on a serial robot and integrated torque sensors

A. Kanso M.Sc., Dr.-Ing. Dipl.-Wirt.-Ing. (FH) M. Vette-Steinkamp and Prof. Dr.-Ing. R. Müller*

ZeMA - Zentrum für Mechatronik und Automatisierungstechnik gemeinnützige GmbH, Gewerbepark Eschberger Weg 46, Gebäude 9, 66121 Saarbrücken, Germany, a.kanso@zema.de, https://orcid.org/0000-0002-1773-1833, WWW home page: http://www.zema.de

**Abstract.** Conventional winding technologies have already been implemented in the electrical and manufacturing industries. However, the adoption of such technology remains a challenge in the rubber industry, as sensitivity perception is required. A solution to this problem can be achieved by making use of robots equipped with additional sensors. Sensitive robotic applications require accurate force/torque data acquisition. The integration of accurate force/torque sensors is unsatisfactory, moreover a novel method for the processing of the measured data is a requisite. In this paper, a concept for the development of a sensitive winding application based on a serial sensitive robot is presented.

**Keywords:** sensitive robot, winding technology, 3D scanning, control system

## 1 Introduction and approach of the problem

The automation of the winding of flexible, limp components has always been a challenge in the industrial context. This poses a problem in the rubber industry, particularly for the production of rubber seals. Many winding applications have already been successfully implemented, such as, the winding of yarns in the wool industry or the winding of electric spools. Serial kinematics often form the central component in an automated winding process. In conventional winding applications, the serial kinematics are programmed along a predefined path by a defined type of movement. In addition, known parameters such as the constant speed of the winding cylinder and product geometries are necessary for the automation of these applications.

Rubber seals are often used in the automotive industry to seal the chassis and

<footnote>* The results are part of the project "Entwicklung eines Versuchsswicklers", funded by the central innovation program in Saarland. Furthermore the research is funded by the Interreg V A Großregion within Robotix-Academy project (no 002-4-09-001).</footnote>
doors of a vehicle. The manufacturing tolerances of these rubber sealing profiles are high and the geometry is complex. This makes the winding of these profiles more demanding and impossible to solve with conventional systems. A homogeneous winding pattern is characterized by gapless layers between the individual windings and low compressive forces. The development of sensitive winding applications enables the winding of geometrically complex rubber seals on the body side even with high manufacturing tolerances. This article deals with developing a new test winder for implementing a winding application for complex rubber seals on the body side. The basic components of the test winder are a sensitive robot, a winding tool, a laser line sensor and a winding cylinder.

## 2 State of the art of the winding application

Winding technologies are widely used for simple endless products such as cables (see fig. 1). The main area of application for winding technologies in industry is in the field of electrical manufacturing. The aim of this project is to transfer this technology to the winding of rubber seals. However, the complex cross-sections of the rubber profile and the high requirements due to their sensitivity to bending and tensile force make winding very complex.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Process principle of linear winding [1]</figcaption></figure>

The winding process (see fig. 2) starts with stockpiling on the supply cylinder. Then, the profile runs through guiding elements and deflections to the wire brake. Afterwards, the profile is guided along a predefined path which is dependent on the dimensions of the wire and the winding cylinder and also on the rotational speed of the latter. The wire brake represents a central element for the realization of homogeneous layer formation. With the wire brake the profile can be accelerated and braked. Maintaining a constant wire tensile force is an essential prerequisite for meeting the predefined quality requirements for coils and is of critical importance for both technological and economic reasons [2][3]. Very low wire tensile forces, for example, have a particularly negative effect on the winding structure. Moreover, excessive braking forces can cause the profile to tear. In addition, faulty winding patterns primarily come in the form of loose windings, low filling levels, and disturbances in the winding pattern [1].
Conventional winding applications are adopted in the rubber industry to wind the door-side rubber as an endless profile. This enables the setup of a production line of endless rubber profiles. The basic components of the winding application are a serial kinematic, a linear axis, an active winding cylinder and a suitable measurement system.

<figure><img src="image_3.png" /><figcaption>Fig. 2. General structure of a winding process [1]</figcaption></figure>

## 3 Process development

According to the planning approach of the analysis of winding application at ZeMA (see fig. 3), the product is first analyzed, before the process is considered more closely. The information and boundary conditions resulting from the product and process analysis are elementary for the design and development of the production equipment.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Planning approach for the development of sensitive winding application at ZeMA</figcaption></figure>

After analysis of the boundary conditions, a concept for a sensitive robotic system was developed (see fig. 4). The basic components of this system are a sensitive robot, a winding tool, safety elements, measuring modules and a controller. In addition to the physical limitations of the product, there were a few other
variables that needed to be taken into consideration: the control and operating concept of the system, as well as the workplace design. The winding process and the measurement concept will be discussed in the coming sections.

<figure><img src="image_5.png" /><figcaption>Fig. 4. Structure and components of a sensitive robot system</figcaption></figure>

## 3.1 Winding process

During the winding process, the winding tool always occupies a predefined position and orientation above the winding cylinder as shown in fig. 5. While the winding cylinder rotates, the last two turns of the rubber seal are pressed against each other. This creates a winding force between the winding tool and the rubber profile, which can be expressed as a force vector in the flange coordinate system. The resulting force will be determined by evaluating the relevant torques on the robot axes.

The practiced force is oriented toward the rotation axis of the winding cylinder (Z-axis of the winding cylinder coordinated system). The force measurement in the KUKA LBR iiwa [4] is composed of the measured torques of all seven axes, which significantly increases the uncertainty of measurements received.

Analysis of both the robot's configuration and the experimental has lead to the conclusion that the seventh axis has always a lever arm with respect to the reaction position of the exanimated force. Thus, the measurement data of the torque sensor integrated in the seventh axis (M7) will be considered as a control variable to the designed feedback controller. The designed external force feedback controller calculates the pose-offset of the flange pose of the robot in order to achieve the desired torque or torque interval. Thus, the offset of the robot pose is considered as control input of the controller.
<figure><img src="image_6.png" /><figcaption>Fig. 5. A winding tool guiding the rubber profile</figcaption></figure>

A comparison between the determined force and the measured torque values will be discussed in Sec. 3.3. When the linear winding is used, a small gap will be developed at the ends of each winding layer due to the dimensions of the winding tool. Thus, it is useful to divide the winding process into two types (see fig. 6). The linear winding can only be implemented far from the ending of the winding layer. In contrast, winding by rotating the robot hand can be implemented at the ends of each layer to avoid the developing of gaps.

<figure><img src="image_7.png" /><figcaption>Fig. 6. Subdivision of the winding process according to the type of motion of the robot</figcaption></figure>
**Linear winding** When winding a complete layer on the cylinder, two types of robotic movement must be used. At the ending of the cylinder, the tool must be tilted due to its dimensions. In between the end points, the winding of the profile is realized with a purely linear movement of the tool along the Z axis of the cylinder coordinate system. The tool coordinate system conserves its orientation by linear winding.

**Winding by rotation** The tool must be tilted at the edges of the cylinder as described above. This is done exclusively by changing the orientation of the flange coordinate system with respect to the robot base coordinate system. Thus, the flange coordinate system conserves its position during winding. In contrast, the position of the TCP coordinate system of the winding tool is adjusted by modifying the orientation of the flange coordinate system. Two different poses of the flange coordinate system are defined. The rotational part of the pose vector changes from one pose to the other, whereas the translational ones remain identical. The initial orientation and the desired orientation at the transition point between the rotation and linear winding are defined. Starting with the initial predefined orientation of the robot hand, the robot changes the orientation of its hand to achieve the desired orientation.

The robot controller respresents the orientation of the robot hand using the Euler angles convention, specifically the roll-pitch-yaw convention. These angles are well known in aerospace engineering and computer graphics [5]. These conventions are numerically unstable [6], moreover, they are inconvenient in practice [7].

The interpolation between the two predefined poses will cause an unpredictable path if the roll-pitch-yaw convention is used. Therefore, the interpolation must be implemented by the quaternion, so that the rotation is described by a rotation about only one axis in the space. A program is developed and implemented on the robot controller in order to convert the roll-pitch-yaw angles to the four quaternion parameters and vice versa. The interpolation is firstly solved at the quaternion level. Secondly, the quaternion parameters are converted back to the roll-pitch-yaw angles. Thirdly, the robot movement is implemented.

## 3.2 Feedback control system

In terms of control engineering, an attempt was made to solve the complex winding task by means of a simple closed control loop. The controlled system is given by the part of the plant where the control element acts on a physical quantity to be controlled (the controlled variable) [8]. In the presented case, the controlled variable is formed by the contact forces between the last two windings of the rubber seals. The control element in the control loop is often a technical system which influences the controlled system and thus the controlled variable by changing its output variable(s). This function is carried out here by the KUKA
iiwa. By moving the robot flange or TCP parallel to the Z-axis of the roll coor-
dinate system, the force between the last two windings can be influenced. The
robot pose is thus the manipulated variable for the control process. The Kuka
iiwa also functions as a measuring system, which is able to measure and output
both the torques in its seven axes and the forces acting on the flange or TCP in
a user-defined coordinate system. Therefore, a control based on the torques and
the forces is possible.

Since the influence of disturbance variables is significant in the winding process
and the exact attainment of the reference variable is irrelevant, it was initially
decided to start with a simple P-controller and then to expand or modify it as
required. However, initial tests with this system showed early on that the wind-
ing process does not function stably with only one simple P-controller. This was
therefore coupled with a three-point controller [9].

<figure><img src="image_8.png" /><figcaption>Fig. 7. Block diagram of the three-point controller</figcaption></figure>

Three-point controllers are often used for temperature control, but are also used
in the field of actuators. Here, they are used to switch between clockwise and
counterclockwise rotation [10]. Such a controller is also recommended for pro-
cesses in which the controlled variable is subject to noise due to disturbances
around the set point (reference variable) [10]. This characteristic should also
stabilize the presented winding process, which is permanently affected by dis-
turbances due to the rotation of the winding roll. The resulting characteristic of
the new controller is determined by multiplying the characteristic of the three-
step controller by that of the P controller (see Fig. 7). The resulting dead band
around the center (setpoint) of the characteristic serves to raise the response
threshold of the controller. Therefore two reference inputs are defined depend-
ing of the set point and the dead band. An oscillation of the process due to noise
or measurement uncertainties is also prevented by the hystereses included in the
three-point controller (see fig. 8).

However, the process described here also works for the opposite direction. If
the winding forces are too low, the controller calculates a correction of the tool
position using the P component P2 (<0). In this way, the current winding is
again pressed more strongly against the last winding, which increases the wind-
ing forces in turn.

In terms of quantity, P1 is significantly larger than P2. This is due to the fact
that the disturbance variable (rotation of the roll, winding of the rubber) always
occurs on one side only and the winding force is thus constantly increasing. The
controller must therefore react faster to reduce the winding forces than to build
them up, which requires a larger P component.

<figure><img src="image_9.png" /><figcaption>**Fig. 8.** Resulting controller characteristic curve, composed of the three-point controller and P controller</figcaption></figure>

**3.3 Measurement concept**

Robot systems are usually equipped with measuring systems to realize the re-
quired tasks. The measuring tasks within the winding system can be divided
into three groups: First, the monitoring of the external force/torque vector in
order to implement the required sensitivity; Second, the measurement of the
components and tools; Third, the monitoring of the winding process and the 3D
inspection of the winding image.

**Requirements for the measuring system (force/torque)** Sensitive wind-
ing requires an exact measurement of the external force/torque. The robot as a
component of the process is set as the control unit of the control circuit. The
monitoring of the external force/torque will be carried out by the torque sensors
integrated in the LBR iiwa. These sensors are integrated in the joints of the
robot. The investigation of the LBR iiwa as a measuring robot in the assem-
bly process for the detection of external force and torques is presented in [11].
The wound rubber profile causes a winding force along the rotation axis of the
winding cylinder. This results in a torque around the seventh axis of the robot
that can be detected by the integrated torque sensor. The resulting force with
respect to the flange coordinate system is then determined in the KUKA con-
troller based on the torque measurement of the 7th axis (see fig. 9). These are
model based calculations, in which the sensor data is filtered in the first step.
The torque measurement data, on the other hand, is made available as unfiltered
raw data.

<figure><img src="image_10.png" /><figcaption>Fig. 9. Winding force acting on the tool</figcaption></figure>

The robot will first move linearly from the left side of the hole to the right side without the presence of the winding force. This path lies along the winding cylinder and demonstrates a possible process path. Based on the TCP/IP connection, an interface for the transmission of forces/torques and robot data is developed. For this dynamic case, the measured torques and the determined forces are recorded as a function of the robot position. The result can be seen in fig. 10. This shows that the measured torque values are noisy. Force values, however, are not noisy, but they show peaks in certain poses. The two data sets (forces and moments) are not constant along the path and depend on the robot's position. This creates a great need for a low-pass filter to smooth the noisy measured torques and for a look-up table in order to compensate the instability in the obtained data.

A Butterworth filter, 2nd order low pass filter, is used to smooth the data.
The filter is written in Java and integrated into the Sunrise controller to filter
the measurement data. The resulting smoothed trace is shown in fig. 11.

The peaks of the forces must also be considered. In addition, the dispersion
of the determined data is monitored and graphically displayed. This shows that
the dispersion at the peaks is very large (up to 14 N) (see fig. 12). In this pose,
<figure><img src="image_11.png" /><figcaption>**Fig. 10.** left: Measured torque along the y-coordinate of the robot pose with respect to the base coordinate system; right: Determined force (y-coordinated) along the y-coordinate of the robot pose with respect to the base coordinate system</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>**Fig. 11.** Integration of the low-pass filter to smooth the measured curve of the torque</figcaption></figure>

the robot is closer to a singularity that is responsible for the inaccuracies of the forces. The calculation of the forces is based on the kinematic and dynamic model of the robot. Thus, singularities affect the precision of the aforementioned calculations.

The accuracy of the determined data is also considered. For this purpose, a

<figure><img src="image_13.png" /><figcaption>**Fig. 12.** left: Measured force; right: force inaccuracy</figcaption></figure>

mass is mounted on the tool by means of a cable via a deflection pulley. The robot again moves along the previous path. The forces and torques are determined and compared with the previous measurements regarding the robot position. A difference is formed to determine the external loads. The difference curve is constant in the torque measurement. In contrast, the difference of the forces decreases (see fig. 13) close to singularities. Therefore, the torque measurements are more stable and can be used as control variable. The external torque is de-
termined as the difference between the filtered measured torque and the relevant
torque from the look-up table based on the robot pose. The external force is then
determined by multiplying the external torque with the lever arm

<figure><img src="image_14.png" /><figcaption>Fig. 13. left: Measured force difference; right: Measured torque difference (filtered)</figcaption></figure>

**Calibration of the winding cylinder** The measurement of robotic tools, sen-
sors and objects with respect to the robot is a basic task that must be performed
during commissioning or after reconfiguration of a robot system. The designed
tool must be mounted on the robot flange and measured with respect to the
flange coordinate system. This is done by applying the 4-point method, which
is defined in the KUKA controller. A Tool Center Point (TCP) must be defined
on the tool as the mechanical interface between the tool and the working object
[12]. The TCP is then moved four times from different orientations of the robot
hand to a predefined measuring point. The position of the TCP with respect
to the flange coordinate system can then be determined using the least squares
methods. The orientation of the TCP coordinate system is then freely selectable.

The measurement of the work object is an essential part when developing robotic
applications. The measurement of the winding cylinder with respect to the robot
coordinate system is a prerequisite for the execution of the winding process. The
geometry of the winding tool and the high accuracy requirements in the winding
process do not allow the measuring of the winding cylinder by teach-in proce-
dure. This problem can be solved with the help of non-contact sensors such as a
camera or a laser line sensor. In addition, non-contact sensors offer shorter com-
missioning times than the teach-in method. Furthermore, the resulting winding
pattern must be monitored and evaluated. Gaps between two wound profiles and
the superposition of two profiles must be detected and localized. This solves the
inspection problem and is discussed in Sec. 3.3. Cameras encounter difficulties
in solving this inspection task because the winding pattern is a result of several
black profiles. Therefore, the laser line sensor is used in the winding process.

The winding cylinder is at first roughly positioned with respect to the robot.
Then it is measured precisely. A cylinder is mathematically defined by a length
and a circle. The latter is defined in 3D space by a center, a radius and a normal
vector. The calibration error of the sensor, the manufacturing tolerances of the
cylinder and the robot accuracy lead to the fact that the circle must be over-
determined interpolated. This means that at least four positions are required to
measure the circle. The points are measured by the laser line sensor. The robot
moves towards one of the two ends of the cylinder. The sensor is monitoring
the surface and sends a signal to the robot as soon as an edge is detected. This
procedure is repeated at least four times, but with different poses. The circle is
fitted after collecting the measuring data of the edges. Then the position and the
orientation of the circle with respect to the robot base is determined. After that,
the robot moves in the opposite direction and stops as soon as the second edge
is detected. Then the length of the cylinder is determined. The best fit method
for calibration the winding cylinder is briefly discussed in [13].

<figure><img src="image_15.png" /><figcaption>Fig. 14. Section of a winding image measurement series using the laser line sensor</figcaption></figure>

**Inspection** The quality of the winding process can be evaluated on the basis of the winding pattern. Larger gaps and overlaps should be avoided. The winding image is recorded with the aid of a laser line sensor so that 2D laser measurement values are recorded at a specified time.

The translational speed of the profile is determined based on the winding speed and the winding radius. The winding speed can be monitored by the robot controller. The winding radius is calculated from the shortest distance between the robot position and the axis of the measured winding cylinder. The already wound length of the profile between two successive measurements is determined by multiplying the translational speed by the time difference of the measurements. Thus, the 2D measured values can be extended to the 3D space and the winding image can be visualized and analyzed in the 3D space. Since only a section of the rubber profile can be recorded in the static state due to the limited measuring range of the laser line sensor, it is necessary to record the measurement data along the winding cylinder. For this purpose, the data is transformed from the sensor coordinate system into the robot base coordinates during the winding movement. The basic prerequisite for the data transformation is a measurement of the sensor with respect to the robot flange coordinate system. The robot sensor calibration problem is solved in [14]. The entire winding pattern
results from the overlapping of the different winding areas (see fig. 14). The
winding pattern of each winding cylinder is documented. The defects can be
localized and quantified.

4 Implementation and validation

A demonstration bench is developed at ZeMA to simulate the production pro-
cess of the rubber profile and to realize the developed winding process. Figure
15 shows the experimental setup, which can be described as follows: The Kuka
LBR iiwa hangs upside down on an L-shaped steel structure attached above the
winding cylinder.

<figure><img src="image_16.png" /><figcaption>Fig. 15. The developed winding demonstrator at ZeMA</figcaption></figure>

As a replacement for the manufacturing process, the rubber seal is unwound
from a second winding cylinder. The production process of the winding cylinder
is then simulated. A dancer between the two rollers serves to synchronize the ro-
tational speeds of the two cylinders. Since this synchronization did not function
correctly at high rotational speeds, the rubber seal was also temporarily wound
up from the floor in front of the roll. This in turn led to the unfortunate issue of
the profile swinging back and forth during the tests. However, the influence of
this oscillation on the winding process could not be observed clearly. Neverthe-
less, the weight of the profile hanging down in this way causes a torque around
the 7th axis depending on the position of the robot. As a result, the reference
input of the feedback controller takes an offset into account.

Winding tests are then implemented in order to identify the process parame-
ters, such as the proportional gains of the feedback controller, the dead band
and the hysteresis width. The winding image is recorded by a 2D Laser liner
sensor (see fig. 16). The generated image is then process by a Canny Edge detec-
tion Algorithm in order to localize the winding faults. The identification process
of the process parameters and the results of the signal processing algorithm will
be discussed in future works.

<figure><img src="image_17.png" /><figcaption>**Fig. 16.** Winding image of the last layer, captured by laser line sensor and processed by a developed python program</figcaption></figure>

**5 Summary and outlook**

The tests carried out have shown that it is feasible to wind the rubber seal on
the body side with the aid of the sensitive application developed. A methodology
has been established for this purpose. This includes the efficient programming of
the robot and the acquisition of the process data, which consists of the following
points: measuring the components, the tool and the sensor, designing a low-pass
filter to filter the torque data and determining the look-up table of each plane.
Moreover, linear winding is robust and could be implemented at higher speed.
The winding at the cylinder edges (winding by rotation), on the other hand, is
more sensitive and can be implemented at lower speeds. The lower speed at the
edges could be compensated by higher speeds in the linear range.

The automated winding of a complex edge protection profile represents an es-
sential further development in the production of 'endless' sealing profiles. This
research project is intended to ensure the basic feasibility of winding a rubber profile with a complex cross-section. For this purpose, a test winder is designed, constructed and manufactured. The results of the investigations have shown that even a complex cross-section profile can be winded using a sensitive robot. The concerns mentioned at the beginning could be largely dispelled, so that development of the continuous seal on the body side can be taken further.

## References

1. Klaus Feldmann, Volker Schöppner, and Günter Spur, editors. *Handbuch Fügen, Handhaben, Montieren*, volume / hrsg. von Günter Spur; 5 of *Edition Handbuch der Fertigungstechnik*. Hanser, München, 2., vollständig neu bearbeitete Auflage edition, 2014.

2. Thomas A. Manning. Tension control during the coil winding process. In *Proceedings: Electrical Insulation Conference and Electrical Manufacturing and Coil Winding Technology Conference (Cat. No. 03CH37480)*, pages 527–530, 2003.

3. Thomas A. Manning. Special problems incurred when manufacturing coils with fine magnet wire. In *Proceedings Electrical Insulation Conference and Electrical Manufacturing Expo, 2005*, pages 251–254, 2005.

4. Lbr iiwa - kuka ag.

5. James Diebel. Representing attitude: Euler angles, unit quaternions, and rotation vectors. *Matrix*, 58(15-16):1-35, 2006.

6. Peter Corke. *Robotics, vision and control: fundamental algorithms in MATLAB/textregistered second, completely revised*, volume 118. Springer, 2017.

7. Rainer Müller, M. Vette, and A. Kanso. Comparsion of practically applicable mathematical descriptions of orientation and rotation in the three-dimensionak euclidean space. In *Tagungsband des 3. Kongresses Montage Handhabung Industrieroboter*, pages 123–130. Springer Vieweg, Berlin, Germany, 2018.

8. Serge Zacher and Manfred Reuter. *Regelungstechnik für Ingenieure*. Springer Fachmedien Wiesbaden, Wiesbaden, 2017.

9. Dieter Weber. *Regelungstechnik: Wirkungsweise und Einsatz elektronischer Regler*. expert verlag, 1993.

10. Samsom AG. Regler und regelstrecken.

11. A. Blum, R. Müller, M. Scholer, and A. Kanso. P3. 6 untersuchung eines prozess- roboters als messroboter in der montage. *Tagungsband*, pages 774–780, 2019.

12. V. D.I. Rechtlinie. 2861 blatt 1: Montage-und handhabungstechnik; kenngrößen für industrieroboter; achsbezeichnungen, 1988.

13. Rainer Müller, Matthias Vette-Steinkamp, Tobias Masiak, and Ali Kanso. Best-fit method for the calibration of 3d objects using a laser line sensor mounted on the flange of an articulated robot. In *Tagungsband des 4. Kongresses Montage Handhabung Industrieroboter*, pages 207–216. Springer, 2019.

14. Frank C. Park and Bryan J. Martin. Robot sensor calibration: solving ax= xb on the euclidean group. *IEEE Transactions on Robotics and Automation*, 10(5):717–721, 1994.