06.11.2014 Views

Force Control with a Kalman Active Observer Applied ... - ISR-Coimbra

Force Control with a Kalman Active Observer Applied ... - ISR-Coimbra

Force Control with a Kalman Active Observer Applied ... - ISR-Coimbra

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Paper<br />

<strong>Force</strong> <strong>Control</strong> <strong>with</strong> a <strong>Kalman</strong> <strong>Active</strong> <strong>Observer</strong> <strong>Applied</strong> in a Robotic Skill<br />

Transfer System*<br />

Rui Cortesão Ý , Ralf Koeppe Þ , Urbano Nunes Ý and Gerd Hirzinger Þ<br />

Abstract: The article describes the design of a force controller for a position-based manipulator <strong>with</strong> arbitrary<br />

dead-time applying <strong>Kalman</strong> <strong>Active</strong> <strong>Observer</strong>s. The design is based on pole placement using discrete state space<br />

theory. An active state variable is introduced to compensate non linearities and parameter variations during the<br />

control process. Only the output of the plant is measured. All the discrete state space is estimated using <strong>Kalman</strong><br />

based techniques. The robustness of the system is accomplished through optimal noise processing embedded in<br />

the control strategy. The design was tested as a force controller in a skill transfer system at the DLR.<br />

Keywords: <strong>Kalman</strong> <strong>Active</strong> <strong>Observer</strong>s, <strong>Force</strong> <strong>Control</strong>, Stochastic Signals<br />

1. Introduction<br />

NO wadays the robotic technology is highly sophisticated.<br />

Many robotic manipulators are specially designed<br />

for a particular task, <strong>with</strong> software and hardware oriented<br />

tools to accomplish a certain goal. If any of the system<br />

components needs to be changed, serious problems can<br />

result to attain the desired performance indexes for a given<br />

task. Robot upgrades, including new robot specifications<br />

<strong>with</strong> new sensors, often imply non-trivial changes in the<br />

design issues, demanding efforts very Human-Power and<br />

time consuming. To overcome these obvious drawbacks,<br />

different strategies ought to be pursued. Modular and compliant<br />

design, <strong>with</strong> a natural plasticity to accommodate different<br />

specifications and set-ups is a key requirement. In<br />

robotics there is still a lack of systematic methodologies to<br />

develop robust intelligent architectures. The bottom layers<br />

of these architectures deal <strong>with</strong> raw data processing, sensor<br />

fusion, and control. The paper focus attention in a force<br />

control module inserted in an intelligent control architecture.<br />

The procedure here presented can be generalised for<br />

other sensors, creating a solid platform to emerge highlevel<br />

intelligent algorithms.<br />

Any task that requires physical contact between the<br />

robot and the environment needs not only a position control,<br />

but also a control of the force exerted by the robot’s<br />

end effector on an object [19]. Typical tasks that require<br />

force control are the classical peg-in-hole insertion, grasping/handling<br />

objects, and deburring. These tasks, usually<br />

slow, are well controlled by a positional servo system. In<br />

many robotic workstations, force feedback is implemented<br />

as an external loop that modifies the reference input of a<br />

position or a velocity servo system [11]. Thus, the desired<br />

impedance of a manipulator is defined, specifying the commanded<br />

position or velocity as a function of the force. A<br />

£ Received February 5, 2000; accepted April 17, 2000. This work was<br />

partially supported by Fundação Ciência e Tecnologia, project number<br />

MENTOR PRAXIS/P/EEI/13141/1998.<br />

Ý University of <strong>Coimbra</strong>, Institute of Systems and Robotics (<strong>ISR</strong>), 3030<br />

<strong>Coimbra</strong>, Portugal. E-mail: cortesao, urbano@isr.uc.pt<br />

Þ German Aerospace Center (DLR), Institute of Robotics and Mechatronics,<br />

82230 Wessling, Germany. E-mail: Ralf.Koeppe,<br />

Gerd.Hirzinger@dlr.de<br />

key requirement for any force-based task is the ability to<br />

regulate the interaction force between the manipulator and<br />

the environment, i.e., the compliance. Large compliance<br />

imply that a position error causes a small change in the<br />

interaction force. Some manipulators use a compliant mechanical<br />

element placed in the manipulator’s wrist, helping<br />

to control forces exerted in the environment. In the literature,<br />

there are essentially two methods used for force<br />

control: implicit force control and explicit force control<br />

[9]. The former consists in controlling the end-effector<br />

forces through actuator commands. This method can only<br />

be used for lightweight direct-drive manipulator arms, or if<br />

the friction in the gear train of the drives is small. The latter<br />

method also known by active force feedback, is based<br />

on force feedback using a wrist force sensor. The main<br />

problem of the classical force control design is its blindness<br />

to the noises present in the whole system. In fact,<br />

the quantification of the noises never enters in the design<br />

issues. Demanding tasks, like peg-in-hole insertion <strong>with</strong> a<br />

tight clearance, can become instable or suffer from residual<br />

oscillations if the noises are not properly handled. In this<br />

context, noises represent not only system and measurement<br />

noises, but also parameter mismatches, non-linear effects,<br />

discretization errors, etc. Basically they represent the difference<br />

between the “model plant” used in the control design<br />

and the “real plant”. Stochastic techniques should be<br />

applied in order to handle the noises in a robust and optimal<br />

way. The proposed force controller is designed in a systematic<br />

way, <strong>with</strong> potential to perform parallel force/velocity<br />

control, on-line impedance matching and robustness between<br />

contact and non-contact states. System and measurement<br />

noise models are obtained in a straightforward way.<br />

State space theory and <strong>Kalman</strong> filter theory are used to design<br />

the controller. The position response of the robot and<br />

its associated dead-time are handled in the force control<br />

design.<br />

2. State Space Design<br />

Surprisingly, most of the force control design available<br />

in the literature is based on classical output feedback using<br />

root locus, Bode, or Nyquist plots [16]. This design philosophy<br />

is very far from the potentialities of the state space<br />

c­2000 Cyber Scientific Paper No. 0xxx–YYYY/99/010020-01


desired<br />

velocity<br />

½<br />

×<br />

desired<br />

position<br />

Fig. 1<br />

<br />

×Ì <br />

½·Ì Ô×<br />

end-effector<br />

position<br />

System Plant.<br />

based control. To point out some advantages of state space<br />

control:<br />

¯ Easy conversion between continuous and discrete state<br />

spaces, keeping the same state space representation.<br />

¯ N-dimensional pole placement control. Any desired<br />

poles in the z-plane can be reached in a straightforward<br />

way, using Ackermann’s formula. Thus, an N-<br />

dimensional state space system can be designed to<br />

have any second order behaviour. The other Æ ¾<br />

poles can be “mapped” in Þ ¼, to represent the delay.<br />

¯ The state-space structure is very suited for state observers,<br />

like the <strong>Kalman</strong> observer. Thus, in many<br />

cases it is possible to have full control of the system<br />

reading only the output of the plant.<br />

¯ Arbitrary system dead-times are handled in a systematic<br />

way. There is no need to re-design the synthesis<br />

procedure if the system dead-time changes.<br />

¯ Disturbances, non-linear effects, and parameter variations<br />

can be merged to an extended state, enabling the<br />

overall system to have always a state space representation.<br />

2. 1 System Plant<br />

The position interface of industrial robots normally provides<br />

a Cartesian decoupled behaviour to the robot’s end<br />

effector. For each degree of freedom, the position response<br />

is of the type [10]:<br />

Ô´×µ <br />

à ×<br />

force<br />

½<br />

½·Ì Ô × ×Ì (1)<br />

where the time delay Ì is due to the signal processing of<br />

the cascade controller and has a key role in the discrete state<br />

dimension. Ì Ô is the position response time constant. A<br />

block diagram of the plant for each Cartesian dimension is<br />

given in Figure 1. Ã × represents the stiffness of the system,<br />

i.e.,<br />

½<br />

à ×<br />

<br />

½<br />

à Û<br />

·<br />

½<br />

à <br />

(2)<br />

<strong>with</strong> Ã Û and à the stiffnesses of the wrist sensor and environment<br />

respectively. For a rigid environment, Ã ½,<br />

giving Ã × Ã Û . Hence, the plant model seen by the controller<br />

has this form:<br />

Ô´×µ <br />

à ×<br />

×´½ · Ì Ô ×µ ×Ì (3)<br />

2. 1. 1 Discretization Procedure Given the plant<br />

½<br />

´×µ <br />

×´× · Ô ×Ø (4)<br />

½ µ<br />

the representation in form of Equation (3) is obtained by<br />

substituting<br />

½ Ã × Ì Ô Ô ½ ½Ì Ô Ò Ø Ì (5)<br />

Its equivalent temporal representation is given by<br />

ĐÝ · Ô ½ Ý ½ Ù´Ø Ø µ (6)<br />

where Ý is the plant output (force), and Ù is the plant input<br />

(velocity). Defining the state variables as Ü ½ Ý and Ü ¾ <br />

Ý, Equation (6) can be written in state space form as<br />

<br />

<br />

<br />

<br />

Ü ½ ¼ ½ ܽ<br />

<br />

Ü ¾ ¼ Ô ½ Ü ¾<br />

which is of the form<br />

<br />

·<br />

<br />

¼<br />

½<br />

<br />

Ù´Ø Ø µ (7)<br />

Ü Ü´Øµ ·Ù´Ø Ø µ (8)<br />

Physically, Ü ½ represents the force at the robot’s end effector,<br />

and Ü ¾ its derivative. Discretizing the system of<br />

Equation (8) <strong>with</strong> sampling time and dead-time Ø <br />

´ ½µ · ¼ , <strong>with</strong> ¼ ¼ , the equivalent discrete<br />

time system of Equation (9) is obtained,<br />

¾ ¿ ¾<br />

¿ ¾ ¿<br />

Ü <br />

¨ ½ ¼ ¡¡¡ ¼ Ü ½<br />

Ù <br />

¼ ¼ ½ ¡¡¡ ¼<br />

Ù ½<br />

.<br />

. . .<br />

.<br />

<br />

.<br />

. . . ..<br />

. .<br />

.<br />

.<br />

<br />

Ù ¾<br />

¼ ¼ ¼ ¡¡¡ ½ Ù ¿<br />

<br />

Ù ½ ¼ ¼ ¼ ¡¡¡ ¼ Ù ¾<br />

¾ ¿<br />

·<br />

<br />

<br />

¼<br />

¼<br />

.<br />

¼<br />

½<br />

Ù<br />

½ (9)<br />

<br />

where ¨, ¼ and ½ are given by Equations (10) to (12)<br />

respectively [1].<br />

¼ <br />

¨ ´µ (10)<br />

<br />

¼<br />

¼<br />

½ ´ ¼ µ<br />

´µ Ò (11)<br />

<br />

¼<br />

¼<br />

´µ (12)<br />

From Equation (8), the Laplace Transform of the state transition<br />

matrix ¨´×µ is<br />

¨´×µ ´×Á µ ½ (13)<br />

¿<br />

Using Equation (7),<br />

¾<br />

¼ × · Ô ½<br />

¨´×µ ½ <br />

Computing the matrix inverse,<br />

¾<br />

¨´×µ ½ ×<br />

¼<br />

where its temporal equivalent is<br />

¾<br />

´Øµ <br />

½<br />

¿<br />

½<br />

×´×·Ô ½µ<br />

½<br />

×·Ô ½<br />

½ ½ Ô ½ Ø<br />

Ô ½<br />

¼ Ô ½Ø<br />

(14)<br />

(15)<br />

¿<br />

(16)<br />

Knowing ´Øµ from Equation (16), the computation of the<br />

matrices ¨, ¼ and ½ is straightforward.<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


2. 2 Pole Placement<br />

Equation (9) is of the form Ü ¨Ü ½ · Ù ½ . The<br />

control design is based on pole placement using feedback<br />

of the state variables. To accomplish a second order system<br />

<strong>with</strong> desired damping and natural frequency Û Ò , the<br />

characteristic polynomial of the closed loop system should<br />

be of form<br />

× ¾ ·¾Û Ò × · ÛÒ ¾ (17)<br />

in the continuous domain. Its discrete representation is<br />

given by<br />

Þ ´Þ ¾ · ½ Þ · ¾ µ (18)<br />

where Þ represents the delay due to the dead-time. The<br />

parameters ½ and ¾ are computed from:<br />

Ô<br />

½ ¾ ÛÒ Ó×´ ½ ¾ Û Ò µ (19)<br />

¾ ¾ÛÒ (20)<br />

Since the system is controllable, the pole placement design<br />

can be easily achieved using Ackermann’s formula. Hence,<br />

the feedback gains Ä are given by<br />

¢<br />

£<br />

Ä ¼ ¡¡¡ ¼ ½ Ï <br />

½<br />

È ´¨µ (21)<br />

where Ï is the reachability matrix,<br />

¢<br />

Ï ¨ ¡¡¡ ¨Ò ½ £ (22)<br />

Ò is the number of states, that is Ò ·¾, and È ´¨µ is<br />

the characteristic polynomial in ¨,<br />

È ´¨µ ¨·¾ · ½¨·½ · ¾¨<br />

(23)<br />

In a real physical system it is impossible to measure all<br />

the states. Furthermore, there is always noise present in<br />

the system due to modeling and quantization, as well as<br />

measurement noises present in the sensors. To minimise<br />

these problems, a <strong>Kalman</strong> <strong>Active</strong> <strong>Observer</strong> was developed<br />

that estimates the state based on the output of the plant. The<br />

concept of <strong>Active</strong> <strong>Observer</strong>s is introduced in [5].<br />

2. 3 <strong>Kalman</strong> Algorithm<br />

There are many textbooks covering the <strong>Kalman</strong> filter<br />

subject. Some well known textbooks include Gelb [8],<br />

Jazwinski [12], Sorenson [18], and Maybeck [14]. In this<br />

paper it is used the Bosic [2] notation for the <strong>Kalman</strong> algorithm,<br />

in which Ü denotes the estimate of the state vector<br />

Ü based on information up to and including time .<br />

A generic system is represented in a state-space form by<br />

Ü ¨ Ü ½ · Ö ½ · (24)<br />

where the state Ü , corrupted by the system noise ,is<br />

extracted from a noisy measurement vector Ý given by<br />

Ý Ü · (25)<br />

The best estimate of the state Ü , Ü , is computed from<br />

Equations (26) to (29), which constitute the Linear <strong>Kalman</strong><br />

Filter for that system [6], [2].<br />

Estimator:<br />

Ü ¨ Ü ½ · Ö ½<br />

·Ã Ý ´¨ Ü ½ · Ö ½ µ℄ (26)<br />

Filter Gain:<br />

Ã È ½ Ì È ½ Ì · Ê ℄<br />

½<br />

(27)<br />

where<br />

È ½ ¨È ½ ¨Ì · É (28)<br />

Error Covariance Matrix:<br />

È È ½ Ã È ½ (29)<br />

É is the system noise matrix. Its values are function of<br />

the properties of the system noise , É Ì .<br />

Ê is the measurement noise matrix and is function of the<br />

measurement noise , Ê Ì . The open loop<br />

and the closed loop system matrices are given by ¨ and<br />

¨ ´¨ ĵ respectively. The vector Ö is the reference<br />

signal. The inclusion of ¨ in the observer Equation (26) is<br />

of capital importance, permitting the reference signal Ö ½<br />

to be the input to the observer as explained in [5].<br />

2. 3. 1 Extended System Following the procedure of [5],<br />

the discrete model given by Equation (9) is represented in<br />

extended form as<br />

¾ ¾<br />

¿ ¾<br />

Ü <br />

¨ ½ ¼ ¡¡¡ ¼ ¼ Ü ½<br />

<br />

<br />

<br />

<br />

¿<br />

Ù <br />

.<br />

.<br />

<br />

Ù ¾<br />

<br />

Ù ½<br />

<br />

Ô <br />

<br />

<br />

·<br />

¼ ¼ ½ ¡¡¡ ¼ ¼<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

. ..<br />

.<br />

.<br />

.<br />

.<br />

¼ ¼ ¼ ¡¡¡ ½ ¼<br />

¼ ¼ ¼ ¡¡¡ ¼ ½<br />

¼ ¼ ¼ ¡¡¡ ¼ ½<br />

¾<br />

¼<br />

½<br />

¼<br />

¿<br />

in which Ù ¼ ½<br />

is given by<br />

<br />

<br />

¿<br />

Ù ½<br />

.<br />

.<br />

Ù ¿<br />

<br />

Ù ¾<br />

<br />

Ô ½<br />

¼<br />

.<br />

Ù <br />

¼<br />

¼ ½ · (30)<br />

<br />

<br />

Ù ¼ ½ Ö ½<br />

¢ Ä Ä<br />

£ Ü ½<br />

Ô ½<br />

<br />

(31)<br />

and the active state Ô was created to perform a feedforward<br />

compensation of unmodeled non-linear terms and unpredicted<br />

disturbances. Its dynamics is:<br />

Ô Ô ½ Û (32)<br />

The stochastic signal Û of Equation (32) gives statistical<br />

information of the Ô evolution in adjacent time transitions.<br />

Qualitatively, the equation only says that the derivative of<br />

Ô is randomly distributed. It gives no explicit information<br />

about the Ô characteristics. Thus, Ô is capable of following<br />

arbitrary variables. Equation (30) can be written as<br />

Ü ¨Ü ½ · Ù ¼ ½ · (33)<br />

This extended discrete time system is not controllable,<br />

since the control input cannot reach the augmented state.<br />

However it is observable, because all states influence the<br />

measured output. The implemented <strong>Kalman</strong> <strong>Active</strong> <strong>Observer</strong><br />

estimates the state of Equation (33), <strong>with</strong> stochastic<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


noise associated to each of the system variables due to discretization<br />

procedures, matrices truncation, and unknown<br />

disturbances. The full mathematical model seen by the observer<br />

is<br />

and the measured quantity<br />

Ü ¨ Ü ½ · Ö ½ · (34)<br />

Table 1<br />

Dimension Measurement Noise (R)<br />

Ü ¾½ ¢ ½¼ ¾<br />

Ý ¢ ½¼ <br />

Þ ¢ ½¼ ½<br />

Å Ü ¾ ¢ ½¼ <br />

Å Ý ¢ ½¼ <br />

Å Þ ¢ ½¼ <br />

Noise power of the force/torque sensor for all six dimensions.<br />

<strong>with</strong><br />

<br />

Ý Ü · (35)<br />

¢<br />

½ ¼ ¡¡¡ ¼<br />

£ (36)<br />

¨ and ¨ are the augmented open loop and closed loop<br />

matrices respectively, given by<br />

¾<br />

¿<br />

¨ ½ ¼ ¡¡¡ ¼ ¼<br />

¼ ¼ ½ ¡¡¡ ¼ ¼<br />

.<br />

¨ <br />

. . . .. . .<br />

(37)<br />

<br />

¼ ¼ ¼ ¡¡¡ ½ ¼<br />

<br />

<br />

<br />

and<br />

¨ <br />

¾<br />

<br />

<br />

¼ ¼ ¼ ¡¡¡ ¼ ½<br />

¼ ¼ ¼ ¡¡¡ ¼ ½<br />

¨ ½ ¼ ¡¡¡ ¼ ¼<br />

¼ ¼ ½ ¡¡¡ ¼ ¼<br />

.<br />

.<br />

.<br />

. .. .<br />

¼ ¼ ¼ ¡¡¡ ½ ¼<br />

Ä ½ Ä ¾ Ä ¿ ¡¡¡ Ä Ò ½ ¼<br />

¼ ¼ ¼ ¡¡¡ ¼ ½<br />

.<br />

¿<br />

<br />

<br />

<br />

(38)<br />

The Ä components are obtained by Ackermman’s formula<br />

for the non-augmented system of Equation (9), given a desired<br />

closed loop behaviour.<br />

2. 4 <strong>Active</strong> <strong>Observer</strong> vs. Disturbance <strong>Observer</strong><br />

In the <strong>Active</strong> <strong>Observer</strong> context, Equation (32) can track<br />

arbitrary disturbances, coming from parasitic inputs, model<br />

mismatches, noises, etc. The disturbance at time ½ can<br />

go to any value at time <strong>with</strong> a certain probability of occurrence.<br />

The stochastic signal Û is seen by the <strong>Kalman</strong><br />

<strong>Active</strong> <strong>Observer</strong> as white noise, even though it has nothing<br />

to do <strong>with</strong> noise. If the random variable Û results from<br />

the sum of a large number of independent variables acting<br />

together, the central limit theorem states that under fairly<br />

common conditions, Û is normally distributed. Thus, the<br />

assumption of Û as Gaussian white noise makes sense.<br />

The estimation of the active state Ô , i.e. the equivalent<br />

disturbance, is very different from the approach used in<br />

the Disturbance <strong>Observer</strong> (DOB) [7], [17]. In the <strong>Active</strong><br />

<strong>Observer</strong> (AOB) architecture, the observer poles are designed<br />

in an optimal way <strong>with</strong> respect to the system and<br />

measurement noises. A stochastic equation is used to define<br />

the equivalent disturbance. Dynamic assignment of the<br />

observer poles can be done based on the statistical properties<br />

of the disturbance evolution Û . Characterizing the<br />

stochastic variable Û for a certain application is an interesting<br />

problem (in the context of AOB, only the variance<br />

of Û is needed). One example is given in [4]. It is<br />

shown in [4], why Equation (32) has that particular form,<br />

and not another one. The AOB structure imposes a desired<br />

closed-loop behaviour to the overall system, making a<br />

closed-loop active observation of the system. Any detected<br />

mismatches are lumped in a variable referred to the system<br />

input (active state), performing then a global feedforward<br />

compensation. In the DOB, the quantification of the noises<br />

never enters in the design. The disturbance estimation is<br />

based on the inverse model of the system plant [7]. This<br />

approach cannot be generalised for arbitrary plants, since<br />

a dead-time in a system plant cannot be compensated <strong>with</strong><br />

a causal filter. Moreover, zero-pole cancellation may be<br />

needed if the plant inverse is not stable. Also, for Multiple<br />

Input Multiple Output systems (MIMO), matrix inverses<br />

can be numerically unreliable, or even prohibitive. Finally,<br />

the DOB only estimates the equivalent disturbance, while<br />

the AOB estimates the full state, including the equivalent<br />

disturbance.<br />

2. 5 <strong>Kalman</strong> Matrices<br />

The robustness, convergence and performance of the<br />

<strong>Kalman</strong> algorithm is function of the noise covariance matrices<br />

design. The system matrix ¨ and the measurement<br />

matrix are easily obtained from the plant model. However,<br />

critical matrices that influence the behaviour of the<br />

<strong>Kalman</strong> observer, as the mean square error È ¼ , the system<br />

noise É and the measurement noise Ê , are sometimes<br />

difficult to quantify for a given experimental setup. The dynamics<br />

of the observer error is strongly dependent on the<br />

proper assignment of these matrices. Often, poor <strong>Kalman</strong><br />

filter performance is due to bad design of these matrices.<br />

2. 5. 1 Measurement Noise Matrix The measurement<br />

noise is a disturbance referred to the output of the plant that<br />

corrupts the measured quantities. For the <strong>Kalman</strong> design, it<br />

is assumed additive white noise at the output. In this case,<br />

since the system is completely observable, only the output<br />

is read to reconstruct the full state. Thus, Ê is a scalar.<br />

Assuming that the noise variance at the output is not function<br />

of the task, its value can be experimentally calculated.<br />

For a stationary situation, the variance of the measures represents<br />

the noise variance. In our experimental setup, the<br />

noise power for the six-dimensional force components is<br />

given in Table 1.<br />

2. 5. 2 System Noise Matrix Tuning the system noise matrix<br />

É is by far the most interesting challenge that a designer<br />

has to face. In a real system it is very difficult to<br />

quantify the noises inside the system plant, due to mismatches<br />

between real and model plants. Fortunately, <strong>with</strong><br />

the approach used in this paper, this drawback can be overcame.<br />

Since an active state variable was created to compensate<br />

all unmodeled disturbances, only the system noise<br />

of this active state variable must be tuned. Moreover, the<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


Table 2<br />

à <br />

à <br />

´É ´ÆƵ ½¼ µ ´É ´Æ Ƶ ½¼ ½¾ µ<br />

¼¼<br />

¼¼¿<br />

¼<br />

¼¼¼<br />

¼¼¾ ¾ ¢ ½¼ <br />

.<br />

.<br />

¼¼¾ ¾ ¢ ½¼ <br />

The Steady-State <strong>Kalman</strong> Gains for different É ´Æ Ƶ values.<br />

The <strong>Kalman</strong> gains à have a key role in the estimate update.<br />

Equation (26) shows that the state update, is function of<br />

the output error weighted by the <strong>Kalman</strong> gains. Thus, the bigger<br />

they are, the fastest is the state update. A trade-off should<br />

be achieved to prevent noise amplification.<br />

interpretation of this ”escape equation” is different in the<br />

<strong>Active</strong> <strong>Observer</strong> context, as explained in Section 2. 3. The<br />

steady state poles of the <strong>Kalman</strong> observer are balanced by<br />

É and Ê . For the Ü dimension, a resolution of six decimal<br />

cases in the system state entails a system noise value<br />

of É ´ µ ½¼ ½¾ <strong>with</strong> ½ Æ ½, where Æ is<br />

the number of states. The error in this case is only due<br />

to truncation. To keep the same behaviour for the other<br />

five force dimensions, the relation between É and Ê <br />

should remain constant. Finally, the active state should<br />

be fast enough to track abrupt and non-linear effects that<br />

may occur during the task execution. Table 2 shows the<br />

error gains for different É ´ÆƵ values. Considering<br />

too that É ´ÆƵ ½¼<br />

½¾ , the error gain for the active<br />

state is ¾ ¢ ½¼<br />

. To increase this gain by a factor<br />

of one thousand, É ´ÆƵ must increase by a factor<br />

of one million. A trade-off should be achieved between<br />

the É ´ÆƵ value, and the sensitivity to noise. The bigger<br />

É ´ÆƵ is, the faster the <strong>Kalman</strong> observer is, but the<br />

sensitivity to noise also increases. On-line adaptation of the<br />

É matrix could be done, using the algorithm described in<br />

[4].<br />

In our experimental setup, the É matrix for the first<br />

(nominal) dimension Ü is given by<br />

¾<br />

½¼ ½¾ ¡¡¡ ¼ ¼<br />

¼ ¡¡¡ ¼ ¼<br />

É<br />

.<br />

´ Ü µ<br />

.<br />

. ..<br />

. .<br />

. .<br />

(39)<br />

<br />

¼ ¡¡¡ ½¼ ½¾ ¼ <br />

¼ ¡¡¡ ¼ ½¼ ¿<br />

For the second dimension Ý , the É matrix is<br />

É ´ Ý µÉ ´ Ü µÊ ´ Ý µÊ ´ Ü µ (40)<br />

Analogous equations are obtained for the other<br />

force/torque dimensions.<br />

2. 5. 3 Mean Square Error Matrix The mean square error<br />

matrix È is very important in the transient response of the<br />

<strong>Kalman</strong> Filter. Its initial value should reflect as accurate<br />

as possible the mean square error of the first estimate. If<br />

the first state estimate is Ü ¼ ¼, and assuming that the<br />

robot starts <strong>with</strong> no contact, the estimation error is small<br />

for all the state variables, except for the active state. The<br />

higher É ¼ is, the higher È ¼ should be. È ¼ should be greater<br />

than É ¼ , to prevent ”valleys” in the convergence of È .<br />

An adequate value is È ¼ ½¼ É ¼ . Equation (39) shows<br />

that for the first dimension Ü , É ¼´ Ü µ ÑÜ ½¼<br />

. In<br />

Parameter<br />

Ì Ô<br />

Ì <br />

Value<br />

¼¼¿¾ [s]<br />

¼¼¼ [s]<br />

<br />

¼¼¼ [s]<br />

Ã Û ¿ [N/mm] (x lin.)<br />

¿ [N/mm] (y lin.)<br />

¼ [N/mm] (z lin.)<br />

½¼¼ [Nm/rad] (x rot.)<br />

½¼¼ [Nm/rad] (y rot.)<br />

½¼¼ [Nm/rad] (z rot.)<br />

Table 3 Technology parameters of the Manutec robot, and the<br />

force/torque sensor stiffness.<br />

our experiments, it was used È ¼ ½¼ É ¼´ Ü µ ÑÜ , i.e.,<br />

È ¼´ Ü µ ½¼<br />

. The È ¼ matrix for the Ü dimension is<br />

thus given by<br />

¾<br />

¿<br />

½¼ ¼ ¡¡¡ ¼ ¼<br />

¼ ½¼ ¡¡¡ ¼ ¼<br />

È ¼´ Ü µ<br />

.<br />

. . .. . .<br />

(41)<br />

<br />

¼ ¼ ¡¡¡ ½¼ ¼ <br />

¼ ¼ ¡¡¡ ¼ ½¼ <br />

For the Ý dimension, È ¼ is<br />

È ¼´ Ý µÈ ¼´ Ü µÊ ´ Ý µÊ ´ Ü µ (42)<br />

Analogous equations are obtained for the other force dimensions.<br />

The global control scheme can be seen in Figure<br />

2. The disturbance reference is a virtual input, representing<br />

all plant mismatches referred to the system input.<br />

The active state of the <strong>Kalman</strong> observer enables on-line estimation<br />

of the disturbance, providing a feedforward compensation<br />

action.<br />

3. Experimental Setup<br />

Experimental tests were done in a robotics testbed at the<br />

DLR. The main components of this workstation are:<br />

¯ A Manutec R2 industrial robot <strong>with</strong> a Cartesian position<br />

interface running at Ñ×, <strong>with</strong> an input dead-time<br />

of samples equivalent to ¼ Ñ×.<br />

¯ A multi-processor host computer running UNIX, enabling<br />

to compute the controller in each time step.<br />

¯ A DLR lab end-effector which consists of a compliant<br />

force/torque sensor providing force/torque measurements<br />

every Ñ×. The technology data of the robot<br />

and the stiffness of the DLR force sensor are summarized<br />

in Table 3. The manipulator compliance is<br />

lumped in the force sensor.<br />

¯ Two cameras for stereo vision mounted on the endeffector<br />

and a pneumatic gripper holding a steel peg of<br />

¿¼ ÑÑ length. The peg is used to exert forces on the<br />

top and side of a heavy steel block. The environment<br />

is very stiff (Ã × Ã Û ). The vision cameras and the<br />

pose sense are used for data fusion in a skill transfer<br />

system [13]. A picture of the experimental setup is<br />

depicted in Figure 3.<br />

3. 1 Simulation Results<br />

In this section some simulation results for the Ý force<br />

component are presented. The goal of these simulations is<br />

to observe the Ý force data for a step input. The contact<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


<strong>Force</strong><br />

Reference<br />

Ä ½<br />

È<br />

· ·<br />

Velocity<br />

Reference<br />

System Noise<br />

Statistics<br />

Measurement<br />

Noise Statistics<br />

Virtual<br />

Disturbance<br />

Reference<br />

Ä ½<br />

·<br />

È<br />

·<br />

D<br />

A<br />

Velocity<br />

Plant<br />

à ×<br />

×´½·Ì Ô×µ ×Ì <strong>Force</strong><br />

A<br />

D<br />

KALMAN<br />

ACTIVE<br />

OBSERVER<br />

h<br />

Pole Placement<br />

Ä Ü<br />

h<br />

State Estimation<br />

´Üµ<br />

Disturbance Estimation (<strong>Active</strong> State)<br />

Fig. 2<br />

Global <strong>Control</strong> Scheme for each force dimension.<br />

object is a heavy steel block. The end-effector is initially in<br />

free space. A damping factor Ò ½was put in the design<br />

guaranteeing the quickest response <strong>with</strong>out overshoot. The<br />

system time constant was chosen to be ½¼ Ì Ô where<br />

Ì Ô ¼¼¿¾ × is the plant time constant (see Equation (3)),<br />

and the nominal stiffness Ã × ¿ ÆÑÑ for the Ý direction.<br />

It should be pointed out that can be specified to<br />

have another value, enabling the system to have a faster or<br />

slower response. The control algorithm and the dynamic<br />

behaviour of the output force remain the same. The fastest<br />

response is only limited by the maximum input velocity<br />

that the robot can handle.<br />

During the first seconds no desired force is given. The<br />

robot is not moving ( ¼ Æ). Then, a desired force<br />

of Ý ½¼ Æ is applied. The end-effector starts to move<br />

along the Ý direction <strong>with</strong> a constant velocity till it reaches<br />

contact. The contact appears at seconds. After contact,<br />

the force response should have the desired second-order<br />

behaviour. Finally a desired force of Æ is put at ½<br />

seconds. Figure 4 shows the results for underestimated (a)<br />

and overestimated (b) stiffness. Equations (5) establish the<br />

relation between the design parameter ½ and the model<br />

stiffness Ã × . It can be inferred that underestimated stiffness<br />

originates a step response <strong>with</strong> undershoot, and overestimated<br />

stiffness a step <strong>with</strong> overshoot.<br />

Fig. 3<br />

Experimental Setup<br />

3. 2 Experimental Results<br />

In the first experiment (Figure 5.a) the design stiffness<br />

was considered as Ã × ¾, i.e., ½´Öе <br />

½¾ ½´ÑÓе. In the second experiment (Figure 5.b)<br />

Ã × ¿¼. Hence, theoretically there is a match (see Table<br />

3) between the designed and real ½ parameter. The<br />

simulation results of Section 3. 1 are consistent <strong>with</strong> the<br />

experimental results. A detailed look of the force curve for<br />

the matched situation reveals that the curve suffers from<br />

the same pathology as the one obtained in the first experiment.<br />

The real Ã × stiffness for the Ý direction is a bit<br />

bigger than the nominal value referred in Table 3. Experiments<br />

<strong>with</strong> this force control setup can be used to obtain<br />

better values for the stiffness.<br />

4. Noise-Based Switch <strong>Control</strong><br />

An important topic related <strong>with</strong> force control is the analysis<br />

of the contact transition for a manipulator <strong>with</strong> a contact<br />

sensor [15]. Generally, when establishing contact, the<br />

manipulator and the target object have different velocities.<br />

Thus, despite the force feedback, a force overshoot<br />

in the transient process is unavoidable, and may be high.<br />

To accomplish robustness between contact and non-contact<br />

states, a noise-based control strategy was followed. If the<br />

signal to noise ratio at the plant output ´ËÆ µ «, where<br />

« is an acceptable threshold, it is assumed that the robot<br />

is in free space for that dimension. In this case, it makes<br />

no sense to perform any force control. The state feedback<br />

is switched off, that is, the system is running in open loop.<br />

The transfer function is given by Equation (3). A constant<br />

velocity is reached for a step reference. It should be highlighted<br />

that the cruise velocity is function of the expected<br />

stiffness for the free-contact direction. In Figure 6, Ä ½ has<br />

a key role in the approach phase. The bigger the stiffness<br />

is for one force dimension, the smaller Ä ½ is, giving a robust<br />

velocity approach before contact. Once in contact, the<br />

state feedback is switched on, and Ä ½ prevents steady state<br />

error to a step input. In the simulations as well as in the<br />

experiments « ¾. Hence, a signal to noise ratio less than<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


2<br />

½ ½¿ ½<br />

2<br />

½ ¾<br />

0<br />

Reference<br />

0<br />

Reference<br />

-2<br />

-2<br />

Newton<br />

-4<br />

Newton<br />

-4<br />

-6<br />

-6<br />

-8<br />

-8<br />

-10<br />

-10<br />

-12<br />

0 5 10 15 20<br />

time (s)<br />

-12<br />

0 5 10 15 20<br />

time (s)<br />

(a)<br />

(a)<br />

2<br />

½ ½ ½¿<br />

2<br />

½ ¿¼<br />

0<br />

Reference<br />

0<br />

Reference<br />

-2<br />

-2<br />

Newton<br />

-4<br />

Newton<br />

-4<br />

-6<br />

-6<br />

-8<br />

-8<br />

-10<br />

-10<br />

-12<br />

0 5 10 15 20<br />

Fig. 4<br />

time (s)<br />

(b)<br />

Simulation results for (a) underestimated stiffness, ½´Öе <br />

½¿ ½´ÑÓе, and (b) overestimated stiffness ½´Öе <br />

½´ÑÓе½¿.<br />

¾ means that the end-effector is in free space.<br />

5. Skill Transfer System<br />

The force controller was applied for all 6 DOF in a skill<br />

transfer system to perform the peg-in-hole task. Figure 6<br />

gives an overview of the skill transfer system. The main<br />

goal is the Human-Robot skill transfer of the peg-in-hole<br />

task [13]. The task was previously performed by a human<br />

where the forces, torques and velocities of the peg were<br />

recorded function of its pose. The robot should be able<br />

to perform the same task in a robust way after the skill<br />

transfer. The force module is an important part of the system,<br />

since it tries to output the desired force/velocity to<br />

the peg, given a certain geometric information (pose and<br />

vision data). This force controller can easily handle two<br />

reference inputs (force), and Ú (velocity). The natural<br />

constraints imply complementarity of the reference signals,<br />

i.e., when is different than zero, Ú is almost zero, and<br />

vice-versa. When Ú it means that the robot is in free<br />

space. Thus, its behaviour is to follow the reference velocity<br />

(open loop control), as was already explained. On the<br />

contrary, when Ú the robot is in contact. The sum<br />

of the reference signals corresponds in this case to a natural<br />

switch between force and velocity control. Composing<br />

-12<br />

0 5 10 15 20<br />

Fig. 5<br />

time (s)<br />

(b)<br />

Experimental data of the force controller <strong>with</strong>: (a) underestimated<br />

stiffness, Ã × ¾ and (b) nominal matching, Ã × ¿¼. These<br />

data were obtained directly from the force sensor <strong>with</strong>out any filtering.<br />

The filtering and estimation is done in the <strong>Kalman</strong> <strong>Active</strong><br />

<strong>Observer</strong>.<br />

velocity and force references can be seen in [3].<br />

6. Conclusions<br />

A systematic procedure was developed to design an explicit<br />

force controller for manipulators <strong>with</strong> arbitrary deadtime.<br />

The discrete closed loop system has always a secondorder<br />

behaviour defined by the the desired damping factor<br />

and natural frequency Û Ò . Guidelines to quantify the<br />

<strong>Kalman</strong> matrices were referred. The introduction of an<br />

active state enables the separation between truncation errors<br />

and unknown errors in a natural way. Hence, the noise<br />

analysis can be decoupled and easily handled. The active<br />

state is a random variable that ”tracks” the disturbances due<br />

to mismatches between real and model plants, providing a<br />

global feedforward compensation action. Simulation results<br />

showed good performance of the force controller for<br />

the Ý dimension. The controller was successfully tested in<br />

a Skill Transfer System at the DLR.<br />

References<br />

[1] K. J. Åström and B. Wittenmark. Computer <strong>Control</strong>led Systems:<br />

Theory and Design. Prentice Hall, 1997.<br />

[2] S. M. Bosic. Digital and <strong>Kalman</strong> Filtering. Edward Arnold, 1979.<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


Skill Transfer<br />

Module<br />

Ú <br />

Vision 1<br />

ANN<br />

Ó<br />

Ú Ó<br />

Fusion<br />

Module<br />

Ú <br />

Ú <br />

ANN<br />

ANN<br />

Vision 2<br />

Pose<br />

Desired<br />

Compliant<br />

Motion<br />

·<br />

È<br />

Robot<br />

Ü<br />

DLR<br />

<strong>Force</strong> Sensor<br />

<br />

·<br />

Ä ½<br />

State Feedback<br />

<strong>Kalman</strong><br />

<strong>Active</strong><br />

<strong>Observer</strong><br />

Ó<br />

Ú Ó<br />

<strong>Force</strong>/Velocity <strong>Control</strong>ler<br />

Fig. 6<br />

Skill Transfer System giving emphasis in the <strong>Force</strong>/Velocity <strong>Control</strong>ler.<br />

[3] S. Chiaverini and L. Sciavicco. The parallel approach to<br />

force/position control of robotic manipulators. In IEEE Trans. on<br />

Robotics and Automation, volume 9, pages 361–373, 1993.<br />

[4] R. Cortesão and R. Koeppe. Sensor fusion for human-robot skill<br />

transfer systems. In RSJ Int. J. on Advanced Robotics. Special Issue<br />

on ”Selected Papers From IROS’99”, October 2000. (to appear).<br />

[5] R. Cortesão, R. Koeppe, U. Nunes, and G. Hirzinger. Explicit force<br />

control for manipulators <strong>with</strong> active observers. In IEEE Int. Conf.<br />

on Intelligent Robots and Systems, (IROS’2000), Japan, 2000. (to<br />

appear).<br />

[6] R. Cortesão, F. Millela, and U. Nunes. Joints robust position control<br />

using linear kalman filters. In Int. Workshop on Advanced Motion<br />

<strong>Control</strong> (AMC’98), pages 417–422, Portugal, 1998.<br />

[7] K. Fujiyama, M. Tomizuka, and R. Katayama. Digital tracking controller<br />

design for cd player using disturbance observer. In Int. Workshop<br />

on Advanced Motion <strong>Control</strong> (AMC’98), pages 598–603, Portugal,<br />

1998.<br />

[8] A. C. Gelb. <strong>Applied</strong> Optimal Estimation. The MIT Press, 1973.<br />

[9] D. Gorinevsky, A. Formalsky, and A. Schneider. <strong>Force</strong> <strong>Control</strong> of<br />

Robotic Systems. CRC Press, 1997.<br />

[10] G. Hirzinger. Robot-teaching via force-torque-sensors. In Proc. of<br />

the Sixth European Meeting on Cybernetics and Systems Research,<br />

1982.<br />

[11] G. Hirzinger. Sensory feedback in robotics state-of-the-art in research<br />

and industry. In Preprints of the 10th World IFAC Congress<br />

on Automatic <strong>Control</strong>, volume 4, pages 204–210, 1987.<br />

[12] A. Jazwinski. Stochastic Processes and Filtering Theory. Academic<br />

Press, 1970.<br />

[13] R. Koeppe and G. Hirzinger. Sensorimotor compliant motion from<br />

geometric perception. In Proc. of the IEEE Int. Conf. on Intelligent<br />

Robots and Systems, (IROS’99), volume 2, pages 805–811, Korea,<br />

1999.<br />

[14] P. Maybeck. Stochastic Models, Estimation, and <strong>Control</strong>, volume 1.<br />

Academic Press, 1979.<br />

[15] J. Mills and D. Lokhorst. Stability and control of robotic manipulators<br />

during contact/noncontact task transition. In IEEE Trans. on<br />

Robotics and Automation, volume 9, pages 148–163, 1993.<br />

[16] C. Natale, R. Koeppe, and G. Hirzinger. A systematic design procedure<br />

of force controllers for industrial robots. In IEEE Trans. on<br />

Mechatronics, June 2000. (to appear).<br />

[17] Y. Oh, W. K. Chung, and I. H. Suh. Disturbance observer based<br />

robust impedance control of redundant manipulators. In Proc. of<br />

the IEEE Int. Conf. on Intelligent Robots and Systems, (IROS’99),<br />

volume 2, pages 647–652, Korea, 1999.<br />

[18] H. Sorenson. <strong>Kalman</strong> filtering techniques. In Advances in <strong>Control</strong><br />

Systems. Academic Press, 1966.<br />

[19] S. Yoshikawa. Foundations of Robotics: Analysis and <strong>Control</strong>. MIT<br />

Press, 1990.<br />

Biographies<br />

Rui Cortesão was born in <strong>Coimbra</strong>, Portugal, in 1971. He received<br />

the B.Sc. degree in Electrical Engineering, and the M.Sc.<br />

degree in Systems and Automation from the University of <strong>Coimbra</strong><br />

in 1994 and 1997 respectively. He is currently pursuing the<br />

Ph.D. degree in Electrical Engineering at the University of <strong>Coimbra</strong>,<br />

<strong>with</strong> the DLR (German Aerospace Center) collaboration. He<br />

joined the Electrical Engineering Department of the University<br />

of <strong>Coimbra</strong> in 1998, where he is currently a Teaching Assistant.<br />

He is a researcher of the Institute of Systems and Robotics (<strong>ISR</strong>).<br />

His research interests include data fusion, control, fuzzy systems,<br />

neural networks, and in general, intelligent architectures applied<br />

to robots.<br />

Ralf Koeppe received the ”Master of Science” degree in Mechanical<br />

Engineering from Portland State University, Oregon in<br />

1989, and the ”Diplom-Ingenieur” in Mechanical Engineering<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)


form University of Stuttgart, Germany in 1992. Since 1992 he is<br />

<strong>with</strong> the DLR (German Aerospace Center) Institute of Robotics<br />

and Mechatronics, Germany. He has been leading research<br />

projects in Neuro-<strong>Control</strong> since 1994, and directing research in<br />

High-Fidelity Telepresence and Teleaction <strong>with</strong>in the DFG Collaborative<br />

Research Center (SFB) 453 since 1999. In 1996 he<br />

was visiting researcher at Yoshikawa’s Robot Laboratory at Kyoto<br />

University, Japan. He is currently completing his Ph.D. in<br />

Mechanical Engineering as an external candidate of the Institute<br />

of Robotics at ETH Zürich in Switzerland <strong>with</strong> the dissertation<br />

‘Sensorimotor Skill Transfer of Compliant Motion’.<br />

Urbano Nunes received the B.Sc. and Ph.D. degrees both in<br />

Electrical Engineering from the University of <strong>Coimbra</strong>, in 1983<br />

and 1995, respectively. He joined the Electrical Engineering Department<br />

of the University of <strong>Coimbra</strong> in 1983, where he is currently<br />

an Assistant Professor. He is a researcher of the Institute<br />

of Systems and Robotics (<strong>ISR</strong>), where in the <strong>Coimbra</strong> site<br />

is the coordinator of the Intelligent <strong>Control</strong> & Robotics Laboratory<br />

(IC&R). He is a member of the editorial board of the Journal<br />

on Machine Intelligence & Robotic <strong>Control</strong>, and a member of the<br />

IFAC Technical Committee TC/MIL on Low Cost Automation<br />

(1999 to 2002), IEEE, SIRES, and AAATE. His research interests<br />

include control theory & application, intelligent control, robotics,<br />

human-oriented robotics, and industrial automation.<br />

Gerd Hirzinger received the ”Dipl.-Ing.” degree and the doctor’s<br />

degree from the Technical University of Munich, in 1969<br />

and 1974, respectively. In 1969 he joined DLR (the German<br />

Aerospace Center) where he first worked on fast digital control<br />

systems. In 1976 he became head of the automation and robotics<br />

laboratory of the DLR. Since 1991 he has been Director of the<br />

DLR Institute of Robotics and Mechatronics. He is IEEE fellow,<br />

vice program chairman of the IEEE Conference on Robotics<br />

and Automation 1994, and program chairman of IROS (Intelligent<br />

Robot Systems Conference) 1994. For more than seven years<br />

he has been chairman of the German Council on Robot <strong>Control</strong>.<br />

c­2000 Cyber Scientific Machine Intelligence & Robotic <strong>Control</strong>, 2(2), 19–27 (2000)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!