You are on page 1of 153

Motion Design of Cam Mechanisms

by Using Non-Uniform Rational B-Spline

Bewegungskurven von Kurvengetrieben unter


Verwendung von Non-Uniform Rational B-Spline

Von der Fakultät für Maschinenwesen der Rheinisch-Westfälischen


Technischen Hochschule Aachen zur Erlangung des akademischen Grades
einer Doktorin der Ingenieurwissenschaften
genehmigte Dissertation

vorgelegt von
Thi Thanh Nga Nguyen

Berichter: Univ.-Prof. Dr.-Ing. Dr. h. c. (UPT) Burkhard Corves


Außerplanmäßiger Professor Dr.-Ing. Mathias Hüsing

Tag der mündlichen Prüfung: 21. Juni 2018

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.

Aachen, July 2018

Thi Thanh Nga Nguyen


iv Acknowledgement
Abstract v

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.

Die Bewegung des Eingriffsglieds wird charakterisiert durch die Auslenkungs-,


Geschwindigkeits-, Beschleunigungs- und Ruckfunktionen. Die Beschleunigung steht in
Verbindung mit den Trägheitskräften des Eingriffsglieds. Wenn eine Beschleunigungskurve
abrupte Wechsel hat, beispielsweise Spitzenwerte, wird dies zu großen Trägheitskräften
führen. Daher wechseln Kontaktbelastungen im Lager und auf der Kurvenscheibenoberfläche
ebenfalls abrupt, was Geräusche und Oberflächenverschleiß erzeugt. Es kommt hinzu, dass
der Spitzenwert der Ruckkurve auch wichtig bei der Kurvengelenkgestaltung ist, denn er
bestimmt die Tendenz zu Vibrationen des Kurvenscheiben-Eingriffsglied-Systems. Daraus
folgt, dass die Auswahl einer mathematischen Funktion zur Beschreibung der
Eingriffsgliedsbewegung ein wichtiger Schritt der Kurvengelenkgestaltung ist. In dieser
Arbeit werden nicht-uniforme rationale B-Splines (NURBS) zur Beschreibung der
Bewegungskurve des Eingriffsglieds genutzt. Mit Hilfe der Eigenschaften von NURBS wird
gezeigt, dass Bewegungskurven, die Spitzenwerte von Beschleunigung und Ruck beinhalten
vorteilhafte Charakteristiken gegenüber klassischen Ansätzen aufweisen.

Dazu werden die Auslenkungs-, Geschwindigkeits-, Beschleunigungs- und Ruckfunktionen


als NURBS-Kurven dargestellt. Diese Kurven werden im Anschluss bestimmt, indem das
lineare Gleichungssystem unter den gegebenen Randbedigungen von Auslenkung,
Geschwindigkeit, Beschleunigung und Ruck gelöst wird. Ferner ist der Hauptvorteil von
NURBS verglichen mit anderen Funktionen, dass die NURBS-Kurve durch ihre Parameter
wie Gewichtungen und den Knotenvektor kontrolliert werden kann. In dieser Arbeit wird die
Berechnung des Knotenvektors vorgestellt um seine seinen Effekt auf Bewegungskurven zu
bewerten.

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

Equation Signs and Indices ...................................................................................................xiii

Abbreviations ........................................................................................................................ xvii

1 Introduction .......................................................................................................................... 1
1.1 Motivation................................................................................................................ 1
1.2 Research objective and scope .................................................................................. 4
1.3 Thesis outline ........................................................................................................... 4

2 State of the Art ..................................................................................................................... 7


2.1 Cam - follower system ............................................................................................. 7
2.1.1 Cam and follower classification .............................................................................. 7
2.1.2 Displacement program ........................................................................................... 10
2.2 Follower displacement function ............................................................................ 11
2.2.1 Polynomial for motion curves ............................................................................... 11
2.2.2 Harmonic and cycloidal functions ......................................................................... 15
2.2.3 Piecewise polynomials........................................................................................... 18
2.2.4 Bezier curve ........................................................................................................... 20
2.2.5 B-spline .................................................................................................................. 22
2.2.6 NURBS .................................................................................................................. 25
2.3 Summary and deficits ............................................................................................ 27

3 General Synthesis of Motion Curves Using NURBS ...................................................... 29


3.1 Description of NURBS for motion curves ............................................................. 29
3.2 General synthesis of cam motion using NURBS ................................................... 35
3.3 Selecting the degree of NURBS used for motion curves ...................................... 37
3.4 Evaluating weights to motion curves ..................................................................... 38
3.5 Summary ................................................................................................................ 40

4 Effect of the Knot Vector on Motion Curves .................................................................. 43


4.1 Introduction to the knot vector .............................................................................. 43
x Content List

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

5 Optimizing Weight Factor of Motion Curves by Considering Kinematics .................. 69


5.1 Optimization problem ............................................................................................ 69
5.2 Multi-objective optimization of motion curves ..................................................... 70
5.3 Summary ................................................................................................................ 73

6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves ......... 75


6.1 Methodology of Simulated Annealing................................................................... 75
6.1.1 Introduction to simulated annealing ...................................................................... 75
6.1.2 Physical annealing ................................................................................................. 76
6.1.3 Simulated annealing algorithm .............................................................................. 78
6.1.4 Cooling schedule ................................................................................................... 80
6.1.5 Generation of neighboring solutions ..................................................................... 82
6.2 Process of multi-objective optimization by Simulated Annealing for motion
curves ................................................................................................................ 83
6.3 Simulated Annealing algorithm for motion curve optimization ............................ 86
6.4 Summary ................................................................................................................ 89

7 Application Examples ........................................................................................................ 91


7.1 Application for a small number of boundary conditions ....................................... 91
7.1.1 Six boundary conditions ........................................................................................ 91
7.1.2 Eight boundary conditions ..................................................................................... 93
7.1.3 Nine boundary conditions ...................................................................................... 94
7.1.4 Cam drive engine ................................................................................................... 95
7.2 Application for a large number of boundary conditions ........................................ 98
7.2.1 Cutting machine ..................................................................................................... 99
7.2.2 Cam with twenty boundary conditions ................................................................ 100
7.2.3 Cam mock heart ................................................................................................... 103
Content List xi

7.2.4 Fourier analysis .................................................................................................... 108


7.3 Summary .............................................................................................................. 109

8 Conclusion and Outlook .................................................................................................. 111


8.1 Conclusion ........................................................................................................... 111
8.2 Outlook ................................................................................................................ 113

List of Figures .................................................................................................................... CXV

List of Tables ..................................................................................................................... CXIX

References.......................................................................................................................... CXXI

Appendix ...................................................................................................................... CXXXV


xii Content List
Equation Signs and Indices xiii

Equation Signs and Indices

Latin Small Letters

y Displacement function [mm or rad]


e Eccentricity [mm]
u Angle of camshaft [rad or degree]
a Lower angle of camshaft [rad or degree]
b Upper angle of camshaft [rad or degree]
n Number of boudary conditions [-]
p Degree of functions [-]
m Number of knots [-]
Weights [-]
d Number of displacement boundary conditions [-]
e Number of velocity boundary conditions [-]
f Number of acceleration boundary conditions [-]
g Number of jerk boundary conditions [-]
Parameters [-]

s Displacement [mm]

s Velocity [mm/rad]

s Acceleration [mm/rad2]

s Jerk [mm/rad3]

t Parameter vector [-]


Variables [-]

x Variable vector [-]


hi(x) Equality of constraints [-]
gj(x) Inequality of constraints [-]
f(x) Opjective function on x [-]
f(W) Opjective function on W [-]
f1(W) Objective funtion of acceleration [-]
f2(W) Objective funtion of jerk [-]
upeak_acc Position at maximum acceleration [-]
xiv Equation Signs and Indices

upeak_jerk Position at maximum jerk [-]

f Difference of cost function [-]

kB Boltzmann constant

Latin Capital Letters

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]

C(u) Displacement function [length or rad or degree]


C1(u) Velocity function [mm/rad]
C2(u) Acceleration function [mm/rad2]
C3(u) Jerk function [mm/rad3]
N(u) B-spline basis function [-]
N1(u) The first derivative of B-spline basis function [-]
N2(u) The second derivative of B-spline basis function [-]
N3(u) The third derivative of B-spline basis function [-]
R(u) Rational basis function [-]
R1(u) The first derivative of Rational basis function [-]
R2(u) The second derivative of Rational basis function [-]
R3(u) The third derivative of Rational basis function [-]
Control points [-]

U Knot vector [-]


D Vector of input angle [-]
Input data [-]
G Objective function [-]
Equation Signs and Indices xv

T0 Initial control parameter [-]


T Control parameter (Temperature) [-]
Tmin Stopping criterion of control parameter [-]
R Matrix with size n x n [-]
C Vector of boundary condition [-]
P Vector of control point [-]
W Weight vector [-]
Initial solution of the weight factor [-]
Current solution of the weight factor [-]
Ei Energy at state i [-]
Ej Energy at state j [-]

E Difference energy between two states [-]

P(si) Probability at state i [-]


Xi State i [-]
Xj State j [-]
G(W) Objective function [-]
Ni Number of iterations at state i [-]

Greek Small Letters

α Coefficient [-]

 Coefficient [-]

 One cycle of input motion [rad or degree]

 A small fraction [-]

 Angle of camshaft [rad or degree]

Difference of the objective function [-]


xvi Equation Signs and Indices
Abbreviations xvii

Abbreviations

IGMR Institut für Getriebetechnik, Maschinendynamik und Robotik (In


English: Institute of Mechanism Theory, Machine Dynamics and
Robotics)

NURBS Non-Uniform Rational B-Spline

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:

(a) Setting up the structure of cam mechanisms

(b) Structure of the motion program

(c) Selection of a mathematic function for the displacement program

(d) Determination of main dimensions

(e) Calculation of cam profiles

(f) Construction of the cam mechanism

(g) Making technical drawing of all components

(h) Manufacture and assembly of cam-follower system

In these design steps of cam mechanisms, a displacement program of the follower is


established based on working requirements and application situations of cam-follower
systems. For instance, Fig. 1-1 shows an application of cam mechanisms. The cam is designed
2 1 Introduction

by given the movement of the slider and the motion program of the follower also depends
on the movement of the slider.

Fig. 1-1: Example for application of cam mechanisms [VDI17]

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].

Fig. 1-2: Boundary conditions of the normalized rise motion

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

Fig. 1-3: Arbitrary boundary conditions of the displacement function

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.

1.2 Research objective and scope

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.

From the objective, the main tasks are performed as follows

 Generally synthesize motion curves satisfying arbitrary boundary conditions of


displacement, velocity, acceleration, and jerk.

 Evaluate the parameters of NURBS on motion curves

 Compute the optimal parameters for NURBS to reduce peak values of the acceleration
and jerk.

1.3 Thesis outline

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.

In chapter 3, a general synthesis of cam mechanism using NURBS is presented. The


displacement, velocity, acceleration, and jerk functions are described by NURBS. Selecting
the degree of NURBS for motion is also discussed. Then, the evaluation of weights on motion
curves is proposed in this chapter.

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)

State of the art (Chap. 2)

General synthesis of motion curves Effect of the knot vector on motion


(Chap. 3) curves (Chap. 4)

- Description of motion curves with - Methods for computing the knot


NURBS vector
- Synthesis of motion curves under - Distribution of parameters and knots
boundary conditions of the follower - Evaluation of the knot vector on
- Evaluation of weight parameters motion curves

Optimizing weight factor (Chap. 5)


- Exhibition of multi-objective functions
considering the acceleration and jerk

Simulated Annealing Algorithm (Chap. 6)


- Presentation of the algorithm to compute
optimal weights: methodology and
procedure of SA

Application Examples (Chap. 7)

Conclusion (Chap. 8)

Fig. 1-4: Thesis outline


2 State of the Art 7

2 State of the Art

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.

2.1 Cam - follower system

This section introduces the background of cam-follower systems, and motion programs of the
follower are discussed.

2.1.1 Cam and follower classification

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.

In general, the classification of cam-follower systems is based on shapes of cams and


followers. The basic shapes of a cam are shown in Fig. 2-1 [UPS03]. They are a plate cam or
a disk cam (Fig. 2-1a), a wedge cam (Fig. 2-1b), a cylindrical cam or barrel cam (Fig. 2-1c),
and a face cam (Fig. 2-1d). In these types of cams, plate cams are commonly used in
machines. For this cam, with a given continuous input motion of the cam element, the
follower moves forward and backward in a straight line.
8 2 State of the Art

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]

2.1.2 Displacement program

A displacement program is created by motion of the follower that is accomplished by a shape


of cams during the whole cycle of input motion. For example, a type of the displacement
program is shown in Fig. 2-5 with the rise, the dwell, the return and the dwell motion. On a
displacement program, the follower moves away from the cam center, which is called a rise.
Otherwise, a return is a motion of the follower that leads to the follower towards the cam
center. Lift is the maximum value in a rise motion for a case of cam mechanisms with
reciprocating followers. A dwell is defined as no motion of the follower in a period of the
entire cycle while motion of cams is continuously maintained [UPS03]. An important feature
of cam mechanisms is to design exact dwells. In order to design linkage mechanisms with one
or two dwells, it requires at least a six bar linkage, and dwell motion is only achieved as an
approximate result for using linkage mechanisms [Nor99].
2 State of the Art 11

Fig. 2-5: Displacement program [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.

2.2 Follower displacement function

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.

2.2.1 Polynomial for motion curves

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.

A general polynomial function can be expressed by

∑ (2.1)

where is the degree of the function.


12 2 State of the Art

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 .

Fig. 2-6: SVAJ diagram of polynomial function with degrees

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.

Fig. 2-7: Dynamic cam systems [KI72]

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.

2.2.2 Harmonic and cycloidal functions

Harmonic and cycloidal functions are trigonometric curves. Harmonic function can be
expressed as

( ) (2.2)

where and are coefficients of a harmonic function.

Respectively, the cycloidal function can be written as

( ) (2.3)

where and are coefficients of a cycloidal function.

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

Fig. 2-8: Harmonic and cycloidal displacement functions

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.

Another direction is combination of different functions, such as polynomial and trigonometric


functions in order to minimize the peak value of acceleration. Many researches presented the
displacement function that uses the combination of these functions as shown in [Che82;
KLH04; LLW14; Nor02; Nor99; SMH16; UPS03]. Forrest W. Flocker [For12] proposed the
synthesis of the cam motion to adjust the value of the acceleration. In this work, the
acceleration function was associated by trigonometric and polynomial functions. H. D. Desai
and V. K. Patel [DP10] used the combination of several functions, i.e., the harmonic,
cycloidal, polynomial for the motion program. This work presented the kinematic and
dynamic force analysis for the cam with the reciprocating roller follower.

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

2.2.3 Piecewise polynomials

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

Fig. 2-10: Motion curves using piecewise polynomials [MA04]

2.2.4 Bezier curve

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)
( )

and ( ) are called control points.

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)

where is the number of knots.

B-spline basis functions can be computed by

( ) {
(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.)

(2) Select points on the velocity curve in the rise motion

(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:

(1) B-spline has been used for a cam curve;


2 State of the Art 25

(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.

Fig. 2-13: Elastic dynamic model

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.

In this research, the range of the parametric variable can be defined by

(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

2.3 Summary and deficits

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

characteristics of NURBS, motion curves can be optimized by NURBS parameters to reduce


peak values of the acceleration and jerk.
3 General Synthesis of Motion Curves Using NURBS 29

3 General Synthesis of Motion Curves Using NURBS

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.

3.1 Description of NURBS for motion curves

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

Fig. 3-1: Notation of NURBS for cam mechanisms

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)

here, is the number of knots and .

For the zero-degree, B-spline basis functions can be calculated as

( ) { . (3.5)

For the pth-degree, ( ) can be computed by

( ) ( ) ( ) (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 .

The velocity function can be expressed as

( )
( ) ∑ ( ) , - (3.7)
32 3 General Synthesis of Motion Curves Using NURBS

Respectively, the acceleration function can be written as

( )
( ) ∑ ( ) , - (3.8)

The jerk function can be also presented by

( )
( ) ∑ ( ) , - (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)
( )

where coefficients, can be computed by

(3.14)
34 3 General Synthesis of Motion Curves Using NURBS

with . In here, and are knots


which are taken in the knot vector .

From Eq. (3.13), ( ) ( ) and ( ) can be computed as

( ) ( ( ) ( )) (3.15)

( ) ( ). ( ) ( ) ( )/ (3.16)

( ) ( )( )( ( ) ( )
(3.17)
( ) ( )/

According to Eq. (3.14), these coefficients, in


equations (3.15), (3.16), and (3.17) can be computed as follows

(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)

3.2 General synthesis of cam motion using NURBS

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)
, ( )-

, ( )-

where ( ) ( ) ( ) and ( ) are values of the displacement, velocity,


acceleration, and jerk, respectively (see equations (3.1), (3.7), (3.8), and (3.9)). In here,
is equal the number of boundary conditions .
36 3 General Synthesis of Motion Curves Using NURBS

From the boundary conditions, the system of linear equations can be written as

( ) ( )

( ) ( )
(3.28)
( ) ( )

[ ( )] [ ] [ ( )]

Here, a matrix of boundary condition, with size can be expressed as

[ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )] (3.29)

and matrix, with size can be written as

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )
(3.30)
( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

[ ( ) ( ) ( )]
3 General Synthesis of Motion Curves Using NURBS 37

We can rewrite Eq. (3.28) as the following

(3.31)

Thus, the solution of Eq. (3.31) gives control points

(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).

3.3 Selecting the degree of NURBS used for motion curves

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)”

Depending on working requirements and application situations of cam-follower systems,


motion programs can be defined by a single mathematical function or several separate
functions in the whole interval. These functions must be continuous at all boundary conditions
at least acceleration curve, or the displacement, velocity and acceleration functions must have
no discontinuities. If any discontinuities occur in the acceleration curve, there will be
infinitive values in jerk curve. This is not desirable in cam design.
38 3 General Synthesis of Motion Curves Using NURBS

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.

3.4 Evaluating weights to motion curves

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

(1) Non-negative, ( ) for all , , and , -;

(2) Partition of unity, ∑ ( ) for all , -;

(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

4 Effect of the Knot Vector on Motion Curves

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.

4.1 Introduction to the knot vector

As presented in chapter 3, the knot vector, is to determine rational basis functions of


NURBS curves. Therefore, the shape of curves can be changed by using different
computational scheme for the knot vector. As mentioned in Section 3.1, the knot vector can
be classified into two types such as clamped and unclamped groups. The clamped and
unclamped groups refer to whether or not the first and the last knots values, which are
repeated with multiplicity, equal to degree plus one. In general, for many systems in curves
and surfaces, the clamped group is commonly used for computing the knot vector [PT97].

Computing the knot vector includes two steps as follows [JK00]

(1) Calculation of parameters

(2) Generation of the knot vector.

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

Fig. 4-1: Corresponding to input data points and parameters [She11]

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].

In approximation and interpolation, depending on the characters of problems, parameters can


be computed by one of these methods. On the other hand, in the recent decade, B-spline and
NURBS have been used for synthesizing cam mechanisms. As discussed in chapter 3, motion
curves can be directly affected due to weights. Besides, the knot vector is one of the important
parameters since it is directly connected with these curves. The uniform knot vector has been
widely used to compute rational basis functions in designing cam-follower system as seen in
[MN09; NM12; Sat14; SGS16; SRJ09; XZ09]. This method is uncomplicated to calculate the
knot vector. Up to now, almost previous researches have not discussed how to compute the
knot vector to obtain the best results for motion curves.

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.2 Computation of the knot vector for synthesizing cam motion

From Eq. (3.4), must be a non-decreasing sequence of real numbers, i.e.


. are called knots and in the domain , - as seen Eq. (3.1). As discussed in
section 4.1, due to the clamped group used for calculating the knot vector, ( ) first knots
are equal to and ( ) end knots are equal to . Thus, the knot vector can be rewritten as
Eq. (4.1)

*⏟ ⏟ +
( ) ( )
(4.1)

where is the number of knots, .

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.1 Parameter calculation

According to chapter 3, for a given number of boundary conditions, and for


certain angles of the camshaft, the vector of input angles of the camshaft, , is defined by

, - (4.2)

Here, contains non-decreasing values, i.e. . Values of are


taken from input angles of the camshaft at boundary conditions, e.g., and . The
angle of camshaft is in the domain , -, with and .

Each component in the vector is corresponded to a point, denoted , in the parameter


space, which can be arranged into a vector . This vector can be written as

, - (4.3)

The parameters can be computed by four methods as follows

Uniformly spaced method

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

Chord length method

According to elements, , and the domain , -, the first and end parameters
are respectively and . The other parameters can be computed as [Wei09]

∑ | |
( ) (4.5)

where L is the sum of the lengths in . It can be expressed as

∑| | (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]:

(1) Using an appropriate method (centripetal) to compute B-spline basis functions ( )

(2) Finding maximum value of B-spline basis functions which is called ( )

(3) Computing the Hybrid parameters as follows

√| |
(4.9)
∑ | |

4.2.2 Knot vector generation for cam motion

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)

4.2.3 Effect of the power on motion curve

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

Table 4-1: Nine boundary conditions of the normalized displacement function

Angle of camshaft Displacement Velocity Acceleration

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.

Table 4-2: Twenty boundary conditions of motion curves

Angle of camshaft Displacement Velocity Acceleration


(deg.) (cm) (cm/rad) (cm/rad2)
0 0 0 0

45 1.02 -- 0

90 2.0 0 0

135 1.81 -- -1.17

150 1.61 -- --

180 1.0 -1.2 0

210 0.39 -- --

225 0.2 -- 1.2

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

4.2.4 Parameter and knot distribution

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.

As discussed in Chapter 3, the degree of NURBS is ; the smallest number of boundary


conditions is equal to . In this case, the number of knots in the knot vector is
with first knots and end knots as shown in Eq. (4.1). Thus, there are
not interval knots in this case.

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.

Table 4-3: Eight boundary conditions of the normalized displacement function

Angle of camshaft Displacement Velocity Acceleration Jerk

0 0 0 0 0

1 1 0 0 0

From Eq. (4.2), the vector of input angles can be written as

, - (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.

The vector of input angles can be written as

,
(4.15)
-
4 Effect of the Knot Vector on Motion Curves 61

Table 4-4: Sixteen boundary conditions of the normalized displacement function

Angle of camshaft Displacement Velocity Acceleration Jerk

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

4.3 Motion curve evaluation

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

5 Optimizing Weight Factor of Motion Curves by Considering Kinematics

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.

5.1 Optimization problem

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

- Minimizing the peak value of the acceleration

- Minimizing the peak value of the jerk.

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.2 Multi-objective optimization of motion curves

In mathematics, a vector denoted has variables or unknowns. The vector can be


expressed as * + . A function of , which is minimized or maximized, is
called the objective function or the cost function. Generally, a basic single-objective
optimization can be formulated as follows [NW99]

( ), (5.1)

subject to

( )
(5.2)
( )

Here, ( ) and ( ) are equality and inequality constraints on the variables .

For multi-objective optimization problems, the objective function can be described as


[JMC09]

( ) , ( ) ( ) ( )- (5.3)

where ( )( ) are single objective functions as seen Eq. (5.1), and .


Constraints of the multi-objective function can be expressed as Eq. (5.2).
5 Optimizing Weight Factor of Motion Curves by Considering Kinematics 71

As discussed in Section 5.1, weight variables ( ) of the weight vector


* + must be found from the objective functions of the acceleration and jerk.
According to the formula in Eq. (5.3), the multi-objective function can be expressed as

( ) , ( ) ( )- (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)

Here, , as shown in chapter 3, is the number of boundary conditions, and , as known


before are the control points.

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

basis functions ( ) and their derivatives ( ), ( ), and ( ) are thus


determined as shown in equations (3.2), (3.10), (3.11), and (3.12).

From Eq. (3.11) and (3.12), at positions of camshaft angles and ,


and depended on weight variables are written as

( )
( )
∑ ( )

( ) ∑ ( )
(∑ ( ) )
(5.8)
( ) ∑ ( )
(∑ ( ) )

( ) (∑ ( ) )
(∑ ( ) )
5 Optimizing Weight Factor of Motion Curves by Considering Kinematics 73

( )
( )
∑ ( )

( ) ∑ ( )
(∑ ( ) )

( ) ∑ ( )
(∑ ( ) )

( ) ∑ ( )
(5.9)
(∑ ( ) )

( ) (∑ ( ) )
(∑ ( ) )

( ) ∑ ( ) ∑ ( )
(∑ ( ) )

( ) (∑ ( ) )
(∑ ( ) )

5.3 Summary

In this chapter, the problem optimization for cam-follower systems is presented by


minimizing peak values of the acceleration and jerk on motion curves. From this, the multi-
objective functions that depend on the weight factor are also proposed.

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

6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves

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.

6.1 Methodology of Simulated Annealing

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.

6.1.1 Introduction to simulated annealing

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 is known as a random-search technique. A neighboring


solution is a set of solutions which can be reached by a slight movement of current solution.
The random search is shown in Fig. 6-1 [Ele10].

Fig. 6-1: Random-search technique [Ele10]


76 6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves

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 initial solution does not need to be a good initial solution.

The simulated annealing is based on the physical process of annealing of solids. The physical
annealing is presented in the next section.

6.1.2 Physical annealing

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]

 A solid material is heated up by increasing the temperature to a maximum value in


which the solid material is melted

 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

transformation of the current state is applied by a small displacement of a random particle.


The difference of the energy between two states is given by Kirkpatrick et al. [KGV83]

(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)
( )

6.1.3 Simulated annealing algorithm

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

Thermodynamics Simulation Combinatorial optimization

Energy Objective function (or cost function)

Current state Current solution

Next state Neighboring solution

Temperature Control parameter

Ground state Global optimal solution


6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 79

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)

According to the physical annealing, if , the neighboring solution is accepted, and


otherwise the probability is calculated as Eq. (6.3), i.e., . /. Then, the acceptance
criterion is implemented by choosing random numbers from the uniform distribution on ( )
and comparing these with the value of . / [KGV83]. The control parameter is then
decreased in sequent steps, which is called the cooling schedule. This schedule will be
presented in section 6.1.4. The algorithm is terminated when the control parameter is small
enough. In the simulated annealing algorithm, the Boltzmann constant is omitted [AV87].
For this reason, the probability in Eq. (6.3) can be rewritten as

({( | )}) ( ) (6.5)

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

Table 6-2: Simulated annealing algorithm

Begin

Select initial solution ( )

Select the initial control parameter

Repeat

Generate randomly a neighboring solution

Calculate the change of cost function ( ) ( )

If then

Accept the neighboring solution

Else

Generate ( )

If . / then

End

Set the new control parameter ( )

Until
Stopping criterion

6.1.4 Cooling schedule

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 initial control value

 The decrement rule for updating the control parameter


6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 81

 The rule for determining the length of the homogenous Markov chains at each control
parameter

 The stopping criterion.

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

Initial control parameter:

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)

where is the maximal difference of objective function between two arbitrary


neighboring solutions.

Decrement rule of the control parameter

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

Length of homogenous Markov chain

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.1.5 Generation of neighboring solutions

A problem solution with variables can be expressed as

* + (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

Here, is a vector of small random numbers which is in the range ( ).

6.2 Process of multi-objective optimization by Simulated Annealing for motion curves

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)

where ( ) ( ) ( ) ( ) are objective functions which are minimized.


At any given iteration, the values of ( ) ( ) ( ) are calculated from the
variable values, , and are then substituted into Eq. (6.12) to obtain ( ). Random
neighboring solutions are applied to each of the elements of to yield . From this,
( ) is also computed by Eq. (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 𝑿𝟎 𝐺(𝑿 ) 𝑇

Random perturb 𝑿𝑖 to generate 𝑿𝑖

Evaluate 𝐺(𝑿𝑖 )

Do the probability test

NO
Is 𝑿𝑖 accepted?

YES

Update and archive 𝑿𝑖 𝑿𝑖

Reduce control parameter 𝑇𝑖 𝛼𝑇𝑖


YES

NO
Terminate search

End

Fig. 6-2: Multi-objective simulated annealing optimization algorithm [Eng98]


6 Simulated Annealing Algorithm for Optimizing Kinematics of Motion Curves 85

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)

where ( ) and ( ) are computed as Eq. (6.14).

From Eq. (6.13), the probability can be computed by

( , ( ) ( )-) (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

6.3 Simulated Annealing algorithm for motion curve optimization

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)

where is the vector of very small random number within a range ( ).

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

Table 6-3: SA algorithm for the motion curve optimization

Begin

: Initial solution of the weight factor


( ): Cost at the initial solution
: Initial control parameter
: Cooling rate
: A real number for decreasing the number of iterations
: Initial maximum number of iterations within one control parameter
: Stopping criterion of the control parameter
: A very small fraction

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

Initialize: 𝑾 𝐺(𝑾 ) 𝑇 𝛼 𝛾 𝑁 𝜀 𝑇𝑚𝑖𝑛

Current solution: 𝑾 𝑾 ; 𝐺𝑖 𝐺(𝑾𝑖 )


Generate solution: 𝑾𝑖 𝑾𝑖 𝑾;
𝐺𝑖 𝐺(𝑾𝑖 )

Evaluate difference of cost function: 𝐺 𝐺𝑖 𝐺𝑖

NO NO
If 𝐺 Compare: 𝑟𝑎𝑛𝑑( ) 𝑝

YES YES

Accept new solution: 𝑾𝑖 𝑾𝑖

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

 Motion curves satisfying a small number of boundary conditions

 Considering a large number of boundary condition.

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.

7.1 Application for a small number of boundary conditions

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.

7.1.1 Six boundary conditions

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 .

Table 7-1: Six boundary conditions of the normalized displacement function

Angle of camshaft Displacement Velocity Acceleration

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

7.1.2 Eight boundary conditions

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

7.1.3 Nine boundary conditions

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

7.1.4 Cam drive engine

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.

Fig. 7-4: Cam drive engine system [XZ09]

Table 7-2: Boundary conditions of the intake and exhaust cams

Angle of camshaft Displacement Velocity Acceleration


(deg.) (mm) (mm/rad) (mm/rad2)

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.

7.2 Application for a large number of boundary conditions

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

7.2.1 Cutting machine

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

7.2.2 Cam with twenty boundary conditions

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 motion curves for this


cam are presented in Fig. 7-9.

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

7.2.3 Cam mock heart

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.

Table 7-3: Boundary conditions of the cam mock heart

Angle of camshaft Displacement Velocity Acceleration Jerk


2
(deg.) (mm) (mm/rad) (mm/rad ) (mm/rad3)

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 *

+, the maximum value


of the acceleration is reduced by using NURBS, i.e., ( ) with B-
spline and ( ) with NURBS; respectively, the maximum value of
jerk decreases tremendously, i.e., ( ) with B-spline and
( ) with NURBS.
7 Application Examples 105

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

7.2.4 Fourier analysis

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.

Fig. 7-13: Comparison of the frequency harmonic for the acceleration


7 Application Examples 109

Fig. 7-14: Comparison of the frequency harmonic for the jerk

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 Conclusion and Outlook

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

In the design of cam-follower systems, kinematic problems, corresponding to peak values of


the acceleration and jerk, are essential in order to maintain good dynamic behavior of cam
mechanisms. As shown in Chapter 7, the results of motion curves using NURBS for the
follower motion are achieved as follows

 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.

 With the flexible characteristics of cam mechanisms, a displacement program can


satisfy arbitrary boundary conditions of output motions or can contain several
intervals such as rise, return, and dwell motions. Based on working requirements of
machines, a displacement program may use a small or large number of boundary
conditions. For this, obtaining small values of the acceleration and jerk is very
significant because of its effect on the dynamic analysis. If the value of the
acceleration is small, inertial forces and moments decrease, and the required drive
torque is therefore low. In addition, when the extreme value of the jerk obtains the
minimal value, the tendency of vibration is also reduced.

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. 1-1: Example for application of cam mechanisms [VDI17] ............................................... 2

Fig. 1-2: Boundary conditions of the normalized rise motion .................................................... 2

Fig. 1-3: Arbitrary boundary conditions of the displacement function ...................................... 3

Fig. 1-4: Thesis outline ............................................................................................................... 6

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-5: Displacement program [UPS03] ................................................................................ 11

Fig. 2-6: SVAJ diagram of polynomial function with degrees ............................. 12

Fig. 2-7: Dynamic cam systems [KI72] ................................................................................... 14

Fig. 2-8: Harmonic and cycloidal displacement functions ....................................................... 16

Fig. 2-9: Normalized cam displacement using cubic piecewise polynomials [MB85] ............ 19

Fig. 2-10: Motion curves using piecewise polynomials [MA04] ............................................. 20

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. 2-13: Elastic dynamic model ............................................................................................. 25

Fig. 3-1: Notation of NURBS for cam mechanisms................................................................. 30

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-1: Random-search technique [Ele10] ............................................................................. 75

Fig. 6-2: Multi-objective simulated annealing optimization algorithm [Eng98]...................... 84

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-4: Cam drive engine system [XZ09] .............................................................................. 96

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-2: Twenty boundary conditions of motion curves …………………………………. 54

Table 4-3: Eight boundary conditions of the normalized displacement function…………… 57

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 6-2: Simulated annealing algorithm……………………………………………………80

Table 6-3: SA algorithm for the motion curve optimization ……………………………..... 87

Table 7-1: Six boundary conditions of the normalized displacement function .…….……….92

Table 7-2: Boundary conditions of the intake and exhaust cams…………………………….96

Table 7-3: Boundary conditions of the cam mock heart………………………………….....103


CXX List of Tables
References CXXI

References

[AK89] Aarts E. H. L.; Korst J. H.


Simulated Annealing anf Boltzmann Machines: A Stochastic Approach to
Combinatiorial Optimization and Neural Computing
In: Wiley Interscience Series in Discrete Mathematics and Optimization, (1989).

[AMH98] Abramson David; Mohan Krishnamoorthy; Henry Dang


Simulated annealing Cooling Schedule for the School Timetabling Problem
In: Asia Pacific Journal of Operational Research, (1998).

[AS04] Andresen Ulf; Singhose William


A Simple Procedure for Modifying High-Speed Cam Profiles for Vibration
Reduction
In: Journal of Mechanical Design, 126 (2004) , S. 1105–1108.

[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.

[AV87] Aarts Emile; Van Laarhoven P. J.


Simulated annealing: Theory and Applications
In: Springer Science and Business Media, (1987).

[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.

[Boo01] Boor Carl de


A Practical Guide to Splines
In: Mathematics of Computation, 34 (2001) 27, DOI 10.2307/2006241.

[Bru88] Bruce Hajek


Cooling Schedule for Optimal Annealing
In: Mathematics of Operations Research, 13 (1988) 2, S. 311–330.

[BSL04] Barnabás Aszódi; Szabolcs Czuczor; László Szirmay-Kalos


NURBS FAIRING BY KNOT VECTOR OPTIMIZATION
In: Journal of WSCG, 12 (2004) No.1-3.
CXXII References

[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).

[CC95] Chew M.; Chuang C. H.


Minimizing Residual Vibrations in Higli-Speed Cam-Foilower Systems Over a
Range of Speeds
In: Journal of Mechanical Design, 117 (1995) , S. 166–172.

[CDS06] Caigny De J.; Demeulenaere B.; Swevers J.; Schutter De J.


A Linear Programming Approach to the Optimal Design of Spline-Based Motion
System Inputs
In: PROCEEDINGS OF ISMA, (2006) , S. 1287–1301.

[Che69] Chen Fan Yu


An Algorithm for Computing the Contour of a Slow Speed Cam
In: Jourmal of Mechanisms, 4 (1969) 2, S. 171–175.

[Che73] Chen Fan Yu


Kinematic Synthesis of Cam Profiles for Prescribed Acceleration by a Finite
Integration Method
In: Journal of Engineering for Industry, (1973) , S. 519–524.

[Che82] Chen Fan Yu


Mechanics and Design of Cam Mechanisms
New York: Pergamon Press, 1982, ISBN 0080280498.

[CL13] Chang Yong; Lin Rong-Fu


Design and Analysis of Cam Mechanisms with a Flat-faced Follower by the
Application of Support Function
In: Advanced Materials Research, 711 (2013).

[CN06] Corves Burkhard; Niggemann Henning


CAD-based, graphical dimension synthesis of spherical and spatial cam
transmissions with the programme CADiS
In: Proceedings of EuCoMeS, the first European Conference on Mechanism
Science, (2006).

[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

[CS98] Chan Yiu Wing; Sim Siang Kok


Optimum Cam Design Using the Monte Carlo Optimization Technique
In: Journal of Engineering Design, 9 (1998) 1.

[CZJ13] Cardona S.; Zayas E. E.; Jordi L.; Català P.


Synthesis of displacement functions by Bézier curves in constant-breadth cams
with parallel flat-faced double translating and oscillating followers
In: Mechanism and Machine Theory (MMT), (2013) 62, S. 51–62.

[Deb01] Deb Kalyanmoy


Multi-Objective Optimization Evolutionary Algorithms: An Introduciton
In: New York: John Wiley & Sons, (2001).

[DG04] DasGupta Anirvan; Ghosh Amitabha


On the Determination of Basic Dimensions of a Cam With a Translating Roller-
Follower
In: Journal of Mechanical Design, 126 (2004) , S. 143–147.

[DP10] Desai H. D.; Patel V. K.


Computer Aided Kinematic and Dynamic Analysis of Cam and Follower
In: Proceedings of the World Congress on Engineering, 2 (2010) , S. 1246–1250.

[DPD13] Dinesh Shinde; Pradip Solanki; Deshmukh D.S.; Shekhawat S. P.


Application of SA algorithm for design optimization ot automobile suspension
system
In: International Journal of Innovative Research in Science, Engineering and
Technology, 2 (2013) 6.

[DS16] Du Ke-Lin; Swamy M. N. S.


Search and Optimization by Metaheuristics: Techniques and Algorithms Inspired
by Nature
In: Springer International Publishing Switzerland, (2016).

[Egl90] Eglese R. W.
Simulated Annealing: A tool for Operational Research
In: European Journal of Opeational Research, 46 (1990) , S. 271–281.

[Ele10] Eles Petru


Simulated Annealing
In: Department of Computer and Information Science, (2010).

[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

[FCL13] Fang Rui-Ming; Cai Ji-Fei; Li Guang


Cam Curve Synthesis Method Based on Classical Splines
In: Applied Mechanics and Materials, 312 (2013) , S. 69–73.

[FFS10] Fathi Al-Shamma; Faiz F. Mustafa; Sahar M. Saliman


An Optimum Design of Cam Mechanisms with Roller Follower for Combined
Effect of Impact and High Contact Loads
In: Al-Khwarizmi Engineering Journal, 6 (2010) 4, S. 62–71.

[FM98] FAROUKI R. T.; MANJUNATHAIAH J.


Design of rational cam profiles with pythagorean-hodograph curves
In: Mechanism and Machine Theory (MMT), 33 (1998) 6, S. 669–682.

[FN89] Foley, T. A.; Nielson, G. M.


Knot selection for parametric spline interpolation
In: Mathematical Methods in Computer Aided Geometric Design, (1989) , S.
261–272.

[For12] Forrest W. Flocker


A Versatile Cam Profile for Controlling A Versatile Cam Profile for Controlling
Interface Force in Multiple-Dwell Cam-Follower Systems
In: Journal of Mechanical Design, 134 (2012) , 094501-1 -- 094501-6.

[GG12] Ge R. Y.; Guo P. Q.


Flexible Cam Profile Synthesis Method Using NURBS and its Optimization based
on Genetic Algorithm
In: Advanced Materials Research, 426 (2012) , S. 69–72.

[GM10] Gatti Gianluca; Mundo Domenico


On the direct control of follower vibrations in cam–follower mechanisms
In: Mechanism and Machine Theory (MMT), (2010) 45, S. 23–35.

[HJJ03] Henderson D.; Jacobson S.H.; Johnson A.W.


Theory and Practice of simulated Annealing, In: Glover F., Kochenberger G.A.
(eds) Handbook of Metaheuristics
In: International Series in Operations Research & Management Science, 57 (2003)
, S. 287–293.

[HK98] Hahmann, S.; Konz, S.


Knot-removal surface fairing using search strategies
In: Computer-Aided Design, 30 (1998) 2, DOI 10.1016/S0010-4485(97)00078-X,
S. 131–138.
References CXXV

[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.

[Jam96] James M. Varanelli


On the Acceleration of Simulated Annealing
Doctoral thesis, Faculty of the School of Engineering and Applied Science,
Faculty of the School of Engineering and Applied Science, 1996.

[JI09] Jiang j. K.; Iwai Y. R.


Improving the B-Spline Method of Dynamically-Compensated Cam Design by
Minimizing or Restricting Vibrations in High-Speed Cam-Follower Systems
In: Journal of Mechanical Design, 131 (2009) , 041003-1--041003-8.

[JK00] Jung H. B; Kim K.


A New Parameterisation Method for NURBS Surface Interpolation
In: International Journal of Advanced Manufacturing Technology, 16 (2000) 11,
S. 784–790.

[JMC09] Jaimes Antonio Lopez; Martinez Saul Zapotecas; Coello A. Carlos


An Introduction to Multi-objective Optimization Techniques
In: Nova Science Publishers, (2009) , S. 1–29.

[JSH09] Jing, Z.; Shaowei, F.; Hanguo, C.


Optimized NURBS Curve and Surface Fitting Using Simulated Annealing
In: Second International Symposium on Computational Intelligence and Design,
(2009) , DOI 10.1109/ISCID.2009.227, S. 324–329.

[JTR12] Jamkhande A. K.; Tika S. S.; Ramdasi S. S.; Marathe N. V.


Design of High Speed Engine's Cam Profile Using B-Spline Functions for
Controlled Dynamics
In: Society of Automotive Engineers, (2012).

[KAK02] Kim J. H.; Ahn K. Y.; Kim S. H.


Optimal synthesis of a spring-actuated cam mechanism using a cubic spline
In: Journal of Mechanical Engineering Science, 216 (2002) , S. 875–883.
CXXVI References

[KGV83] Kirkpatrick S.; Gelatt C. D.; Vecchi M. P.


Optimization by Simulated Annealing
In: American Association for the Advancement of Science, 220 (1983) 4598, S.
671–680.

[KI72] Kanzaki. K; Itao. K


Polydyne Cam Mechanisms for Typehead Positioning
In: Journal of Mechanical Design, 94 (1972) , S. 250–254.

[Kid15] Kido K.
Digital Fourier Analysis: Fundamentals
Business Media New York: Springer, 2015.

[KLH04] Kuang Jao-Hwa; Lin Ah-Der; Ho Tzong-Yow


Dynamic Responses of a Globoidal Cam System
In: Journal of Mechanical Design, 126 (2004) , S. 909–915.

[KS13] Kiran Tushar; Srivastavab S. K.


Analysis and Simulation of Cam Follower Mechanism Using Polynomial Cam
Profile
In: International Journal of Multidisciplinary and Current Research, (2013) , S.
211–215.

[Lam03] Lampinen. J
Cam shape optimisation by genetic algorithm
In: Computer-Aided Design, (2003) 35, S. 727–737.

[LH14] Liang Zan; Huang Jie


Design of high-speed cam profiles for vibration reduction using command
smoothing technique
In: Journal of Mechanical Engineering Science, (2014) , S. 1–7.

[LHC08] Lai L. Yuan; Hung P. Jui; Chen H. Jian


Roller Guide Design and Manufacturing for Spatial Cylindrical Cams
In: International Journal of Aerospace and Mechnical Engineering, (2008) , S. 17–
23.

[Lim99] Lim Choong-Gyoo


A universal parametrization in B-spline curve and surface interpolation
In: Computer Aided Geometric Design, 16 (1999) , S. 407–422.

[Liu94] Liu Yajie


Effect of Knot Vectors on B-spline Curves and Surfaces
In: State University of New York at Stony Brook, NY, (1994).
References CXXVII

[LLW14] Li Zhijie; Li Fei; Wang Hongju


A Study on Conjugate Cam Beating-up Mechanism
In: Applied Mechanics and Materials, 668-669 (2014) , S. 134–137.

[MA04] Mermelstein S. P.; Acar M.


Optimising cam motion using piecewise polynomials
In: Engineering with Computers, (2004) 19, S. 241–254.

[MB85] MacCarth B. L.; Burns N. D.


An evaluation of spline functions for use in cam design
In: Journal of Mechanical Engineering Science, 199 (1985) C3, S. 239–248.

[MET11] Moise V.; Ene M.; Tabara I. A.; Dugaesescu I.


Determination of the Minimum Size of the Disk Cam with Translating Flat-Face
Follower
In: 13th World Congress in Mechanism and Machine Science, Guanajuato,
México, (2011).

[MH10] Magnier, L.; Haghighat, F.


Multiobjective optimization of building design using TRNSYS simulations, genetic
algorithm, and Artificial Neural Network
In: Building and Environment, 45 (2010) 3, DOI 10.1016/j.buildenv.2009.08.016,
S. 739–746.

[MN09] Mandal M.; Naskar T. K.


Introduction of control points in splines for synthesis of optimized cam motion
program
In: Mechanism and Machine Theory (MMT), (2009) 44, S. 255–271.

[MT76a] Matthew. G. K; Tesar. D


Cam System Design: The Dynamic Synthesis and Analysis of the One Degree of
Freedom Model
In: Mechanism and Machine Theory (MMT), 11 (1976) , S. 247–257.

[MT76b] Matthew G. K.; Tesar D.


Cam System Design: The Dynamic Synthesis and Analysis of the One Degree of
Freedom Model
In: Mechanism and Machine Theory (MMT), 11 (1976) 4, S. 247–257.

[NA98] Nourani, Y.; Andresen, B.


A comparison of simulated annealing cooling strategies
In: Journal of Physics A: Mathematical and General, 31 (1998) 41, DOI
10.1088/0305-4470/31/41/011, S. 8373–8385.
CXXVIII References

[NK07a] Nguyen Vu-Thinh; Kim Do-Joong


Flexible cam profile synthesis method using smoothing spline curves
In: Mechanism and Machine Theory (MMT), (2007) 42, S. 825–838.

[NK07b] Nguyen Vu-Thinh; Kim Do-Joong


Cam profile smoothing by modified spline curves
In: 12th IFToMM World Congress, Besançon, France, (2007).

[NKH17a] Nguyen T. T. N.; Kurtenbach S.; Hüsing M.; Corves B.


Improving the kinematics of motion curves for cam mechanisms using NURBS
In: New Advances in Mechanisms, Mechanical Transmissions and Robotics.
Mechanisms and Machine Science, 46 (2017).

[NKH17b] Nguyen T. T. N.; Kurtenbach S.; Hüsing M.; Corves B.


Evaluating the knot vector to synthesize the cam motion using NURBS
In: Computational Kinematics. Mechanisms and Machine Science, 50 (2017).

[NM12] Naskar T. K.; Mishra R.


Introduction of control points in B-splines for synthesis of ping finite optimized
cam motion program
In: Journal of Mechanical Science and Technology, (2012) 26, S. 489–494.

[Nor02] Norton Robert


Cam Design and Manufacturing Handbook
New York: Industrial Press NYC, 2002, ISBN 0831133678.

[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.

[NPS98] Neamtu Marian; Pottmann Helmut; Schumaker L. Larry


Designing NURBS cam profiles using trigonometric splines
In: Journal of Mechanical Design, 120 (1998) , S. 175–180.

[NS00] Nist I. B.; Sullivan F.


The Metropolis Algorithm
In: Computing in Science and Engineering, (2000).

[NSJ14] Nagy Lajos; Szabó Tamás; Jakab Endre


Functional Analysis and Mechatronic Design of a Cam Controlled Mechanism,
2014.
References CXXIX

[NW99] Nocedal Jorge; Wright J. Stephen


Numerical Optimization
In: Springer Verlag New York, Inc, (1999).

[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.

[Pie91] Piegl Les


On NURBS: A Survey
In: IEEE Computer Graphics and Applications, 11 (1991) 1, S. 55–71.

[PS12] Pridgen Brice; Singhose William


Comparison of Polynomial Cam Profiles and Input Shaping for Driving Flexible
Systems
In: Journal of Mechanical Design, 134 (2012).

[PT97] Pieg Les; Tiller Wayne


The Nurbs Book
Verlag Berlin Heidelberg: Springer, Second editor, 1997.

[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.

[SA04] Shamsuddin Hj Siti Mariyam; Ahmed Ali Mahmoud


A Hybrid Parameterization Method for NURBS
In: Proceedings of the International Conference on Computer Graphics, Imaging
and Visualization, (2004) , S. 15–20.

[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.

[SBK15] Sarma Nabajit; BakulBarua Parimal; Kalita Diganta


Optimization Model for Disc Cam Flat Faced Follower Mechanism
CXXX References

In: International Journal of Engineering Trends and Technology, 29 (2015) 1, S.


6–11.

[SD90] Sadek K. S. H.; Daadbin A.


Improved cam profiles for high speed machinery using polynomial curve fitting
In: Journal of Process Mechanical Engineering, 204 (1990) , S. 127–132.

[SGS16] Sahu Laxmi Kant; Gupta Om Prakash; Sahu Meena


Design of Cam Profile using Higher Order B-Spline
In: International Journal of Innovative Science, Engineering and Technology, 3
(2016) 2, S. 327–335.

[She11] Shene C.-K.


Introduction to Computing with Geometry Notes
In: Department of Computer Science Michigan Technological University, (2011).

[SJ96] Srinivasan L. N.; Jeffrey Ge Q.


C^2 Piecewise Bezier harmonics for motion specification of high speed cam
mechanisms
In: Journal of Mechanical Design, (1996).

[SJ98] Srinivasan L. N.; Jeffrey Ge Q.


Designing Dynamically Compensated and Robust Cam Profiles With Bernstein-
Bezier Harmonic Curves
In: Journal of Mechanical Design, 120 (1998) , S. 40–45.

[SL13] Shala Ahmet; Likaj Rammë


Analytical Method for Synthesis of Cam Mechanism
In: International Journal of Current Engineering and Technology, 3 (2013) 2, S.
432–435.

[SMA10] Sadettin KAPUCU; M. Taylan DAS; Ali KILIÇ


Cam Motion Tuning of Shedding Mechanism for Vibration Reduction of Heald
Frame
In: Gazi University Journal of Science, 23 (2010) 2, S. 227–232.

[SMH16] Sameh Zribi; Marouen Mejerbi; Hatem Tlijani; Jilani Knani


Comparison between motions profiles applied to flexible manipulator arm
In: Proceesings of Engineering and Technology, (2016) , S. 565–571.

[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

[SPB09] Simolowo O. E.; Phil M.; Bamiro O. A.


Roller-Cam Systems Design: Development of a Profile Analysis Software
In: The Pacific Journal of Science and Technology, 10 (2009) 1, S. 20.

[SRB06] Sarfraz, M.; Riyazuddin, M.; Baig, M. H.


Capturing planar shapes by approximating their outlines
In: Journal of Computational and Applied Mathematics, 189 (2006) 1-2, DOI
10.1016/j.cam.2005.10.005, S. 494–512.

[SRJ09] Sateesh N.; Rao C. S. P.; Janardhan Reddy T. A.


Optimisation of cam-follower motion using B-splines
In: International Journal of Computer Integrated Manufacturing, 22 (2009) 6, S.
515–523.

[SSP00] SUPPAPITNARM, A.; SEFFEN, K. A.; PARKS, G. T.; CLARKSON, P. J.


A SIMULATED ANNEALING ALGORITHM FOR MULTIOBJECTIVE
OPTIMIZATION
In: Engineering Optimization, 33 (2000) 1, DOI 10.1080/03052150008940911, S.
59–85.

[ST11] SUN Jianping; TANG Zhaoping


International Conference on Power Electronics and Engineering Application,
2011.

[SW89] Sandgren E.; West R. L.


Shape Optimization of Cam Profiles Using a B-Spline Representation
In: Journal of Mechanisms, Transmissions, and Automation in Design, 111 (1989)
, S. 195–201.

[TD95] Thompson, J.; Dowsland, K. A.


General Cooling Schedules for a Simulated Annealing Based Timetabling System
In: Practice and Theory of Automated Timetabling, 1153 (1995) , DOI 10.1007/3-
540-61794-9_70, S. 345–363.

[TH88] Tsay D. M.; Huey C. O.


Cam Motion Synthesis Using Spline Functions
In: Journal of Mechanisms, Transmissions, and Automation in Design, 110 (1988)
, S. 161–165.

[TH96] Tsay Der Min; Hwang Guan Shyong


The Synthesis of Follower Motions of Camoids Using Nonparametric B-Splines
In: Journal of Mechanical Design, 118 (1996) , S. 138–143.

[TL96] Tsay Der Min; Lin Bor Jeng


Improving the geometry design of cylindrical cams using nonparametric rational
CXXXII References

B-splines
In: Computer-Aided Design, 28 (1996) 1, S. 5–15.

[TLB94] TING KWUN-LON; LEE N. L.; BRANDAN G. H.


Synthesis of polynomial and other curves with the Bezier technique
In: Mechanism and Machine Theory (MMT), 29 (1994) 6, S. 887–903.

[TMB13] Tsiafis I.; Mitsi S.; Bouzakis K. D.; Papadimitriou A.


Optimal Design of a Cam Mechanism with Translating Flat‐Face Follower using
Genetic Algorithm
In: Tribology in Industry, 35 (2013) 4, S. 255–260.

[TSS16] Tamboli Ketan; Singh Taranjeetsingh; Sheth Saurin; Patel Tejas


Dynamic Analysis of High Speed Cam Follower System using MATLAB
In: International Journal of Current Engineering and Technology, 6 (2016) 2, S.
407–412.

[TW93] Tsay Der Min; Wei Hsien Min


Design and machining of cylindrical cams with translating conical followers
In: Computer-Aided Design, 25 (1993) 10, S. 655–661.

[UPS03] Uicker John; Pennock Gordon; Shigley Joseph


Theory of Machines and Mechanisms
New York: Oxford University Press, Inc, 3rd, 2003, ISBN 0-19-515598-X.

[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.

[Woo96] Woosuk Chang


Repetitive control of a high-speed cam-follower system
Master thesis, Bethlehem, Pennsylvania, U.S: Mechanical Engineering, Lehigh
University, 1996.
References CXXXIII

[WR75] Wiederrich J. L.; Roth B.


Dynamic Synthesis of Cam Using Finite Trigonometric Series
In: Journal of Engineering for Industry, 97 (1975) 1, S. 287–293.

[WY96] Wang T. Li-Chun; Yang Yu-Tsai


Computer aided design of cam motion programs
In: Computers in Industry, 28 (1996) , S. 151–161.

[XSL12] Xuan Guantao; Shao Yuanyuan; Lü Zhaoqin


Reduction of Residual Vibrations in High-speed Cam Mechanisms Using Non-
uniform Rational B-splines
In: Advanced Materials Research, 510 (2012) , S. 90–95.

[XZ09] Xiap Hansong; Zu W. Jean


Cam profile optimization for a new cam drive
In: Journal of Mechanical Science and Technology, (2009) 23, S. 2592–2602.

[YL95] Yu Q.; Lee H. P.


A New Family of Parameterized Polynomials for Cam Motion Synthesis
In: Journal of Mechanical Design, 117 (1995) , S. 653–655.

[YL96] Yu Q.; Lee H. P.


Optimum design of cam mechanisms with oscillating flat-face follower
In: Mechanics Research Communications, 23 (1996) 2, S. 181–187.

[YL98] Yu Q.; Lee H. P.


Size optimization of cam mechanisms with translating roller followers
In: Instn Mech Engrs, 212 (1998) , S. 381–386.

[YR93] Yoon K.; Rao S. S.


Cam Motion Synthesis Using Cubic Splines
In: Journal of Mechanical Design, 115 (1993) 3, S. 441–446.

[YS02] Ye Zhonghe; Smith R. Michael


Synthesis of constant-breadth cam mechanisms
In: Mechanism and Machine Theory (MMT), (2002) 37, S. 941–953.

[YTH96] Yan Hong-Sen; Tsai Mi-Ching; Hsu Meng-Hui


A Variable-Speed Method for Improving Motion Characteristics of Cam-Follower
Systems
In: Journal of Mechanical Design, 118 (1996) 2, S. 250–258.

[YTZ14] Yang J.; Tan J.; Zeng L.; Liu S.


Design and analysis of cam lifting curve in applying to transient and heavy load
In: MECHANIKA, 20 (2014) 3, S. 299–304.
CXXXIV References

[ZCJ09] Zayas E. E.; Cardona S.; Jordi L.


Analysis and synthesis of the displacement function of the follower in constant-
breadth cam mechanisms
In: Mechanism and Machine Theory (MMT), (2009) 44, S. 1938–1949.
0: Appendix CXXXV

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]

Fig. 0-1: Triangular for computing B-spline basis function ( )

You might also like