圓柱坐標型工業(yè)機器人設計
圓柱坐標型工業(yè)機器人設計,圓柱,坐標,工業(yè),機器人,設計
Full-Pose Calibration of a Robot Manipulator Using a Coordinate-
Measuring Machine
Morris R. Driels, Lt W. Swayze USN and Lt S. Potter USN
Department of Mechanical Engineering, Naval Postgraduate School, Monterey, California, US
The work reported in this article addresses the kinematic
calibration of a robot manipulator using a coordinate measuring
machine (CMM) which is able to obtain the full pose of
the end-effector. A kinematic model is developed for the
manipulator, its relationship to the world coordinate frame and
the tool. The derivation of the tool pose from experimental
measurements is discussed, as is the identification methodology.
A complete simulation of the experiment is performed, allowing
the observation strategy to be defined. The experimental work
is described together with the parameter identification and
accuracy verification. The principal conclusion is that the
method is able to calibrate the robot successfully, with a
resulting accuracy approaching that of its repeatability.
Keywords: Robot calibration; Coordinate measurement; Parameter
identification; Simulation study; Accuracy enhancement
1. Introduction
It is well known that robot manipulators typically have
reasonable repeatability (0.3 ram), yet exhibit poor accuracy
(10.0 mm). The process by which robots may be calibrated
in order to achieve accuracies approaching that of the
manipulator is also well understood [1]. In the calibration
process, several sequential steps enable the precise kinematic
parameters of the manipulator to be identified, leading to
improved accuracy. These steps may be described as follows:
1. A kinematic model of the manipulator and the calibration
process itself is developed and is usually accomplished with
standard kinematic modelling tools [2]. The resulting model
is used to define an error quantity based on a nominal
(manufacturer's) kinematic parameter set, and an unknown,
actual parameter set which is to be identified.
2. Experimental measurements of the robot pose (partial or
complete) are taken in order to obtain data relating to the
actual parameter set for the robot.
3.
The actual kinematic parameters are identified by systematically
changing the nominal parameter set so as to reduce
the error quantity defined in the modelling phase. One
approach to achieving this identification is determining
the analytical differential relationship between the pose
variables P and the kinematic parameters K in the form
of a Jacobian,
and then inverting the equation to calculate the deviation of
the kinematic parameters from their nominal values
Alternatively, the problem can be viewed as a multidimensional
optimisation task, in which the kinematic parameter
set is changed in order to reduce some defined error function
to zero. This is a standard optimisation problem and may
be solved using well-known [3] methods.
4. The final step involves the incorporation of the identified
kinematic parameters in the controller of the robot arm,
the details of which are rather specific to the hardware of
the system under study.
This paper addresses the issue of gathering the experimental
data used in the calibration process. Several methods are
available to perform this task, although they vary in complexity,
cost and the time taken to acquire the data. Examples of
such techniques include the use of visual and automatic
theodolites [4, 5, 6], servocontrolled laser interferometers [7],
acoustic sensors [8] and vidual sensors [9]. An ideal measuring
system would acquire the full pose of the manipulator (position
and orientation), because this would incorporate the maximum
information for each position of the arm. All of the methods
mentioned above use only the partial pose, requiring more
data to be taken for the calibration process to proceed.
2. Theory
In the method described in this paper, for each position in
which the manipulator is placed, the full pose is measured,
although several intermediate measurements have to be taken
in order to arrive at the pose. The device used for the pose
measurement is a coordinate-measuring machine (CMM),
which is a three-axis, prismatic measuring system with a
quoted accuracy of 0.01 ram. The robot manipulator to be
calibrated, a PUMA 560, is placed close to the CMM, and a
special end-effector is attached to the flange. Fig. 1 shows
the arrangement of the various parts of the system. In this
section the kinematic model will be developed, the pose
estimation algorithms explained, and the parameter identification
methodology outlined.
2.1 Kinematic Parameters
In this section, the basic kinematic structure of the manipulator
will be specified, its relation to a user-defined world coordinate
system discussed, and the end-point toil modelled. From these
models, the kinematic parameters which may be identified
using the proposed technique will be specified, and a method
for determining those parameters described.
The fundamental modelling tool used to describe the spatial
relationship between the various objects and locations in the
manipulator workspace is the Denavit-Hartenberg method
[2], with modifications proposed by Hayati [10], Mooring
[11] and Wu [12] to account for disproportional models [13]
when two consecutive joint axes are nominally parallel. As
shown in Fig. 2, this method places a coordinate frame on
each object or manipulator link of interest, and the kinematics
are defined by the homogeneous transformation required to
change one coordinate frame into the next. This transformation
takes the familiar form
The above equation may be interpreted as a means to
transform frame n-1 into frame n by means of four out of
the five operations indicated. It is known that only four
transformations are needed to locate a coordinate frame with
respect to the previous one. When consecutive axes are not
parallel, the value of/3. is defined to be zero, while for the
case when consecutive axes are parallel, d. is the variable
chosen to be zero.
When coordinate frames are placed in conformance with
the modified Denavit-Hartenberg method, the transformations
given in the above equation will apply to all transforms of
one frame into the next, and these may be written in a
generic matrix form, where the elements of the matrix are
functions of the kinematic parameters. These parameters are
simply the variables of the transformations: the joint angle
0., the common normal offset d., the link length a., the angle
of twist a., and the angle /3.. The matrix form is usually
expressed as follows:
For a serial linkage, such as a robot manipulator, a coordinate
frame is attached to each consecutive link so that both the
instantaneous position together with the invariant geometry
are described by the previous matrix transformation. 'The
transformation from the base link to the nth link will therefore
be given by
Fig. 3 shows the PUMA manipulator with the
Denavit-Hartenberg frames attached to each link, together
with world coordinate frame and a tool frame. The transformation
from the world frame to the base frame of the
manipulator needs to be considered carefully, since there are
potential parameter dependencies if certain types of transforms
are chosen. Consider Fig. 4, which shows the world frame
xw, y,, z,, the frame Xo, Yo, z0 which is defined by a DH
transform from the world frame to the first joint axis of
the manipulator, frame Xb, Yb, Zb, which is the PUMA
manufacturer's defined base frame, and frame xl, Yl, zl which
is the second DH frame of the manipulator. We are interested
in determining the minimum number of parameters required
to move from the world frame to the frame x~, Yl, z~. There
are two transformation paths that will accomplish this goal:
Path 1: A DH transform from x,, y,, z,, to x0, Yo, zo
involving four parameters, followed by another transform
from xo, Yo, z0 to Xb, Yb, Zb which will involve only two
parameters ~b' and d' in the transform
Finally, another DH transform from xb, Yb, Zb to Xt, y~, Z~
which involves four parameters except that A01 and 4~' are
both about the axis zo and cannot therefore be identified
independently, and Adl and d' are both along the axis zo and
also cannot be identified independently. It requires, therefore,
only eight independent kinematic parameters to go from the
world frame to the first frame of the PUMA using this path.
Path 2: As an alternative, a transform may be defined directly
from the world frame to the base frame Xb, Yb, Zb. Since this
is a frame-to-frame transform it requires six parameters, such
as the Euler form:
The following DH transform from xb, Yb, zb tO Xl, Yl, zl
would involve four parameters, but A0~ may be resolved into
4~,, 0b, ~, and Ad~ resolved into Pxb, Pyb, Pzb, reducing the
parameter count to two. It is seen that this path also requires
eight parameters as in path i, but a different set.
Either of the above methods may be used to move from
the world frame to the second frame of the PUMA. In this
work, the second path is chosen. The tool transform is an
Euler transform which requires the specification of six
parameters:
The total number of parameters used in the kinematic model
becomes 30, and their nominal values are defined in Table
1
2.2 Identification Methodology
The kinematic parameter identification will be performed as
a multidimensional minimisation process, since this avoids the
calculation of the system Jacobian. The process is as follows:
1. Begin with a guess set of kinematic parameters, such as
the nominal set.
2. Select an arbitrary set of joint angles for the PUMA.
3. Calculate the pose of the PUMA end-effector.
4. Measure the actual pose of the PUMA end-effector for
the same set of joint angles. In general, the measured and
predicted pose will be different.
5. Modify the kinematic parameters in an orderly manner in
order to best fit (in a least-squares sense) the measured
pose to the predicted pose.
The process is applied not to a single set of joint angles but
to a number of joint angles. The total number of joint angle
sets required, which also equals the number of physical
measurement made, must satisfy
where
Kp is the number of kinematic parameters to be identified
N is the number of measurements (poses) taken
Dr represents the number of degrees of freedom present in
each measurement
In the system described in this paper, the number of degrees
of freedom is given by
since full pose is measured. In practice, many more measurements
should be taken to offset the effect of noise in the
experimental measurements. The optimisation procedure used
is known as ZXSSO, and is a standard library function in the
IMSL package [14].
2.3 Pose Measurement
It is apparent from the above that a means to determine the
full pose of the PUMA is required in order to perform the
calibration. This method will now be described in detail. The
end-effector consists of an arrangement of five precisiontooling
balls as shown in Fig. 5. Consider the coordinates of
the centre of each ball expressed in terms of the tool frame
(Fig. 5) and the world coordinate frame, as shown in Fig. 6.
The relationship between these coordinates may be written
as
where Pi' is the 4 x 1 column vector of the coordinates of
the ith ball expressed with respect to the world frame, P~ is
the 4 x 1 column vector of the coordinates of the ith ball
expressed with respect to the tool frame, and T is the 4 ? 4
homogenious transform from the world frame to the tool
frame.
then T may be found, and used as the measured pose in the
calibration process. It is not quite that simple, however, since
it is not possible to invert equation (11) to obtain T. The
above process is performed for the four balls, A, B, C and
D, and the positions ordered as
or in the form
Since P', T and P are all now square, the pose matrix may
be obtained by inversion
In practice it may be difficult for the CMM to access four
bails to determine P~ when the PUMA is placed in certain
configurations. Three balls are actually measured and a fourth
ball is fictitiously located according to the vector cross product
Regarding the determination of the coordinates of the
centre of a ball based on measured points on its surface,
no analytical procedures are available. Another numerical
optimisation scheme was used for this purpose such that the
penalty function
was minimised, where (u, v, w) are the coordinates of the
centre of the ball to he determined, (x/, y~, z~) are the
coordinates of the ith point on the surface of the ball and r
is the ball diameter. In the tests performed, it was found
sufficient to measure only four points (i = 4) on the surface
to determine the ball centre.
收藏