dynamics of contact tasks in robotics. part ii—case study in dynamics of contact motion

30
Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion Potkonjak Veljko a , Miomir K. Vukobratovic´ b , Vladimir Matijevic´ c a Faculty of Electrical Engineering, Bulevar Revolucije 11000, Belgrade, Yugoslavia b Robotics Laboratory, Mihajlo Pupin Institute, Volgina 15, POB 15, 11000, Belgrade, Yugoslavia c Robotics Laboratory, Mihajlo Pupin Institute, Volgina 15, POB 15, 11000, Belgrade, Yugoslavia Received 22 January 1997 Abstract The paper discusses some practical problems of contact dynamics. The general model derived in Part 1 of the paper is applied to a particular system. The following cases are studied: robot in contact with a transport cart, task of writing over a surface with friction, and influence of transmission elasticity on contact behaviour. In all cases, elastodynamic eects in a contact zone are included in the model. The problem of controlling motion and force is discussed and the simulation results are presented. # 1998 Published by Elsevier Science Ltd. All rights reserved. 1. Introduction In Part l of this paper the general model was derived to cover all the relevant dynamic eects of contact motion. The model is rather complex and it is justified to examine some practical problems by reducing the general model to particular system. First, we consider a robot working in cooperation with a transport cart. In this case two active systems are in contact. Special attention will be paid to elastodynamics in a contact zone. The second case considers the problem of writing over the surface with friction. This study covers some other process operations too. Deformation of the surface will be taken into account with all its dynamic eects. The collision of a robot tool with the surface will be examined and the impact included in the model. The third case discusses the influence of transmission elasticity. A simple robot will be considered interacting with the elastodynamic surface. The approaching phase, the impact and the contact motion will be elaborated. Mechanism and Machine Theory 34 (1999) 943–972 0094-114X/99/$ - see front matter # 1998 Published by Elsevier Science Ltd. All rights reserved. PII: S0094-114X(97)00092-X PERGAMON

Upload: potkonjak-veljko

Post on 15-Jul-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

Dynamics of Contact Tasks in Robotics.Part IIÐCase Study in Dynamics of Contact Motion

Potkonjak Veljkoa, Miomir K. Vukobratovic b, Vladimir Matijevic c

aFaculty of Electrical Engineering, Bulevar Revolucije 11000, Belgrade, YugoslaviabRobotics Laboratory, Mihajlo Pupin Institute, Volgina 15, POB 15, 11000, Belgrade, YugoslaviacRobotics Laboratory, Mihajlo Pupin Institute, Volgina 15, POB 15, 11000, Belgrade, Yugoslavia

Received 22 January 1997

Abstract

The paper discusses some practical problems of contact dynamics. The general model derived in Part1 of the paper is applied to a particular system. The following cases are studied: robot in contact with atransport cart, task of writing over a surface with friction, and in¯uence of transmission elasticity oncontact behaviour. In all cases, elastodynamic e�ects in a contact zone are included in the model. Theproblem of controlling motion and force is discussed and the simulation results are presented. # 1998Published by Elsevier Science Ltd. All rights reserved.

1. Introduction

In Part l of this paper the general model was derived to cover all the relevant dynamice�ects of contact motion. The model is rather complex and it is justi®ed to examine somepractical problems by reducing the general model to particular system. First, we consider arobot working in cooperation with a transport cart. In this case two active systems are incontact. Special attention will be paid to elastodynamics in a contact zone.The second case considers the problem of writing over the surface with friction. This study

covers some other process operations too. Deformation of the surface will be taken intoaccount with all its dynamic e�ects. The collision of a robot tool with the surface will beexamined and the impact included in the model.The third case discusses the in¯uence of transmission elasticity. A simple robot will be

considered interacting with the elastodynamic surface. The approaching phase, the impact andthe contact motion will be elaborated.

Mechanism and Machine Theory 34 (1999) 943±972

0094-114X/99/$ - see front matter # 1998 Published by Elsevier Science Ltd. All rights reserved.PII: S0094-114X(97)00092-X

PERGAMON

Page 2: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

The idea of this part is not to formulate new control concepts but to derive the dynamicmodels. Some modi®cation of a known dynamic control scheme [1, 2] is carried out and themodels derived are used to simulate the system behaviour.

2. Robot in Contact with a Transport Cart

In this section we consider a robot working in cooperation with a transport cart. The taskconsists of producing a force upon an object placed on the cart. It is an in-motion operationsince the cart does not stop. Force has to be applied in horizontal and vertical direction. Fig. 1shows the system con®guration.This example could be considered as a planar view of cutting or grinding operation

performed along an edge. In Fig. l the edge is orthogonal to the drawing and this motion doesnot appear in our planar model.Our intention is to apply the general model derived in Part 1 and we now search for the

correlation between the model and the system considered. The cart represents the environment(e). It is an active one degree-of-freedom system. Its drive moves it in a horizontal directionand we describe this motion by means of the coordinate qe1. It holds that ne=1, the positionvector is qe=(qe1) and the functional s-coordinate is introduced so as to coincide withqe(se=qe, i.e. se1=qe1). Inertia of the environment is de®ned by means of mass me1 and theactuator produces drive te1.

Fig. 1. Robot interacting with a cart.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972944

Page 3: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

A robot with two revolute degrees of freedom (DOFs) represents the working system. Now,nr=2 and the internal position vector is qr=(qr1, qr2). The task imposed to the systemunderstands cooperation between the robot and the cart. Hence, the functional coordinates ofrobot are introduced so as to de®ne the relative position of the robot tip with respect to thecart. A frame ®xed to the cart is used (Fig. l). The coordinates are sr=(sr1, sr2). Robot inertiais de®ned by means of two masses (mr1 and mr2) and two inertial moments (Ir1 and Ir2). Jointtorques are tt= (tr1, tr2).The task consists of the following. The cart moves with constant speed v0. The robot starts

from a resting position (A in Fig.1), accelerates to achieve the cart speed and than makes thecontact (state B in Fig. l). After the contact is established, the cart should keep its velocity, v0while the robot produces the forces upon it: F1 in the horizontal direction and F2 in thevertical direction (state C). The contact force vector is: F=(F1, F2). Thus, two phases could beobserved in the task: the phase of free motion (uncoupled systems) and the phase of contactmotion. Between these two phases the impact occurs. It might be considered as an instantevent, or it could be treated as a continuous process during the so-called transient phase.The dynamic analysis in the free-motion phase is based on models (2) and (3) from Part l.

For the cart, model (2) becomes

mel �qel � tel: �1�For the robot, model (3) becomes

Hr11 �qr1�Hr12 �qr2 � hr1 � tr1Hr21 �qr1�Hr22 �qr2 � hr2 � tr2

�2�

where the coe�cients are

Hr11 �m2l211 �m2�l21 � l222 � 2l1l22 cos qr2� � J12 � J22

Hr12 �H21 � m2l22�l22 � l1 cos q2r� � J22

Hr22 �m2l222 � J22

h1 � ÿ l1l22m2 sin q2r�2 _q2r _q1r � _q22r� ÿm2g�l1 sin q1r � l22 sin�q1r � q2r ÿm1gl11 sin q1r

h2 �m2l22�l1 _q21r sin q2r ÿ g sin�q1r � q2r��

�3�

m1, m2 are the masses of the ®rst and second link, respectively,l1, l2 are the lengths of the ®rst and second link, respectively,l11 is the distance from the ®rst joint to the mass center of the ®rst link,l22 is the distance from the second joint to the mass center of the second link,J12 is the moment of inertia for the ®rst link (orthogonal) axis,J22 is the moment of inertia for the second link (orthogonal) axis.We now de®ne the mathematical relation between the q-coordinates and s-coordinates. It

was already stated that for the cart s-coordinate coincides with q, i.e. relation (4) from Part l.becomes

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 945

Page 4: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

se � qe � �qe1�: �4�For the robot, s-coordinates should be introduced relative to the cart. It is shown in Fig. 1 andone ®nds that relation (5) from Part 1 becomes:

sr � �sr1; sr2�sr1 � ÿ l1 sin qr1 ÿ l2 sin�qr1 � qr2� � qel

sr2 � l1 cos qr1 � l2 cos�qr1 � qr2�:�5�

2.1. Dynamics of rigid-body contact

With the contact phase, the case of nondeformable bodies is discussed ®rst. The task consideredrestricts the relative motion of the robot with respect to the cart. This means that two coordinatessr are constrained. Coordinate se remains free. Thus, the partition of vector s into two subsystems(cart and robot) coincides with the partition into free and constrained coordinates

sf � se �6�

sc � sr: �7�Now the geometric constraint (8) Part l becomes:

sc � sr � 0: �8�In order to use the models (9) and (10) from Part 1 to describe dynamics, it is necessary to ®nd theexpression for the Jacobian matrices. Comparing the ®rst derivative of Eqs. (7) and (5) withexpression (11) of Part l, one ®nds that:

Jce ��10

�; Jcr �

�ÿl1 cos qr1 ÿ l2 cos�qr1 � qr2� ÿl2 cos�qr1 � qr2�ÿl1 sin qr1 ÿ l2 sin�qr1 � qr2� ÿl2 sin�qr1 � qr2�

�: �9�

The second derivative of s c is also needed in order to apply the relation (13) from Part 1. So, bycomparing the second derivative of (7) and (5) with expression (13) one ®nds that

Ac ���l1 sin qr1 _q2r1 � l2 sin�qr1 � qr2�� _qr1 � _qr2�2ÿl1 cos qr1 _q2r1 ÿ l2 cos�qr1 � q2�� _qr1 � _q2�2

�: �10�

The complete dynamic model from Part l [(9), (10) and (13)] now becomes

mel �qel � tel � F1 �11�

Hr11 �qr1�Hr12 �qr2 � hr1 � tr1 � Jcr11F1 � Jcr21F2

Hr21 �qr1�Hr22 �qr2 � hr2 � tr2 � Jcr12F1 � Jcr22F2

�12�

sc1 � �qel�Jcr11 �qr1 � Jcr12 �qr2 � Ac1 � 0

sc2 � Jcr21�Jcr22 �qr2 � Ac2 � 0;

�13�

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972946

Page 5: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

where coe�cients Hrij are de®ned in Eq. (3) and J crij and Ai

c are elements of the correspondingmatrices Jr

c and Ac de®ned by Eqs. (9) and (10). Models (11), (12) and (13) represents a set of ®vescalar equations, and can be solved for ®ve unknowns: accelerations qÈe1, qÈr1, qÈr2 and forces F1, F2.The equations are linear.

2.2. Elastodynamics in contact zone

Let us now introduce the possibility of deformation in the contact zone. Modelling willfollow the procedure explained in Section 5 from Part l. The ®rst change in the mathematicaldescription of system dynamics due to deformation refers to contact force F. In the newformulation force F does not enter models (11) and (12) directly. Two di�erent forces appearacting upon the subsystems [see Eqs. (22) and (23) in Part l]. A two component force Fe=(Fe1,Fe2) acts upon the cart [subsystem (e)] and another two-component force Fr= (Fr1, Fr2) actsupon the robot [subsystem (r)]. Accordingly, (11) and (12) becomes

mel �qel � tel � Fel �14�

Hr11 �qr1�Hr12 �qr2 � hr1 � tr1 � Jcr11Fr1 � Jcr21Fr2

Hr21 �qr1�Hr22 �qr2 � hr2 � tr2 � Jcr12Fr1 � Jcr22Fr2:�15�

Deformation appears in the direction of coordinates s1c and s2

c. To describe the deformation,the following coordinates are introduced. In the direction of s1

c (horizontal direction), theexternal and internal deformation on cart side are x 0e1 and x0e1 and on robot side x 0r1 and x0r1.Deformation in the direction of s2

c (vertical direction) is described in the same manner:coordinates x 0e2, x0e2, x 0r2 and x0r2 are de®ned. With the deformable contact, coordinates s1

c ands2c are not restricted geometrically, but they are subject to strong contact forces. The motion ispossible and represents the sum of deformations:

sc1 � x0 0e1 � x 0e1 � x 0r1 � x

0 0r1

sc2 � x0 0r2 � x 0e2 � x 0e2 � x

0 0r2;

�16�

as was stated in Part l [see Eq. (20)]. Eq. (13), representing a geometric constraint, should nowbe replaced by the relation between deformation s c and joint motion s(qe, qr):

�x0 0e1��x 0e1 � �x 0r1 � �x

0 0r1 � �qe1 � Jcr11 �qr1 � Jcr12 �qr2 � Ac

1

�x0 0e2��x 0e2 � �x 0r2 � �x

0 0r2 � Jcr21 �qr1 � Jcr22 �qr2 � Ac

2:�17�

Set (14), (15) and (17) contains ®ve scalar equations with 15 unknowns: joint accelerations qÈe1,qÈr1 and qÈr2, deformation accelerations x0ej, x 0ej, x 0rj, x0rj, j=1, 2, and forces Fej, Frj, j=1, 2.Thus, we are lacking 10 equations. If internal-deformation forces Fej, Frj, j=1, 2 are expressedin form (25) and (26) of Part 1, four equations are added to the set. The dynamics ofoscillation could be described by Eqs. (31) and (32) of Part 1. In this way the set issupplemented with four new equations and two new unknowns Fj, j=1, 2. Forms (35) and(36) of Part 1, are used to express contact forces Fj, j=1, 2 adding four equations. In this

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 947

Page 6: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

way, the set consists of 17 equations with 17 unknowns. This model describes the dynamics ofcontact motion completely.It has been stated that with contact tasks the impact always appears when robot tip reaches

a constraint. Since we applied the concept of external and internal deformation, it was notnecessary to discuss the impact separately. The model derived for contact motion holds for thetransient phase. Thus, the free-motion model is used until the constraint is reached and thenwe switch immediately to the contact±motion model. The simulation example is presented inSection 5a.

3. Writing TaskÐContact with Friction

In any contact task, presence of friction or other resistance forces appears as a veryimportant e�ect. With some contact problems friction is not among the main e�ects, but it isstill present, disturbing and must be taken into account. Since it is not so strong, the frictionneed not be introduced in the control scheme. From the control point of view it can beconsidered as perturbation. However, for simulation purposes the dynamic model must includethe friction e�ect. Otherwise, the results would not be valid. We recognize this situation in awriting task, peg-in-hole assembly task etc. With some other contact problems the resistance tomotion appears as one of main e�ects. It can be very strong and even a control algorithm musttake care of it. This is the case with some process operations like deburring, di�erent types ofcutting etc.A good example to demonstrate modelling of friction is a writing task. We may change

friction coe�cient m in order to express the e�ect more or less. Hence, the model and theresults obtained are relevant not only for writing, but for a broader class of contact tasks.A writing task consists of moving a pencil tip along a prescribed trajectory on a given

surface and producing a prescribed pressure force upon it. During writing, the pencil axisshould keep a prescribed orientation with respect to the surface. Let writing be performed inthe horizontal plane (Fig. 2).In order to perform this task, a ®ve-DOFs robot is needed (Fig. 3). It represents the working

system. The writing surface represents the environment and it has no degrees-of-freedom. Letthe robot internal (joint) position be de®ned by means of nr=5 coordinates: qr= (q1, . . . , q5).Note that index ``r`` is not needed in this example and we write q and n instead of qr and nr.The functional s-coordinates refer to the end-e�ector tip and its axis: s=(x, y, z, y, f) (Fig. 3).In the free-motion phase of the task (approaching the surface) model (3) from Part l. can be

used to describe the robot dynamics. Since there are no DOFs with the environment, itsdynamics actually does not exist and model (2) of Part l is not needed.

3.1. Dynamics of rigid body contact

We now discuss the contact phase with an assumption that the surface is in®nitely rigid. Thisgeometric constraint can be expressed in form (8) which now becomes

sc � z � 0 �18�

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972948

Page 7: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

Fig. 2. Writing task. x, y, z-Cartesian coordinates; y, f-orientation angles; v~-tip velocity; F~-reaction to pressure

force; F~f -friction force

Fig. 3. Five degrees-of-freedom robot.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 949

Page 8: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

and it restricts one motion (i.e. m=1). The resting s-coordinates remain free:

sf � �x; y; y;f�: �19�Our intention is to use model (18) from Part l to describe dynamics. We ®rst note that index``r`` is not needed and it will be omitted. Next, we discuss the Jacobian matrices. MatrixJc= @s c/@q= @z/@q has now dimension 1� 5 and its transpose is multiplied by a scalar contactforce F. (Notation Jz will be used instead of Jc.)In the present example friction exists in two directions only. It is a force in the x, y plane.

Hence, notation J xy= @(x, y)/@q is used instead of Jrrf in Eq. (18), Part 1. The dimension of the

new Jacobian is 2�5 and its transpose is multiplied by a two-component vector Ff . With thesemodi®cations model (18) of Part 1 becomes:

H�q� h � ttt� JzT

F� JxyT

Ff: �20�Friction force can be expressed in form (14), Part l. For writing in the x, y plane, the unitvector of veloci?ty direction is found as

vo ��

_x_y

�=� _x2 � _y2�12; �21�

where

�_x_y

�� Jxy _q: �22�

If the di�erence between static and kinetic friction is neglected and if viscous friction is nottaken into account, the absolute value of friction force is

jFfj � mF; �23�where m is a friction coe�cient. If Eqs. (21)±(23) are introduced in Eq. (14) of Part 1, theexpression for friction becomes

Ff � ÿmFJxy _q=�_qTJxyTJxy _q�12 �24�and such form can be used in model (20).If static and viscous friction are strong enough, a generalization has to be made. Relation

(14) of Part 1 still holds, but Eq. (23) should be replaced by a more complex function asshown in Fig. 3 of Part l.Relation (13), of Part l, representing di�erential form of the constraint can be rewritten as

�z � Jz �q� Az � 0: �25�

Model (20) (with (24) substituted) together with relation (25) describes the dynamics ofconstrained motion. The number of scalar equations is 5+1=6, and the number ofunknowns is 6 too (5-component vector qÈ plus scalar force F).If motion over the surface stops for some reason, friction force becomes a two-component

unknown. Expressions (23) and (24) do not hold and friction has to be solved by adding a newcondition to the dynamic model. The absence of motion in the x, y plane can be expressed by

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972950

Page 9: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

means of the di�erential form (19), Part l, and for the present example it becomes

Jxy �q� Axy � 0: �26�New model (20) and (25) and (26) consists of 5+1+2=8 scalar equations which can besolved for eight unknowns: 5-component qÈ , scalar F and two-component friction Ff . The tipmotion will start again when absolute value of friction force vFf v reaches mF.

3.2. Collision with rigid surface

We have distinguished two phases of the writing task: free motion and contact motion. Inthe ®rst phase the robot end-e�ector moves towards the surface. This motion is planned so asto reach the surface at a given instant with orthogonal velocity equal zero. In this way thecollision would be avoided and the contact would be smooth. However, in a real trackingproblem some error always appears producing collision. Thus, impact occurs between the twophases. In the following discussion we assume that the impact is plastic.Let t 0 be the instant in which the end-e�ector reaches the surface. The state at that instant,

q 0= q(t 0) and qÇ 0=qÇq(t 0), is considered as known. Let the impact last for Dt and the state afterthe impact be q0= q(t 0+Dt) and qÇ0=qÇ (t 0+Dt). If one assumes Dt4 0 and integrates model(20, 24) over Dt he will obtain

H�_q 0 0 ÿ _q 0� � �JzT ÿ mJxyT

Jxy _q=�_qTJxyTJxy _q�12FDt: �27�Note that F Dt$0 although Dt4 0. This is due to the in®nite force F41. In Eq. (27)matrices H and J depend on position q only. Since the position does not change in Dt 4 0, i.e.q 0= q0' these matrices do not change too. Expression

Jxy _q=�_qTJxyTJxy _q�12 �28�appearing at the expression de®nes the horizontal direction of tip motion. This directionremains unchanged during impact and for this reason b was not indicated whether theexpression refers to t 0 or to t 0+Dt. Clearly, the calculation of the direction should be made fort 0.The surface restricts the motion in the direction of the negative z-axis. It can be expressed as

(18) or

_z0 0 � Jz _q

0 0 � 0: �29�Model (27) and relation (29) contain 5+1=6 scalar equations which could be solved for sixunknowns: ®ve velocbies (qÇ0) and the impact momentum FDt. These velocities represent theinitial conditions for the phase of constrained motion.In the previous discussion friction was expressed in form (23) which ment that the tip moved

relative to the surface. Depending on the robot state and friction coe�cient m, this assumptioncould be correct, or it can lead to some principal errors. Let us explain this. After calculatingthe joint velocities qÇ0, one can ®nd the velocity of the tip after the impact [i.e. (xÇ , yÇ )0]. Wecheck this velocity against direction (28). If the velocity is oriented in the positive sense of thedirection then the complete calculation of impact is valid. However, if it is oriented in the

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 951

Page 10: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

negative sense, all the results are obviously wrong. In such case we have to give up theassumption about tip motion. The tip does not move, i.e. its velocity after the impact is zero.This situation is called ``jamming''. Friction has not the form (23) and model (27) has to bereplaced. One has to start from model (20) and integrate it over Dt. If Dt 4 0 the followingmodel is obtained

H�_q 0 0 ÿ _q 0� � JzT

FDt� JxyT

FfDt: �30�Since the tip does not move over the surface it follows that

Jxy _q0 0 � 0: �31�

Model (30) together with relations (29) and (31) contains 5+1+2=8 scalar equations andcould be solved for eight unknowns: joint velocities qÇ0, momentum FDt, and two-componentfriction momentum FfDt. After some time the tip motion could start (see the discussion oncontact dynamics given above).

Fig. 4. Contact of robot with deformable surface.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972952

Page 11: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

3.3. Elastodynamics of contact

In this part of paper we consider a deformable surface while the robot tip is rigid. Threemodels can be used to describe the deformation. They are shown in Fig. 6 of Part l. Model (c)is the simplest. It introduces sti�ness and damping, but does not take care of elastodynamics.Models (b) and (a) use the concept of equivalent mass to express inertial properties. Withmodel (b) the impact e�ect would be expressed strongly, while model (a) would smooth it. Forthe present example we chose model (b).To describe robot dynamics one may use model (20), (24). However, constraint (25) does not

hold any more and should be replaced by an equation describing the surface elastrodynamics.In Part l when describing the deformation, a set of x coordinates was de®ned. With the presentexample only one deformation is introduced and it can easily be described by coordinate z.From the viewpoint of Eq. (20), Part l, it holds now that s c= z= x. Fig. 4 shows thedeformation of surface. Comparing with Fig. 5, Part l, it is evident that me replaces m 0e,coordinates z, x replace s c, x0e and k, b replace k0e, b0e. Eq. (31), Part l, describingenvironment dynamics now becomes

me �z � Fe ÿ F: �32�According to Eq. (25), Part l, deformation force Fe is expressed as

Fe � Fe�k; z; b; _z� � ÿkzÿ b _z: �33�The left form covers nonlinear deformation while the right one is used for linear modelling.

Fig. 5. Planar robot in contact task with friction.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 953

Page 12: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

In Part l, Eq. (24) established the connection between deformation and joint motion. Withthe present example this relation reduces to

�z � Jz

�q� Az: �34�This relation replaces (25) and allows z motion.

Fig. 6. Cylindrical robot in a contact task.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972954

Page 13: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

The dynamics of the entire system is described by the set of equation: (20) with (24)substituted, (32), (33) and (34). The set consists of 5+1+1+1=8 scalar equations and canbe solved for the following eight unknowns: 5-component joint acceleration qÈ , deformation z,contact force F, and deformation force Fe.

3.4. Collision with deformable surface

The free motion phase ends when the robot tip collides with the surface. The impact occursand turns robot to contact motion. The impact with deformable surface is now considered andit is assumed plastic. Let t 0 be the instant of contact and the state be q 0 and qÇ 0. Let the impactlasts for Dt and the state after the impact be q0 and qÇ0. We assume Dt4 0 and integratedi�erential Eqs. (20) and (32) over Dt. If we suppose that the tip moves over the surface, thenfriction has form (24) and integration of (20) produces model (27).Integration of (32) gives

me� _z 0 0 ÿ _z 0� � ÿFDt �35�the initial state of surface is z 0=0 and zÇ 0=0 and (35) reduces to

me _z0 0 � ÿFDt: �36�

The relation between deformation and joint motion [Eq. (34)] can be written as a ®rst orderform

_z0 0 � Jz _q

0 0 �37�and substituted into Eq. (36) producing

meJz _q0 0 � ÿFDt: �38�

Now, Eqs. (27) and (38) consist of 5+1=6 scalar equations and could be solved for sixunknowns (5-component velocity qÇ0 and impact momentum FDt). The problem of ``jamming''should be treated analogously as it was done for rigid-body impact. Model (30) is used insteadof (27) and the ``jamming'' condition is expressed by means of (31). The number of scalarequations is increased by 2 [due to (31)] and two new unknowns are introduced (two-component friction momentum FfDt).

3.5. Planar robot with contact friction

We are now going to construct a simpli®ed example which will be suitable for numericalsimulation and at the same time keep the e�ects of main relevance. The role of such model isto give the opportunity of checking di�erent control strategies in a fast and simple, butquali®ed way.Consider a robot with two revolute DOFs engaged in a contact task (Fig. 5). The task

consists of two phases. The ®rst one represents free motion towards the surface. The tip movesfrom point A to point B where it makes contact. In the next phase the tip moves over the

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 955

Page 14: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

surface producing pressure force F upon it. This is the phase of contact motion. The tip movesin one direction from B to C, then stops and moves back to B.With this simpli®ed example robot has (n=2) DOFs and the joint position vector is q=(q1,

q2). The functional s-coordinates are s=(x, z). In the free motion phase, model (3) from Part1 reduces to

H11 �q1�H12 �q2 � h1 � t1H21 �q1�H22 �q2 � h2 � t2;

�39�

i.e. model (2) derived in this Part 2 can be applied. Note that in expressions (2) and (3) index``r`` was used and in the present example we do not need it (hence Hij stands instead of Hrij).The contact restricts motion z and is expressed in form (18). The resting s-coordinate is free:

sf � x: �40�The matrices appearing in Jacobian form (25) are

Jz � �ÿl1 sin q1 ÿ l2 sin�q1 � q2� l2 sin�q1 � q2��; dim � 1� 2

Az � �ÿl1 cos q1 _q21 ÿ l2 cos�q1 � q2�� _q1 � _q2�2�; dim � 1� 1�41�

and the ones from (26) are

Jx � �l1 cos q1 � l2 cos�q1 � q2� l2 cos�q1 � q2��; dim � 1� 2

Ax � �ÿl1 sin q1 _q21 ÿ l2 sin�q1 � q2�� _q1 � _q2�2�; dim � 1� 1:�42�

The complex expression (21), de®ning the direction of tip velocity, can now be much simpler:

v0 � sgn _x �43�and thus friction (24) becomes

Ff � mFsgn _x: �44�For the description of dynamics in contact phase, model (20) is applied and it reduces to

H11 �q1�H12 �q2 � h1 � t1 � Jz1F� Jx1Ff

H21 �q1�H22 �q2 � h2 � t2 � Jz2F� Jx2Ff:�45�

Now, the calculation of dynamics is performed analogously as it was done for 5-DOFs robot:rigid-body contact dynamics ®rst, and then, introduction of elastodynamic interaction.Simulation example is presented in Section 5b.

4. Robot with Elastic Joints in a Contact Task

In the previous examples dynamics of system was considered as a relation between motionand input torques. Dynamic behaviour of actuators producing the torques was not discussed.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972956

Page 15: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

This could be justi®ed for few reasons. Di�erent types of actuators are used with robot systemsand they all have well known dynamic models. If the transmission between actuator and jointis nondeformable, the actuator dynamics can easily be incorporated into the dynamic model ofthe entire system. The problem appears with the examples in which the assumption aboutin®nite transmission rigidity is not valid. Contact tasks are good representatives of suchapplications. Joint deformation has to be taken into account and the elastodynamics oftransmission subsystem introduced into the dynamic model. This was done in Section 6 of Partl.

In this section we consider a cylindrical robot engaged in a process operation which includescontact (Fig. 6). It can be a writing task, grinding, polishing or other cutting operation. Ourmain intention is to examine the in¯uence between joint deformations and contact force andhence we simplify the system preserving the relevant e�ects. Refering to Part 1 the robotrepresents the working system while the surface being processed represents the environment.The environment is immobile, i.e. in a ``regular'' situation it has no DOFs. Thus ne=0 and qedoes not exist. For this reason it is not necessary to use index ``r`` with robot variables: wewrite n, q instead of nr and qr and analogously for other variables. For the robot consideredthe number of DOFs is n=3 and the joint position vector is q=(q1, q2, q3). The functionalcoordinates are s=(x, y, z). During free motion all s-coordinates are independent and whencontact is established this set has to be separated into two subsets: s f= (x, y) represents freemotion and s c= z=0 represents geometric constraint. Robot dynamic model can be found inform (18), Part 1, and omitting index ``r`` it becomes

H�q� h � ttt� JcT

F� JfT

Ff �46�where the dimensions are: H(3� 3), h(3� 1), J c= @z/@q(1� 3), J f= @(x, y)/@q(2� 3), Ff (2) andF is a scalar. For the particular con®guration shown in Fig. 6 the structure of model (46) iswhere+ stands for non-zero and q for zero elements.

It is clear that the model can be divided into two submodels, one containing the ®rst twoscalar equations and the other containing the third equation. These submodels are stillcoupled. The third equation in¯uences the ®rst two through the friction force (Ff depends onF). However, the reverse does not hold. The ®rst two equations do not in¯uence the third.Thus, the model describing the dynamics of q3 is decoupled. We now concentrate on thissubsystem only. It has the form

H33 �q3 � h3 � t3@z

@q3F: �48�

Co�cient H33 represents the mass of link 3 (let it be marked by m). h3 represents gravity forcemg. The Jacobian is @z/@q3= ÿ1. Since we consider the motion q3 only (i.e. we do not discussq1 and q2), index ``3`` in (48) may be omitted and the equation rewritten:

m �q�mg � tÿ F: �49�The gravity term can be omitted not looseing any relevant e�ect. Let us justify this. First, withmanipulators of the structure considered gravity is usually compensated. Second, gravity termappears only if the link moves in vertical direction. If the motion was horizontal, gravity would

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 957

Page 16: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

not in¯uence it and all the e�ects we were interested in would still be present. Hence, in theconsideration that follows, gravity will be ignored.Let now de®ne the drive and the transmission for the joint considered. The joint is driven by

a DC motor with the following parameters: J-moment of inertia, R-resistance, CM and CE

constants of torque and e.m.f. The input voltage is marked by u. The transmission is shown inFig. 7. Its main part is a harmonic drive (HD) with gear ratio N and the moments oif inertia I 0

and I0 (as de®ned in Section 6, Part l). The wheel following after HD turns rotation totranslation and its inertia is incorporated into the link mass.We assume that the only deformation is concentrated in the tube part of HD as shown by

the scheme in Fig. 7. Let sti�ness be c and damping constant d. Referring to Section 6, Part l,there is one transmission stage. The input angle is y 1=y and the input toque M 1=M whilethe output variables are y 2 and M 2. Angle y 2 is proportional to link translation, y 2=q/r, andtorque proportional to joint drive, M 2= tr. According to Eqs. (41) and (43), Part l, thedynamics of transmission can be described by

�I 0 � J� I0 0=N2��y �M1 ÿM2=N �50�

Fig. 7. One-dimensional robot.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972958

Page 17: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

M1 �M � CM

Ruÿ CMCE

R_y �51�

M2 � tr � c

�yNÿ q

r

�� d

� _yNÿ _q

r

��52�

or �J� I 0 � I

0 0

N2

��y � CM

Ruÿ CMCE

R_yÿ c

N

�yNÿ q

r

�ÿ d

N

� _yNÿ _q

r

�: �53�

Introducing elastic torque (52) into (49) the dynamic model of link acquires the form:

m �q � c

r

�yNÿ q

r

�� d

r

� _yNÿ _q

r

�ÿ F: �54�

Eqs. (53) and (54) describe the robot dynamics and the dynamics of environment is still neededto complete the model.According to Part l, the environment can be modelled as a deformable system with external

and internal deformation (Fig. 6a, Part l), or it can be simpli®ed to one deformation only(Fig. 6b, Part l). Here, we are going to discuss both cases starting with the latter one.The simpli®ed model of the environment is shown in Fig. 8. It can be linear or nonlinear.

For the linear case, elastodynamics can be described by

m 0 �x � Fÿ kxÿ b_x: �55�Deformation x follows directly from motion q:

Fig. 8. Simpli®ed model of environment.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 959

Page 18: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

x � qÿ qe; qe � const �56�where qe de®nes the position of the ®rst contact. Eq. (55) can be rewritten:

m 0 �q � Fÿ kqÿ bq� kqe: �57�Now, Eqs. (53), (54) and (57) de®ne the complete robot-plus-environmet dynamics. These threeequation contain three unknowns: two motions (q and y) and one force (F).In the approaching phase of robot task, the robot is considered as a free system and its

dynamics is solved from (53) and (54), but without force F. At the instant of contact, impactoccurs and the simpli®ed model of environment needs special treatment of this event. If theimpact lasts short (Dt4 0) and if it is considered nonelastic, then the law of momentumconservation can be used to solve the instant change in speed. Let qÇ 0 be the velocity of robotarm before the impact and qÇ0 after it. The law of momentum conservation applied to arm-plus-environment complex enables the calculation of qÇ0:

m _q 0 � �m�m 0� _q 0 0 : �58�Other state variables (position coordinates q, _y and velocity yÇ ) do not change during theimpact. In this way all the initial state values needed for integration of contact dynamics arefound.We now turn to the more complex case and treat the environment elasticity via two

deformations, external and internal (Fig. 9).

Fig. 9. Two-deformation model of environment.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972960

Page 19: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

The contact force can now be expressed in form

F � k 0x 0 � b 0 _x 0 �59�and the model of elastodynamics becomes

m 0 �x0 0 � k 0x 0 � b 0 _x 0 ÿ k

0 0x0 0 ÿ b

0 0 _x0 0: �60�

In the contact phase there exists a relation between arm motion q and environmentdeformation x 0, x0:

q � qe � x 0 � x0 0: �61�

Now, the Eqs. (53) and (54) together with (59) describe robot dynamics, while (60) de®nes thedynamic environment. The complete system has 3 DOFs and Eq. (61) is used to reduce the setof coordinates to 3. For instance coordinates y, q and x0 could be used to de®ne position (anyother, combination of 3 coordinates among y, q, x 0 and x0 is possible).With this approach to environment dynamics no impact analysis is needed. The external

deformation smoothes the impact e�ects and all state variables are continuous. At the instantof impact it is enough to switch from the model of free motion to the model of contactmotion. Simulation example is presented in Section 5c.

5. Simulation Experiments

In this section, the dynamic models derived are used to simulate the system behaviour. Theexamples that will be considered were shown in Sections 2±4. For the simulation experiments,the control will be synthetized by using the dynamic approach (so-called dynamiccontrol, [1, 2]). The concept of control is described in the Appendix.

5.1. Robot in contact with a transport cart

The system con®guration is shown in Fig.1. The robot has two links and two joints. Eachjoint is driven by a DC motor. The data about links and motors are given in Table 1. Thelength of links is marked by lj, mass by mj and inertial moment by Ij. Rj represents rotorresistence and JJ its inertial moment. CM and CE are constants of torque and e.m.f. Nj is gearratio. It is assumed that the robot has static compensation that reduces gravity load by 70%,the remaining 30% stay uncompensated. The cart mass is me1=100 kg and the motor is equalto those used for robot drive. The motor shaft is connected to the cart wheel directly and theradius of the wheel is r=0.1 m.The required speed of the cart is v0=0.25 m/s. The robot starts from the resting position

de®ned by qr(0)=(0.5 p/6) (position A in Fig. 1). Then the robot moves towards the cart. Therobot tip accelerates in horizontal direction, achives v0 in 0.5 s and then keeps this horizontalvelocity. In vertical direction, the tip moves down with triangular velocity pro®le so as to reachthe level of the cart in 1 s. At this instant the contact with the cart is made (state B in Fig. 1).The motion is programmed so as to avoid impact (relative speed equals zero). The robot

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 961

Page 20: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

should produce forces upon the cart: F1=100 N in horizontal direction and F2=100 N invertical direction (state C in Fig. 1). It is planned that the forces reach the required value (100N) exponentially.In the approaching phase (motionA4 B), PD regulators were used to control the system.

The dynamics was simulated by using the rigid-body model. The results of this phase are notso important for the topic and therefore are not presented in this paper.After the instant of contact, the elastodynamics is introduced in the model. The deformation

is considered at both sides of contact (robot and environment) as it was explained in Section 2and Fig.6a, Part 1. At each side, two stages of deformation are considered, external and

Table 1Robot parameters

Links Motors Gears

j lj mj Ij Rj Jj CMj=CEj

Nj

1 1. 60. 5. 1.3 0.00079 0.5 2002 1. 40. 3.5 1.3 0.00079 0.5 200

Fig. 10. Control inputs.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972962

Page 21: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

internal. With such model the impact is smooth and does not need special treatment. Theparameters of the elastodynamic model are: k 0e=k0e=k 0r=k0r=104 N/m,b 0e=b0e=b 0r=b0r=10 N/(m/s), m 0e=m 0r=10 kg. In the contact phase of motion(B4 C 4 ���, dynamic control based on position information [1, 2] was applied. Fig. 10±13present the results of simulation. Fig. 10 shows the control voltages, ue for the cart and ur1, ur2for the two robot joints. The deformations in horizontal direction are shown in Fig. 11, andthe deformations in vertical direction in Fig. 12. One can see that external deformations (x 0eand x 0r) change towards constant values, while internal deformations (x0e and x0r) areoscilatory. Fig. 13 shows the contact forces F1 in horizontal and F2 in vertical direction.

5.2. Writing task - contact with friction

The system con®guration is shown in Section 3, Fig. 5. The robot has two links and twojoints. Each joint is driven by a DC motor. The links are equal and have lengths lj=0.3 m,masses mj=3 kg and inertial moments Ij=0.025 kg m 2. Motors are equal, too, and have

Fig. 11. Deformationsin horizontal direction.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 963

Page 22: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

parameters: Rj=0.272 O, Jj=0.000452 kgm2, CMr=0.061 Nm/A, gear-box ratio is Nj=160for speed and N*j=65.12 for torque.The robot starts from the resting position A (see Fig. 5) and moves towards B. The robot tip

moves along a streight line and reaches B in T1=1 s. The trapezoidel velocity pro®le has anacceleration/deceleration period 0.1 T1. Thus, the motion is planned so as to reach the supportwith zero velocity. At point B, the contact with the support is made and the robot startsmoving over it towards point C. The motion lasts T2=4 s with trapezoidal velocity pro®le andacceleration/deceleration period 0.2 T2. After reaching C, the tip moves back to B under thesame conditions. During the motion from B to C and back to B, the robot has to produce apressure force F=100 N upon the support. After the instant of contact, the force should risefrom 0 to 100 N linearly in 0.1 s, and after that it should be constant. Between the robot tipand the support, friction occurs. The friction coe�cient is m=0.4.In the approaching phase (A4 B), the robot is controlled by PD regulator. Simulation was

made by using the model of rigid body dynamics. The resultes of this phase are not soimportant for the topic and are not presented in this paper. Due to the tracking error, the tip

Fig. 12. Deformations in the vertical direction.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972964

Page 23: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

does not reach the support with zero-velocity and hence impact occurs. In order to solve theimpact and the contact motion, elastodynamic e�ects have to be introduced. The analysis ofthese e�ects is based on the one-deformation-model shown in Section 3 and Fig. 6(b), Part 1.The deformation appears at the environment side (support) while robot links are consideredin®nitely rigid. Parameters of the elastodynamic model are: sti�ness k=105 N/m, dampingconstant b=1 N/(m/s), and equivalent mass me=10 kg.The impact was solved by using the law of momentum as explained in Section 3. The impact

momentum was calculated for the reaction force, FDt=0.0368 Ns, and for the friction,FfDt= ÿ0.0157 Ns. The position of collision and the change in velocities gave the initialconditions for simulation of contact motion(B4 C 4 B). The control law applied in thisphase was based on information about position in horizontal direction and about force inverical direction [1, 2]. Figs. 14 and 15 show the resultes of simulation. The motion of therobot tip in horizontal direction is shown in Fig. 14(a), while Fig.14(b) shows the motion invertical direction i.e. the deformation. Figure 15 shows the forces. Diagram (a) presents thepressure force F and diagrams (b), (c) the friction Ff .

Fig. 13. Contact force.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 965

Page 24: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

Fig. 14. Motion of robot tip.

Fig. 15. Contact forces.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972966

Page 25: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

5.3. Robot with elastic joints in a contact task

The system con®guration is shown in Section 4, Fig. 7. Mass of robot link is mr=50 kg. Itis driven by a DC motor with the following parameters: J=7.9�10ÿ4 kgm2, R=0.175 O,CM=0.0575 Nm/A. Transmission consists of a harmonic drive (HD) of gear ratio N=50 anda wheel of radius r=0.15 m. The tube part of HD is considered deformable with sti�nessc=14000 Nm/rad and damping d=0.0196 Nm/(rad/s).Contact deformation appears at the environment side only. We are going to discuss two

models of environment elastodynamics as explained in Section 4. First we use the one-deformation model, i.e. the model of type (b) as shown in Fig. 6, Part 1. Its parameters are:equivalent mass m 0=10 kg, sti�ness k=105 N/m, and damping b=0.5 N/(m/s). After that,the two-deformation model is applied. It is the model of type (a) as shown in Fig. 6, Part 1. Itsparameters are m 0=10 kg, k 0=105 N/m, b 0=1 N/(m/s), k0=105 N/m, b0=0.5 N/(m/s). Theinitial distance of robot link from the environment is qe=1 m.In the approaching phase of the task the robot is controlled by PD regulator. The control

does not take care of ¯exible-transmission e�ects since the precize tracking during approachingis considered important in this task. The simulation was perfmormed by using the model thatincludes transmission elastodynamics. Tracking errors are shown in Fig. 16.With the environment of type (b), the contact is followed by impact. The impact was solved

by applying the law of momentum and in that way the initial state for contact phase wasobtained. With the environment of type (9), no special treatman of impact was needed. Allstate variables were continuous over the instant of contact.In the contact phase of the task, the robot has to produce a pressure force F=100 N upon

the environment. The force should increase linearly from 0 to 100 N in 0.1 s and then stayconstant. For the control of contact behaviour, two versions of dynamic control were checked:the ®rst control law was based on position information and the other one on forceinformation. Figs. 17±19 present the results of simulation. In Fig. 17. the error in force and theerror in position are shown for the case of position control law and the environment of type(b). The same control concept was applied to the environment of type (a) and the results areshown in Fig. 18.

Fig. 16. Tracking error in the approaching phase of the task.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 967

Page 26: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

Fig. 17. Simulation using force control law for the environment of type (b).

Fig. 18. Simulation using positioncontrol law for the environment of type (a).

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972968

Page 27: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

The force control law was applied to the environment of type (b). Simulation results arepresented in Fig. 19. The ®rst two diagrams from Fig. 19 demonstrates the acceptablebehaviour of the contact system. However, variation of environment parameters showed thatsometimes the force control law might lead to inappropriate resultes in position tracking. Thisdemonstrated in the later two diagrams from Fig. 19 [combination of parameters was m 0=5kg, k=103 N/m, b=0.N/(m/s)].

Fig. 19. Simulation using force control law for the environment of type (b).

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 969

Page 28: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

6. Conclusion

The general model of contact dynamics derived in Part l was applied to particular problems.In all problems, contact elastodynamics was the main e�ect. The ®rst problem was cooperativework of a robot and a transport cart. The idea was to examine the in¯uence of contact e�ectsto the driven degrees-of-freedom. The second example dealt with friction. Writing task waschosen to represent robot applications in which resistance to motion was expressed. Finally,the third example demonstrated the e�ects of deformation in torque transmission. The mutualin¯uence between transmission elasticity and environment elastodynamics was analyzed.

Acknowledgements

The authors acknowledge V. Matijevic , BSc. on his useful assistance during analysis andsolution of this work.

Appendix A

The model of the robot interacting with the environment is described by well known vectordi�erential equation of the form:

H�q� �q� h�q; _q� � t� JT�q�F: �A1�It has been adopted that the dimension of vector F in Cartesian space is equal to thedimension of DOFs of robotic mechanism.Dynamic envioronment is described in the frame of robot coordinates as a system of

nonlinear di�erential equations:

M�q� �q� L�q; _q� � ÿST�q�F �A2�Desired motion (DM) qd(t) and desired interaction force (DFI) Fd(t) must satisfy the followingrelation:

Fd�t� � f�qd�t�; _qd�t� �qd�t��: �A3�The goal of robot control has to be formulated in such a way as to satisfy the goal conditions:

qd�t�; F�t�4Fd�t�; t41: �A4�In order to ensure the control laws stabilizing the motion with set quality of the transientresponses, the family of desired transient responses can be given by the vector di�erential equation:

�Z�t� � P�Z; _Z�; Z�t� � q�t� ÿ qd�t�; �A5�where P is a n-dimensional vector function, such that eqn (A5) has unique trivial solition Z(t)00.Then, the ful®llment of the requirements which have been imposed on the transient responses isensured by the choice of the function P, and the robot control should be designed in a such a way

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972970

Page 29: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

that the robot dynamics equation for such control coincides with eqn (A5) in absence of any

perturbations except the initial ones. The task of stabilizing Fd(t) is posed in an analogous way, by

considering a family of transient responses with respect to force, in the form of di�erential

equations:

_m � Q�m�; �A6�where m(t)= F(t)-Fd(t), and by choosing continuous function Q[Q(0)=0] such that the

asymptotic stability a whole is ensured for the trivial solution of m(t)00.

Let us synthesize control law t9t) in such a way as to ensure a desired quality of robot

motion(A5). This can be achieved by one of the possible control laws:

t � H�q�� �qd � P�Z; _Z�� � h�q; _q� ÿ JTF: �A7�The control goal is achieved by this control law, i.e. along with the closeness of the real and

desired robot motion, the closeness of real F(t) and desired Fd(t) force of interaction between

the robot and environment is attained.

In order to ensure the control laws stabilizing force of interaction of the robot with the

environment, a few control lwas which solve this task have been proposed. For convenience,

when describing the quality of transient responses with respect to perturbation force dynamics

(A6), an equivalent relation is used:

m�t� � m0 ��tt0

Q�m�t��dt: �A8�

One of the control laws stabilizing Fd(t) with a preset quality of transient response which uses

no explicit force feedback except the implicit one via integral of the di�erence F(t)-Fd(t), has

been proposed:

t � U�q; _q;c�q; _q;Fd ��tt0

Q�m�t��dt;Fd ��tt0

Q�m�t��dt�: �A9�

In a more developed form, control law (A9) becomes:

t �H�q�Mÿ1�q��ÿ L�q; _q� � ST�q��Fd �

�tt0

Q�m�t��dt��

� h�q; _q� ÿ JT�q��Fd �

�tt0

Q�m�t��dt�

�A10�

This control law has been synthesized, ensuring the desired quality stabilization of Fd(t). The

su�cient conditions for the stability of desired motion qd, when asymptotic stability of contact

force, Fd, is ful®lled, have been presented in the basic papers dedicated to the control of

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972 971

Page 30: Dynamics of Contact Tasks in Robotics. Part II—Case Study in Dynamics of Contact Motion

robotic manipulators interacting with dynamic environment. more detailed information aboutnew procedure for contact tasks solution can be found in refs [1, 2].

References

[1] Y. Ekalo, M. Vukobratovic , International Journal of Robotics and Automation 9 (3) (1994) 91±98.[2] M. Vukobratovic , Y. Ekalo, Robotica 14 (1) (1996) 31±39.

P. Veliko, M.K. Vukobratovic / Mechanism and Machine Theory 34 (1999) 943±972972