You are on page 1of 24

3 Force control To illustrate the concept, let us consider the

force control problem for the system as


In many applications, such as deburring, spot
follows:
welding and assembly parts, the manipulator
end effector is in contact with the
environments. Therefore, position as well as
interaction forces need to be controlled.

The overall system is governed by the


equation:

mx  f  

Assuming that the environmental stiffness can


be modeled as a spring, the force exerted on
the environment is given by:
f  ke ( x  xe ) 1 
f v
ke
where ke is the environmental stiffness and xe
is the static location of the environment. Let e ff  f d  f where fd is a desired force, the
force servo controller is:
Let 1
v  ( f d  kv e f  k1 p e f )
  v   ke

The closed-loop system is described by Thus


ef  kv e f  k p e f  0
mx  f  v  

Choose
 m 3.1 Hybrid Position/Force Control
=f In force control applications, we normally

gives need to control the motions in certain


directions (motion control subspace) and the
x  v
force in the direction orthogonal to the
Since f  ke x, the dynamics equation can be motions (force control subspace).
written as
For example, consider the following robot Therefore, the x and z components are to be
with three degrees of freedom contacting a position controlled and the y component is to
surface. be force controlled.

The basic concept of Hybrid Position/Force


control method is to decouple the position and
force control problems into two sub-tasks so
that motion and force controllers can be
designed separately.

Example

The Cartesian space vector for this robot is: To illustrate the concept, consider the
following robot with two degree of freedom.
x 
X y
 
 z 
The end effector is free to move in x and z x
y
directions but the motion in the y direction
is constrained by a surface. The
Cartesian space vector for this robot is: m 0   0  f
 1  ,   ( m  m ) g    0  .
 x  0 m1  m2   1 2   
X  
 y
Therefore, we have
The position y along the surface should be  x
X     v
motion controlled while x should be force  y
controlled.
v 
Let v   1  , we have
The dynamics of the robot is given as: v2 
x  v1
m1 x  f   1
y  v2
(m1  m2 ) y  (m1  m2 ) g   2
or Position Control
m1 0   x  0   f   1 
0   
 m1  m2   y (m1  m2 ) g   0   2  The servo control law is
v2  xd  k 2 v e  k 2 p e
The hybrid position and force controller is: where e  xd  x . Therefore,
  e  k2 v e  k2 p e  0
   1   v  
 2 
where
Force Control The force controller requires f and f , which

The normal force exerted on the surface is can be calculated from the position and

given by: velocity:

f  k e ( x1  xe ) f  k e ( x1  xe )
where ke is the surface stiffness. Since f  k e x1
f  k e x1 , the dynamics equation can be written

as In general, suppose the robot dynamics is


1  given as:
f  v1
ke
M x X  C x  g x  f e  
Let e f  f d  f , the force servo controller is:
The hybrid position and force controller takes
1
v1  ( f d  k1v e f  k1 p e f ) the form:
ke
 = v + 
Thus
  Mx
ef  k1v e f  k1 p e f  0   Cx  g x  fe
Substitute into the robot dynamics, we have

M x X  C x  g x  f e  v  
which gives:
X  v

Now, let

x  Similarly, the velocity and acceleration vectors


X  T
 xN  can be written as
 x   x 
where xT is the motion vector along the X   T  , X   T 
 x N   xN 
environment and xN is the motion vector
normal to the environment. One must If we partition the servo control law as

determine (select) which variables should be F 


F'  T 
force controlled and which should be position  FN 

controlled. For example, we have


xT  FT (motion control)
 x
xT    , xN  y xN  FN (force control)
z
in the previous example.
The motion and force controller can now be f e  K e ( xN  xe )
designed separately based on the above where Ke is a diagonal matrix used to denote
equations. the environmental stiffness and xe is a vector
that is used to denote the static location of the
Motion control
environment. Taking second derivative with
The motion servo law:
respect to time gives:
FT  xTd  KTv ET  KTp ET
xN  K e1 fe
results in the error equation:
Hence
ET  KTv ET  KTp ET  0 K e1 fe  FN

where ET  xTd  xT and xTd is a desired We define a force tracking error as


position of the end-effector on the E N  f ed  f e where f ed is a desired force
environment. normal to the environment. The force servo
law:
Force control
FN  K e1 ( fed  K Nv E N  K Np E N )
Assume that the surface can be modeled as a
gives the closed loop error equation:
spring, the force exerted on the environment is
modeled as: EN  K Nv E N  K Np E N  0 .

You might also like