Compliant Motion Control for Robust Robotic Surface Finishing

marblefreedomAI and Robotics

Nov 14, 2013 (3 years and 5 months ago)


Compliant Motion Control for Robust Robotic Surface

David J. Buckmaster and Wyatt S. Newman Steven J. Somes
Dept. of Electrical Engineering and Computer Science Western Robotics Corporation
Case Western Reserve University Kirtland, Ohio 44094, USA
Cleveland, Ohio 44106, USA
{djb30 & wnewman}

* This work was supported by the National Science Foundation under grant # 0539650. Any opinions, findings and conclusions or recommendations
expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Abstract—With the emergence of stable and responsive robotic
compliant motion control, introducing robotic grinding and
deburring to industry may soon be feasible. Technical needs for
this transition include means to accommodate imprecise
fixturing, a method for simple, intuitive and dependable
programming, and the ability to monitor process progress online.
We describe a new hybrid form of Natural Admittance Control
that is used to address these challenges.

Index Terms – Force Control; Intelligent and Flexible
Manufacturing; Parts Feeding and Fixturing

intensive investigation and the efforts of
commercial robot builders over the past three decades,
automated grinding and deburring remains a selective and rare
solution for manufacturers. Although anticipated as a growth
area, robotic metal finishing applications constitute less that
1% of current robot applications [1]. In a recent DOE-
sponsored robotics-in-manufacturing workshop, metal-
industry participants reiterated the need for automated
solutions to replace intensive manual labor in metal-finishing
tasks. Primary reasons cited were labor cost, quality control,
and health concerns. Robot cost, which has decreased
significantly in recent years, was not cited as a user concern.
Rather, the barriers are that robots remain inept at metal
finishing applications and are too difficult to program [1].
Turbine-blade finishing was chosen as the target application
for this work. A sample unfinished (scrap) part is shown in
Fig. 1. These parts present a significant challenge since the
surface of interest – derived from computational fluid
mechanics – does not offer simple flats, edges, holes, or other
convenient features for identifying part pose. One finishing
operation required is removal of pin bumps left from casting,
which requires that a significant but variable amount of
material be removed from critical surfaces of the blade.
Our approach to accomplishing competent and reliable
robotic part finishing consists of automated registration of the
physical part with a CAD representation, automatic
characterization of the feature to be removed, and in-process
gauging of task execution to determine completion.
The ParaDex robot – a prototype 7-DOF closed-chain
manipulator – was used in this work because it was designed
to provide high-performance force-responsiveness [2,3].

The logical mode of compliance for finishing a complex
surface is to behave compliantly only along a vector normal to

Fig. 1. Unfinished turbine blade.

Fig. 2. ParaDex with pneumatic die grinder.

that surface while maintaining precise position control with
respect to the surface’s tangent plane. This allows precise
tracking of grinding trajectories while exerting controlled and
gentle pressure on the part’s surface.
The robot used in the present work is the ParaDex robot—a
closed-chain manipulator with direct-drive rectilinear motors
and inherently low friction [2]. A specific form of compliant
motion control, “Natural Admittance Control” (NAC) [4], was
shown to offer very responsive compliant motion on this
robot. Previous work demonstrated the value of NAC with
this robot in the context of mechanical assembly [3].
Under NAC, the programmer can specify the stiffnesses
and damping components with respect to the end effector.
NAC can achieve high endpoint admittances (i.e. high
responsiveness to sensed forces) that exhibit passivity, and
thus are stable in interaction with the most demanding
environments (e.g., very stiff surfaces).
While NAC can achieve high endpoint admittance, a
limitation of NAC (like impedance control), is that it cannot
achieve high endpoint stiffness. Conventional position control
outperforms NAC in precise tracking.
Since, for our grinding application, it was desired to have a
high admittance normal to the part surface and a high
impedance tangent to the part surface, extensions to NAC
were required. Following the outlines of hybrid force/position
control, an analogous control algorithm was developed using
NAC/position control.
A. Natural Admittance Control
Under NAC, compliant motion is achieved by mimicking
model dynamics of a pure inertia, i.e. F=ma. More generally:

F Hq=

is the manipulator Jacobian,
is a vector of joint-
space accelerations,
is the manipulator matrix inertia
tensor, and each
is a 6-DOF force/torque wrench. Note
that the target dynamics does not include Coriolis and
centrifugal terms. This approximation is warranted by the fact
that robot velocities should be deliberately low when contact
is present or imminent. The forces of interest to be summed,
, are the sensed forces,
, and the virtual forces,
. The sum of these forces will be referred to as
The virtual forces constitute the interface means for a program
to guide the robot to a desired pose or equilibrium force.
The virtual forces are defined in Cartesian space as:

( )
( )
virtual stiffness tool
damping tool
K x x
B x x
= −
+ −
& &
Per this virtual-force equation, the robot behavior can be
influenced by modulating the matrix of stiffnesses,
the matrix of damping terms,
, and the position and
velocity of a virtual attractor,
Per the Natural-Admittance philosophy, the combination of
sensed and virtual forces (and moments) should induce joint
accelerations consistent with the model dynamics of (1).
Further, the values of the inertia matrix,
, should
approximate the true (“natural”) robot inertia. Subject to this
constraint, gentle and responsive compliant motion control
can be realized that is stable in stiff interactions.
To enforce emulation of the dynamics of (1), the robot’s
joints are servoed to track the trajectory that would result from
the net forces if (1) held true. Expressed in Cartesian
coordinates, the tool-tip velocity should evolve as:

1 T
v t t v t JH J F t

Δ = + Δ
which is similar in dynamics to Khatib’s “operational space”
formulation [5].
B. Hybrid NAC/Position Control
For compliance along one vector only, vector
, the net
force would be projected along this vector:

( )
roj net
r r F=
If only the projected forces were applied to the manipulator,
the resultant Cartesian accelerations would be:

a t JH J F

Due to kinematic coupling, these accelerations are not, in
general, along the axis of compliance. The Cartesian
accelerations may be projected to lie exclusively along the
compliance vector by enforcing:

1T T
roj proj
a r r JH J F

In the style of Raibert and Craig’s hybrid force/position
control [6], we may define a selection matrix corresponding to
the compliance axis as:

S rr=
This selection matrix may be invoked to define the desired
Cartesian accelerations that would ideally result from NAC
restricted to a vector r:

a S JH J S F

It follows that the corresponding Cartesian tool-tip
velocities and positions would evolve as:

) ( )
NAC proj NAC proj NAC proj
v t t v t a t
Δ = + Δ
To combine NAC with position control, desired Cartesian
tool velocities can be defined corresponding to position
control and then restricted to a space orthogonal to the
compliance vector. For position control, desired Cartesian
velocities are defined based on the attractor position and the
robot’s actual position, e.g. with a velocity command
proportional to position error:

( )
vp attractor
des P robot
v K x x= −
To eliminate the velocity command along the compliance
axis, the projection of velocity along this axis is subtracted

( )
( )
P proj
des P des P
des P
vp attractorP
v v rr v
I rr v
S K x x
= −
= −
= −
Subtracting off the projection is equivalent to
premultiplying by a selection matrix,
, which is
complementary to the NAC selection matrix:
I S S= +
With velocities defined for NAC control and for position
control, and with these projected either onto the compliance
axis (NAC) or onto a plane normal to the compliance axis
(position control), a net velocity command vector can be
defined in Cartesian space:

P proj
NAC proj
v v v= +
The corresponding tool-tip position would evolve as:

( ) ( )
hybrid hybrid hybrid
t t x t v t+Δ = + Δ
The hybrid NAC/position control velocity and pose are
translated into joint space:

hybrid hybrid
q J v


( )
hybrid kinematics hybrid
q f x

These joint-space values are used as inputs in a stiff, joint-
by-joint PD servo controller.
This new hybrid NAC/position controller allows a robotic
manipulator to behave compliantly along selected directions
while maintaining rigid position control in the complementary
subspace. NAC’s guaranteed stability with any passive
environment is preserved, and its usefulness is extended to
applications where complex workpiece geometries require
thoughtful assignment to axes of compliant motion.


Tests were conducted to compare the capabilities of NAC
vs. the hybrid NAC/position controller. For our
implementation on the ParaDex robot, the maximum stiffness
that can be stably commanded is limited. This maximum value
depends on the impedance of the environment with which it
interacts, and thus it is hard to specify. However, NAC (like
impedance control) typically is more limited than
conventional position-based servo control in the maximum
achievable stiffness.
Fig. 3 shows results of testing hybrid NAC/position control.
In this test, the ParaDex was commanded to be compliant
along its vertical axis and stiff along its horizontal axes.
Strong external forces were exerted on the ParaDex along the
stiff axis. For characterization, the robot’s internal force
sensors and joint displacement encoders were used to obtain
data. A zoom on the region between -0.1mm and +0.1mm (not
shown) reveals a hysteresis, attributable to Coulomb friction.
Coulomb friction also induces some scatter in the vertical
direction relative to a line-fit of force vs. displacement. A line
fit through the data of Fig. 3 implies an equivalent stiffness of
nearly 38,000 N/m. For this system, better disturbance
rejection would require integral-error position feedback.
It should be noted that the impedance measured in this
fashion, using the robot’s internal sensors, does not include
effects of backlash or flexing of the connecting links.
Consequently, the actual endpoint stiffness will be lower than
measured by this means. However, these mechanical effects
beyond the robot’s sensors would not be detected nor
compensated in any feedback control alternative. Therefore
the measurement approach appropriately characterizes the
attributes of the control algorithm itself.
Figs. 4-6 illustrate operation of the hybrid controller. An
attractor is commanded to move downwards, causing the
robot to make contact with a stiff surface. Compliance normal
to the surface results in a relatively low contact force
(approximately 2N), although the attractor is moved to well
below the surface. The attractor is then moved horizontally
while maintaining a vertical preload.
As shown in Fig. 5, the robot complies in the z direction,
allowing significant stretch between the z attractor and the z-
component of the end effector. Importantly, it is also stable in
contact with the stiff environment. A reaction force of 2N
corresponds to an attractor-vs-endpoint displacement of
approximately 8mm—i.e. a stiffness of approximately
250N/m. (The initial force offset is an artifact due to imperfect
compensation for expected vs. actual payload). In contrast, the
robot follows the attractor well in the x direction, which was
selected for position control. A Coulomb-friction disturbance
force of roughly 2N results in a relatively small following

Fig. 3. Force vs. Displacement for disturbance along non-compliant axis.

The robot is shown to track the horizontal motion of the
attractor, overcoming friction in contact with the work
surface, while maintaining soft compliance normal to the
surface. This behavior illustrates the performance desired for
our grinding application. The present extension is shown to
preserve the desirable behavior of NAC in a selected subspace
while achieving high stiffness in the orthogonal directions.
The ability to select directions for high admittance vs. high
impedance was exploited in the present work in three key
areas: allowing an operator to manually guide the robot to
teach points (with the operator directly grasping the robot’s
end effector), controlling the robot to discover part
registration using touch points, and performing grinding with
selective compliance.

The conventional approach for robotically performing tasks
requiring precise interaction is to construct fixtures that hold
workpieces in known poses – repeatable from part to part with
a variation that is smaller than the acceptable tolerance for the
task. In the context of surface finishing using a conventional
position-controlled robot, the required tolerance is
impractically demanding. This demand is also a particularly
imposing barrier for small-batch manufacturing for which
precision fixture fabrication is too slow and expensive. To
allow for imprecisely fixtured parts, the ParaDex itself was
used as a coordinate measuring machine to autonomously
discover the turbine blade’s configuration. Because the
ParaDex was not equipped with a touch-actuated probe, the
grinding tool was used as a probe. Using the hybrid
NAC/position control, the ParaDex was controlled to
approach touch points along a prescribed vector. The robot
was constrained to operate in position control orthogonal to
the vector and compliantly along the vector, allowing for a
gentle and precise approach.
It should be noted that coordinate measuring accuracy of
the ParaDex (or alternative robot) would not be competitive
with a commercial coordinate measuring machine. However,
the demands on precision are lightened by the ability of the
manipulator to interact compliantly with the workpiece during
A. CAD Model
A CAD model description of a finished airfoil was obtained
along with the unfinished parts from PCC Airfoils, Inc. The
model was provided in Parasolid format, the native file format
for the Parasolid 3D geometric modeling engine produced by
UGS, Inc. Custom software was written in C++ to interrogate
the CAD model for specific geometric details necessary for
automating robot programs.
The HOOPS graphical toolkit from Tech Soft America was
used for model display and user interaction. It also contained
collaboration features that were leveraged for real-time data
The CAD model server provided live access to part
geometry. A simple vocabulary of commands was created
supporting part surface property queries (coordinates, surface
normals, curvatures, etc.) and input of user-taught feature
B. Part Pose Identification
Finding part pose means identifying the 4x4 rigid-body
transformation from the robot’s base-frame to the CAD-
defined coordinate system associated with the part. Identifying
coordinate transforms can be relatively easy for parts that have
simple features, such as planar surfaces, precise edges,
corners, etc. The turbine blade required more complex
The robot relies on operator assistance to begin the process;
under compliant motion control, the operator guides the robot
such that its probe touches an established reference point on
the part (labeled Point 1 in Fig. 7). To assure repeatability, the
reference point was chosen to be roughly in between two of
the pin bumps found on unfinished parts. High precision was
not required.
The remainder of the pose identification process is
automated. The robot assumes that the part was in a nominal
pose, but the method can accommodate significant
perturbations (+/-100mm translation, +/-0.5 radians rotation
from nominal). Based on the nominal pose and the initial seed
point, the robot touches off on three points on a relatively flat
section of the part (labeled Points 2, 3, and 4 in Fig. 7). It is

Fig. 4. Attractor and position in the y-axis. Fig. 5. Attractor and position in the z-axis. Fig. 6. Forces along the y- and z-axes.

not necessary that these points correspond to known
coordinates on the part – only that they lie on the same nearly-
flat face. The auto-registration program then computes the
transformation from the nominal pose that results in making
those three points coplanar with the corresponding surface on
the CAD model.
Based on the first four touchpoints, the projection of the
fifth onto the horizontal plane is computable but with
uncertainty in its height. The robot approaches from above in
a vector-compliance mode to find this last point. A line
defined from the first to the fifth touchpoint is compared to a
corresponding (approximate) edge on the CAD model,
resolving the last transform ambiguity.
The resulting rigid-body transformation provides a good
estimate of the part’s pose. The pose identification still has
uncertainty, though, largely because the actual part has neither
truly planar faces nor edges. Nonetheless, using the resulting
transformation, points on the CAD model correspond to robot
touch points to within a few millimeters. Although this
accuracy is not good enough for performing a grinding
operation, it is good enough to direct the robot to the regions
of interest for surface finishing, as well as to automatically
generate desired tool-axis orientations with respect to surface
normals in the regions of interest. Higher accuracy is achieved
in a subsequent automated operation.
Throughout this process, the robot operates in hybrid
NAC/position control, behaving compliantly only normal to
the expected surface of the part, with attractor trajectories that
move only along that compliant axis. This ensures that the
force data used to determine points of contact is not
complicated by end-effector motion in unintended directions
caused by inappropriate NAC stiffnesses.
V. F

Having identified an approximate part pose, the robot can
be automatically directed to regions of interest for finishing
operations as defined in the CAD model. By interrogating the
model, surface tangents can be found and transformed into
robot tool coordinates. The robot is directed to touch the part
in the region of interest under hybrid NAC/position control,
and to move towards the feature while applying gentle
pressure to the part with the tool. Surface discontinuities are
discovered and their positions reported back.
Through this process, the robot learns the local coordinates
of the part surface and the boundaries of the feature to be
removed. This local information improves the performance of
the machine by only requiring precise repeatability and
accuracy of differential kinematics, relieving reliance on both
absolute part-pose knowledge and on absolute robot
positioning accuracy.
The robot was able to “feel” over patches of interest on the
part and a 10-second queue of robot state data was returned
and analyzed for each patch.
Figs. 8 through 10 illustrate an example. The actual robot
path is in 3D, but it has been projected onto its 2D principal-
component plane. In the initial pass over the feature (Fig. 8)
with soft compliance (hence the poor tracking of the attractor
point), the tool impacts the pin bump and traces over its
surface. The blue arc is the commanded path, the red arc is the
tool’s actual path, and the magenta arc is the desired surface
based on the boundaries of the bump. Note that these
measurements are taken while the grinder was running, and
differ from the true bump geometry by the approximately 4
mm radius of the grinding stone.
Process monitoring consisted of resampling the surface of
the part while grinding to quantify the progress. Fig. 9 shows
the profile of a pin bump after three grinding passes. Relative
to the initial profile, the height of the pin bump is reduced

Fig. 8. Profile data from first pass. Fig. 9. Traced profile after 3 passes. Fig. 10. Traced profile on final pass.
Fig. 7. CAD model representation of turbine blade with points used
for pose identification.

from 1.74 mm to 0.92 mm. Fig. 10 shows the final, completed
grinding path. The apparent (~0.5mm) difference between the
tool trajectory and the desired surface in Fig. 10 is due to
significant wear of the tool during the finishing procedure.
Fig. 11 shows the results of successful robotic pin bump

This highly encouraging venture into robotic surface
finishing indicates that the traditional barriers can be
overcome, especially for situations where precise workpiece
fixturing is not an option. With hybrid NAC/position control,
the robot itself can accommodate significant amounts of

[1] W. Newman personal communication; verbally reported by Robotics
Industries of America at DOE-sponsored robotics roadmapping
conference, Baltimore, MD, June 29, 2006.
[2] Wang, Y.; Newman, W.S.; Stoughton, R.S., "Workspace analysis of the
ParaDex robot-a novel, closed-chain, kinematically-redundant
manipulator," Robotics and Automation, 2000. Proceedings. ICRA '00.
IEEE International Conference on , vol.3, no., pp.2392-2397 vol.3,
[3] Kozlowski, D.; Stoughton, R.; Newman, W.S.; Hebbar, R., "Automated
force controlled assembly utilizing a novel hexapod robotic
manipulator," World Automation Congress, 2002. Proceedings of the 5th
Biannual , vol.14, no., pp. 547-552, 2002.
[4] Newman, W.S. and Y. Zhang, “Stable Interaction Control and Coulomb
Friction Compensation Using Natural Admittance Control.” Journal of
Robotic Systems, 1994. 11(1).
[5] Khatib, O. “A unified approach for motion and force control of robot
manipulators: The operational space formulation.” Robotics and
Automation, IEEE Journal of, [legacy, pre - 1988] Volume 3, Issue 1,
Feb 1987 Page(s):43-53.
[6] Raibert, M.H. and Craig, J.J. “Hybrid position/force control of
manipulators.” Transactions of the ASME. Journal of Dynamic Systems,
Measurement and Control v 103 n 2 1981 p. 126-33.

Fig. 11. Finished airfoil surface.