(
(
(
=
(
(
(2)
Once substituting the DH parameters into eqs.(1) and (2), the tool tip position is given as
 
T
p x y z = (3)
with
C A C C C A C A C A C A
1 1 2 2 1 2
S C C ( +  ) C + S S S S ( +  ) C C C S
2 2 2 2 2 2
x Y Z d X X Z d X Y = +
C A C C C A C A C A C A
1 1 2 2 1 2
C C S ( +  ) S + S S C S ( +  )+ S C ( +  ) C S
2 2 2 2 2 2
y Y Z d X Y Z d Z d X = + , (4)
A A A
1 1 2 1 1
C + S C ( +  )+ ( +  )
2 2 2 2 2
z X X Y Z d Z d = + +
while the tool orientation is given as
 
T
a i j k = (5)
with
C C A C A
1 2 1
C S S C C
2 2 2
i = +
C C A C A
1 2 1
S S S S C
2 2 2
j = + + , (6)
A
1 1
C
2 2
k = +
where S
A
, C
A
, S
c
and C
c
denote the sin(A), cos(A), sin(C) and cos(C), respectively. Moreover, is the tool length, i.e., the
distance between the gauge plane and the ball centre, while d is the distance between the surface of table and the intersection of
the joint axes C and A. Moreover, from the configuration data, the joint limits of the Huron KX8five are extracted and listed as
follows:
315 mm X 335 mm
350 mm Y 350 mm
0 mm Z 450 mm (7)
180
A 45
99 999.999
C 99 999.999
d =75 mm
2.2 Velocity Analysis
In the particular case of tooltip milling, we have to consider the velocity of the tooltip with respect to the joint velocities, but
the tool tip orientation remains constant since it is determined by the Cartesian axes and therefore will not be retained in tool tip
velocity p . Hence, the required J acobian matrix of the milling machine, namely J, is used to map the jointrates
, (8)
with
T
C A Y X Z (
;  
T
p x y z
where J is defined as
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
3 5
J J J J J
p p p p p p
J J J J J J
C A Y X Z
J J J J J
(
(
(
= =
(
(
(
, (9)
with its components symbolically described in Appendix A. Note that in the case of this milling machine type, the J acobian matrix
is in a (3 X5) rectangular format.
3. Problem Formulation
The solution of eq.(8) is wellknow to be
(1 ) J p J J h
+ +
= +
;
1
( )
T T
J J JJ
+
, (10)
where J
+
is the rightgeneralized inverse of J and h an arbitrary vector pointing toward the satisfaction of a secondary task,
[reference here]. It is noteworthy that (1 ) J J
+
is an orthogonal complement of J projecting h onto the nullspace of J. Clearly,
the first part of eq.(10) is the minimumnorm solution of eq.(8) allowing the tooltip to follow the required trajectory, while the
second part of eq.(10) is an homogenous solution allowing to control the tool orientation. The projection of h onto the nullspace of
J allows choosing a tool orientation without modifying the tooltip position whatever the kinematic chain of the machinetool we
have. This is the socalled selfmotion of the machinetool, defined as the possible joint motions which keep the tooltip to a
constant position in the part frame. Consequently, vector h is determined as the normality condition of an optimization problem
specifying our preferences.
In the context of tooltip milling operations, it is possible to machine the required surface with different tool orientations. Three
orientation approaches can be identified. Firstly, the easiest approach implements one constant tool orientation during the milling
operation. This orientation is usually vertical, horizontal or equal to an average normal to the main workpiece surface. This greatly
simplifies the postprocessing operations, and, as we have observed, may result in different surface finishes. In the worst case,
some complex shapes may not even be feasible, since the tooltip angle of attack on the workpiece becomes almost parallel to the
surface and thus may not reach proper chip removal conditions. Secondly, the best finish approach always keeps the tool axis
normal to the surface in order to ensure the best possible surface finish. For complex surface shapes, the variation of surface
normal becomes large, and the postprocessing may result in exceeding of the joint limits. Moreover, in the case of complex
surfaces which feature no symmetries and which are represented by sets of points, the actual surface normal calculation is only
leading to an approximation. Thirdly, in our proposed approach, it is possible to take advantage of the selfmotion of the machine
tool in order to prepare an optimal jointspace path which insures that the tooltip follows the required Cartesian trajectory, while
satisfying an objective function that specifies our preferred of tool orientation, range of tooltip orientations leading to satisfactory
surface finish and jointlimit avoidance strategy. Hence, this optimization problem shall be handled by a novel optimal post
processing module taking into account the manipulator kinematics.
Let a be our preferred tool orientation either constant (vertical, horizontal or an arbitrary orientation) or the surface normal at
each given point of the tooltip trajectory, while a is the actual tool orientation given as in eq.(6). Moreover, let be the mid
joint position, while is the actual joint position defined as
max min
( )/2 = + ;  
T
C A Y X Z . (11)
To determine the objective function , the following principles are thus implemented. The tool orientation vector a will be kept
as close as possible to our preferred tool orientation vector a and simultaneously the joint position vector will be selected as
close as possible to the midjoint position vector , i.e.,
min
1
( ) ( ) (1 )
2
T T
a
W W w a a
= + (12)
where
1 2 3 4 5
( , , , , ) W diag w w w w w = is a diagonal 5 5 positive definite matrix and
a
w a positive scalar balancing the
relative criteria weights. The arbitrary vector h in eq.(10) is thus chosen as minus the gradient of the objective function, i.e.,
 
1 2 3 4 5
d
( ) ( )
d
T
T
a
h W w a a h h h h h
= = + = , (13)
with its components described in Appendix B.
4. The Optimal PostProcessing Module
When the cutter location data, namely CLdata, is generated by a computerassisted manufacturing (CAM) system, it is
assumed that the tool path between two CLdata points is a straight line relative to the workpiece. However, due to the machine
tool rotary axes, the tool path between two blocks in the numerical control (NC) program will not be linear relative to the
workpiece, thereby reducing the accuracy of the tool path. Linearization of the tool path in the postprocessing module can solve
this problem. Moreover, the inverse kinematics of the machinetool is performed using the velocity relationship of eq.(10) and the
normality condition of eq.(13).
4.1 Linearization
Without linearization, each CLdata point is directly transformed into only one block of NC program, e.g., a G01 command.
In this case, the number of lines of the CLdata is approximately equal to the number of blocks in the NC program. With the
linearization of the tool path, the postprocessor must interpolate new CLdata points along the ideal tool path, thereby adding new
blocks into the NC program. One CLdata point may result in several blocks in the NC program. Linearization does not provide a
perfect tool path, but the deviation from the required tool path is reduced to an acceptable level. Linearization algorithms must
implement calculations of both forward and inverse kinematics to compute deviations from the ideal tool path and interpolate new
CLdata. We have used the recursive linearization method proposed by Sorby [2]. It takes into account deviations of both
positions and orientations of the tool from the required tool path.
4.2 Inverse Kinematics
An iterative numerical solution method is used to solve the inverse kinematics in a similar manner as the resolvemotion rate
method introduced by Whitney [7].
4.3 The Post Processing Algorithm
Based on the solution of eq.(10) and the secondary task expressed by vector h of eq.(13), we have implemented an optimal
postprocessing module as summarized in Table 2.
Once
i
is set to the actual joint position, we read in the CLdata file the required tooltip position p and orientation a . In
step 3, we compute the corresponding tooltip position p and orientation a from which we obtain the tooltip deviation p (in
fact, only half of it in order to avoid numerical instabilities). Once the arbitrary vector h is evaluated, the joint motion is
computed with the generalized inverse J
+
. In step 8, the next joint position
1 i
+
is computed with a damping factor of 0.8, for
which we recompute the corresponding tooltip deviation p . Finally, if this tooltip deviation p is smaller than the maximum
threshold and if we are still under the maximum number of iteration n , we go back to step 6.
i
i
// Initialize 0.000001; n=500; and the weights , ;
1. i=0; actual joint position;
2. , read one CLdata;
3. , , forward kinematics( ); //eqs.(3), (5) and (9)
4. 0.5( );
5. do
6.
a
W W
p a
p a J
p p p
=
1
i
; // eq.(13)
7. (1 ) ; // eq.(10)
8. 0.8 ; 1;
9. , , forward kinematics( ); //eqs.(3), (5) and (9)
10.
i i
h
J p J J h
i i
p a J
+ +
+
=
= +
= + = +
0.5( );
11. while( and )
p p p
p i n
=
Table 2. The optimal postprocessing module algorithm
5. Experimental Validation
The optimal postprocessing module shown in Table 2 has been implemented in MatLab for the milling centre Huron KX8
Five. The CLdata is generated by CATIA V5 for the freeform surface shown in Fig. 5. The surface is inscribed within a 4inch
diameter cylinder, and specially chosen to have normal axes that will exceed the limits of joint A when machined with the KX8
five milling centre. A multiaxes zigzag strategy with a 0.5 inch ballend mill tool is chosen as the finish milling operation.
Fig. 5. Tool path generated by CATIA V5.
After linearization of the CLdata, the result is postprocessed with different tool orientation strategies: 1) the tool is always kept
vertical; 2) the tool is kept at a constant orientation different then the vertical; 3) the tool is kept normal to the surface; and finally,
4) the tool is kept as close as possible to the normal and also the joints are kept as close as possible to the midjoint position (see
eq.(12)).
Fig. 6 The four machined parts.
As shown in Fig. 6, tests #1 and #2 have succeeded in machining the required part. As expected, test #3 was not able to
completely machine the required part, while keeping the tool normal to the surface. In fact, part #3 requires positions of joint A
from 82.5
to +82.5
(see Fig. 7(a)), which is clearly out of its limits, i.e., 180 45 A +
. Alternatively, test #4 has
succeeded in machining the required part. In fact, part #4 requires positions of joint A from 78.5
to +43.5
. As shown
in Table 3, the roughness of the four machined surfaces has been measured by a Mitutoyo Surftest measurement machine. The
roughness results are very close together with the smallest one being part #4 obtained with our optimal postprocessing module.
Part number Average of roughness
Ra ( m)
1 1.54
2 1.45
3 1.5
4 1.34
Table 3. Average roughness of surfaces
6. Conclusions
Based on the velocity relationship of the machinetool, we have proposed an optimal postprocessing module for tooltip
milling operations, where the tooltip follows the required trajectory, while trying kept the tool axis normal to the surface and
simultaneously as far as possible to the joint limits. This dual strategy succeeded in machining parts that were not possible to
completely machine without exceeding the joint limits. Our optimal postprocessing module has been tested on many different
surfaces with the simulation software VERICUT, and validated on a milling centre Huron KX8five. The resulting surface quality
was equally good using our postprocessing module with different tool orientation preferences.
7. Acknowledgments
The author wants to acknowledge the financial support from the Natural Sciences and Engineering Research Council of
Canada under grants RGPIN203618. The author also acknowledge the research results obtained by Mr. Hojjat Valipour and
reported in its masters thesis.
References
1. Lee R. S. and She C. H. (1997), Developing a postprocessor for three types of fiveaxis machine tools, Int. J. of Advanced
Manufacturing Technology, Springer, 13(9), pp. 658665.
2. Srby K. (2007), Inverse kinematics of fiveaxis machines near singular configurations, Int. J. of Machine Tools and
Manufacture, 47( 2), pp. 299306.
3. Baron, L. (2006), An optimal surfacing postprocessor module for 5axes cnc milling machines, Third Int. Conf. on Industrial
Automation, Montreal, Canada, pp. 23.1723.23.
4. Angeles, J . (2002), Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, SpringerVerlag, New
York.
5. Angeles, J ., Anderson, K. and Gosselin, C. (1987), An OrthogonalDecomposition Algorithm for Constrained LeastSquare
Optimization, ASME Robotics, Mechanisms, and Machine Systems, 2, pp. 215220.
6. Siciliano, B. (1992), Solving Manipulator Redundancy with the Augmented Task Space Method Using the Constraint
J acobian Transpose, IEEE Int. Conference on Robotics and Automation, pp. 5158.
7. Whitney, D.E. (1969), Resolved motion rate control of manipulators and human prostheses, IEEE Trans. ManMachine Syst.,
10(2), pp. 4753.
Appendix A The components of the J acobian matrix of the Huron KX8five milling centre
11 C A C C A
C A C C A C A C A
2 1
C S ( ) S ( ) C C Y
2 2
1 1 2 2 1
S C ( ) S X+ C S X S S Y+ S C X;
2 2 2 2 2
x
J Z d Z d
C
Z d
= = + + + +
+ +
21 C A C C A
C A C C A C A C A
2 1
S S ( ) C ( ) S C Y
2 2
1 1 2 2 1
+ C C ( ) C X+ S S X+ C S Y C C X;
2 2 2 2 2
y
J Z d Z d
C
Z d
= = + + +
31
0;
z
J
C
= =
1 2 C A C A C A
C A C A C A
2 1
S C ( ) S S Y C S ( )
2 2
2 2 1
+ S C X+ C C Y+ C S X;
2 2 2
x
J Z d Z d
A
= = + +
2 2 C A C A C A
C A C A C A
2 1
C C ( ) C S Y S S ( )
2 2
2 2 1
C C X+ S C Y+ S S X;
2 2 2
y
J Z d Z d
A
= = + + +
32 A A A
1 1 2
S S ( ) C ;
2 2 2
z
J X Z d Y
A
= = + +
1 3 C A C A C
2 1 1
S S C C C ;
2 2 2
x
J
Y
= =
23 C A C A
2
C C S S ;
2
y
J
Y
= = +
33 A
2
S ;
2
z
J
Y
= =
1 4 C A C A C
2 1 1
S S C C C ;
2 2 2
x
J
X
= =
2 4 C A C A C
2 1 1
C S S C S ;
2 2 2
y
J
X
= =
34 A
1 1
C ;
2 2
z
J
X
= = +
15 C A C A C
2 1 1
S S C C C ;
2 2 2
x
J
Z
= = +
25 C A C A C
2 1 1
C S S C S ;
2 2 2
y
J
Z
= = +
35 A
1 1
C ;
2 2
z
J
Z
= = +
Appendix B The components of the normality condition h
1 1
1 1 2 1 1 2
( )
2 2 2 2 2 2
a C x C A x C A x C A y C x C A y
h w C C w S a S C a C S a S C a S a C S a
C
 
= = + +

\ .
;
2 2
2 1 2 1 1
( )
2 2 2 2 2
a C A y C A x C A x C A y A z
h w A A w C C a C S a S C a S S a S a
A
 
= = +

\ .
;
3 3
( ) h w Y Y
Y
= =
;
4 4
( ) h w X X
X
= =
;
5 5
( ) h w Z Z
Z
= =
Molto più che documenti.
Scopri tutto ciò che Scribd ha da offrire, inclusi libri e audiolibri dei maggiori editori.
Annulla in qualsiasi momento.