1
CHAPTER 6
Robot Compliance & Force
Control
Marcelo H. Ang Jr.
2
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
m
f
x
B
e
f
dist k
e
Control of a
MassSpring
damper system
We model the constant with the environment as a massspring
damper system. Environment has a mass m, stiffness k
e
, and
damping B
e
.
Marcelo H. Ang Jr.
3
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
m= consists of everything beyond the wrist force sensor,
(e.g. inertia of endeffector + tool)
k
e
= includes compliance of surface contacted, passive compliance
of wrist & force sensor.
f
dist
= unknown disturbance,
(e.g. friction, cogging in manipulators gearing)
Marcelo H. Ang Jr.
4
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
The variable we wish to control is the force acting on the
environment fe, (w/c is the force acting in the spring),
x k fe
e
=
(1)
Governing Eq is
dist e
f B f + + + =
  
x k x x m
e
(2)
Or written in terms of the variable we wish to control, fe, (using
),
e
k
fe
x =
dist
e
f
B
f + + + =
  
fe fe
k
fe
k
m
e e
(3)
Marcelo H. Ang Jr.
5
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
Like inverse dynamics control, (computed torque), we apply a
control law
dist
e
f
B
f + + +
(
+ + =
   
fe fe
k
e K e K fd
k
m
e
f P
f
V
e
f f
(4)
Where e
f
= fd  fe fd = desired force
0 = + +
  
e e e
f
P
f
V
f f f
K K
(5)
Resulting in the following closed loop system
Marcelo H. Ang Jr.
6
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
But, we cannot use knowledge of f
dist
in our control law (3),
therefore (3) is not feasible.
Say, use (as control law)
fe fe
k
e K e K fd
k
m
e
f P
f
V
e
f f
+ +
(
+ + =
   
e
B
f
(6)
Equating (6) and (3) yields,
Leave out fdist
(7)
dist
e e
e
f P
f
V
e
f fe fe
k
fe
k
m
fe fe
k
e K e K fd
k
m
f f
+ + + =
+ +
(
+ +
  
   
e
e
B
B
Marcelo H. Ang Jr.
7
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
A Steady State analysis of (7), by setting all time derivatives to
zero, results in
 
dist f P
e
f e K
k
m
f
=
(8)
If k
e
is large (stiff), o is small, e
f
is large.
dist
f
f
e =
where
f
P
e
k
k
m
=
Marcelo H. Ang Jr.
8
Pure Force Control Along a
Single DegreeofFreedom
(Ref: Craigs Book, Chapt. 11)
A better approach is to use fd in control law (4) instead of fe + f
dist
:
Equating (9) & (3) yields
fd fe
k
e K e K fd
k
m
e
f P
f
V
e
f f
+ +
(
+ + =
   
e
B
f
(9)
fd fe
k
e K e K fd
k
m
e
f P
f
V
e
f f
+ +
(
+ + =
   
e
B
f
dist
e e
f fe fe
k
fe
k
m
+ + + =
  
e
B
& a Steady State analysis (timeder= 0) yields the ff steady state error:
(9) is quite an improvement over (8).
1+
=
dist
f
f
e
dist f P
e
f fe fd e K
k
m
f
+ = +
But e
f
= fd  fe
(9)
Marcelo H. Ang Jr.
9
Practical Considerations
Force Trajectories are usually constants.
Applications that require constant forces to follow a specified
trajectory in time are rare.
Sensed forces are quite noisy, numerical differentiation to compute
is illadvised. However, , manipulators usually have sensors
for .
0 = =
  
fd fd
 
= x k fe
e

fe

x
Marcelo H. Ang Jr.
10
Practical Considerations
This leads to ff control law
fd e K x k K
k
m
f P e V
e
f f
+
)
`
+
(
=

f
fd x K e
k
K
m
f
f
V f
e
P
+
=

f
(10)
Marcelo H. Ang Jr.
11
Practical Considerations
Force errors generate a setpoint for an inner velocity control loop with
gain k
vf
.
Some force control laws also include an integral term to improve
steadystate performance.
One important remaining problem is that k
e
appears in our control law,
but is often unknown.
assume k
e
range, and gains are chosen such that the system is
somewhat robust with respect to the variations in k.
Marcelo H. Ang Jr.
12
HYBRID POSITION/FORCE
CONTROL
Ref: M. Raubert & J. Craig, Hybrid Position/Force Control of Manipulators,
Journal of Dyn. Syc. Meas. & Control, June ,1981.
Concept of a Constraint Frame on Compliance Frame &
Framework for Partially Constrained Tasks.
Every manipulation task can be broken down into subtasks that are
defined by a particular contact situation occurring between
manipulator tool (n ee) and the environment.
With each subtask, we may associate a set of constraints, called
natural constraints that result from the particular mechanical and
geometric characteristics of the task configuration.
Marcelo H. Ang Jr.
13
HYBRID POSITION/FORCE
CONTROL
In general, for each subtask configuration a generalized surface can
be defined with (natural) position constraints normal to the surface
and (natural free constraints) along the tangents. These 2 types of
constraints partition the degreesoffreedom of possible endeffector
motions into 2 orthogonal sets that must be controlled according to
different criteria.
Additional constraints, called artificial constraints, are introduced in
accordance with natural constraints to specify desired motions &
force trajectories.
That is, each time a user specifies a desired trajectory in either
position or force, an artificial constraint is defined.
Marcelo H. Ang Jr.
14
HYBRID POSITION/FORCE
CONTROL
These artificial constraints also occur along the tangents and normals
of the generalized constraint surface; but while natl constraints,
artificial force constraints are specified along surface normals, and
artificial positions constraints along tangents. Hence consistency with
natural constraints is preserved.
Marcelo H. Ang Jr.
15
HYBRID POSITION/FORCE
CONTROL
Extreme Cases:
Left figure:manipulator is moving through free space
Natural constraints are all force constraints. (all forces are zero)
Artificial constraints are all position, (position trajectory to be controlled)
Right figure:manipulator is glued to wall, cannot move
Natural constraints are all position constraints. (position = constant, vel=0)
Artificial constraints are all force, (force trajectory to be controlled)
Marcelo H. Ang Jr.
16
HYBRID POSITION/FORCE
CONTROL
Hybrid Position/Force Controller must solve 3 problems:
1. Position Control along directions in which a natural force constraint exists.
2. Force Control of a manipulator along direction in which a natural position
constraint exists.
3. A scheme to implement the arbitrary mixing of these modes along
orthogonal degreesoffreedom of an arbitrary frame (constraint frame)(via
a Selection Matrix S).
S = Selection Matrix (diagonal
matrix where a unity diagonal
element represents position
control in that direction, 0force
control).
Expressed in constraint frame
Marcelo H. Ang Jr.
17
HYBRID POSITION/FORCE
CONTROL
It is better to implement Hybrid Position/Free Control using Inverse
Dynamics in Cartesian (Task, or Constraint) space.
e x x x
F q G q q V q q D F + + + =
  
) ( ) , ( ) (
e
T
x
F q J q G q q V q q D F ) ( ) ( ) , ( ) ( + + + =
  
Cartesian space
Joint space
Marcelo H. Ang Jr.
18
STIFFNESS &
COMPLIANCE
Force control is difficult to accomplish with rigid structures.
One way to alleviate is with the use of passive compliance
devices.
Devices composed of springs & dampers for the purpose
of reducing the endpoint stiffness.
With such a device, certain
applications can be achieved
with pure position control.
Or better still, build
compliance in the robot
structure itself!
Marcelo H. Ang Jr.
19
STIFFNESS &
COMPLIANCE
The disadvantage of passively compliant device is that they are
limited in their range of applicability.
The RCC device, for example, can only insert pegs of a certain
length & orientation with respect to the hand.
To achieve a wider applicability, active control of endpoint
compliance is necessary.
Marcelo H. Ang Jr.
20
STIFFNESS CONTROL OF A
SINGLE Degreeoffreedom
Assume manipulator is in
contact with environment
whose position is x
e
.
Environment
f
x
e
x
e
xxd
Ref: Spoy & Vidyasajars work, Ch 9.
If position of manipulator x is x>x
e
, then the force exerted on
the environment is given by
) (
e e e
x x k f =
) (
e e
x x k x m f + =
 
(1)
(2)
Where k
e
= stiffness of environment
System is governed by
Where f is input force
Marcelo H. Ang Jr.
21
STIFFNESS CONTROL OF A
SINGLE Degreeoffreedom
With x
d
as shown, it is necessary to show that the PD Control Law.

= x kv x x k f
d p
) (
Results in a stable system if the gains are positive.
(3)
It can also be shown that the steady state force exerted on the
environment is
) ' (
e d
e p
e p
e
x x
k k
k k
f
+
=
+
(4)
has the interpretation of the desired
stiffness of manipulator
p
e p
e p
k
k k
k k
~
+
Note that for k
e
large,
) (
e d p e
x x k f ~
p
e p
e p
e
k
k k
k k
k
=
+
lim
The control law (3) in trying to eliminate the position error will then
cause the force f
e
in (4) to be exerted on the object in the steady state.
Marcelo H. Ang Jr.
22
Achieving Stiffness Control of
an Ndof Manipulator through
Joint Stiffnesses:
Specify a compliance frame {C} & define desired EndEffector
stiffness K
x
eR
6x6
in this compliance frame.
x x
k F o =
The diagonal elements of K
x
have high values for positional
control & low values for force control. It is useful to have off
diagonal elements to specify the desired forcemotion coupling.
Active research area: see ff. papers:
Ang, Robots in Industries: Why are They Not So Pervasive? in Proceedings of
Industrial Automation (IA) 92 Conference, Singapore, 2023 May 93.
Schimmds & Peshkin, Synthesis & Validation of Accom. Matrices for Error Corr.
Assy, IEEE Intl Conf of Rob & Autom. 1990, pp. 714719.
Marcelo H. Ang Jr.
23
Achieving Stiffness Control of
an Ndof Manipulator through
Joint Stiffnesses:
Since oX
=J(q) o q
and t=J
T
(q)F
We have
q
q K
x
T
q x
q J K q J o
o
) (
) ( ) ( =
Joint torques
Joint Stiffness Matrix
The control law to be implemented is
t=J
T
K
x
J (q
d
q) + t
b
Marcelo H. Ang Jr.
24
Achieving Stiffness Control of
an Ndof Manipulator through
Joint Stiffnesses:
The additional term t
b
can be used to provide additional
damping for stability, or to compensate for say, gravitational &
frictional torques.
) (q G
) , (

q q c
Need not be compensated if motion is
slow.
0 ~

q
In steady state, Force on environment is
equal to
x x
k F o =
as desired.