Feed Optimization For Five-Axis CNC Machine Tools

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/222700519

Feed optimization for five-axis CNC machine tools with drive constraints

Article in International Journal of Machine Tools and Manufacture · June 2008


DOI: 10.1016/j.ijmachtools.2008.01.002

CITATIONS READS

107 694

3 authors:

Burak Sencer Yusuf Altintas


Oregon State University University of British Columbia - Vancouver
36 PUBLICATIONS 350 CITATIONS 243 PUBLICATIONS 14,435 CITATIONS

SEE PROFILE SEE PROFILE

Elizabeth A. Croft
University of British Columbia - Vancouver
148 PUBLICATIONS 2,962 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Motion Control for Commerical Industrial Robots View project

Modeling and compensation of volumetric errors for five-axis machine tools View project

All content following this page was uploaded by Yusuf Altintas on 19 December 2017.

The user has requested enhancement of the downloaded file.


ARTICLE IN PRESS

International Journal of Machine Tools & Manufacture 48 (2008) 733–745


www.elsevier.com/locate/ijmactool

Feed optimization for five-axis CNC machine


tools with drive constraints
B. Sencer, Y. Altintas, E. Croft
Manufacturing Automation Laboratory, The University of British Columbia, Vancouver, BC, Canada
Received 9 July 2007; received in revised form 21 December 2007; accepted 1 January 2008
Available online 18 January 2008

Abstract

Real time control of five-axis machine tools requires smooth generation of feed, acceleration and jerk in CNC systems without
violating the physical limits of the drives. This paper presents a feed scheduling algorithm for CNC systems to minimize the machining
time for five-axis contour machining of sculptured surfaces. The variation of the feed along the five-axis tool-path is expressed in a cubic
B-spline form. The velocity, acceleration and jerk limits of the five axes are considered in finding the most optimal feed along the tool-
path in order to ensure smooth and linear operation of the servo drives with minimal tracking error. The time optimal feed motion is
obtained by iteratively modulating the feed control points of the B-spline to maximize the feed along the tool-path without violating the
programmed feed and the drives’ physical limits. Long tool-paths are handled efficiently by applying a moving window technique. The
improvement in the productivity and linear operation of the five drives is demonstrated with five-axis simulations and experiments on a
CNC machine tool.
r 2008 Elsevier Ltd. All rights reserved.

Keywords: CNC; Five axis; Feed optimization

1. Introduction programmed in the NC block, the velocity, acceleration


and jerk on all five drives may continuously vary as a
Five-axis machine tools are widely used in machining function of path curvature and inverse kinematics of the
parts with complex sculptured surfaces such as dies, molds machine tool. If the velocity, acceleration and jerk of each
and impellers. The goal of the industry is to maximize the drive exceed its physical saturation limits, the linear
material removal rate without violating the tolerance of the operation of the servo control is violated leading to severe
part while avoiding damage on the machine tool and marks on the surface or instability of the controller. In the
cutter. The process is affected by machine tool vibrations, current practice, conservative constant feed speeds are
the machinability of the material and the accuracy of the selected for sections of the tool-path or sometimes a single
CNC system. This paper proposes an optimal feed speed for the whole path so that the axis limits are never
scheduling along a five-axis tool-path without violating violated, which may lead to lengthy machining times, since
the limits of the drives, which leads to more accurate CNC the programmed feed is never reached by the machine
performance and reduced machining time. tool. This paper presents optimal scheduling of the feed
Five-axis NC tool-paths are generated by CAD/CAM along the splined path while respecting the machine tool
systems as cubic or NURB splines, which can be processed drive limits.
by modern CNC systems. Although a constant feed is The identification of optimal feed profile without
exceeding the saturation limits of the actuators is a
Corresponding author. Tel.: +1 604 8225 622. nontrivial optimization problem, and studied mainly by
E-mail address: altintas@mech.ubc.ca (Y. Altintas). the robotics researchers. Bobrow et al. [1] and Shin and
URL: http://www.mech.ubc.ca/mal. (Y. Altintas). McKay [2] were the first to solve the minimum time control

0890-6955/$ - see front matter r 2008 Elsevier Ltd. All rights reserved.
doi:10.1016/j.ijmachtools.2008.01.002
ARTICLE IN PRESS
734 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

Nomenclature qs ¼ ½xs ðsÞ; ys ðsÞ; zs ðsÞ; as ðsÞ; cs ðsÞT ;


qss ¼ ½xss ðsÞ; yss ðsÞ; zss ðsÞ; ass ðsÞ; css ðsÞT ; vectors con-
x, y, z, a, c five-axis CNC machine tool axis co-
ordinates qsss ¼ ½xsss ðsÞ; ysss ðsÞ; zsss ðsÞ; asss ðsÞ; csss ðsÞT
s path displacement along the spline taining the first, second and third derivatives of
tool-path the five axes positions with respect to the path
displacement (s), respectively
___

s_ðsÞ; s€ðsÞ; sðsÞ tangential velocity (feed), acceleration and


jerk profiles as a function of the path displace- qvs ðsÞ ¼ ½qvs;1 ðsÞ; qvs;2 ðsÞ; . . . ; qvs;5 ðsÞT vector containing the
ment along the path velocity limit normalized first derivatives of the
Si length of each spline segment axis positions
fi feed at B-spline control points qas ðsÞ ¼ ½qas;1 ðsÞ; qas;2 ðsÞ; . . . ; qas;5 ðsÞT ;
Ni,3 cubic basis (interpolation) functions of the B- vectors containing
spline qass ðsÞ ¼ ½qass;1 ðsÞ; qass;2 ðsÞ; . . . ; qass;5 ðsÞT
P
P ¼ ½ x Py Pz  tool tip position vector and its the acceleration limit normalized first and
scalar components (mm) second derivatives of the axis positions
O
O ¼ ½ x Oy Oz  orientation vector and its scalar qs ðsÞ ¼ ½qjs;1 ðsÞ; qjs;2 ðsÞ; . . . ; qjs;5 ðsÞT ;
j

components qjss ðsÞ ¼ ½qjss;1 ðsÞ; qjss;2 ðsÞ; . . . ; qjss;5 ðsÞT ; vectors con-
R(s) ¼ [P{Px(s),Py(s),Pz(s)}, O{Ox(s),Oy(s),Oz(s)}]T the
qjsss ðsÞ ¼ ½qjsss;1 ðsÞ; qjsss;2 ðsÞ; . . . ; qjsss;5 ðsÞT
pose vector of the tool defined in the workpiece
coordinates taining the jerk limit normalized first, second
q5  1(s) ¼ [x(s), y(s), z(s), a(s), c(s)]T axis position and third derivatives of the axis positions
interpolation vector function and its five scalar C5  1(s) optimization constraint vector function
components s_V ;max ðsÞ; s_A;max ðsÞ; s_J;max ðsÞ maximum path velocities
_

q_ 51 ; q€ 51 ; q51 vectors containing the axis velocity, with respect to axis velocity, acceleration and
acceleration and jerk profiles, respectively jerk limits, respectively

problem. They considered the trajectory generation as a In the interest of smoothing the trajectory and enhancing
dynamic system with two states, e.g. path displacement (s) the tracking performance, the jerk limits of the drives have
and velocity (_s), and proved that the actuator torque been considered as constraints at the expense of increased
constraints limit the velocity along the tool-path. They computational complexity, requiring iterative solutions
switched the acceleration (€s) between its maximum and as opposed to optimal control formulations [10]. Piazzi
minimum limits at the identified path points to generate a and Visioli [11] used axis jerk; Constantinescu and Croft
bang-bang style trajectory. Shiller and Lu [3,4] developed [12] used the torque rate constraints, and iteratively
reliable search procedures to find the switching points. optimized the spline trajectories for minimum time motion
Other methods, such as dynamic programming (DP) [5] or of robotic manipulators. Jerk limited trajectories have also
Pontryagin’s minimum principle [6] have also been applied been adapted for machine tools, and computationally
to solve the optimal control problem more efficiently. The efficient methods have always been favored for implemen-
machine tool literature has implemented some of those tation on real time CNCs. A practical feed modulation
approaches in the cartesian machining of spline tool-paths. solution was proposed by Weck et al. [13] for multi-axis
Smith et al. [7] used the acceleration limits to generate the machine tools following quintic spline tool-paths. They
velocity limiting curve, and implemented a similar considered velocity and acceleration limits of the
approach to Shiller and Lu to find the optimal feed-rate machine tool axis to determine a conservative feed for
profile along spline tool-paths for two-axis cartesian case. each spline segment of the tool-path. The discrete feeds
Renton and Elbestawi [8] outlined a computationally are connected with jerk limited cubic acceleration trajec-
efficient two-pass algorithm to solve the minimum time tory profile without considering the jerk limits of the
feed optimization problem. The algorithm works by drives. Altintas and Erkorkmaz [14] later defined the
scanning through the trajectory in the forward and displacement profile as a minimum jerk quintic spline of
reverse directions. Dong and Stori [9] have also included time along the tool-path, and optimized the travel time of
a series of machine tool capability constraints, and each segment iteratively. They considered velocity, accel-
presented a two-pass structure. Unfortunately, such eration, and the jerk limits of the drives for a smoother
trajectories possess discontinuous acceleration and torque motion. Although, their approach is extendible for any
profiles, defeating the essential purpose of using a smooth type of multi-axis machine tool, the number of constraints
tool-path and leading to inaccurate contouring in high to be considered increases dramatically with the number of
speed machining. axis. For instance, 14 constraints are used in the two-axis
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 735

(s ¼ d3 s=dt3 ) along the tool-path also become path

___
case, which must be increased to 32 for the five-axis
machines. dependent as follows:
A computationally efficient feed scheduling algorithm is 9
s_ ¼ s_ðsÞ >
presented here for five-axis machining operations. The feed >
>
d_sðsÞ ds d_sðsÞ >
>
along the tool-path is optimized in a computationally s€ðsÞ ¼ ¼ s_ðsÞ =
efficient manner by respecting the velocity, acceleration ds dt ds . (1)
  >
>
and jerk limits of all five drives. The identified feeds at the d€sðsÞ ds d2 s_ðsÞ 2 d_sðsÞ 2 >
s_ðsÞ >
>

___
sðsÞ ¼ ¼ s_ ðsÞ þ ;
discrete path points are fit to a cubic spline to ensure ds dt ds2 ds
smooth trajectory along the tool-path. The algorithm is
demonstrated with simulations and experiments on five- Let us consider an arbitrary splined path (S) passing
PN p 1
axis flank milling of an impeller blade. through knots Pk with a total length of S S ¼ k¼1 Sk (see
Fig. 2). The instantaneous feed along the path is s_ ¼ ds=dt;
equivalently, the differential time (dt) to travel along
2. Minimum time feed optimization problem
infinitesimal path segment (ds) is dt ¼ ds=_s. The feed
optimization problem is defined as the minimization of
The objective of the paper is to minimize five-axis
total travel time (TS) along the entire path (SS), while
machining time while respecting both process and machine
respecting a set of physical limits (C) of the machine and
tool constraints. The process constraint is the vector feed
process.
along the tool-path, which is defined in the NC program by
Z SS
the process planner. The machine tool constraints are the ds

___
velocity, acceleration/torque, and jerk limits of all active minðT S Þ ¼ min subject to f_s; s€; sg
S_ 0 _
sðsÞ
linear and rotary feed drives. As illustrated in Fig. 1, the
pCfAxis Limitsg for 0pspS S . (2)
feed (_s ¼ ds=dt) must be scheduled along the tool-path (s)

___
in such a way that the constraints are not violated. As a The tangential feed (_s), acceleration (€s) and jerk (s) are
consequence, the acceleration (€s ¼ d2 s=dt2 ) and jerk typically fitted as functions of time (t) to cubic or quintic
splines in order to avoid discontinuities in the multi-axis
trajectory [13,14]. An arc length parameterized cubic B-
spline is used to define the feed profile as a function of path
B-spline Feed Profile
position in this paper.
Control Points
f=[f1,f2,...,fn] s_ðsÞ ¼ N 0;3 ðsÞf 0 þ N 1;3 ðsÞf 1 þ    þ N n1;3 ðsÞf n1
Feed s(s)

X
n1
¼ N i;3 ðsÞf i , (3)
i¼0

Displacement (s) where Ni,3(s) are the basis functions of the B-spline, and fi
si, si+1,... (i=0, 1, y, n1) are the n control points used as

optimization variables in modulating the feed profile along
S1 S2 S3 ... SN the tool-path. The details of evaluating the B-spline
adapted to feed optimization algorithm is given in the
appendix.
Acceleration s(s)

The feed affects the chip load, hence the cutting force.
The tangential acceleration along the path may be limited
to dampen the aggressive motions along the path, and
tangential jerk may be constrained to avoid exciting path
Displacement (s)
dependent structural modes of the machine tool. However,
the physical limits are the velocity, acceleration and jerk
capacities of individual drives on the machine which should
not be violated in order to avoid actuator saturation during
Jerk s(s)

five-axis contour machining. A typical five-axis motion


command in workpiece coordinate system is given by a
Displacement (s) sequence of discrete positions of the cutter along the path.
Each tool position is defined by three cartesian coordinates
of its center P ¼ ½ Px Py Pz  and angular orientation
vector of the cutter axis O ¼ ½ Ox Oy Oz ; jOj ~ ¼ 1 as

R ¼ ½P; OT . (4)


The sequence of Np tool positions are fitted to a cubic,
Fig. 1. Feed profile along the tool-path. quintic, Nurb or B-Splines in order to interpolate the
ARTICLE IN PRESS
736 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

PNp

O=O(s) PNs

PNp-1 R(s) = [P(s),O(s)]T q(s) = [x(s),y(s),z(s),a(s),c(c)]T


(Cutter Motion) Inverse (Machine Axis Motion)

Tool
o2 o3
Kinematics
s Transformation
s2 s3
ZRef
S1 S3 c YRef
P2

Tool
o1 P3
s1 XRef
ds
ZW YC ZC
XC
P1
P=P(s) dt a
YW
ds
= s : Tangential ZR
XW dt Feedrate ZT ZW YR
YT YW XR
s : Arc Length XT
P : Position Vector of Cutter Centre XW Bed
O : Vector of Cutter Orientation
Xw-Yw-Zw : Workpiece Coordinate System
XS-YS-ZS : Table Coordinate System YS
ZS XS
XT-YT-ZT : Tilting Axis Coor. System
y z
XR-YR-ZR : Rotary Axis Coor. System x
XC-YC-ZC : Cutting Tool Coor. System
XRef-YRef-ZRef : Reference Coor. System

Fig. 2. Five-axis motion generation.

intermediate cutter positions as the tool travels along the 3. Kinematic and dynamic constraints
path (see Fig. 2). Spline tool-paths are generally para-
meterized with respect to their length (s) [15]. The tool The user commands the tool to maintain the feed
position and orientation given in the workpiece coordinate along the tool-path in order to preserve the allowed
system define the pose of the tool expressed as a function of chip load on the tool, i.e. s_pfeed. However, as derivatives
path displacement (s) as of the tool-path changes, the commanded path velocity, the
feed, may violate the speed, acceleration and jerk limits of
RðsÞ ¼ ½PfPx ðsÞ; Py ðsÞ; Pz ðsÞg; OfOx ðsÞ; Oy ðsÞ; Oz ðsÞgT . active drives on the five-axis machine tool. The feed must
(5) be constrained to avoid the violation of axis limits as
follows.
The pose is then transformed to axis drive positions as a
function of path displacement (s) by the inverse kinematics
model of the five-axis machine,
3.1. Velocity constraints
q51 ðsÞ ¼ ½xðsÞ; yðsÞ; zðsÞ; aðsÞ; cðsÞT , (6)
The velocities of five drives given in Eq. (7) must not
where [x(s), y(s), z(s)] and [a(s), c(s)] are the positions of exceed their saturation limits ½ vx max vy max
linear and rotary drives, respectively. The velocity (_q51 ), vz max va max vc max T for a five-axis machine tool traveling
_

acceleration (€q51 ) and jerk (q51 ) profiles of each drive are along a curved tool-path (0pspSS),
evaluated as, 2 3
9 xs ðsÞ
q_ ðsÞ ¼ qs ðsÞ_sðsÞ > 6 vx max 7
= 6 7
q€ ðsÞ ¼ qss ðsÞ_s2 ðsÞ þ qs ðsÞ€sðsÞ , (7) 2 3 6 y ðsÞ 7 2 3
> 1 6 s 7 1
; 6v 7
_

3
___

qðsÞ ¼ qsss ðsÞ_s ðsÞ þ 3qss ðsÞ_sðsÞ€sðsÞ þ qs ðsÞsðsÞ 6 1 7 6 y max 7 617


6 7 6 7 6 7
6 7 6 zs ðsÞ 7 6 7
6 7
6 7p6
1 6 7 sðsÞp6 7
where 7 _ 6 1 7. (9)
6 7 6 vz max 7 6 7
4 1 5 6 as ðsÞ 7 415
 6 7
dqðsÞ d2 qðsÞ d3 qðsÞ 1 6 7 1
qs ðsÞ ¼ ; qss ðsÞ ¼ ; qsss ðsÞ ¼ (8) 6 va max 7
ds ds2 ds3 6 7
4 cs ðsÞ 5
are derivatives of the axis positions. vc max
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 737

2 3 2 3 2 3 2 3
The path velocity is positive s_ðsÞX0, and using the ax max xss ðsÞ xs ðsÞ ax max
normalized partial derivatives, 6a 7 6 7 6 y ðsÞ 7 6a 7
6 y max 7 6 yss ðsÞ 7 6 s 7 6 y max 7
  6 7 6 7 2 6 7 6 7
xs ðsÞ ys ðsÞ zs ðsÞ as ðsÞ cs ðsÞ T 6 7 6 7 6 7 6 7
6 az max 7p 6 zss ðsÞ 7 s_ ðsÞ þ 6 zs ðsÞ 7 s€ðsÞp6 az max 7
qvs ðsÞ51 ¼ ; ; ; ; (10) 6a 7 6 a ðsÞ 7 6 a ðsÞ 7 6a 7
vx max vy max vz max va max vc max 4 a max 5 4 ss 5 4 s 5 4 a max 5
ac max css ðsÞ cs ðsÞ ac max
the axis velocities are constrained as, |fflfflfflfflffl{zfflfflfflfflffl} |fflfflfflfflffl{zfflfflfflfflffl}
qss qs
jqvs;i ðsÞj_sðsÞ  1p0; i ¼ 1; 2; . . . ; 5. (11) (14)
The absolute values of derivatives of the axis positions for 0pspSS. By normalizing the derivatives of the axis
(jqvs;i ðsÞj) are expressed as scalar functions of the path length positions with the acceleration limits,
(s), hence they are evaluated from the specified path   9
geometry as shown in Fig. 2. The maximum allowable feed xs ðsÞ ys ðsÞ zs ðsÞ as ðsÞ cs ðsÞ T > >
a
qs ðsÞ ¼ ; ; ; ; >
>
(_sV ), computed from Eq. (11) satisfies the velocity ax max ay max az max aa max ac max =
  (15)
constraints (½ vx max vy max vz max va max vc max T ) of xss ðsÞ yss ðsÞ zss ðsÞ ass ðsÞ css ðsÞ T >
>
qass ðsÞ ¼ ; ; ; ; >
>
all five drives: ax max ay max az max aa max ac max ;
1 1
s_V ;max ðsÞ ¼ ¼ . (12) Eq. (14) is reduced to the following form
max fjqvs;i ðsÞjg qvs;max
i¼1;2;...;5
jqass;i ðsÞ_s2 ðsÞ þ qas;i ðsÞ€sðsÞjp1; i ¼ 1; 2; . . . ; 5. (16)
It is evident from Eqs. (9) and (12) that the drive, which has Using the triangular (|A+B|p|A|+|B|) and multiplicative
the maximum first derivative of its displacement normal- (|A  B|p|A|  |B|) properties of the absolute value, the
ized with its velocity limit, determines the allowable feed acceleration inequalities may be expanded as:
along the path (s). Eq. (12) may also be expressed in a
single velocity inequality as: jqass;i ðsÞj_s2 ðsÞ þ jqas;i ðsÞjj€sðsÞjp1; i ¼ 1; 2; . . . ; 5. (17)

C v ðsÞ ¼ qvs;max s_ðsÞ  1p0. (13) Note that Eq. (17) represents a linear relationship between
square of the feed (_s2 ) and the tangential acceleration (€s) for
each axis (q(s) ¼ [x(s), y(s), z(s), a(s), c(c)]T) (see Fig. 3).
3.2. Acceleration constraints When the machine starts to move from zero speed, it can use
the maximum allowable tangential acceleration to reach the
The product of acceleration and reflected inertia at the desired feed, which corresponds to (€s) axis. When the
motor determine the required dynamic torque from the machine travels at the constant feed (_s), the required
actuator. The torque or equivalent acceleration at each tangential acceleration is zero. The acceleration limits of the
drive must be constrained to avoid actuator saturation drives determine the allowable feed and tangential accelera-
limits. If the axis acceleration limits are specified as tion. While one axis may limit the feed, another may
½ ax max ay max az max aa max ac max T , the feed (_s) must constrain the acceleration depending on their partial deriva-
be constrained according to Eq. (7) as, tives. A pair of feed and tangential acceleration must be
s

1/|zs|

1/|ys|

Extracted Region
1/|xs|
|x
ss |s
lslA,max

+ |x |y
s ||s| =1 ss |s
+|
|z s

y|
s |s
s
|s

{s,s} |=
1
+
|z s

Modified Feasable
||s
|=

Region
1

s2A,max 1/|zss| 1/|xss| 1/|yss| s2

Fig. 3. Modified, acceleration feasible operating region.


ARTICLE IN PRESS
738 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

2 3
identified iteratively during feed optimization from the five xs ðsÞ
sets of inequalities to avoid violating the acceleration limits of 6 J x max 7
6 7
the drives which leads to the acceleration feasible operating 6 7 2 3
6 ys ðsÞ 7 1
region of the machine given at a path position (s) as in Fig. 3. 6 7
6 J y max 7 6 7
However, the iterative solution of feasible feed and 6 7 617
6 7 6 7
acceleration may bring unaffordable computational cost to 6 xs ðsÞ 7 6 7
6 7 sðsÞp6 7

___
the real time trajectory generation algorithm. The feasible
þ6 7 617 (20)
6 J z max 7 6 7
solution region for the feed and tangential acceleration 6 7 617
6 xs ðsÞ 7 4 5
may be bounded by the acceleration limits of only a few 6 7
6 J a max 7 1
drives as illustrated in Fig. 3, and evaluated from, 6 7
( ) 9 6 7
4 xs ðsÞ 5
1 >
>
s_ðsÞ ¼ 0 ) s€A;max ðsÞ ¼ min >
> J c max
i¼1;2;...;5 jqas;i ðsÞj >
>
>
> |fflfflfflfflfflffl{zfflfflfflfflfflffl}
8 9 >
> j
< = >
> qs ðsÞ
1 1 >
>
¼ ¼ >
>
: max jqas;i ðsÞj; qass;max ðsÞ >
> for 0pspSS. Alternatively, Eq. (20) can be expressed by,
>
>
i¼1;2;...;5 =
(sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi) . jqjsss;i ðsÞ_s3 ðsÞ þ 3qjss;i ðsÞ_sðsÞ€sðsÞ þ qjs;i ðsÞsðsÞjp1,

___
(18)
1 >
>
s€ðsÞ ¼ 0 ) s_A;max ðsÞ ¼ min > i ¼ 1; 2; . . . ; 5 (21)
i¼1;2;...;5 jqass;i ðsÞj >
>
>
>
8 9 >
> and expanded as
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi> >
>
>
<u = >
>
u 1 1 >
>
¼ t a ¼ >
>
> jqjsss;i ðsÞjj_s3 ðsÞj þ 3jqjss;i ðsÞjj_sðsÞjj€sðsÞj
>
: max jqss;i ðsÞj; > qs;max ðsÞ
a >
>
; þ jqjs;i ðsÞjjsðsÞjp1;

___
i¼1;2;...;5 i ¼ 1; 2; . . . ; 5. (22)

By substituting (qas;max ; qass;max ), Eq. (17) can be reduced to a where jqjsss;i ðsÞj, jqjss;i ðsÞj
and jqjs;i ðsÞj
are tool-path dependent
simple linear relationship defining a triangular, feasible feed derivatives. Eq. (22) generates a three dimensional operat-
and tangential acceleration region bound by (_sA;max ; s€A;max ), ing surface with respect to the jerk limits of the drives as
shown in Fig. 4. The maximum feed (_s), tangential
C a ðsÞ ¼ qas;max ðsÞj€sðsÞj þ qass;max ðsÞ_s2 ðsÞ  1p0. (19)

___
acceleration (€s) and the jerk (s) at a path position (s) can
Eq. (19) reduces the computational cost of the iterative feed be identified by setting two of them to zero, and evaluating
optimization procedure by cutting down the number of the other from the jerk limits of the drives. For instance,
constraint evaluations from five (Eq. (17) to one at the the jerk limited maximum feed (_sJ;max ðsÞ) is computed as,
( sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi)
expense of losing part of the feasible feed-acceleration 1
3
___

region as shown in Fig. 3. s€ðsÞ ¼ sðsÞ ¼ 0 ) s_J;max ðsÞ ¼ min j . (23)


i¼1;2;...;5 jqsss;i ðsÞj
3.3. Jerk constraints The feasible set of feed, tangential acceleration and jerk
identified in the operating region is then iteratively found
Limiting the axis jerk values smooth, the position during feed optimization by evaluating Eq. (22), which is
commands; hence reducing the high frequency con- computationally complex and too costly to be implemented
tent, which leads to a better tracking performance in a CNC system. Similar to the methodology presented for
along the curved path. If the imposed jerk limits are the acceleration limits, the maximum values of the jerk
½ J x max J y max J z max J a max J c max T , the following normalized derivatives are selected by considering all
normalized jerk constraints are defined from Eq. (7): five drives,
2 3 2 3 9
xsss ðsÞ xss ðsÞ qjsss;max ðsÞ ¼ max fjqjsss;i ðsÞjg >
>
>
6 J x max 7 6 J x max 7 i¼1;2;...;5 >
>
6 7 6 7 =
2 3 6 7 6 7 j
qss;max ðsÞ ¼ max fjqss;i ðsÞjgj
1 6 ysss ðsÞ 7 6 yss ðsÞ 7 i¼1;2;...;5 (24)
6 7 6 7 >
>
6 7 6 J y max 7 6 J y max 7 j j >
>
617 6 7 6 7 qs;max ðsÞ ¼ max fjqs;i ðsÞjg > ;
6 7 6 7 6 7 i¼1;2;...;5
6 7 6 zsss ðsÞ 7 3 6 zss ðsÞ 7
6 1 7p 6
6 7 6 J z max 7
7 s_ ðsÞ þ 3 6 7
6 J z max 7 s_ðsÞ€sðsÞ
6 7 6 7 6 7 and substituted in Eq. (22) to find the constraint equation,
617 6 7 6 7
4 5 6 asss ðsÞ 7 6 ass ðsÞ 7 C j ðsÞ ¼ qjsss;max ðsÞ_s3 ðsÞ þ 3qjss;max ðsÞ_sðsÞj€sðsÞj
6 7 6 7
1 6 J a max 7 6 J a max 7
6 7 6 7 þ qjs;max ðsÞjsðsÞj  1p0.
___

6 7 6 7 (25)
4 csss ðsÞ 5 4 css ðsÞ 5
J c max J c max While Eq. (22) has to be evaluated for all five axes, Eq. (25)
|fflfflfflfflfflffl{zfflfflfflfflfflffl} |fflfflfflfflfflffl{zfflfflfflfflfflffl} is a single set, which considers a combination of axes whose
j j
qsss ðsÞ qss ðsÞ jerk limits affect the feasible operating region of the
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 739

machine tool. However, the tangential jerk, acceleration limits of all five drives. The axes constraints given in
and speed are still coupled; hence they need to be identified Eqs. (13), (19) and (25) are stacked into the following
iteratively from Eq. (25). The identified feed (_sJ ðsÞ), vector

___
tangential acceleration (€sJ ðsÞ) and tangential jerk (sJ ðsÞ)  þ
satisfy the jerk limits on all five drives. CðsÞ ¼ ½ C f ðsÞ C f ðsÞ C v ðsÞ C a ðsÞ C j ðsÞ T51 , (26)
where C f ðsÞ ¼ _ sðsÞp0 is the lower limit of the velocity to
4. Solution of minimum time feed optimization problem ensure forward motion (e.g. positive feed direction), and
Cþf ðsÞ ¼ s_ðsÞ  feedp0 is the user specified upper limit of
It is proposed that the feed is scheduled along the tool- the feed along the path. Hence, the feed at any position
path without violating the velocity, acceleration and jerk along the five-axis tool-path must satisfy the drive
constraints by selecting the most conservative value,
XA
xis
s_pminf_sV ðsÞ; s_A ðs; s€Þ; s_J ðs; s€; sÞg.

___
Je
rk
(27)
Lim
its The feed is limited by one of the velocity, acceleration and
jerk limits of the drives along different sections of the tool-
YA path. The algorithm identifies allowable feed, tangential
xis
Je
rk
acceleration and jerk at each tool position along the path.
s Lim When the feed is varied between the two consecutive tool-
its
path points, the corresponding tangential acceleration and
jerk must be less than the values already set by the drive
limits at the target tool-path point.
G

___

___

___
lo
ba j€sjpminf€sA ðs; s_Þ; s€J ðs; s_; sÞg; jsjpminfsJ ðs; s_; s€Þg. (28)
lJ
er
k
Co Modified Feasible The feed optimization problem is defined as the minimiza-
ns Operating Region tion of tool-path travel time while respecting the velocity,
tra
in acceleration and jerk constraints of all five axes along the
t
s tool-path. The nonlinear optimization is solved using
s
Sequential Quadratic Problem (SQP) [16]. The feed profile
is expressed in B-spline form as a function of path length
Fig. 4. Jerk feasible operating region. (s) with modulated control points (f) defined at n fixed path

Control Point
fi Optimized Optimized
Feed Profile (s)
Feed Profile (s)

Feed Profile Feed Profile

Overlap

Displacement Next
interval of window Displacement
Interval
Δs
Displacement (s) Displacement (s)
Constraint check points
Feed Profile (s)

Feed Profile (s)

Feed Control Points

Extended
Displacement
Interval

Displacement (s) Displacement (s)

Fig. 5. Windowing approach. (a) Forward windowing (start), (b) forward windowing (shiftedy), (c) forwarding windowing (finalized) and (d) forward
windowing (extendedy).
ARTICLE IN PRESS
740 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

positions (s), respectively. The in house developed research CNC has an


open architecture, which allows rapid implementation of
f ¼ ½f 0 ; f 1 ; . . . ; f n1 ; s ¼ ½s0 ; s1 ; . . . ; sn1  (29)
trajectory generation and control laws. The tool-path for
and optimized to minimize the machining time while one impeller blade consists of 196 positions at varying
respecting axis constraints (C(s)) given in Eq. (26) displacement intervals, and is fitted with a B-spline at
Z S the tool tip (P(s)) with a chord error of 35 mm and the
ds
J ¼ min subject to : CðsÞp0 for 0pspS S , orientation error of 0.091. The programmed feed along the
f 0 s_
path was 150 mm/s.
(30) The curvature along the tool-path changes continuously,
While the feed control points (f) are fixed at (n) path points but with worst peaks at the beginning (25–50 mm), in the
(s), the violation of constraints can be checked at denser middle (150–190 mm), and towards the end (250–290 mm)
intervals (Ds (0.1, y, 1) mm). The fixed number feed where the tool has to move around the trailing and leading
control points move up and down, altering the feed profile edges of the blade. The transformation of tool position into
during the iterative optimization process until optimal the axis positions is summarized as:
nominal feed values, which do not violate the machine   9
1 Ox ðsÞ >
>
drive constraints, are obtained. cðsÞ ¼ tan ; >
>
Oy ðsÞ >
>
The optimization process can be computationally 0qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1 >
>
2 2 >
>
inefficient if all control points are considered simulta- Ox ðsÞ þ Oy ðsÞ >
>
1 @ A >
>
neously along a long tool-path. Instead, the optimization aðsÞ ¼ tan ; >
>
Oy ðsÞ >
>
algorithm is applied in moving windows with a smaller =
number of control points (i.e. 20). The overlapping part of xðsÞ ¼ Px ðsÞ cosðcðsÞÞ þ Py ðsÞ sinðcðsÞÞ; . (31)
>
>
the window can be limited to few points (i.e. 5) depending >
>
yðsÞ ¼  cosðaðsÞÞ sinðcðsÞÞPx ðsÞ  cosðaðsÞÞ > >
on the sharp changes in the curvature of the path as shown >
>
 cosðcðsÞÞPy ðsÞ þ sinðaðsÞÞPz ðsÞ; >
>
in Fig. 5. >
>
>
zðsÞ ¼ ð sinðaðsÞÞ sinðcðsÞÞPx ðsÞ  sinðaðsÞÞ >
>
>
>
>
 cosðcðsÞÞPy ðsÞ  cosðaðsÞÞPz ðsÞÞ ;
5. Simulation and experimental results

The proposed trajectory optimization algorithm is The corresponding axis positions (q5  1(s) ¼ [x(s), y(s),
applied to five-axis flank milling of a jet engine impeller, z(s), a(s), c(s)]) along the 300 mm long tool-path are shown
and the tool-path is shown in Fig. 6. The machine tool in Fig. 8. The two linear (x(s), y(s)) and one rotary (c(s))
shown in Fig. 7 has three cartesian (x,y,z) and two rotary drive displacements show sharp changes at the high
(a,c) drives with 2.9 mm and 0.00051 encoder resolutions, curvature locations.
The axis limits of the machine are given in Table 1. The
drives are controlled by a robust sliding mode controller
with feed-forward friction compensation presented by
Altintas et al. [17].
The path velocities constrained by each drive velocity,
50 acceleration and jerk limits are evaluated from Eqs. (12),
(18) and (23) and shown in Fig. 9. Depending on
the curvature of the path, different drives limit the feed,
40 along the tool-path. For example, x-axis limits the
maximum feed at s_ ¼ 58 mm=s at path position
(s ¼ 34 mm), and y and c drives limit the feed at path
30 location (s ¼ 267 mm/s). Similarly, the acceleration and
jerk limits of the drives constrain the feed at different
z [mm]

locations of the path. The envelope, that passes through


20 minimum feeds limited by the velocity (Fig. 9a), accelera-
Tool tion (Fig. 9b) and jerk (Fig. 9c) are evaluated along the
Orientation
path. The global optimization of the feed cannot combine
10
the three envelopes, since a change in the velocity between
two path points may violate the acceleration and jerk limits
End 0 of the drives. The optimal feed is evaluated by simulta-
0
Start 50 neously optimizing velocity, acceleration and jerk limits of
]
m
m

-100 all five drives as given in Eqs. (13), (19) and (25). The
y[

-20 -10 0
identified feed is limited to 150 mm/s set by the process
x [mm]
planner, and the resulting feed schedule along the path is
Fig. 6. Multi-axis tool-path. given in Fig. 10.
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 741

-Workstation PC
.Read NC-Program

Ethernet

-Real Time Control PC (1kHz)


.Decode NC-Program
.Generate Trajectory
linear, circular, spline

Labview Real Time


.Position Control
PID, ZPECT, SMC, Fric.Comp

PCI Bus
Encoder
Feedback - FPGA Board (40kHz)
.Read ADC
.Quadrature Encoder Decoding
Motor Current .Write DAC
Command

Fig. 7. Experimental open architecture research five-axis CNC.

Linear Axis Position Table 1


x Axis
Machine tool drive limits used in optimization of feed
100 y Axis
z Axis Drives Velocity Acceleration Jerk (unit/s3)
50 (unit/s) (unit/s2)
[mm]

x (mm) 250 2000 3000


0
y (mm) 250 2000 3000
z (mm) 250 2000 3000
-50 a (1) 166 2500 250
c (1) 290 2000 200
-100
0 50 100 150 200 250 300 The cruise feed and tangential acceleration are set to s_ ¼ 150 mm=s and
s€ ¼ 1000 mm=s, respectively.
Displacement [mm]

Rotary Axis Position

0
machining time becomes TS ¼ 20.18 s. When the feed is
a Axis optimally scheduled by fitting a B-spline to 274 equally
-1
c Axis spread points along the tool-path, the machining time
-2 drops to TS ¼ 4.664 s, resulting in an 80% increase in
[rad]

-3 productivity. The algorithm was solved in MATLAB [16]


-4 environment in 126 s on a P4 computer with 2.3 GHz CPU
-5 speed. As shown in Fig. 11, the scheduled feed has been
-6 tested on the experimental five-axis machine, and the
resulting velocity, acceleration and jerk on each drive did
0 50 100 150 200 250 300
not violate their limits.
Displacement [mm]
In addition to the reduction in machining time, the
Fig. 8. Axis position profiles. proposed optimization improves the tracking accuracy of
the machine when the drives are not saturated. The
experimentally measured tracking errors are shown in
It can be seen from Fig. 10 that if the machine travels at Fig. 12 for three cases. When the feed is set to the most
150 mm/s, the drive limits are violated at path regions conservative feed (15 mm/s), the drive limits are never
(0–60 mm; 140–165 mm; 240–300 mm) where the curvatures violated, the tracking accuracy is best due to the slow speed
of the impeller blade are sharp. Although modern but the machining time becomes TS ¼ 20.18 s. If the user
controller adjust the speed along the sharp curvatures by imposed feed (150 mm/s) was used, the drives become
using look-ahead function, a worst case scenario is used saturated excessively and the machine becomes uncontrol-
here as an illustration. If the feed is kept constant at lable. A relatively conservative feed of f ¼ 40 mm/s was
15 mm/s, none of the drive limits are violated but the tested, which led to the violation of drive limits (Fig. 12)
ARTICLE IN PRESS
742 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

1200 X Axis Limit


Y Axis Limit
1000
Z Axis Limit
800 A Axis Limit
[mm/sec] C Axis Limit
600
400
200
0
0 50 100 150 200 250 300
Displacement [mm]

1200
1000
800
[mm/sec]

600
400
200
0
0 50 100 150 200 250 300
Displacement [mm]

1200
1000
800
[mm/sec]

600
400
200
0
0 50 100 150 200 250 300
Displacement [mm]

Fig. 9. Feed limits with respect to axis velocity constraints. (a) Feedrate limited by the axis velocity constraints, (b) feedrate limited by the axis acceleration
constraints and (c) feedrate limited by the axis jerk constraints.

250
Velocity Constraints
Acceleration Constraints
Jerk Constraints
200
Feed [mm/sec]

Feed Limit
150

100

50 Optimized Feed Profile

Constant Feed Profile

0
0 50 100 200 250 300
Displacement [mm]

Fig. 10. Optimized and un-optimized feed profiles.

and the tracking errors are amplified at the saturation feed of 150 mm/s at most locations, and the drive limits
regions along the path. However, when the feed is were never violated. The machine tool control was kept in a
optimized, the machine was able to reach up to the desired linear control region and the tracking accuracy became
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 743

Linear Axis Velocities Rotary Axis Velocities


(Optimized Profiles (Solid), Un Optimized (Dashed) (Optimized Profiles (Solid), Un Optimized (Dashed)
5
200 X Axis X Axis Limit
Y Axis Y Axis
A Axis

[deg/sec]
Z Axis
[mm/sec]

Z Axis A Axis
0 0
C Axis A Axis Limit

-200 Limit C Axis Limit C Axis


-5
0 4 8 12 16 20 0 4 8 12 16 20
Linear Axis Accelerations Rotary Axis Accelerations
2000 50
X Axis X Axis Limit
Y Axis Y Axis

[deg/sec2]
Z Axis Z Axis A Axis A Axis
[mm/sec2]

0 0
C Axis
C Axis
A Axis Limit
Limit C Axis Limit
-2000
-50
0 4 8 12 16 20 0 4 8 12 16 20
Linear Axis Jerk Rotary Axis Jerk
3x104 300
[mm/sec3]

[deg/sec3]
0 0

-3x104
-300
0 4 8 12 16 20 0 4 8 12 16 20
Time [sec] Time [sec]

Fig. 11. Axis profiles.

X Axis Tracking Errors A Axis Tracking Errors


0.5 0.5
[mm]

[deg]

Saturation
0 0
F=15 mm/sec(Const.)
F= 40 mm/sec (Const.)
F = 150 mm/sec (Optimized)
-0.5 -0.5
0 5 15 20 0 5 15 20
Time[sec] Time[sec]

Y Axis Tracking Errors C Axis Tracking Errors


0.5 0.5
[deg]
[mm]

Saturation
0 0
Saturation

-0.5 -0.5
0 5 15 20 0 5 15 20
Time[sec] Time[sec]

Z Axis Tracking Errors


0.5
[mm]

-0.5
0 5 15 20
Time[sec]

Fig. 12. Tracking errors.


ARTICLE IN PRESS
744 B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745

linearly proportional to the velocities and inversely uA[0,1] is the feed profile parameter normalized with
proportional to the bandwidth of the drives. respect to the total path length (SS),
1
u¼s . (A.2)
6. Conclusions SS
Note that, the B-spline (Eq. (A.1)) interpolates the nominal
The productivity of five-axis machining of dies, feed points fi with respect to n sets of cubic interpolation
molds and aerospace parts with sculptured surfaces is functions, Ni,3(u), that are computed discretely through
hindered by the metal cutting process, the machine evaluation of the following recurrence formula,
tool’s structural dynamics, thermal and volumetric accu- ( 9
racy of the machine, and kinematics and control of 1; if ui pupuiþ1 ; >
>
N i;0 ðuÞ ¼ >
=
the drives. This paper showed that the machining 0; otherwise:
; k ¼ 1; 2; 3.
time can be significantly reduced by optimizing the u  ui uiþ4  u >
N i;k ðuÞ ¼ N i;k1 ðuÞ þ N iþ1;k1 ðuÞ >
>
;
feed along the tool-path while respecting velocity, accel- uiþ1  ui uiþ4  uiþ1
eration and jerk limits of all five drives. In addition, the (A.3)
avoidance of violating the saturation limits of the drives
allows the control law to operate in a linear region, hence The interpolation functions (Ni,3(u)) are dependent only on
improving the accuracy and performance of the CNC uniformly distributed path displacements (u), hence the
system. The tangential feed along the cutter axis varies B-spline parameters do not change when the feeds are
when the axial depth of cut is long, leading to conflicting altered up and down during the axis-constraint based
velocity, acceleration and jerk demands at each drive. The optimization. The parameter vector (u) contains n2
proposed algorithm can be repeated along the cutter axis, uniformly distributed B-spline parameters along the entire
and the feed which satisfies the drive constraints can be tool-path and computed as
selected. u ¼ ½0 u1 u2 ... 1  ¼ ½ 0 Ds 2Ds . . . S S 
|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}
n2 points
Acknowledgments
1 SS
 ; where Ds ¼ . (A.4)
This research is supported by the National Science and SS n3
Engineering Research Council of Canada and Pratt & In order to force the B-spline to pass through initial and
Whitney Canada, under the Industrial Research Chair final feed points [(s ¼ 0, f0 ¼ finit) and (s ¼ SS, fn1 ¼
program. ffinal)], the first and last entries in the parameter vector (u)
are repeated,
 
Appendix. Feed profile generated with a B-spline 0 . . . 0 ui uiþ1 . . . 1|fflffl{zfflffl}
...1
u ¼ |fflffl{zfflffl} . (A.5)
4 4
A cubic B-spline is used to smooth the scheduled
feed, providing a jerk continuous (C3) feed profile The 1st and 2nd derivatives of the feed B-spline with
(_s ¼ sðsÞ) along the tool-path as illustrated in Fig. 1. The respect to the normalized spline parameter (u) is
9
B-spline feed profile is defined by specifying nominal feed dsðuÞ dN 0;3 ðuÞ dN n1;3 ðuÞ >
values, f ¼ [f0, f1, y, fn1] at fixed feed modulation points s€ðuÞ ¼ ¼ f0 þ  þ f n1 >
>
>
du du du >
>
  >
>
along the path length, s ¼ ½sp0 ; sp1 ; . . . ; spn1 . The nominal nP
1 dN ðuÞ >
>
¼
i;3
fi >
>
feeds are evaluated from the velocity, acceleration and jerk du >
=
i¼0
limits expressed in Sections 3.1, 3.2 and 3.3. The discrete
d sðuÞ d2 N 0;3 ðuÞ
2
d2 N n1;3 ðuÞ >
nominal feed points (f) are then assigned as control points f n1 >
>
___

sðuÞ ¼ ¼ f 0 þ    þ >
to fit a cubic B-spline, that defines the jerk continuous feed du2 du2 du2 >
>
  >
>
profile along the tool-path (0pspSS). Each tool-path nP 2
1 d N ðuÞ >
>
¼
i;3
f >
>
segment between two geometric points (Rk, Rk+1) is du 2 i >
;
i¼0
divided into m equal arc-length segments to improve the
optimization of the feed variation while respecting the axis (A.6)
constraints. The number of control points becomes n=mNs where derivatives of the blending functions are evaluated
where Ns is the original number of segments specified in the through repeated differentiation as,
NC tool-path. The feed profile (_s) is expressed in B-spline !
dðkÞ N i;3 ðuÞ dðk1Þ N i;2 ðuÞ=duðk1Þ dðk1Þ N iþ1;2 ðuÞ=duðk1Þ
form as: ¼3  ,
duðkÞ uiþ3  ui uiþ4  uiþ1
s_ðuÞ ¼ N 0;3 ðuÞf 0 þ N 1;3 ðuÞf 1 þ    þ N n1;3 ðuÞf n1
k ¼ 1; 2. (A.7)
X
n1
___

¼ N i;3 ðuÞf i . (A.1) Hence, acceleration (€s) and jerk (s) profiles along the
i¼0 path displacement (s) may be evaluated using Eqs. (A.6)
ARTICLE IN PRESS
B. Sencer et al. / International Journal of Machine Tools & Manufacture 48 (2008) 733–745 745

and (A.7) as: [7] T.S. Smith, R.T. Farouki, S.D. Timar, G.L. Boyadjieff,
   9 Algorithms for time-optimal control of CNC machines along curved
1 d_sðuÞ >
> tool-paths, Robotics and Computer-Integrated Manufacturing 21
s€ðsÞ ¼ s_ðuÞ >
>
SS du u¼s=S S >
> (2005) 37–53.
>
>
 2   >
> [8] D. Renton, M.A. Elbestawi, High speed servo control of multi-axis
1 2
d s_ðuÞ >
= machine tools, International Journal of Machine Tools and
s_2 ðuÞ
___

sðsÞ ¼ Manufacture 40 (2000) 539–559.


SS du2 . (A.8)
u¼s=S S >
> [9] J. Dong, J.A. Stori, A generalized time-optimal bidirectional scan
   !2 >
>
> algorithm for constrained feedrate optimization, Journal of Dynamic
1 d_sðuÞ >
>
>
> Systems, Measurement and Control, Transactions of the ASME 128
þ s_ðuÞ >
>
SS du u¼s=S S
; (2) (2006) 379–390.
[10] M. Tarkiainen, Z. Shiller, Time optimal motions of manipulators
with actuator dynamics, in: IEEE International Conference on
Robotics and Automation, vol. 2, Atlanta, GA, May 2–6, IEEE
Comput. Soc. Press, Los Alamitos, CA, 1993, pp. 725–730.
References [11] A. Piazzi, A. Visioli, Global minimum-time trajectory planning of
mechanical manipulators using interval analysis, International
[1] J.E. Bobrow, S. Dubowsky, J. Gibson, Time-optimal control of Journal of Control 71 (4) (1998) 631–652.
robotic manipulators along specified paths, International Journal of [12] D. Constantinescu, E.A. Croft, Smooth and time optimal trajectory
Robotics Research 4 (1985) 3–17. planning for industrial manipulators along specified paths, Journal of
[2] K. Shin, N. McKay, Minimum-time control of robotic manipulators Robotic Systems 17 (2000) 233–249.
with geometric path constraints, IEEE Transactions on Automatic [13] M. Weck, A. Meylahn, C. Hardebusch, Innovative algorithms for
Control 30 (1985) 531–541. spline-based CNC controller: production engineering research and
[3] Z. Shiller, H.H. Lu, Robust computation of path constrained time development in Germany, Annals of the German Academic Society
optimal motions, in: IEEE International Conference on Robotics and for Production Engineering VI/1 (1999) 83–86.
Automation, vol. 1, Cincinnati, OH, May 13–18, IEEE Computer [14] Y. Altintas, K. Erkorkmaz, Feedrate optimization for spline
Society Press, Los Alamitos, CA, 1990, pp. 144–149. interpolation in high speed machine tools, CIRP Annals 52 (2003)
[4] Z. Shiller, H.H. Lu, Computation of path constrained time optimal 297–302.
motions with dynamic singularities, ASME Journal of Dynamic [15] R.V. Fleisig, A.D. Spence, Constant feed and reduced angular
System, Measurement, and Control 114 (1992) 34–40. acceleration interpolation algorithm for multi-axis machining, CAD
[5] K. Shin, N. McKay, A dynamic programming approach to trajectory Computer Aided Design 33 (1) (2001) 1–15.
planning of robotic manipulators, IEEE Transactions on Automatic [16] T. Coleman, M.A. Branch, A. Grace, Optimization Toolbox for Use
Control 31 (1986) 491–500. with MATLABs, User’s Guide Version 2, The MathWorks Inc.,
[6] R. Gourdeau, H.M. Schwartz, Optimal control of a robot 1999.
manipulator using a weighted time-energy cost function, in: IEEE [17] Y. Altintas, K. Erkorkmaz, W.-H. Zhu, Sliding mode con-
Conference on Decision and Control, vol. 2, Tampa, FL, December troller design for high speed drive, Annals of CIRP 49 (1) (2000)
13–15, IEEE, Piscataway, NJ, 1989, pp. 1628–1631. 265–270.

View publication stats

You might also like