Professional Documents
Culture Documents
vorgelegt von
Thi Thanh Nga Nguyen
Diese Dissertation ist auf den Internetseiten der Universitätsbibliothek online verfügbar.
Acknowledgement iii
Acknowledgement
Foremost, I would like to deeply thank my supervisor Prof. Dr.-Ing. Dr. h. c. Burkhard Corves
for giving me an opportunity to be a PhD student at the Institute of Mechanism Theory,
Machine Dynamics and Robotics (IGMR). I am grateful for his helpful guidance, discussions,
comments, and suggestions on the whole thesis.
Furthermore, I would like to specially thank Prof. Dr.-Ing. Mathias Hüsing as the second
supervisor for giving me important comments, suggestions and encouragements. He also
supported me a chance to be a student job at IGMR.
My big thanks go to Dr.-Ing. Stefan Kurtenbach for his time. He gave me not only many
useful discussions and comments from the start to the end of my thesis but also many valuable
experiences in the research.
I would say to thank Dr.-Ing. Duong Xuan Thang, working at Aachen Institute for Advanced
Study in Computational Engineering Science (AICES), for carefully reading my thesis.
Especially, I would like to thank Prof. Dr-Ing. Rüdiger Schmidt for introducing me to IGMR
to study in the RWTH - Aachen University, Germany.
I would like to thank Mrs. Schneider for helping me administrative procedures at IGMR.
Many thanks go to all my colleagues at IGMR for their warmth and for helping me during the
PhD student’s life.
I would like to thank the Ministry of Education and Training (MOET) of Vietnamese
government for supporting me the living expense during my study time in Germany.
Last but not least, my greatest thanks go to my two litter daughters, Pham Khanh Linh and
Pham Bao Linh, for their love and for understanding me far away from home. I would
specially thank to my mother-in-law and my husband for taking care my daughters during my
study time in Germany.
Abstract
The follower of cam mechanisms may flexibly perform its movement based on the shape of
the cam element and the direct contact with the cam. With this feature, it is convenient to
design a cam mechanism when an output motion is given by working requirements of
machines.
The follower motion is characterized by the displacement, velocity, acceleration, and jerk
functions. The acceleration is related to inertial forces of the follower. When an acceleration
curve has abrupt changes, i.e., peak values, this will lead to large inertial forces. Therefore,
contact stresses at the bearing and on the cam surface also change abruptly, which causes
noise and surface wear. Additionally, the peak value of the jerk curve is also important in cam
design since it determines the tendency of vibration in cam-follower systems. Thus, selecting
a mathematic function to describe the motion of the follower is an important step in cam
design. In this thesis, Non-Uniform Rational B-Spline (NURBS) is used to describe motion
curves of the follower. With the properties of NURBS, the motion curves including peak
values of the acceleration and jerk are shown to have advantageous characteristics compared
to classical approaches.
To do this, the displacement, velocity, acceleration, and jerk functions are represented by
NURBS curves. These curves are then determined by solving the system of linear equations
under given boundary conditions of the displacement, velocity, acceleration, and jerk.
Moreover, the main advantage of NURBS compared with other functions is that the NURBS
curve can be controlled by its parameters such as weights and the knot vector. In this thesis,
the computation of the knot vector is presented to evaluate its effect on motion curves.
Furthermore, finding values of the weight factor to reduce peak values of the acceleration and
jerk, the multi-objective functions depended on the weight factor are expressed. For solving
this problem, the simulated annealing algorithm is used to get the optimal value of weights.
Results of this thesis demonstrate that using NURBS for synthesizing motion curves is robust
and effective because this may apply any motion curves of cam-follower systems. In addition,
the kinematics of cam mechanisms is improved by controlling NURBS’s parameters.
vi Abstract
Zusammenfassung vii
Zusammenfassung
Das Eingriffsglied von Kurvengelenken kann seine Bewegung basierend auf der Geometrie
der Kurvenscheibe und dem direkten Kontakt mit der Kurvenscheibe flexibel ausführen.
Wegen dieser Eigenschaft ist es zweckmäßig ein Kurvengelenk zu entwerfen, wenn die
Abtriebsbewegung durch die Betriebsanforderungen einer Maschine gegeben sind.
Außerdem werden, um Werte für den Gewichtungsfaktor zu finden, die Spitzenwerte von
Beschleunigung und Ruck reduzieren, von dem Gewichtungsfaktor abhängige multikriterielle
Funktionen formuliert. Um dieses Problem zu lösen wird der Simulated Annealing-
Algorithmus genutzt, um den optimalen Werte der Gewichtungen zu erhalten.
viii Zusammenfassung
Ergebnisse dieser Arbeiten zeigen, dass NURBS für das Synthetisieren von
Bewegungskurven robust und effektiv ist, da sie auf jegliche Bewegungskurven von
Kurvenscheiben-Eingriffsglied-Systemen angewandt werden können. Zusätzlich wird die
Kinematik von Kurvengetrieben durch die Einstellung der Parameter der NURBS verbessert.
Content List ix
Content List
Acknowledgement ....................................................................................................................iii
Abstract ..................................................................................................................................... v
Zusammenfassung ..................................................................................................................vii
1 Introduction .......................................................................................................................... 1
1.1 Motivation................................................................................................................ 1
1.2 Research objective and scope .................................................................................. 4
1.3 Thesis outline ........................................................................................................... 4
4.2 Computation of the knot vector for synthesizing cam motion .............................. 46
4.2.1 Parameter calculation............................................................................................. 47
4.2.2 Knot vector generation for cam motion ................................................................. 49
4.2.3 Effect of the power on motion curve.................................................................. 50
4.2.4 Parameter and knot distribution ............................................................................. 57
4.3 Motion curve evaluation ........................................................................................ 64
4.4 Summary ................................................................................................................ 68
References.......................................................................................................................... CXXI
s Displacement [mm]
kB Boltzmann constant
O Point [-]
A Coefficient of harmonic and cycloidal functions [-]
B Coefficient of harmonic and cycloidal functions [-]
C Coefficient of harmonic and cycloidal functions [-]
D Coefficient of harmonic and cycloidal functions [-]
E Coefficient of the cycloidal function [-]
V Velocity [mm/rad]
Radius of pitch circle [mm]
α Coefficient [-]
Coefficient [-]
Abbreviations
SA Simulated Annealing
deg. degree
xviii Abbreviations
1 Introduction 1
1 Introduction
This chapter presents the motivation of Non-Uniform Rational B-Spline (NURBS) used to
synthesize motion curves of cam design. Then the objective of this research is also proposed.
Finally, the thesis outline is given.
1.1 Motivation
Cam-follower systems play an important role in the operation of many machine classes,
especially those of the automatic type, such as cutting machines, screw machines, textile
machines, internal combustion engines, and control systems. In any class of machinery in
which the automatic control and accurate timing are paramount, a cam mechanism is an
essential part of machines. In the design of cam systems, the versatility and flexibility, which
allow a wide variety of cam shapes and forms, are among their more attractive features. Cam
mechanisms therefore are applied for many machines.
In general, designing cam-follower systems has several steps. The detail of these steps for
cam design can be found in [VDI17]. They include:
by given the movement of the slider and the motion program of the follower also depends
on the movement of the slider.
On the other hand, the rise or return motion of the displacement program can satisfy boundary
conditions at the start and the end points as shown in Fig. 1-2a. This motion is well-known
and common in cam design. The other one is shown in Fig. 1-2b; boundary conditions are not
only on the start and end points but also on the points between the start and end points. These
conditions can be found in the cutting machine and the glass bottle handing device [VDI14].
Besides, designing the non-traditional motion of the follower is in the interval , - as shown
in Fig. 1-3. The motion curve satisfies arbitrary boundary conditions of the displacement,
velocity, acceleration, and jerk on the whole cycle if the value is equal to or a part of
cycle if is smaller than of cam-follower systems.
1 Introduction 3
With these steps of cam design as discussed above, the selection of a mathematic function
step is one of the important tasks because the function would affect to the shape of motion
curves and the peak value of these curves. Several well-known functions can be used for
synthesizing the displacement program, such as polynomial, harmonic, cycloidal functions
[Che82; Nor99; UPS03]. However, these functions have been calculated for specific cases.
Moreover, using these functions is limited by the number of boundary conditions. A large
number of boundary conditions as shown Fig. 1-3 can be satisfied with a polynomial function,
but the displacement curve can display oscillations. Due to this reason, the acceleration and
jerk curves may exhibit large values on these curves.
On the other hand, piecewise polynomial functions can be used to synthesize motion curves
[KAK02; MA04]. In this case, the continuity of the acceleration and jerk curves depends on a
set of continuous conditions in each piecewise polynomial. The Bezier [CZJ13] and B-spline
[SGS16; SRJ09; XZ09] functions have been also described for motion curves. These
functions can satisfy any boundary conditions but they are not convenient to adjust motion
curves of cam mechanisms. In recent years, Non-Uniform Rational B-Spline (NURBS) is
applied for the follower motion [GG12; Sat14; XSL12]. These researches used NURBS for
the approximation of basic functions such as harmonic and cycloidal functions. In these
researches, computing motion curves is not flexible since control points of NURBS are taken
on the displacement curve from a basic function. Due to this, motion curves are approximated
when the displacement curve of the follower is given. Moreover, boundary conditions of
motion curves have not been mentioned.
4 1 Introduction
In this thesis, NURBS is generally synthesized for any cases of displacement programs
regarding boundary conditions of the displacement, velocity, acceleration, and jerk. For
examples, these cases are shown in Fig. 1-2 and Fig. 1-3. Furthermore, using NURBS for
motion curves can be controlled by parameters, e.g., the knot vector and weights. This implies
that, peak values of motion curves can be reduced by controlling these parameters. Due to this
reason, the design of cams using NURBS can reduce inertial forces and vibrations.
The main objective of this work is to apply the NURBS function for synthesizing motion
curves, such that the curves satisfy arbitrary boundary conditions of the displacement,
velocity, acceleration, and jerk. Furthermore, motion curves that are designed by NURBS will
be optimized with regards to peak values of the acceleration and jerk.
Compute the optimal parameters for NURBS to reduce peak values of the acceleration
and jerk.
The outline thesis is presented in Fig. 1-4. The remaining parts of this thesis are organized as
follows.
Chapter 2 presents the background of cam-follower systems. Then, mathematic functions used
for motion curves are summarized from previous researches.
Motion curves are established in chapter 3. From this, chapter 4 evaluates the knot vector,
which is also one of the important parameters of NURBS. In this chapter, several methods,
1 Introduction 5
which are suitable to compute the knot vector of NURBS for motion curves, are presented.
Then, the effect of the knot vector on motion curves is described; with this, the satisfactory
method will be chosen to calculate the knot vector for motions curves.
Motion curves using NURBS are controlled by two parameters that are weights and the knot
vector. After choosing the method for computing the knot vector in chapter 4 and motion
curves as shown in chapter 3, the multi-objective functions depended on variables of weights
are built in chapter 5. These functions are created by minimizing peak values of the
acceleration and jerk.
Chapter 6 presents the method for solving the optimization problem in chapter 5. The
simulated annealing algorithm is used for this thesis. The background and the procedure of
this method are presented in this chapter.
With the optimal value of weights that is computed from solving the multi-objective functions
(chapters 5 and 6) and with the method that is used to calculate the knot vector (chapter 4), the
robustness of this proposed computation is illustrated by various examples of the application
for arbitrary boundary conditions, which is presented in chapter 7. Finally, this thesis is
summarized and concluded in chapter 8.
6 1 Introduction
Introduction (Chap. 1)
Conclusion (Chap. 8)
The aim of this chapter is to present an introduction into cam mechanisms and to provide a
part of the work, which has been done in the past of this area. The literature review focuses on
cam-follower systems and follower displacement functions. Finally, summaries and deficits
conclude this chapter.
This section introduces the background of cam-follower systems, and motion programs of the
follower are discussed.
A cam mechanism usually consists of two moving components, e.g. the cam and the follower,
which are mounted on a fixed frame. The possible applications of cam mechanisms are almost
unlimited, and their shapes have great variety. The shape of a cam depends on the transfer
function of the follower.
Fig. 2-1: Type of cams: (a) plate cam, (b) wedge cam, (c) cylindrical cam, and (d) face cam
[UPS03]
The classification of followers is depicted in Fig. 2-2. The basic shapes of the follower
comprise four different types, such as a knife-edge follower (Fig. 2-2a), a flat-face follower
(Fig. 2-2b), a roller follower (Fig. 2-2c), and a spherical face (Fig. 2-2d) [UPS03].
For the other way of classification based on the motion of the follower, they are
reciprocating (translating) followers (Fig. 2-1 a, b, d and Fig. 2-2 a, b) and oscillating
(rotating) followers as shown in Fig. 2-1 c and Fig. 2-2 c, d [UPS03]. On the other hand,
reciprocating followers are cataloged by the centerline of the follower as the offset cam (Fig.
2-2 a) and the radial cam (Fig. 2-2 b).
2 State of the Art 9
Fig. 2-2: Type of followers: (a) offset reciprocating knife-edge follower, (b) reciprocating flat-
face follower, (c) oscillating roller follower, and (d) oscillating spherical face follower [UPS03]
Additionally, the spherical and spatial cam mechanisms are shown in Fig. 2-3 [CN06]. They
are both oscillating roller followers. The intersection at point of three axes of the cam,
follower, and roller is used in the spherical cam (Fig. 2-3 a). The spatial cam with skew joint
axis is shown in Fig. 2-3 b.
Fig. 2-3: (a) Spherical cam mechanism, (b) Spatial cam mechanism [CN06]
10 2 State of the Art
During the motion of cam-follower systems in machines, the contact between the cam and
follower is kept in a whole motion time. In order to make this, Fig. 2-1c shows that the
contact is enforced by the groove in the cam surface. In other manners, the shape of the
follower can maintain the contact as the constant-breadth cam (Fig. 2-4a) and the conjugate
cam (Fig. 2-4b) [UPS03].
Fig. 2-4: (a) Constant-breadth cam with a reciprocating flat-face follower, (b) Conjugate cams
with an oscillating roller follower [UPS03]
Apart from the displacement program as shown in Fig. 2-5, the displacement programs such
as rise-return, rise-return-dwell, and an arbitrary motion program with an unlimited number of
segments can be used in cam mechanisms. They depend on working requirements and
application situations of the underlying motion task. However, in these displacement
programs, each of these cases has a set of constraints on the behavior of the cam functions
between segments, which control the rise, the return, and the dwell. In general, boundary
conditions are used to match these functions of segments. These boundary conditions are not
only these displacement functions but also their derivatives.
Mathematic functions, describing a motion of the follower, are presented in this section.
Selecting a mathematical function for a motion of the follower is an important task in cam
design because this can affect not only kinematics and dynamics but also cam profiles. These
functions are presented in the following sections below.
Traditionally, several mathematical basic functions have been applied to cam motion curves,
e.g. polynomial, harmonic, and cycloidal functions. The properties of these functions are well-
known in [Che82; Nor02; Nor99; UPS03]. The application of these functions for the cam
workbench can be found in [CNM16]. Polynomial is widely used for motion curves in cam
design.
∑ (2.1)
Many researches used polynomial curves as shown in Eq. (2.1) to design cam mechanisms as
displacement functions. Motion curves using the polynomials with degree , , and
are depicted in [Che82; KS13; Nor02; Nor99; UPS03]. They are normalized and shown
in Fig. 2-6. For the polynomial function with degree , four boundary conditions of
displacement and velocity at the start and end points are used. The acceleration curve has
discontinuities at the start and end points. Thus, the jerk values are infinitive at these points.
Motion curves with degree require six boundary conditions of displacement, velocity,
and acceleration at the start and end points. Likewise, eight boundary conditions of
displacement, velocity, acceleration, and jerk at the start and end points are used for the
polynomial with degree .
Using polynomial functions for synthesizing motion curves was presented in [YL95]. The
polynomial function has been also used for motion curves of cam mechanisms with
oscillating flat-face followers as shown in [YL96]. In this work, the polynomial displacement
was determined by minimizing the size of this cam. A method of varying the speed of the cam
was proposed by [YTH96]. In this method, a 3-4-5 polynomial displacement function has
2 State of the Art 13
been used to reduce the peak values of the follower output motion. Subsequently, using the
polynomial for displacement function to optimize the cam size with the translating roller
follower was investigated by Q. Yu and H. P. Lee [YL98]. By using Monte Carlo simulation
to create the cam design tool, several basic functions including polynomials were used for
motion curves to compute the optimum cam design as shown in [CS98]. Parabolic, 3-4 and 3-
4-5 polynomials have been also used in this calculation. The polynomial displacement
functions have been also used in [CL13; FM98; JTR12; NSJ14; SL13; YTZ14]. J. Yang et al.
[YTZ14] used the polynomial for the displacement function to analyze the reciprocating roller
follower of the cam system. This research presented a design of cam mechanisms, which is
applied for transient and heavy loads in the operating system of a large hydraulic press. A cam
mechanism applied for the control machine was designed by some aspects of kinematics of a
motion control as shown in [NSJ14]. The method for analyzing cam mechanisms with both
oscillating and translating flat-face followers is that the condition for the cam profile is
convex in the whole segments [CL13]. Applying polynomial functions for motion curves with
the flat-face and roller followers to determine cam profile was presented in [VDI14].
Besides the polynomial function used for the displacement function, it can also be used with
curve fitting of motion curves. Sadek and Daadbin [SD90] used polynomial curve fitting for
the acceleration diagram. In this research, the polynomial was used for fitting with the given
data of the acceleration. The obtained acceleration curve eliminated the narrow pulses and
cusps in the acceleration diagram compared to the original harmonic motion curve.
Synthesizing cam profiles for arbitrarily prescribed acceleration is investigated by Fan Yu
Chen [Che73]. This work presented the finite integration method to synthesize the motion
curve using polynomial functions. An analytical method for synthesizing cam mechanisms
was presented in [SL13]. In this work, the displacement function using the polynomial can be
obtained by a given diagram of acceleration.
For high-speed cam-follower systems, reducing vibration is important in the dynamic area.
Many researches used polynomial functions for cam displacement and output motion (see Fig.
2-7). The work by Kanzaki and Itao [KI72] and Ulf Andresen and William Singhose [AS04]
used the polynomial function for the follower motion. In this research, the displacement
function was determined upon consideration of the boundary conditions and the
characteristics to reduce the residual vibration. The polynomial output motion has been used
to obtain the optimum design of cam-follower system as shown in [Ber82]. M. Chew and C.
H. Chuang [CC95] presented the polynomial function for the acceleration curve. The
objective of this research is to reduce the residual vibration in high speed cam system. The
residual vibration at the end of the rise motion of a dwell-rise-dwell cam motion was
minimized with the boundary conditions on the displacement function. A method to design
14 2 State of the Art
high-speed cam systems for vibration reduction by using command smoothing technique was
proposed by Zan Liang and Jie Huang [LH14]. To determine the command smoother, a 3-4-5
polynomial was used for motion curves. Motion curves using the polynomial for cam
dynamic systems with one and two degrees of freedom models were investigated in [MT76a].
In this research, the dynamics of the modeled cam system has been used to validate a number
of fundamental design rules concerning the motion distortion due to off-speed operation. This
cam-follower system also reduced the peak value of acceleration.
To develop a repetitive control system for high speed cam follower system with a single
degree of freedom, Woosuk Chang [Woo96] used the third degree polynomial function for the
desired output motion. As also a single degree of freedom, Pridgen and Singhose [PS12]
proposed an alternative method called input shaping to reduce the residual vibration. They
compared the reduction of vibration between 3-4-5 and 4-5-6-7 polynomials, which are used
for motion curves. Using polynomial function for the dynamic synthesis and analysis of the
one degree of freedom model was presented in [MT76b].
2 State of the Art 15
As presented above, the main advantage of a polynomial function is that boundary conditions
of displacement, velocity, acceleration, and jerk values are unlimited for calculating motion
curves of cam mechanisms. However, with a large number of boundary conditions,
displacement functions must use a high order of polynomials. Thus, motion curves can exhibit
unusable oscillations; therefore, peak values of the acceleration and jerk can occur. For that
reason, this will increase the vibration and force in cam-follower systems.
Harmonic and cycloidal functions are trigonometric curves. Harmonic function can be
expressed as
( ) (2.2)
( ) (2.3)
The harmonic and cycloidal functions used for motion curves can be found in [Che82; Nor02;
Nor99; UPS03]. With normalized displacement function, the displacement, velocity,
acceleration, and jerk curves are shown in Fig. 2-8
Using these functions, boundary conditions are limited; for example, the harmonic function
only satisfies four boundary conditions, and the cycloidal function satisfies five boundary
conditions (see Eq. (2.2) and Eq. (2.3)), respectively. In addition, the disadvantage of
harmonic function is that the acceleration curve is discontinuous at the start and end points.
Thus, the jerk will be infinite at these points (see the curves with black line in Fig. 2-8)
16 2 State of the Art
Many researches used trigonometric functions for motion curves as shown in [DG04; JTR12;
LHC08; MET11; WR75; ZCJ09]. E.E. Zayas et al. [ZCJ09] presented the analysis and
synthesis of motion curves for the constant-breadth cam mechanisms as shown in Fig. 2-4 a.
In this work, the cosine function has been used to compute the displacement curve.
Subsequently, the cosine function used for rise and return in the rise-dwell-return motion
program of translating flat-face follower is depicted in [MET11]. Using harmonic function for
motion curves, Anirvan DasGupta and Amitabha Ghosh [DG04] presented the analysis of the
jamming problem for the translating roller follower. The harmonic displacement function was
considered to determine the basic dimensions of the cam. The development of a computer
aided design and manufacturing system for spatial cams was investigated by Yuan L. Lai, Jui
P. Hung, and Jian H. Chen [LHC08]. An example of the cylindrical cam was designed by
using harmonic function for the follower motion.
2 State of the Art 17
The cycloidal function has been used for the follower displacement curve to calculate the cam
contour [Che69]. This function was also used in [TMB13]. This work presented the optimum
design of a cam mechanism with translating flat-face follower considering the cam size, the
input torque, and the contact stress. Another work by Zhonghe Ye, Michael R. Smith [YS02]
exposed the synthesis and analysis of constant-breadth cam mechanisms with both oscillating
and translating flat-face followers. Using the cycloidal function for the rise-return and the
dwell-rise-dwell-return motions was also presented in [GM10; KLH04; SBK15]. The design
of cylindrical cams with translating follower was proposed in [TW93]. In this work, the
cycloidal function has been used for a displacement program with rise-return-dwell to
approach the cam profile based on the theory of envelopes.
Using the basic function for cam mechanisms with the translating roller follower was depicted
in [SPB09]. The aim of this work is to present the software, which is applied to design cams.
By using Pro/E software, Sun Jianping and Tang Zhaoping [ST11] proposed the displacement
diagram with harmonic and cycloidal functions to create cam profiles. The design of cams
with flat-face and roller followers was presented in [CS98]. In this work, several basic
functions, e.g. polynomial, harmonic and cycloidal functions have been used for motion
curves to calculate the cam-follower systems. In high-speed cam, harmonic and cycloidal
functions have been also used for motion curves as shown in [SMA10; TSS16]. These
researches handed out the dynamic analysis of cam-follower systems.
It is obviously seen that harmonic and cycloidal functions are very simple functions.
However, these functions are limited by the number of boundary conditions. Thus, for a large
number of boundary conditions, these functions do not satisfy all boundary conditions.
18 2 State of the Art
Piecewise polynomials are normally used to describe a curve, which is constructed by many
pieces of polynomials. For given n data points *( ) + with ( ) and a
set of ( ) polynomial functions, , a piecewise function ( ) can be
expressed as [MB85]
( )
( )
( ) (2.4)
( )
{ ( )
Parts from the basic functions as shown above, piecewise polynomials are also used to
express the motion curves. In several past decades, piecewise function has been used for
synthesizing motion curves [MB85]. In this research, motion curves are computed by using
piecewise functions with third and fifth degrees for given data points of the follower motion.
The normalized displacement function using cubic piecewise polynomials satisfied by five
points is shown in Fig. 2-9. Subsequently, Yoon and Rao [YR93] presented a method for a
cam motion synthesis using piecewise cubic functions. This method gives continuous velocity
and acceleration curves, but jerk curve is discontinuous. Using piecewise polynomial to
construct the displacement program was presented in [WY96]. In this research, the
displacement program has been designed with continuous displacement, velocity and
acceleration curves. By a set of the continuous conditions, the coefficients of piecewise
polynomial can be calculated. Kim J. H. et al. [KAK02] has also used a cubic piecewise
function to synthesize the follower motion for a spring-actuated cam system. The motion
curves were determined by satisfying the constraints of the displacement of the follower
motion. To develop the idea from Li-Chun Wang [WY96], Mermelstein and Acar [MA04]
presented a method of synthesizing cam profiles based on piecewise polynomials. The motion
curves using piecewise polynomials are shown in Fig. 2-10.
2 State of the Art 19
Fig. 2-9: Normalized cam displacement using cubic piecewise polynomials [MB85]
In recent years, using piecewise polynomials for smoothing curves was presented in [NK07a;
NK07b]. In these researches, a synthesis method for cam design has been proposed by a
smoothing technique for sets of given constraints in the displacement, velocity, and
acceleration of the follower. Hansong Xiao and Jean W. Zu [XZ09] used six-order piecewise
polynomials for synthesizing the displacement curve for cam driven engine. Coefficients of
the polynomial functions were determined by optimizing the output torque of the engine. Six-
order piecewise polynomials have been also used to synthesize the motion curves with given
displacement, velocity and acceleration boundary conditions as found in [FCL13].
20 2 State of the Art
Bezier curve has been also used for the synthesis of motion programs. A nth-degree Bezier
curve can be written as [TLB94]
( ) ∑ ( ) (2.5)
2 State of the Art 21
where
( ) ( ) (2.6)
( )
Up to now, several researches applied a Bezier curve for synthesizing motion curves. Kwun-
Lon Ting et al. [TLB94] used the Bezier technique for synthesizing a displacement program
of cam-follower mechanisms. In this research, the displacement program was obtained by
selecting control points with the intuitive nature of the Bezier technique in computer graphics.
Afterwards, L. N. Srinivasan and Q. Jeffrey Ge [SJ96] used Bezier harmonic curves to
synthesize the displacement function of the follower. Subsequently, their work was extended
by designing cam dynamics [SJ98]. This work dealt with the problem of designing
dynamically compensated cam profiles to minimize residual vibration of high-speed cam-
follower systems. Bezier harmonic curves have been used for motion curves. After many
years, S. Cardona et al. [CZJ13] presented a synthesis of motion curves using Bezier curve in
constant-breadth cams with the parallel flat-face of both translating and oscillating followers.
In this work, with satisfying eight boundary conditions of the follower displacement, seventh-
degree Bezier was used to compute motion curves. The displacement, velocity, acceleration,
and jerk curves are shown in Fig. 2-11. Control points on the displacement curve ( ) are
also shown as circle points in this figure.
22 2 State of the Art
Fig. 2-11: Motion curves using Bezier for constant-breadth cam mechanisms [CZJ13]
As shown in Eq. (2.5) and Eq. (2.6), the degree of Bezier curve used for cam synthesis
depends on the number of boundary conditions. With a large number of boundary conditions,
high order Bezier must be used for motion curves. Due to this reason, Bezier curve has been
rarely used for motion programs when the number of boundary conditions becomes large.
2.2.5 B-spline
B-spline is one of the most popular and successful methods for modeling curves and surfaces
due to its smoothness properties. Especially, for fitting curves or surfaces with a given set of
points, B-spline can be used for approximation. A B-spline curve with p-degree can be
expressed as [HK98]
( ) ∑ ( ) , - (2.7)
2 State of the Art 23
where ( ) are control points, and ( ) are B-spline basis functions that are
defined over the knot vector
* + (2.8)
( ) {
(2.9)
( ) ( ) ( )
The application of B-spline curves for synthesizing cam mechanisms can be found in [MN09;
NM12; TH88; XZ09]. Tsay and Huey [TH88] have used B-spline to define motion curves
with satisfying the discrete constraints on follower displacements, velocities, and
accelerations. Using sixth-order B-spline for the follower displacement curve for a cam
mechanism is shown in Fig. 2-12 [Lam03]. The aim of this research is to minimize the force
fluctuation. This is important to avoid unnecessary vibration, friction, and wear. To continue
the cam driven engine, B-spline curve has been also used for the displacement function to
optimize the output torque of cam-drive engine as shown in [XZ09]. Mandal and Naskar
[MN09] used high-order B-spline for cam displacement functions to optimize control points
by minimizing the jerk function. For further work of this idea, Naskar and Mishra [NM12]
presented the optimization of control points of B-spline to minimize jerk of a ping finite cam
motion function.
24 2 State of the Art
Fig. 2-12: Cam follower displacement curve using sixth-degree B-spline [Lam03]
Apart from B-spline curves which are used for synthesizing motion curves, they have been
also used to design velocity and acceleration curves. E. Sandgren and R. L. West [SW89]
presented B-spline curves for synthesizing motion curves with given acceleration data of the
follower motion. Using B-spline for approximating the velocity curve of the cam roller
follower was proposed by [SGS16; SRJ09]. The velocity function using B-spline was
computed as follows in three steps:
(1) Create motion curves using basic functions (i.e. harmonic, cycloidal, etc.)
(3) Velocity curve ( ) satisfied by these points is defined by using the form in Eq. (2.7)
( ) ∑ ( ) (2.10)
Moreover, B-spline has been used for studying on the dynamic characteristics of high-speed
cam-follower systems as shown in [JI09; JTR12; QLL05]. A universal optimal approach to
cam curve design was presented in [QLL05]. As the elastic model of this research shown in
Fig. 2-13, this approach consisted of four issues:
(2) An objective function was a universal weighting form to integrate the design
requirements;
(3) An automatic adjusting technique for weighting coefficient values was proposed;
(4) Complex Search Algorithm has been used to optimize the control points of B-spline.
The example was applied for the dynamic optimization to control the residual vibration. To
develop the idea from the model as shown in Fig. 2-7, reduction of the residual vibration of
the cam mechanism was presented in [CDS06; JI09]. In these researches, the output motion
was computed by using B-spline curve. Design of cam profile for high-speed engine using B-
spline function by controlled dynamics was presented in [JTR12]. In this research, wear of the
cam profile was reduced by using B-spline for motion curves.
2.2.6 NURBS
NURBS is generated from B-spline and is a short form of Non-Uniform Rational B-Spline.
Besides B-spline widely used to fit complex curves and surfaces, NURBS is also the most
common and flexible spline technique for approximation. A NURBS curve can be written as
[Pie91]
∑ ( )
( ) , - (2.11)
∑ ( )
Here, ( ) are B-spline basis functions as seen Eq. (2.9) and are called weights.
26 2 State of the Art
A procedure for the synthesis and analysis of surface geometry of cylindrical cams with
oscillating roller followers was depicted in [TL96]. In this work, NURBS has been used to
synthesize and to refine the displacement program of the follower. The aim of this work is to
improve the geometric characteristics of the pressure angle and principal curvature of the
cylindrical cam surfaces. Subsequently, Der Min Tsay and Guan Shyong Hwang [TH96]
proposed the spatial cam mechanism, which is called the camoid-follower mechanism. In this
work, NURBS surface was used to interpolate the cam surface. Later on, Marian Neamtu et
al. [NPS98] proposed the design of cam profile for cam flat-face follower using NURBS
curves whose basic functions are appropriately scaled trigonometric splines. For high-speed
cam mechanisms, dynamic responses of a globoidal-cam system were presented in [KLH04].
In this research, NURBS has been used for the displacement function to evaluate the residual
vibration. Guantao Xuan et al. [GG12; XSL12] presented elastic dynamic models of cam-
follower systems (see Fig. 2-13). NURBS has been used for the displacement function to
evaluate the residual vibration. In these researches, control points are picked up from basic
functions, such as harmonic and cycloidal functions.
Using a NURBS approximation to a basic curve was presented in [Sat14]. The NURBS
approximation for the displacement function of a cam roller follower was implemented by
three steps as follows:
(1) Create the basic curve for the follower displacement function, i.e. simple harmonic,
cycloidal
(2) Divide the angle of interval (rise and return motions) of the basic displacement curves
into five parts. Then, control points were taken on the displacement curve.
(3) The displacement curve using three-degree NURBS was determined by given these
control points.
(2.12)
and spacing the knots is calculated as uniform spaces. This research has not mentioned to
boundary conditions of motion curves. Moreover, control points are selected by several points
on the displacement curve that is synthesized by using basic functions.
2 State of the Art 27
A cam mechanism constitutes a simple, compact, and versatile way with a desired output
motion of the follower. In the design of cam mechanisms, selecting a mathematic function for
the expression of the displacement curve is an important task. Up to now many researches
have used polynomial functions for displacement programs. The main advantage of this
function is very simple and satisfies all boundary conditions of the displacement, velocity,
acceleration, and jerk. However, if the number of boundary conditions becomes large, the
displacement curve can be oscillating; therefore the velocity, acceleration, and jerk curves can
appear peak values. In addition, solving coefficients of polynomial functions that is used for
motion curves can be singular.
With the trigonometric functions such as harmonic and cycloidal functions, the number of
boundary conditions of motion curves is limited. Moreover, with the harmonic function, there
exist discontinuities at the start and the end points of the acceleration curve. Infinitive values
of the jerk curve thus occur at these points.
Spline functions have been used for cam design in many years. With piecewise polynomial
functions, the continuity of motion curves, such as acceleration and jerk functions, depends on
a set of continuous conditions of each polynomial function. For the Bezier curve, the degree
depends on the number of boundary conditions. This feature is similar to the polynomial
function. Using B-spline curve for motion curves is very flexible because these functions can
satisfy all working requirements of the follower. Nevertheless, B-spline is not convenient to
control motion curves.
As discussed above, NURBS has been used to calculate displacement functions for specific
cases of cam mechanisms. Furthermore, several recent researches presented motion curves
with NURBS, which have not mentioned for all boundary conditions of the displacement,
velocity, acceleration, and jerk. In addition, motion curves using NURBS are determined by
selecting the number and the value of control points that take on the displacement curve with
basic functions, i.e., harmonic and cycloidal functions. Due to this, the question for this
problem is how to select the number and the value of control points on displacement curves.
Due to these reasons, in this thesis, motion curves, which satisfy boundary conditions of the
displacement, velocity, acceleration, and jerk, are synthesized by the NURBS function.
Control points of NURBS are determined by given boundary conditions that are output
motions of machines. Thus, this thesis will give a framework that can be used to synthesize
any motion curves with arbitrary output motions of machines. Moreover, with flexible
28 2 State of the Art
This chapter presents a general synthesis of motion curves using NURBS. In section 3.1, the
description of the displacement, velocity, acceleration, and jerk functions is proposed by
NURBS for cam motions. Then, establishing motion curves using NURBS is shown in
section 3.2. This section regards general boundary conditions of the displacement, velocity,
acceleration, and jerk and builds the system of linear equations based on these boundary
conditions. The next section 3.3 presents the degree selection of NURBS for cam motion to
satisfy kinematic and dynamic conditions. Consequently, the evaluation of weights on motion
curves is depicted in section 3.4. Finally, the summary is handed out in section 3.5.
This section presents the NURBS curve for the displacement, velocity, acceleration, and jerk
functions. Fig. 3-1 shows the notations of cam mechanisms using NURBS with degree . The
notations are presented in the cam roller follower and are likewise used for other types of cam
mechanisms. In this figure, denotes the angle of camshaft (radian or degree). In general,
is in , -. presents the displacement function of the follower motion. The unit of the
displacement depends on the type of the follower as shown in Fig. 2-2. It is length if the
movement of the follower is reciprocating or radian (degree) if the follower motion is
oscillating.
30 3 General Synthesis of Motion Curves Using NURBS
According to Eq. (2.11), the displacement function using NURBS can be rewritten into the
following equivalent form
( ) ∑ ( ) , -
(3.1)
and setting
( ) (3.2)
( )
∑ ( )
Here, ( ) are called rational basis functions [Pie91]. The geometric behavior of the
curves depends on the properties of these functions. Some important properties will be
presented in section 3.4.
3 General Synthesis of Motion Curves Using NURBS 31
In Eq. (3.2), are weights, and all of them are positive. The weight vector can be written
as
* +, (3.3)
Although weights are real numbers, the effect of weight values is enormous on the shape of
motion curves. This will be discussed further in section 3.4.
From Eq. (3.2), ( ) are B-spline basis functions. They can be computed over the knot
vector . There are two kinds of the knot vector that are the clamped group and unclamped
group. The clamped group is regularly used to compute the NURBS curve and surface
[PT97]. The more detail of the knot vector will be presented in Chapter 4. In here, the knot
vector can be expressed as
* +, (3.4)
( ) { . (3.5)
( ) ( ) ( ) (3.6)
Next, we consider the velocity, acceleration, and jerk functions. They are computed by taking
derivatives of the displacement function as seen Eq. (3.1) in term of cam shaft angle .
( )
( ) ∑ ( ) , - (3.7)
32 3 General Synthesis of Motion Curves Using NURBS
( )
( ) ∑ ( ) , - (3.8)
( )
( ) ∑ ( ) , - (3.9)
In here, , and denote the first, second, and third derivatives of rational basis
functions ( ) in term of . From Eq. (3.2), they can be computed as
( ) ( ) ∑ ( )
( ) (3.10)
∑ ( ) (∑ ( ) )
( )
( )
∑ ( )
( ) ∑ ( ) ( ) ∑ ( )
(3.11)
(∑ ( ) )
( ) (∑ ( ) )
(∑ ( ) )
3 General Synthesis of Motion Curves Using NURBS 33
( )
( )
∑ ( )
( ) ∑ ( ) ( ) ∑ ( )
(∑ ( ) )
( ) ∑ ( )
(∑ ( ) )
(3.12)
( ) (∑ ( ) )
(∑ ( ) )
( ) ∑ ( ) ∑ ( )
(∑ ( ) )
( ) (∑ ( ) )
(∑ ( ) )
In these equations (3.10), (3.11), and (3.12), ( ) ( ) and ( ) are the first,
second, and third derivatives of B-spline basis functions as shown in Eq. (3.6). The -
derivative of the B-spline basis functions may calculate as the following [PT97]
∑ ( ) (3.13)
( )
(3.14)
34 3 General Synthesis of Motion Curves Using NURBS
( ) ( ( ) ( )) (3.15)
( ) ( ). ( ) ( ) ( )/ (3.16)
( ) ( )( )( ( ) ( )
(3.17)
( ) ( )/
(3.18)
(3.19)
(3.20)
(3.21)
3 General Synthesis of Motion Curves Using NURBS 35
(3.22)
(3.23)
(3.24)
(3.25)
(3.26)
A general synthesis of motion curves is presented in this section. The presentation is taken
from Nguyen et al. [NKH17a]. For a given number of boundary conditions, the boundary
conditions of the displacement velocity acceleration, and jerk at and are
( ) ( ) ( ) and ( ) respectively. Therefore, the boundary conditions can be
written as follows
[ ( )]
, ( )-
(3.27)
, ( )-
, ( )-
From the boundary conditions, the system of linear equations can be written as
( ) ( )
( ) ( )
(3.28)
( ) ( )
[ ( )] [ ] [ ( )]
[ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )] (3.29)
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
(3.30)
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
[ ( ) ( ) ( )]
3 General Synthesis of Motion Curves Using NURBS 37
(3.31)
(3.32)
Control points ( ) are determined from Eq. (3.32) so that motion curves are
determined by equations (3.1), (3.7), (3.8), and (3.9).
In the fields of fitting/ approximation and interpolation of curves and surfaces, the most
common use is a quadratic or cubic NURBS [Pie91]. Because of caring about accuracy of
surface with a given data fitting, these curves and surfaces do not require continuity of
derivatives.
On the other hand, in cam design, cam functions for any cam-follower systems excepting
cams with very low speeds must be designed with the following constraints. The fundamental
law is presented in [Nor99]:
“The cam function must be continuous through the first and second derivatives of
displacement across the entire interval (360 degrees)”.
Corollary:
“The jerk function must be finite across the entire interval (360 degrees)”
Choosing degree of NURBS does not depend on the number of boundary conditions. For
selecting the degree as mentioned in the fundamental law, the function will be thus continuous
up to jerk curve. Due to this reason, degree is chosen for synthesizing motion curves
in this work.
This section presents the effect of weights on motion curves by using NURBS. According to
equations (3.1), (3.7), (3.8), and (3.9), rational basis functions ( ) are used to determine
the curve and its derivatives. They are piecewise rational functions on , -. Fig. 3-2
shows the effect of weight factors on rational basis functions. In this figure, six boundary
conditions, which include two boundary conditions of displacement, two boundary conditions
of velocity, and two boundary conditions of acceleration at the start and the end points, are
used for calculation of the motion curves. It means that and as known in section
3.3. The analytic properties affect the geometric behavior of the curves. From this figure,
several important properties are presented as follows
(3) ( ) ( ) ;
(4) If all weights are equal for all , then ( ) ( ) for all ; B-spline basis
functions ( ) of B-spline are special cases of rational basis functions ( ) of
NURBS;
As shown in Eq. (3.2), the number of weights is equal to . In this example, the weight vector
can be expressed as * +. In order to evaluate the effect of
weight values on motion curves, the change of the third- and fourth-weight as random values
in the weight vector are proposed. As seen in Fig. 3-2, a value of rational basis functions is
also changed at all points in , -. Especially, maximum values of these curves are changed
much. This is clearly seen that if and increase, i.e. four cases: (a) ;
(b) ; (c) ; and (d) and the other weights keep
the constant value as 1, maximum values of rational basis functions (black solid line) and
(red solid line) increase respectively.
3 General Synthesis of Motion Curves Using NURBS 39
Fig. 3-2: Effect of weights on rational basis functions: (a) w3 = w4 = 0.5; (b) w3 = w4 = 1.0; (c) w3 =
w4 = 1.5; (d) w3 = w4 = 2.0
Due to the change of these rational basis functions, motion curves of cam mechanisms are
changed. Fig. 3-3 presents the effect of weights on motion curves. As shown above, the
motion curves are computed for four cases of the third- and fourth-weight. Fig. 3-3a shows
that the difference of the displacement curves among these cases does not change much.
Nevertheless, the other curves are changed tremendously. These curves are velocity,
acceleration, and jerk curves as shown in Fig. 3-3 b, c, and d respectively. Therefore, as seen
that the peak values of the velocity, acceleration, and jerk are also altered very much.
40 3 General Synthesis of Motion Curves Using NURBS
Fig. 3-3: Effect of weights on normalized motion curves: (a) Displacement; (b) Velocity; (c)
Acceleration; (d) Jerk
3.5 Summary
In this chapter, by using NURBS for motion curves, a general synthesis of cam mechanisms is
presented. As shown in section 3.2, control points are determined by solving the system of
linear equations under given boundary conditions. Thus, motion curves, which are the
displacement, velocity, acceleration, and jerk, are set up in equations (3.1), (3.7), (3.8), and
(3.9). As seen in these equations, motion curves depend on two parameters, such as the knot
vector and weights. These parameters have an enormous effect on motion curves. The
computation of the knot vector will be therefore presented in chapter 4.
3 General Synthesis of Motion Curves Using NURBS 41
As discussed in section 3.4, weights affect the motion curves. To compute the value of
weights to reduce peak values of the acceleration and jerk, multi-objective functions will be
presented in chapter 5. Solving the weight factor will be depicted in chapter 6.
42 3 General Synthesis of Motion Curves Using NURBS
4 Effect of the Knot Vector on Motion Curves 43
This chapter presents the effect of the knot vector on motion curves. The general introduction
to the knot vector is first summarized. For this regard, Section 4.1 presents several methods to
compute the knot vector in geometric design. Then, the application of these methods for
computing the knot vector in cam synthesis using NURBS will be proposed in Section 4.2. In
this section, the distribution of parameters and knots will be presented to evaluate motion
curves. Finally, the comparison of motion curves using these methods will be discussed in
Section 4.3.
Generally, choosing a method for computing parameters is the most important task to
interpolate and approximate curves or surfaces because the shape of curves or surfaces is
affected by the value of parameters, which is arranged in the domain , -. In order to
compute parameters, data points are given for interpolating and for fitting curves or surfaces.
Fig. 4-1 shows the correspondence between input data points and parameters. For given data
points ( ) as shown in Fig. 4-1, parameters, ( ), must be found from
these points so that a point corresponds to a parameter for [She11].
44 4 Effect of the Knot Vector on Motion Curves
In several decades, many methods for computing parameters of B-spline and NURBS were
developed. The simplest method is the uniformly spaced method [Liu94]. The distance
between two consecutive parameters is constant. Thereafter, Choong-Gyoo Lim proposed a
method for calculating parameters, which is called the universal parameterization. In this
method, parameters are computed by values in which their B-spline basis functions reach
maximum values [Lim99]. The chord length parameterization is computed by values
according to distances between the consecutive data points, i.e., | | [Wei09]. A
method using a power for the distances, i.e., | | , is called the centripetal
parameterization [JK00]. The other method called the hybrid parameterization can be found in
[SA04]. The hybrid parameterization is based on the centripetal method and takes maximum
values of B-spline basis functions for computing parameters. Foley et al. presented a method
for the choice of the parameterization for spline interpolation [FN89]. Parameters are
calculated by not only distances but also angles between consecutive points.
For the second step with generation of the knot vector , -, the uniformly
spaced knot vector can be found in [Liu94]. The knot vector is determined by knots for which
the distances, ( ) are equally spaced. The knots in the universal method are
computed as similar to the uniformly spaced method [HRA12]. The other method is called the
average method that can be found in [Boo01]. This method is commonly used to calculate the
4 Effect of the Knot Vector on Motion Curves 45
knot vector. Park proposed the shifting method to compute the knot vector for B-spline
interpolation; however, this method is only applied for B-spline with an even degree [Par01].
For choosing a method to calculate the knot vector for synthesizing cam mechanisms, several
suitable methods are selected for computing the knot vector. Consequently, the effect by
applying these methods on motion curves will be compared. With the methods as discussed
above, in this chapter, the parameterization methods will be presented to compute parameters,
e.g., the uniform, chord length, centripetal, and hybrid methods. As mentioned above, the
universal and Foley methods are not discussed in this work. For the universal method, the
knot vector is similar to uniform method. With characteristic of boundary conditions of
motion curves that will be discussed in section 4.2.3, the Foley method is not suitable for
calculation of the knot vector in cam synthesis. In order to generate the knot vector, this thesis
will present two methods such as the uniform and average techniques.
As the summary of the methods for calculating the knot vector, Fig. 4-2 shows the methods
for computing the parameterization and generating the knot vector, which will be presented in
the next section.
46 4 Effect of the Knot Vector on Motion Curves
Uniform space
Centripetal
Parameterization
methods
Chord length
Hybrid
Uniform space
Generation
methods
Average
Fig. 4-2: Methods for computing the knot vector in cam synthesis
*⏟ ⏟ +
( ) ( )
(4.1)
Computing the knot vector for synthesis of cam motion is taken from Nguyen et al.
[NKH17b]. The procedure for computation the knot vector is presented below.
4 Effect of the Knot Vector on Motion Curves 47
, - (4.2)
, - (4.3)
This is the simplest method for computing parameters. In the domain , -, parameters can
be calculated by [Liu94]
(4.4)
{
48 4 Effect of the Knot Vector on Motion Curves
According to elements, , and the domain , -, the first and end parameters
are respectively and . The other parameters can be computed as [Wei09]
∑ | |
( ) (4.5)
∑| | (4.6)
Centripetal method
Sum of the length with new measurement in the centripetal parameterization is calculated as
[JK00]
∑| | (4.7)
here, is positive and . Choosing a value of can be affect motion curves. This
will be presented in Section 4.2.3.
4 Effect of the Knot Vector on Motion Curves 49
To compute the parameters with the centripetal method, the end parameters are equal to
and . The remaining parameters can be computed as [JK00]
∑ | |
( ) (4.8)
Hybrid method
As discussed in section 4.1, the calculation of the hybrid parameterization is based on the
centripetal method and the maximum values of the B-spline basis function. Thus, the hybrid
parameters can be computed as the following three steps below [SA04]:
√| |
(4.9)
∑ | |
After a set of parameters is obtained, the knot vector is generated by the uniform and average
techniques. As discussed above, the number of knots, , are computed from parameters ,
where . According to the knot vector as shown in Eq. (4.1), first knots
are equal to i.e., and end knots are equal to i.e.,
. The other knots can be computed by the uniform and
average methods.
50 4 Effect of the Knot Vector on Motion Curves
For the uniform technique [Liu94], this method is only used for the uniform parameterization.
The interval knots are computed as
( ) (4.10)
For the other methods, interval knots can be calculated by the average technique [Boo01].
The remaining knots can be expressed as
∑ (4.11)
This section presents the effect of the power of the centripetal method on motion curves.
The goal is to determine a suitable value of the power for motion curves of cam mechanisms.
To obtain this, two examples are presented in this section. In the first example, a small
number of boundary conditions is considered, and considering the second one is to have a
large number of boundary conditions. The value of power is in the interval ( ). In order
to compare motion curves of these examples among several different values of , the values
of are taken as .
In the first example, nine boundary condition, which can be found in [TH88], is shown in
Table 4-1.
4 Effect of the Knot Vector on Motion Curves 51
0 0 0 0
0.2 0.01 - -
0.5 0.6 - 0
1 1 0 0
From the angle of the camshaft in Table 4-1, the vector of input angles as shown in Eq. (4.2)
can be written as
, - (4.12)
According to Eq. (4.7) and (4.8), the parameters ( ) are computed for all cases,
i.e., . The knot vector is then calculated for these cases. From this, the
motion curves are established as the following chapter 3 by using the same weight vector .
Fig. 4-3 and Fig. 4-4 present motion curves of nine boundary conditions. Nine values of are
given to compute and to compare motion curves. It can be seen that the extreme value of the
acceleration (see the violet line of the zooming box in Fig. 4-4a) obtains the smallest value for
and the largest value for . On the other hand, the extreme value of the jerk
increases while the value decreases from to (see the zooming box in Fig. 4-4b). For
example, the maximum value of the acceleration is for and
for . Nevertheless, the maximum value of jerk has the large difference between two
cases, i.e., for and for .
52 4 Effect of the Knot Vector on Motion Curves
Fig. 4-3: Displacement (a) and velocity (b) curves of nine boundary conditions
4 Effect of the Knot Vector on Motion Curves 53
Fig. 4-4: Acceleration (c) and jerk (d) curves of nine boundary conditions
54 4 Effect of the Knot Vector on Motion Curves
In the second example, considering the large number of boundary conditions of the motion
curves is taken from Nguyen [NKH17b]. Twenty boundary conditions of the displacement,
velocity, and acceleration are shown in Table 4-2.
45 1.02 -- 0
90 2.0 0 0
150 1.61 -- --
210 0.39 -- --
270 0 0 0
According to the angles of the camshaft at the boundary conditions in Table 4-2, the vector of
input angles can be expressed as
,
(4.13)
-
In Eq. (4.13), elements in the vector are measured in radian. The comparison of the motion
curves among the cases of the power, i.e., is shown in Fig. 4-5 and Fig.
4-6. In this example, the displacement curves exhibit the large oscillation in the interval of the
camshaft , - with (the black line) and (the blue line) as shown in Fig.
4-5a. Additionally, values of the displacement in the interval of the camshaft , - are
negative. For this, it is not allowed in cam design. For the other cases of the value , as seen
in the zooming boxes in Fig. 4-5 b, Fig. 4-6 c, d, the extreme value of the velocity,
acceleration, and jerk achieves the smallest value for with the red line and the largest
value for with the green line in these figures.
4 Effect of the Knot Vector on Motion Curves 55
Fig. 4-5: Displacement (a) and velocity (b) curves of twenty boundary conditions
56 4 Effect of the Knot Vector on Motion Curves
Fig. 4-6: Acceleration (c) and jerk (d) curves of twenty boundary conditions
From the discussion of the examples above, there is no rule for the power in order to
achieve the best value of the acceleration and jerk. Therefore, for selecting the value used to
compute the knot vector of the centripetal method for the cam synthesis, , which is the
average value in the interval ( ), is chosen for the centripetal method.
4 Effect of the Knot Vector on Motion Curves 57
This section presents several examples in two cases of the domain , -. The first domain
is , - that is applied for normalized displacement curves, and the second domain is that
and are arbitrary numbers, which depend on the interval of camshaft angles. These
examples are considered by a small and large number of boundary conditions.
Starting the first example with eight boundary conditions, this example is well-known in
[Che82; Nor99; UPS03]. The motion curves are normalized, and the boundary conditions are
shown in Table 4-3.
0 0 0 0 0
1 1 0 0 0
, - (4.14)
According to the calculation steps as shown in Section 4.2.1 and 4.2.2, parameters and knots
are computed by several methods such as the uniform, chord length, centripetal, and hybrid
methods. The distribution of the parameters and knots is presented in Fig. 4-7. In this
example, considering the domain of the knots is in [ - (see the vector of input angle in
Eq.(4.14)). As seen that the largest difference between these methods is the distance of two
consecutive points. For the uniformly spaced method, the distances both parameters (black
plus sign) and knots (red star sign) are constant (see Fig. 4-7a), and the computation of the
parameters is only contingent on the first and end elements in .
58 4 Effect of the Knot Vector on Motion Curves
Fig. 4-7: Distribution of parameters (black plus sign) and knots (red star sign) for 8
boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid
The special property of the vector of input angles in cam design is to have the same value of
several elements because boundary conditions at an angle of the camshaft may satisfy not
only the boundary condition on displacement but also the boundary condition on the velocity,
acceleration, and jerk. For instance, as shown in Table 4-3, the angle and satisfy the
boundary conditions of the displacement, velocity, acceleration, and jerk. Due to this
property, several parameters have the same value at the first and end elements by using the
chord length and centripetal methods (see Fig. 4-7b, c with the back plus sign).
In this example, the distribution of the parameters and knots using the chord length method is
similar to the distribution with the centripetal method (see Fig. 4-7 b, c). In order to have this
feature, from the vector of input angles in Eq. (4.14), the difference between the fourth- and
fifth- elements in | | is equal to and is for the others. Thus, values of
parameters and knots computed by the centripetal method are not affected by the power
(see Eq. (4.7) and (4.8)).
4 Effect of the Knot Vector on Motion Curves 59
The distribution of the parameters and knots using the hybrid method is focused on the middle
of the domain , -. This is the most different characteristics compared to the others, e.g., the
uniform, chord length, and centripetal methods.
In the second example with nine boundary conditions as shown in Table 4-1, the boundary
conditions are not only at the first and end points of the camshaft angle but also between these
points. The vector of input angles is shown in Eq. (4.12). The distribution of the parameters
and knots computed by the uniform, chord length, centripetal, and hybrid methods is
presented in Fig. 4-8. In this example, considering the domain of the knots is also in [ -
(see the vector of input angle in Eq. (4.12)). For the uniformly spaced method, the distances
both parameters (black plus sign) and knots (red star sign) are clearly constant (see Fig. 4-8a).
As discussed above, the value of several parameters is equal at some positions by using the
chord length and centripetal methods (see Fig. 4-8b and c with back plus sign). For the knot
vector, the distribution of knots is presented by red star signs (Fig. 4-8b, c) with first
knots and end knots, and the other knots are arranged in the domain , -.
Fig. 4-8d depicts the distribution of parameters and knots by using the hybrid method. The
distribution of the parameters and knots is also concentrated in the middle of the
domain , -. Due to the distribution of parameters and knots, motion curves can be affected.
This will be presented in the next section.
60 4 Effect of the Knot Vector on Motion Curves
Fig. 4-8: Distribution of parameters (black plus sign) and knots (red star sign) for 9
boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid
In the third example, considering motion curves for the cam mechanism in cutting machines is
shown in [VDI14]. The motion curves are normalized. The displacement satisfies ten
boundary conditions, and the values of the velocity, acceleration and jerk are equal to zero at
the start and end points. The boundary conditions are shown in Table 4-4.
,
(4.15)
-
4 Effect of the Knot Vector on Motion Curves 61
0 0 0 0 0
0.1111 0.0403 -- -- --
0.2222 0.1533 -- -- --
0.3333 0.3187 -- -- --
0.4444 0.5084 -- -- --
0.5556 0.6926 -- -- --
0.6667 0.8443 -- -- --
0.7778 0.9453 -- -- --
0.8889 0.9920 -- -- --
1 1 0 0 0
Fig. 4-9 shows that the distribution of the parameters and knots is in the domain , - for four
methods. For the uniformly spaced method, the position of the parameters (black plus sign)
and knots (red star sign) are obviously divided by the same distance in the domain (see Fig.
4-9a).
According to the vector of input angles in Eq. (4.15), the difference between two elements
in | |( ), is contant, and the remaining elements in and
are equal to zero. For the centripetal method with this case, computing the
parameters is not affected by power (see Eq. (4.8)). Thus, the distribution of the
parameters (black plus sign) and knots (red star sign) is coincided by using the chord
length and centripetal methods as seen in Fig. 4-9b and c.
62 4 Effect of the Knot Vector on Motion Curves
The results used the hybrid method are similar to examples above. It is clearly seen that the
distribution of the parameters and knots is also focused on the middle of the domain , -.
Fig. 4-9: Distribution of parameters (black plus sign) and knots (red star sign) for sixteen
boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid
As the last example, a large number of boundary conditions is considered. Twenty boundary
conditions of the displacement, velocity, and acceleration are shown in Table 4-2.
In this example, from the vector of input angles as shown in Eq. (4.13), the domain of the
knots is in , -. Fig. 4-10 presents the distribution of the knots for the four methods
such as the uniform, chord length, centripetal, and hybrid methods. With the uniformly spaced
method as seen in Fig. 4-10a, the distance of two consecutive points both parameters and
knots is obviously constant. Fig. 4-10b, and c show that the position of knots is not much
different between the chord length and centripetal methods. It is clearly seen that the
distribution of the parameters and knots in cases of the uniform, chord length, and centripetal
methods is arranged in the whole domain , -.
4 Effect of the Knot Vector on Motion Curves 63
In case of the hybrid method, the distribution of knots is centralized on positions in the
interval ( ) of the domain , - (Fig. 4-10d with zooming in the box). As presented
by the hybrid method in section 4.2.1, the parameters are computed by the collection data that
is the maximum values of basis functions. According to the important properties of rational
basis functions as presented in section 3.4, these values are therefore smaller than one; thus,
the values of knots in the interval , - cannot be larger than one.
Due to the distribution of parameters and knots, in Eq. (3.30) is a singular matrix, and thus
it has no inverse matrix. Therefore, control points in Eq. (3.32) cannot be found. For this
reason, the hybrid method is not used to compute the parameters of the knot vector in this
thesis.
Fig. 4-10: Parameter (black plus sign) and knot (red star sign) distribution for 20 boundary
conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid
With the characteristics of boundary conditions, the angle of the camshaft is not only in the
domain , - that commonly occurs in case of normalized displacements, but also in an
arbitrary domain. For the hybrid method, it can be only used to compute the knot vector in the
domain , -. Thus, three methods such as the uniform, chord length and centripetal methods
are considered to compute the knot vector in this thesis.
64 4 Effect of the Knot Vector on Motion Curves
This section presents the comparison of motion curves among the three methods such as the
uniform, chord length, and centripetal. The examples as shown in section 4.2.3 are considered
in this section. In these examples, the same values of weights are used to compute motion
curves, i.e., for .
In the first example, the boundary conditions as shown in Table 4-3 are presented. From
computing the knot vector in section 4.2, the B-spline basis functions and rational basis
functions are created, and the motion curves are thus established as shown in equations (3.1),
(3.7), (3.8), and (3.9). Fig. 4-11 shows the results of motion curves computed by the three
methods such as the uniform, centripetal, and chord length methods. As discussed in Section
4.2.3, the parameters and knots computed by the chord length and centripetal methods are
similar; the motion curves as shown in Fig. 4-11 are therefore coincided for these methods. It
can be seen that the displacement, velocity and acceleration curves have a slight difference
among these methods (see Fig. 4-11a, b, c). However, the most difference occurs on the jerk
curves. The maximum value of jerk with the chord length and centripetal methods is larger
than the uniform method.
4 Effect of the Knot Vector on Motion Curves 65
Fig. 4-11: Effect of the knot on motion curves with 8 boundary conditions: (a) Displacement, (b)
Velocity, (c) Acceleration, and (d) Jerk
For the second example as shown in Table 4-1, Fig. 4-12 shows the motion curves of the three
methods for computing the knot vector. The motion curves are slightly different among these
methods. The maximum value of the jerk in case of the chord length method (blue line)
obtains the smallest value compared to the other methods, i.e., the uniform and centripetal
methods as shown in Fig. 4-12 d.
66 4 Effect of the Knot Vector on Motion Curves
Fig. 4-12: Effect of the knot on motion curves with 9 boundary conditions: (a) Displacement, (b)
Velocity, (c) Acceleration, and (d) Jerk
In the third example, the cam mechanism is designed for cutting machines. Sixteen boundary
conditions of the follower are shown in Table 4-4. The motion curves for this example using
the three methods are presented in Fig. 4-13. As discussed in section 4.2.3, the knot vector
computed by the chord length and centripetal methods has the same values of the
knots ( ). Due to the same weight vector , the motion curves are therefore
coincided by using the chord length and centripetal methods (see the blue and red lines in Fig.
4-13).
As shown in Fig. 4-13a, the displacement curves are slightly changed among the three
methods; however, there is a small oscillation on the displacement curve in case of the
uniformly spaced method (black solid line). Thus, the other curves including the velocity,
acceleration, and jerk are also oscillating. Due to this reason, the peak values of the velocity,
acceleration and jerk are obviously enormous as seen in Fig. 4-13b, c and d. This is not
desirable in cam design.
4 Effect of the Knot Vector on Motion Curves 67
Fig. 4-13: Effect of the knot on motion curves with sixteen boundary conditions: (a)
Displacement, (b) Velocity, (c) Acceleration, and (d) Jerk
In the last example, twenty boundary conditions are considered as shown in Table 4-2. The
comparison of the motion curves is shown in Fig. 4-14. As shown in Fig. 4-14a, the
displacement curve is slightly different among the three methods. For the other curves such as
the acceleration and jerk curves, the peak value in case of the chord length method (blue solid
line) is much smaller than the uniformly spaced (black solid line) and centripetal methods (red
solid line) as seen Fig. 4-14c, and d.
68 4 Effect of the Knot Vector on Motion Curves
Fig. 4-14: Effect of the knot on motion curves with 20 boundary conditions: (a) Displacement,
(b) Velocity, (c) Acceleration, and (d) Jerk
4.4 Summary
In this chapter, the procedure for computing the knot vector of several methods is presented.
Evaluating the knot vector on the displacement, velocity, acceleration, and jerk curves is
proposed by using several methods for calculating the knot vector, i.e., the uniform, chord
length, and centripetal methods. The results as discussed in section 4.3 show that the peak
values of the acceleration and jerk curves using the chord length method almost obtain small
values compared to the others, except for the case of eight boundary conditions. Thus, in this
thesis, the chord length method is used to compute the knot vector.
5 Optimizing Weight Factor of Motion Curves by Considering Kinematics 69
This chapter presents the multi-objective optimization problem of motion curves considering
the kinematics. Optimization problems and variables are discussed in Section 5.1. Section 5.2
describes the multi-objective function of motion curves. The short summary is presented in
Section 5.3. This section shows how to select a method for solving the optimization problem
of motion curves.
Optimization deals with types of problems at which one of them must minimize or maximize
one or more objectives. In the optimization design of cam mechanisms, optimization
problems are referred to determine the optimal cam profile. These problems can be the
optimum of the cam size, kinematics, dynamics, force, and stress.
For the kinematics optimization such as the acceleration and jerk, they are very important
factors in cam design. As discussed in Chapter 2, discontinuous values of acceleration and
jerk occur on several functions of motion curves, e.g., harmonic function, polynomial function
with degree or . Due to these abrupt changes of the acceleration, contact stresses and
inertial forces acting on the bearing and on the cam surface also have abrupt changes;
therefore, the noise, surface wear, and eventual failure can occur [FFS10; UPS03].
Additionally, infinite values of the jerk will occur on the jerk curve and affect the vibration of
cam-follower systems. Thus, to minimize vibrations, the jerk curve should be a continuous
function [Nor99].
In this thesis, selecting the NURBS curve with degree for the synthesis of motion curves
ensures that the jerk curve will be continuous at all boundary conditions. Moreover, peak
values of motion curves should be considered to minimize. This is actually wanted for
designers of cam mechanisms, and it is essential with high speed cam mechanisms. Therefore,
the optimization problems are considered as follows
Using NURBS for motion curves of the displacement program is presented in Chapter 3. The
NURBS curve is more convenient to compute motion curves because it can satisfy arbitrary
boundary conditions of the displacement, velocity, acceleration, and jerk. Moreover, NURBS
has several parameters to control the shape of curves, i.e., the displacement, velocity,
70 5 Optimizing Weight Factor of Motion Curves by Considering Kinematics
acceleration, and jerk curves. These parameters, as shown in previous chapters, are weights,
control points, and the knot vector. The control points are determined by solving the system
of the linear equations as shown in Chapter 3, and the knot vector is also computed in Chapter
4. The other parameter is the weight factor that can be found in the optimization problem as
presented in the following section.
( ), (5.1)
subject to
( )
(5.2)
( )
( ) , ( ) ( ) ( )- (5.3)
( ) , ( ) ( )- (5.4)
subject to
(5.5)
where ( ) and ( ) are the objective functions of the acceleration and jerk.
To find the objective functions ( ) and ( ), according to Chapter 3, Eq. (3.8) and (3.9)
describe the curves of the acceleration and jerk. At a position in which the acceleration curve
has the peak value, the position is denoted as . Respectively, the peak value occurs
on the jerk curve at a position, and this position is called . These peak values of
acceleration and jerk are adjusted by the weight values, and they should be minimized.
From Eq. (3.8) and (3.9), the multi-objective functions, which depend on weight values, can
be written as the peak values of the acceleration and jerk
( ) ( ) ∑ ( ) (5.6)
( ) ( ) ∑ ( ) (5.7)
According to chapter 4, the knot vector is computed, and B-spline basis functions ( )
are also calculated over the knot vector as shown in equations (3.5) and (3.6). The rational
72 5 Optimizing Weight Factor of Motion Curves by Considering Kinematics
( )
( )
∑ ( )
( ) ∑ ( )
(∑ ( ) )
(5.8)
( ) ∑ ( )
(∑ ( ) )
( ) (∑ ( ) )
(∑ ( ) )
5 Optimizing Weight Factor of Motion Curves by Considering Kinematics 73
( )
( )
∑ ( )
( ) ∑ ( )
(∑ ( ) )
( ) ∑ ( )
(∑ ( ) )
( ) ∑ ( )
(5.9)
(∑ ( ) )
( ) (∑ ( ) )
(∑ ( ) )
( ) ∑ ( ) ∑ ( )
(∑ ( ) )
( ) (∑ ( ) )
(∑ ( ) )
5.3 Summary
For this optimization, the multi-objective functions contain a large number of independent
variables (weights), which is equal to the number of boundary conditions. In order to
minimize these objective functions, global optimization techniques need to solve this
problem. In this research, the simulated annealing algorithm is used to optimize motion
curves with NURBS. Choosing the simulated annealing for solving optimal weights is due to
its ability to approach the global optimality. Furthermore, the algorithm of the simulated
annealing is quite versatile since it does not rely on any restrictive properties of the model.
Therefore, the simulated annealing algorithm is simple to find optimal weights. The detail of
the simulated annealing algorithm used to solve optimal weights will be presented in the next
chapter.
74 5 Optimizing Weight Factor of Motion Curves by Considering Kinematics
6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 75
This chapter presents the simulated annealing algorithm for optimizing motion curves in
detail. Section 6.1 describes the background of the simulated algorithm. In Section 6.2, the
process of multi-objective optimization used for solving the problem is presented. The finial
section 6.3 shows the detail of the simulated annealing algorithm to compute the optimal
weight factor for NURBS of motion curves.
This section describes the background of simulated annealing algorithm for optimization
problems. The brief introduction and the application of this method are depicted. The analogy
between the physical annealing of solids and optimization problems is presented. The
parameters which are affected to the process of the simulated annealing algorithm are also
proposed.
Optimization algorithms can be commonly divided into two main categories: conventional
gradient-based and gradient-free methods [MH10]. The first method is based on mathematical
procedures, and the optimal solution depends on initial guess values. If the initial guess has
not good enough values, the optimal solution can be trapped in local extrema [Deb01].
Gradient-free methods are based on stochastic approaches and are more suitable for applying
optimization problems [MH10]. The simulated annealing is one of the gradient-free methods.
The simulated annealing algorithm has been applied for solving optimization problems of
many fields such as optimizing the performance of a ten-bar cantilever truss [SSP00], the
shape optimization of 2D structures [Son07], the optimum design of suspension system
[DPD13], and the design optimization of a ball bearing pivot link system [Sar14]. The
simulated annealing algorithm is used to optimize the knot vector for the approximation of
curves with given data points [BSL04]. Sarfraz et al. [SRB06] proposed the optimal weights
and the knot vector of NURBS using the simulated annealing method for fitting the contour
data of the planar shapes. For fitting the curves and surfaces to an arbitrary set of data, the
simulated annealing has been used to solving optimum weights of NURBS [JSH09].
As presented in Chapter 5, the optimal weight factor is solved by minimizing the multi-
objective functions as shown in equations (5.6) and (5.7). These equations are non-linear
functions, which have a large variable (weight factor) that depends on the number of
boundary conditions of the cam design. They can have many local minima so that choosing
the method for solving this problem should be a method that may obtain the global minimum.
With the property of these objective functions, the simulated annealing algorithm is used to
solve the optimal weight factor due to the reasons as follows
- This method can lead the solution to achieve the global solution.
- Using simulated annealing gives the simple computation because this method does not
require the derivatives of the objective functions compared to gradient- based
methods.
The simulated annealing is based on the physical process of annealing of solids. The physical
annealing is presented in the next section.
The simulated annealing is based on the similarity between the physical process of the
annealing of solids and the combinatorial optimization problem. The annealing of solids is a
thermal process, which makes particles of solid materials to achieve the minimum energy
state. Due to this reason the algorithm is called the simulated annealing (SA) [Ing93].
6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 77
The aim of the physical annealing is to obtain the lowest energy of the solids. This process
includes two steps as follows [AV87]
And then the following step is cooled back slowly into a ground state of the solid.
The highest temperature in which the solid material reaches the melting point is called the
initial temperature. When the solid material reaches the melting, the material is in the liquid
phase at which all particles of the solid randomly arrange themselves. In the cooling step, all
particles are adjusted in the crystalline lattice configuration, which corresponds to the
minimum energy of the ground state [AV87; Egl90; HJJ03].
The process is obtained when providing the maximum temperature is sufficiently high, and
the cooling is sufficiently slow. On the other hand, if the cooling process is quick that the
solid does not reach the thermal equilibrium in each temperature, the solid will be reach into
the metastable amorphous structure rather than into the ground state. Thus, the resulting
crystal does not correspond to the minimum energy sate [AV87; DS16; Egl90; HJJ03].
According to statistical thermodynamics in the cooling process, the solid is allowed to reach
the thermal equilibrium at each temperature before the cooling can be continued. This is
characterized by the probability of a physical system in the state with the energy . The
probability is calculated by the Boltzmann distribution [AK89]
( ) (6.1)
( )
where ( ) is the partition function that depends on the temperature T, and is the
Boltzmann constant. The term . / is called the Boltzmann factor.
The Metropolis algorithm as found in [NS00] has been used to simulate the annealing process
at a fixed temperature. This method introduces the simple way, which generates sequences of
states of the solid. The algorithm may be used to provide an efficient simulation of a
collection of particles in the thermal equilibrium at a given temperature. For a given current
state of the solid characterized by positions of its particles, the energy of this state is denoted
by . The current state is transformed into the next state with the energy . The
78 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
(6.2)
If the next state has a lower energy than the current state, i.e., , then the displacement
is accepted. The new state is used as the starting point of the next step of the Metropolis
algorithm. In the other case, when the energy of the new state is greater than the energy of the
current state, i.e., , the comparison of the probability between two states is given to
evaluate the next state. According to Eq. (6.1) and (6.2), the probability of the next state ( )
is compared with the probability of the current state ( ) as the following Eq. (6.3) [Jam96]
( )
({( | )}) ( ) ( ) (6.3)
( )
The relationship between the physical annealing process of solids and the simulated annealing
for combinatorial optimization problems can be found in [KGV83]. The physical annealing
can be mapped to the simulated annealing for combinatorial optimization problems as shown
in Table 6-1.
Table 6-1: The relationship between the thermal annealing and the combinatorial optimization
problem
Suppose that the objective function is . The given initial control parameter is high enough.
As in the iterative improvement, a generation is defined, so that the initial solution is given.
The other solution can be obtained by choosing random elements from the
neighborhood . As presented above, the difference of the objective function, , can be
expressed from Eq. (6.2)
(6.4)
The procedure of simulated annealing begins with the initial control parameter and initial
solution as presented in Table 6-2 [KGV83].
80 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
Begin
Repeat
If then
Else
Generate ( )
If . / then
End
Until
Stopping criterion
The cooling schedule is defined by the process of the control parameter that is cooled during
the simulated annealing algorithm. There are four parameters to be specified for the cooling
schedule implementation. They are included as the following [Ati04; Bru88; NA98; TD95]
The rule for determining the length of the homogenous Markov chains at each control
parameter
The task of the cooling schedule is very important because it affects the performance of
optimization problems. These steps of the cooling schedule are presented below
As discussed above, the initial value of control parameter is very important for a process of
optimization solution. Moreover, it also affects the total number of iterations, which is
required by the annealing. The initial control parameter is computed by [Ben04]
(6.6)
At an initial control parameter, the simulated annealing algorithm starts searching the global
minimum in a broad region, and then the control parameter is slowly cooled to reduce this
search region and to refine the solution. On the other hand, when the decrement of the control
parameter is not done slowly, the optimal solution may reach into a metastable region (a
locally optimal structure). For the rule of decrement, the control parameter in the next
step compared to the current step is given by [Ing93]
(6.7)
Where is the cooling ratio and . For slow decrement, the most often choice
of is close to 0.99.
82 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
For each value of the control parameter, the number of iterations is called the length of the
homogenous Markov chain. It depends on the size of a problem solution. The rule for the
length of Markov chain is to take a small number of iterations at high values of the control
parameter and a large number of iterations at low values of the control parameter. This is
important to sufficiently spend the long time at lower values of the control parameter. Due to
this the optimal solution can be easily escaped in a local optimum to reach the global solution
[AMH98].
Stopping criterion
As presented in section 6.1.2, the global minimum is obtained when the control parameter is
reached to a very small value . This can be written as
(6.8)
The other way to stop the criterion is presented in [Ati04]. The cost drops a small value below
a given small fraction, i.e.,
(6.9)
* + (6.10)
where are variables that must be found by the simulated annealing algorithm.
The solution generator should introduce small random changes and allow all possible
solutions to be reached. Thus, a neighboring solution can be generated by the formula in Eq.
(6.11) [Bus03]
(6.11)
6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 83
As presented in Chapter 5, the solution of weight factors must be found from two objective
functions as shown in Eq. (5.6) and (5.7). To minimize these equations, a multi-objective
optimization is applied. Engrand [Eng98] presented a method using the simulated annealing
for solving a multi-objective optimization. This method is based on single objective
optimization as discussed in Section 6.1. This method is presented as follows.
An objective function is formed between each of the single objective, which is defined as
[Eng98]
∑ ( ) (6.12)
As the simulated annealing algorithm is discussed in Section 6.1.2, accepting the neighboring
solution is evaluated by the values of ( ). When this values decrease, the neighboring
solution is accepted. Otherwise, an acceptance criterion with the following probability
as shown in Eq. (6.3) is expressed as
( , ( ) ( )-) (6.13)
Here , as before, is the control parameter. While the neighboring solution is accepted, the
control parameter is then lowered as the search progresses to obtain the optimal solution. The
algorithm of multi-objective optimization is presented in Fig. 6-2 as shown by Engrand
[Eng98].
84 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
Begin
Initialize 𝑿𝟎 𝐺(𝑿 ) 𝑇
Evaluate 𝐺(𝑿𝑖 )
NO
Is 𝑿𝑖 accepted?
YES
NO
Terminate search
End
For the optimization of motion curves, the multi-objective functions of the acceleration and
jerk (see Eq. (5.6) and (5.7)) can be written as the single objective function using the rule
which is presented from Eq. (6.12)
( ) ( ( )) ( ( )) (6.14)
Here, ( ) and ( ) are the objective functions of the acceleration and jerk as shown in
Eq. (5.6) and (5.7), and * +, as before, is the weight factor that must be
found to minimize peak values of the acceleration and jerk. By using the simulated annealing
algorithm as presented in Section 6.1, the difference between the values of the objective
function ( ) at the current solution and the neighboring solution can be
expressed from Eq. (6.4)
( ) ( ) (6.15)
( , ( ) ( )-) (6.16)
Substituting Eq. (6.14) into Eq. (6.16), the probability can be rewritten as
( ) ( )
( [ ( ) ( )]) (6.17)
( ) ( )
Here, ( ) and ( ) are calculated by Eq. (5.6) at the current solution and the
neighboring solution ; ( ) and ( ) are computed by Eq. (5.7) at the current
solution and the neighboring solution , respectively.
86 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
As presented in Section 6.2, the weight factor is achieved from minimizing the objective
function as shown in (6.14). By applying the simulated annealing algorithm, the initial
parameters are chosen according to Section 6.1.4. At a control parameter kept as a constant
during the Markov chain, the number of iterations (length of Markov chain), denoted by
can be computed as
(6.18)
where and are the number of iteration at the current solution and the next solution.
As discussed in Section 6.1.4, when the process of the control parameter decreases, then the
number of iterations increases to obtain the global solution. Thus, the choice of the coefficient
is larger than .
According to Eq. (6.11), the neighboring solution of weight factor can be expressed as
(6.19)
The acceptance of the neighboring solution is evaluated by the difference between the cost of
the current solution and the next solution, as shown in Eq. (6.15). If is negative, the
next solution is accepted. In the other way, the probability given in Eq. (6.17) is compared
with the random number in the interval ( ). When the probability is larger than the random
number, then the solution is accepted. Otherwise, the next solution is returned to the step of
the solution generation.
The detail of the simulated annealing algorithm for optimizing motion curves is presented in
Table 6-3. Then, the flowchart of the simulated annealing used for the optimization of motion
curves is also shown in Fig. 6-3.
6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 87
Begin
Repeat
Repeat
( : Current solution)
( ) (Cost at current solution)
(Generate randomly a neighboring solution)
( ) (Cost at the neighboring solution)
If then
Else
If ( )
Else
Return to generate the new solution
End
End
End
Set (decrease the control parameter)
Set (increase the number of iterations)
Until
Stopping criterion ;
End
88 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
Begin
NO NO
If 𝐺 Compare: 𝑟𝑎𝑛𝑑( ) 𝑝
YES YES
Set: 𝑇𝑖 𝛼 𝑇𝑖 ; 𝑁𝑖 𝛾 𝑁𝑖
NO Stop criterion
𝑇 𝑇𝑚𝑖𝑛 ; 𝐺𝑖 𝜀
YES
Store solution: 𝑾𝑖
End
Fig. 6-3: The simulated annealing flowchart of the optimization for motion curves of cam
mechanisms using NURBS
6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 89
6.4 Summary
In this chapter, the background of the simulated annealing method is presented. The
parameters, affecting the process of the simulated annealing, are also discussed. The details of
the procedure for the simulated annealing algorithm are presented to solve the optimal weight
factor. With advantages of this method, the global solution can be easily found.
For using the simulated annealing algorithm, optimal weight values will be determined to
obtain beneficial characteristics of motion curves for cam mechanisms. In order to illustrate
this method, several examples will be presented in the next chapter.
90 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves
7 Application Examples 91
7 Application Examples
This chapter presents various application examples to demonstrate that NURBS applied in
cam design will achieve advantageous characteristics of motion curves. These examples in
cam design include two main topics as follows
In these examples, the weight factor is found by minimizing the multi-objective functions as
shown in Eq. (5.6) and (5.7). These equations are written as the equivalence of Eq. (6.14). By
using the procedure of the simulated annealing algorithm as presented in chapter 6, the choice
of initial solution does not need to give good enough values. For making the simple
choice, the initial value of weights is therefore equal to , i.e.,
* + with for all examples and , as known
before, is the number of boundary conditions.
The implementation for solving the optimization problem is clearly discussed in section 6.2
and 6.3. The value of optimal weights is stored, and the knot vector is computed according to
chapter 4. Rational basis functions and their derivatives are determined. Control points are
therefore computed by solving the system of linear equations (see Eq. (3.32)). So that the
motion curves as shown in Eq. (3.1), (3.7), (3.8), and (3.9) are established in chapter 3. These
examples with the same boundary conditions of displacement, velocity, acceleration, and jerk
will be compared to the polynomial and B-spline functions.
This section presents the examples that are considered by the well-known motion curves of
the follower from previous researches [Nor99; UPS03]. With this, six boundary conditions
and eight boundary conditions are used to synthesize motion curves. Then the cam with nine
boundary conditions will be shown, and the last example is to present the cam drive engine in
this section.
In the first example, six boundary conditions are considered by the start and the end points
which satisfy the boundary conditions of displacement, velocity, and acceleration. These
92 7 Application Examples
boundary conditions are shown in Table 7-1. The motion curves are well-known by using the
polynomial with degree .
0 0 0 0
1 1 0 0
Fig. 7-1 shows the displacement, velocity, acceleration, and jerk curves of six boundary
conditions. In this example, the optimal weight vector is obtained by minimizing the
acceleration and jerk, i.e., * +.
It can be stated that the motion curves using the fifth polynomial and B-spline are coincided
(black solid line and red dashed line in Fig. 7-1). The displacement, velocity, and acceleration
curves are slightly different; however, the jerk curve has the extreme difference. As shown in
Fig. 7-1d, the maximum value of jerk is reduced from with the polynomial and B-
spline functions to by using NURBS at the start and the end points.
As shown in the result, the peak vale on the jerk curves that is reduced by using NURBS. This
has an important significance in cam design since the vibration of cam-follower systems is
also reduced.
7 Application Examples 93
Fig. 7-1: Motion curve comparison of six boundary conditions: (a) Displacement, (b) Velocity, (c)
Acceleration, (d) Jerk
In the second example, eight boundary conditions are considered and are shown in Table 4-3.
These conditions are also well-known and have a lot of applications in cam design. The
common function is used for the motion curve that is the seventh polynomial.
By using NURBS for motion curves with the optimal weight values, i.e., *
+, the comparison of the motion
curves is presented in Fig. 7-2. It is clearly seen that the maximum values of the velocity,
acceleration and jerk with NURBS (the blue solid line) result in smaller values than the
polynomial (the black solid line) and the B-spline curves (the red solid line). Especially, the
maximum value of the jerk decreases much (see Fig. 7-2d).
With the flexible properties of cam mechanisms, the motion of the follower can be an
arbitrary motion or a displacement program that has several intervals such as dwell, rise, and
94 7 Application Examples
return motions. For example, the motion program with rise - dwell - return, rise - dwell -
return - dwell, and etc. is commonly used in cam-follower systems. Using NURBS for rise or
return motions in this case, all maximum values of velocity, acceleration, and jerk are
reduced. Therefore, inertial forces and moments of the follower can decrease, and the forces
acting on bearing and contact stresses are thus low. Additionally, the tendency of vibration of
cam-follower systems can be also reduced.
Fig. 7-2: Motion curve comparison of eight boundary conditions: (a) Displacement, (b) Velocity,
(c) Acceleration, (d) Jerk
This example considers the cam that is taken in [TH88]. The boundary conditions are also
shown in Table 4-1. The optimal weight values are computed as *
+. Fig. 7-3 shows the
comparison of motion curves among the polynomial (black line), B-spline (red line), and
NURBS functions (blue line). In this example, the maximum values of the velocity,
7 Application Examples 95
acceleration, and jerk using NURBS are much reduced (see the blue line in Fig. 7-3),
i.e., with NURBS, with B-spline, and
with polynomial. Especially, the maximum value of the jerk decreases tremendously,
i.e., with NURBS, with B-spline, and
with polynomial.
Fig. 7-3: Motion curve comparison of nine boundary conditions: (a) Displacement, (b) Velocity,
(c) Acceleration, (d) Jerk
In this example, the synthesis of the cam drive engine is considered in [XZ09]. Fig. 7-4 shows
the model of the cam system with the intake and exhaust cams. These cams have three strokes
over a period in degrees, which include the power, the scavenging, and the compression.
These strokes are determined by the angle of the camshaft when the intake or exhaust port is
opened or closed by the movement of the piston (the follower) (see Fig. 7-4). The motion
96 7 Application Examples
curves of these cams are synthesized by the boundary conditions of these strokes. The
boundary conditions are shown in Table 7-2.
0 0 0 0
57 65 - -
Intake cam 86 77 0 -
115 65 - -
180 0 0 0
0 0 0 0
53 65 - -
Exhaust cam 80 77 0 -
108 65 - -
180 0 0 0
7 Application Examples 97
From the boundary conditions of the intake and exhaust cams, the motions curves are
established. Fig. 7-5 and Fig. 7-6 present the comparison of motion curves by using the
polynomial (black solid line), B-spline (red solid line), and NURBS functions (blue solid
line). By using NURBS for synthesizing motion curves with the optimal weights as
* +
for the intake cam and *
+ for the exhaust cam, Fig. 7-5c, d and Fig. 7-6c, d show that the
peak values of the acceleration and jerk with NURBS are smaller than the polynomial and B-
spline functions, i.e., ( ) with NURBS,
( ) with B-spline, and ( ) with
polynomial; especially the maximum value of the jerk decreases tremendously, i.e.,
( ) for NURBS, ( ) for B-spline, and
( ) for polynomial in the cam intake. For the exhaust cam, these values also
are enormously reduced, respectively.
Fig. 7-5: Motion curves of the intake cam: (a) Displacement, (b) Velocity, (c) Acceleration, and
(d) Jerk
98 7 Application Examples
Fig. 7-6: Motion curves of the exhaust cam: (a) Displacement, (b) Velocity, (c) Acceleration, and
(d) Jerk
In cam combustion engines, high values of acceleration and jerk must be avoided because
their existence means high forces and vibration in the cam mechanism during the operation.
Due to this, the correct time in opening and closing processes of the intake and exhaust cams
is affected. Therefore, reducing the maximum values of the acceleration and jerk is very
significant in this design of the cam mechanism.
This section presents three examples for the cams which satisfy a large number of boundary
conditions. These examples are shown below.
7 Application Examples 99
This example considers the cam design of the cutting machine which can be found in [VDI14]
as shown in Fig. 7-7. The cam disk is designed by given positions of the blade’s movement.
The boundary conditions are computed from these positions as shown in Table 4-4.
Fig. 7-7: Schematic diagram for cutting machine: (1) feed device; (2) sheet roller; (3) sheet; (4)
blade; (5) drive with cam mechanism
The motion curves are normalized and shown in Fig. 7-8. The displacement and velocity
curves do not change much. The maximum value of the acceleration in case of B-spline is
much larger than the others, and the maximum value of the jerk in case of NURBS has the
smallest value. This value is reduced from for the polynomial curve to
for the NURBS curve.
In a cutting machine, reducing the maximum value of the jerk is very essential; this means
that the vibration of the system can decrease. Due to this, the accuracy of the product can
increase.
100 7 Application Examples
Fig. 7-8: Motion curves of cutting machine: (a) Displacement, (b) Velocity, (d) Acceleration, (d)
Jerk
This example considers the cam design that is taken in [NKH17b]. Twenty boundary
conditions of the displacement, velocity, and acceleration are shown in Table 4-2. The
optimal values of the weight factor are computed, i.e., *
The difference of the displacement curve is not much different among three cases of the
polynomial (black solid line), B-spline (red solid line), and NURBS functions (blue solid
line). However, the displacement curve using the polynomial function has the oscillation on
the first and the end intervals of the curve as shown in Fig. 7-9a; therefore the velocity,
acceleration, and jerk curves also appear peak values at these intervals. Especially, the peak
7 Application Examples 101
values of the acceleration and jerk are very much larger than the peak values using B-spline
and NURBS.
To compare the motion curves between the B-spline and NURBS functions, as shown in Fig.
7-9b, c, d, it is clearly seen that the maximum values of the velocity, acceleration, and jerk
using NURBS (blue solid line) are much smaller than these values using B-spline (black solid
line). The maximum value of acceleration decrease, i.e., ( ) with B-
spline and ( ) with NURBS; especially, the peak value of the jerk is
enormously reduced as ( ) with B-spline and
( ) with NURBS as shown in zooming Fig. 7-9e.
102 7 Application Examples
Fig. 7-9: Motion curves of twenty boundary conditions: (a) Displacement, (b) Velocity, (c)
Acceleration, (d) Jerk, (e) Zooming in jerk
7 Application Examples 103
In the last example, the cam mock heart is considered in [IGM16]. This cam disk is designed
for using the cardiovascular mock loop where the motion of the human heart is simulated. The
boundary conditions for this type of the cam are shown in Table 7-3 with boundary
conditions of the displacement and boundary conditions of the velocity, acceleration, and
jerk at the start and end points.
0 24.3133 0 0 0
13.8462 25.0976 - - -
27.6923 25.0976 - - -
41.5384 24.3133 - - -
55.3844 24.3133 - - -
69.2308 23.5290 - - -
83.0768 22.7447 - - -
96.9232 22.7447 - - -
110.7692 21.9604 - - -
124.6152 21.9604 - - -
138.4616 21.1761 - - -
152.3076 19.6075 - - -
166.1536 19.6075 - - -
180.0000 18.8232 - - -
193.8460 20.3918 - - -
207.6924 21.9604 - - -
221.5384 23.5290 - - -
235.3844 23.5290 - - -
249.2308 23.5290 - - -
263.0768 23.5290 - - -
104 7 Application Examples
276.9228 23.5290 - - -
290.7692 23.5290 - - -
304.6152 23.5290 - - -
318.4616 23.5290 - - -
332.3076 24.3133 - - -
346.1536 25.0976 - - -
360.0000 24.3133 0 0 0
In this example, using the high order of the polynomial function cannot be implemented to
satisfy all boundary conditions as shown above. Therefore, piecewise polynomials with
degree are used to calculate motion curves. The motion curves using piecewise
polynomials, B-spline, and NURBS are presented in Fig. 7-10 and Fig. 7-11.
As seen in Fig. 7-10, the displacement and velocity curves among the piecewise polynomial,
B-spline, and NURBS functions do not change much. Furthermore, the major difference of
the acceleration and jerk curves by using the piecewise polynomial function and using B-
spline and NURBS is clearly shown in Fig. 7-11. The maximum values of the acceleration
and jerk with the piecewise polynomial function are much larger than the others. Additionally,
the condition of smooth curve of the piecewise function is until the acceleration curve; break-
points therefore occur on the acceleration curve as shown in Fig. 7-11c (black solid line). Due
to this, the jerk curve is discontinuous at these points (see back solid line in Fig. 7-11d) and
values of the jerk at these points have extreme values.
Fig. 7-12 shows the comparison of the acceleration and jerk curves between B-spline (red
solid line) and NURBS (blue solid line) which are used for synthesizing motion curves. By
computing the optimal weight factor as *
Fig. 7-10: Motion curves of mock heart: (a) Displacement, (b) Velocity
106 7 Application Examples
Fig. 7-11: Motion curves of mock heart: (c) Acceleration, (d) Jerk
7 Application Examples 107
Fig. 7-12: Comparison of motion curves of mock heart between B-spline and NURBS functions:
(e) Acceleration, (f) Jerk
108 7 Application Examples
This section presents the frequency of the acceleration and jerk components of the harmonic
content for the cam mock heart as shown in Sec. 7.2.3. The amplitude of the harmonic content
is important because it affects the vibration response of the cam-follower system. The Fourier
analysis is used to compute amplitudes of the harmonic content for the acceleration and jerk
as found in [Kid15]. Fig. 7-13 and Fig. 7-14 present the comparison of the frequency of the
acceleration and jerk components, respectively. As shown in Fig. 7-13 and Fig. 7-14,
amplitudes at high-order harmonic components are very large in case of the piecewise
polynomial function (yellow color) compared to NURBS and B-spline functions.
7.3 Summary
In this chapter, several examples with a small and a large number of boundary conditions are
presented. Results show that using NURBS for synthesizing motion curves of cam
mechanisms is very flexible to control peak values of motion curves. Especially, the peak
values of the acceleration and jerk for cams with almost arbitrary boundary conditions are
tremendously reduced by the simple computation of the optimal weights. These examples
show that NURBS can be applied for an arbitrary motion of the follower, and motion curves
with NURBS have advantageous properties compared to other functions.
Furthermore, reducing peak values of the acceleration and jerk is hugely significant in cam
design since inertial forces and contact stresses can be reduced. Therefore, noise, surface
wear, and eventual failure can be also reduced. Additionally, with a small value of the jerk,
the vibration of cam-follower systems can decrease.
110 7 Application Examples
8 Conclusion and Outlook 111
8.1 Conclusion
With the versatility and flexibility of cam mechanisms, many kinds of machines use cam-
follower to perform a desirable motion. Especially, with cam mechanisms used for exact and
automatic machines, reducing maximum values of the acceleration and jerk has a huge
significance in the design process. For this reason, choosing a function for the motion of the
follower is an important task. This thesis provides a general method for synthesizing an
arbitrary displacement program of cam mechanisms using Non-Uniform Rational B-Spline
(NURBS). The objective using NURBS for cam motion is to reduce peak values of the
acceleration and jerk of the follower motion. The contribution of this thesis includes
Main advantages of the NURBS function compared to other functions are that motion
curves using NURBS can be described for arbitrary output motion of cam-follower
systems, and the degree of NURBS does not depend on the number of boundary
conditions. In this thesis, the degree is selected for NURBS to characterize the
follower motion. The motion curves are therefore continuous up to the jerk curve. This
is necessary to design high-speed cams.
The displacement, velocity, acceleration, and jerk functions of the follower are
proposed by NUBRS. Based on boundary conditions of displacement, velocity,
acceleration, and jerk, these curves are established by solving the system of linear
equations as shown in Eq. (3.32).
Motion curves with NURBS are also evaluated by parameters of NURBS. Both
weights and the knot vector have an effect on the shape of motion curves. For the knot
vector, several methods such as the uniform space, chord length, centripetal, and
hybrid methods are used to compute the knot vector, and the comparison of motion
curves among these methods is also given. With the results of this comparison as
discussed in Section 4.3, the chord length is chosen to calculate the knot vector.
The other parameter, the weight factor, is determined by minimizing peak values of
the acceleration and jerk. Therefore, the simulated annealing algorithm is proposed to
solve weight variables.
112 8 Conclusion and Outlook
With a small number of boundary conditions, the basic motion curves are well-known
with six and eight boundary conditions, and they are normalized. The other cases, e.g.,
nine boundary conditions and the cam drive engine are shown. For these cases, cams
designed with NURBS obtain advantageous characteristics of motion curves. The
results show that peak values of the acceleration and jerk using NURBS are reduced
and several cases decrease extremely compared to the other functions.
For a large number of boundary conditions, the results in case of twenty boundary
conditions illustrate that motion curves using the polynomial function with the high
order exhibit the oscillation of the displacement function. Due to this reason, values of
the velocity, acceleration, and jerk at the regions are enormous. These features are not
desirable in cam design. Using NURBS for motion curves improves not only the
appearance of unusable oscillation but also peak values of motion curves.
Using NURBS for motion curves of cam mechanisms is flexible because motion curves can
be controlled by parameters of NURBS. Furthermore, for arbitrary boundary conditions of the
displacement, velocity, acceleration, and jerk, motion curves are conveniently synthesized by
NURBS.
8 Conclusion and Outlook 113
8.2 Outlook
With flexible properties of NURBS, the future works can be expressed as follows
As discussed in Chapter 4, the knot vector has the effect on motion curves. This thesis
only selects the method (chord length) to calculate the knot vector among the well-
known methods that have been used for fields in interpolating and fitting curves or
surfaces. Therefore, the knot vector can be computed to optimize motion curves in
cam design.
This thesis is only limited in solving the kinematic problems of cam mechanisms.
Dynamic problems with elastic cam-follower systems of high-speed cams have not yet
been mentioned by using NURBS for motion curves. Elastic cam-follower systems
corresponded to the follower linkages are based on the elasticity. Under the effect of
inertial forces and spring forces, the output motion as shown in Fig. 2-7 of the
follower can be vibrated, and the magnitude of this vibration called the residual
vibration is normally remained after the rise motion. Due to this reason, machines can
be damaged. Therefore, this residual vibration can be reduced by controlling
parameters of NURBS.
114 8 Conclusion and Outlook
List of Figures CXV
List of Figures
Fig. 2-1: Type of cams: (a) plate cam, (b) wedge cam, (c) cylindrical cam, and (d) face cam
[UPS03] ...................................................................................................................................... 8
Fig. 2-2: Type of followers: (a) offset reciprocating knife-edge follower, (b) reciprocating
flat-face follower, (c) oscillating roller follower, and (d) oscillating spherical face follower
[UPS03] ...................................................................................................................................... 9
Fig. 2-3: (a) Spherical cam mechanism, (b) Spatial cam mechanism [CN06] ........................... 9
Fig. 2-4: (a) Constant-breadth cam with a reciprocating flat-face follower, (b) Conjugate cams
with an oscillating roller follower [UPS03] ............................................................................. 10
Fig. 2-9: Normalized cam displacement using cubic piecewise polynomials [MB85] ............ 19
Fig. 2-11: Motion curves using Bezier for constant-breadth cam mechanisms [CZJ13] ......... 22
Fig. 2-12: Cam follower displacement curve using sixth-degree B-spline [Lam03] ............... 24
Fig. 3-2: Effect of weights on rational basis functions: (a) w3 = w4 = 0.5; (b) w3 = w4 = 1.0;
(c) w3 = w4 = 1.5; (d) w3 = w4 = 2.0 ......................................................................................... 39
Fig. 3-3: Effect of weights on normalized motion curves: (a) Displacement; (b) Velocity; (c)
Acceleration; (d) Jerk ............................................................................................................... 40
CXVI List of Figures
Fig. 4-1: Corresponding to input data points and parameters [She11] .................................... 44
Fig. 4-2: Methods for computing the knot vector in cam synthesis ......................................... 46
Fig. 4-3: Displacement (a) and velocity (b) curves of nine boundary conditions .................... 52
Fig. 4-4: Acceleration (c) and jerk (d) curves of nine boundary conditions ............................ 53
Fig. 4-5: Displacement (a) and velocity (b) curves of twenty boundary conditions ................ 55
Fig. 4-6: Acceleration (c) and jerk (d) curves of twenty boundary conditions ........................ 56
Fig. 4-7: Distribution of parameters (black plus sign) and knots (red star sign) for 8
boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid ............ 58
Fig. 4-8: Distribution of parameters (black plus sign) and knots (red star sign) for 9
boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid ............ 60
Fig. 4-9: Distribution of parameters (black plus sign) and knots (red star sign) for
sixteen boundary conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid 62
Fig. 4-10: Parameter (black plus sign) and knot (red star sign) distribution for 20 boundary
conditions: (a) Uniform, (b) Chord length, (c) Centripetal, and (d) Hybrid ............................ 63
Fig. 4-11: Effect of the knot on motion curves with 8 boundary conditions: (a) Displacement,
(b) Velocity, (c) Acceleration, and (d) Jerk .............................................................................. 65
Fig. 4-12: Effect of the knot on motion curves with 9 boundary conditions: (a) Displacement,
(b) Velocity, (c) Acceleration, and (d) Jerk .............................................................................. 66
Fig. 4-13: Effect of the knot on motion curves with sixteen boundary conditions: (a)
Displacement, (b) Velocity, (c) Acceleration, and (d) Jerk ...................................................... 67
Fig. 4-14: Effect of the knot on motion curves with 20 boundary conditions: (a) Displacement,
(b) Velocity, (c) Acceleration, and (d) Jerk .............................................................................. 68
Fig. 6-3: The simulated annealing flowchart of the optimization for motion curves of cam
mechanisms using NURBS ...................................................................................................... 88
Fig. 7-1: Motion curve comparison of six boundary conditions: (a) Displacement, (b)
Velocity, (c) Acceleration, (d) Jerk .......................................................................................... 93
List of Figures CXVII
Fig. 7-2: Motion curve comparison of eight boundary conditions: (a) Displacement, (b)
Velocity, (c) Acceleration, (d) Jerk .......................................................................................... 94
Fig. 7-3: Motion curve comparison of nine boundary conditions: (a) Displacement, (b)
Velocity, (c) Acceleration, (d) Jerk .......................................................................................... 95
Fig. 7-5: Motion curves of the intake cam: (a) Displacement, (b) Velocity, (c) Acceleration,
and (d) Jerk ............................................................................................................................... 97
Fig. 7-6: Motion curves of the exhaust cam: (a) Displacement, (b) Velocity, (c) Acceleration,
and (d) Jerk ............................................................................................................................... 98
Fig. 7-7: Schematic diagram for cutting machine: (1) feed device; (2) sheet roller; (3) sheet;
(4) blade; (5) drive with cam mechanism ................................................................................. 99
Fig. 7-8: Motion curves of cutting machine: (a) Displacement, (b) Velocity, (d) Acceleration,
(d) Jerk .................................................................................................................................... 100
Fig. 7-9: Motion curves of twenty boundary conditions: (a) Displacement, (b) Velocity, (c)
Acceleration, (d) Jerk, (e) Zooming in jerk ............................................................................ 102
Fig. 7-10: Motion curves of mock heart: (a) Displacement, (b) Velocity .............................. 105
Fig. 7-11: Motion curves of mock heart: (c) Acceleration, (d) Jerk ....................................... 106
Fig. 7-12: Comparison of motion curves of mock heart between B-spline and NURBS
functions: (e) Acceleration, (f) Jerk ........................................................................................ 107
Fig. 7-13: Comparison of the frequency harmonic for the acceleration ................................. 108
Fig. 7-14: Comparison of the frequency harmonic for the jerk .............................................. 109
Fig. 0-1: Triangular for computing B-spline basis function ( )........................... CXXXV
CXVIII List of Figures
List of Tables CXIX
List of Tables
Table 4-1: Nine boundary conditions of the normalized displacement function ………..….. 51
Table 4-4: Sixteen boundary conditions of the normalized displacement function …………61
Table 6-1: The relationship between the thermal annealing and the combinatorial optimization
problem ………………………………………………………………………………………78
Table 7-1: Six boundary conditions of the normalized displacement function .…….……….92
References
[Ati04] Atiqullah, M. M.
An Efficient Simple Cooling Schedule for Simulated Annealing
In: Computaional Science and Its Applications, 3045 (2004) , DOI 10.1007/978-
3-540-24767-8_41, S. 396–404.
[Ben04] Ben-Ameur, W.
Computing the Initial Temperature of Simulated Annealing
In: Computational Optimization and Applications, 29 (2004) 3, DOI
10.1023/B:COAP.0000044187.23143.bd, S. 369–385.
[Ber82] Berzak. N
Optimization of Cam-Follower Systems With Kinematic and Dynamic Constraints
In: Journal of Mechanical Design, 104 (1982) , S. 29–33.
[Bus03] Busetti, F.
Simulated annealing overview
In:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.66.5018&rep=rep1&ty
pe=pdf (access date 28/10/2017), (2003).
[CNM16] Chen H.; Nguyen T. T. N.; Müller M.; Kurtenbach S.; Pan C.; Hüsing M.; Corves
B.
Application of a Cam Workbench for Education in Mechanical Engineering
In: New Advances in Mechanisms, Mechanical Transmissions and Robotics,
Mechanisms and Machine Science, 46 (2016) , S. 177–186.
References CXXIII
[Egl90] Eglese R. W.
Simulated Annealing: A tool for Operational Research
In: European Journal of Opeational Research, 46 (1990) , S. 271–281.
[Eng98] Engrand P.
A Multi-Objective Optimization Approach Based on Annealing and Its
Application to Nuclear Fuel Management
In: 5th International Conference on Nuclear Engineering, (1998) , S. 416–423.
CXXIV References
[HRA12] Haron H.; Rehman A.; Adi D. I. S.; Lim S. P.; and Saba T.
Parameterization Method on B-Spline Curve
In: Mathematical Problems in Engineering, 2012 (2012).
[IGM16] IGMR
Mock Heart Project
In: http://www.igm.rwth-aachen.de/index.php?id=start&L=2, (2016).
[Ing93] Ingber. L
Simulated annealing: Practive versus theory
In: Mathematical and Computer Modelling, 18 (1993) No. 11, S. 29–57.
[Kid15] Kido K.
Digital Fourier Analysis: Fundamentals
Business Media New York: Springer, 2015.
[Lam03] Lampinen. J
Cam shape optimisation by genetic algorithm
In: Computer-Aided Design, (2003) 35, S. 727–737.
[Nor99] Norton, R. L.
Design of machinery: an introduction to the synthesis and analysis of mechanisms
and machines
London: McGraw-Hill, 2nd, 1999, ISBN 0070483957.
[Par01] Park, H.
Choosing nodes and knots in closed B-spline curve interpolation to point data
In: Computer-Aided Design, 33 (2001) 13, DOI 10.1016/S0010-4485(00)00133-
0, S. 967–974.
[QLL05] Qiu Hua; Lin Chang-Jun; Li Zi-Ye; Ozaki Hiroaki; Wang Jian; Yue Yong
A universal optimal approach to cam curve design and its applications
In: Mechanism and Machine Theory (MMT), (2005) 40, S. 669–692.
[Sar14] Saruhan, H.
Differential evolution and simulated annealing algorithms for mechanical systems
design
In: Engineering Science and Technology, an International Journal, 17 (2014) 3,
DOI 10.1016/j.jestch.2014.04.006, S. 131–136.
[Sat14] Sateesh. N
Improvement in motion characteristics of cam follower systems using NURBS
In: International Journal on Design and Manufacturing Technologies,, 8 (2014) 2,
S. 15–21.
[Son07] Sonmez, F. O.
Shape optimization of 2D structures using simulated annealing
In: Computer Methods in Applied Mechanics and Engineering, 196 (2007) 35-36,
DOI 10.1016/j.cma.2007.01.019, S. 3279–3299.
References CXXXI
B-splines
In: Computer-Aided Design, 28 (1996) 1, S. 5–15.
[VDI14], VDI14
Construction of planar cam mechanisms - Practical examples
Norm, VDI 2142, Part 3, Verein Deutscher Ingenieure, Beuth Verlag GmbH:
10772 Berlin, 2014.
[VDI17] VDI17
Construction of planar cam mechanisms – Fundamentals, profile calculation, and
design (in German)
Norm, VDI 2142, Part 1, Verein Deutscher Ingenieure, Beuth Verlag GmbH:
10772 Berlin, 2017.
[Wei09] Wei Lü
Curves with chord length parameterization
In: Computer Aided Geometric Design, 26 (2009) 3, S. 342–350.
Appendix
As shown in Eqs. (3.5) and (3.6), the pth-degree B-spline basis function ( ) is computed,
which is based on the degree . The computation of pth-degree ( ) is therefore
generated by a triangular as shown in Fig. 0-1 [PT97]