volume 11, no 1, 2017 - universitas pertamina · 2019. 11. 20. · volume 11, no 1, 2017 editorial...
Post on 03-Feb-2021
2 Views
Preview:
TRANSCRIPT
-
Volume 11, No 1, 2017
Daftar Isi:
Optimizing the Gains of PD controller Using Artificial Bee Colony for Controlling theRigid Gantry Crane System
1-8
Edwar Yazid
Newtons Method for Distance Optimization in Firefly Algorithm in DeterminingOptimum Nutrition for Laying Hens
9-14
M.Shochibul Burhan, Fitri Utami Ningrum
Optimization of Robot Telemonitoring System Software using multi-thread method 15-24Midriem Mirdanies
Build and Design of Voyage Account Applications Using C#, WPF, and SQL Server2012 (Case Study Company X)
25-32
Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana
Knowledge Discovery : Preprocessing Technique in Web Server Data Log 33-40Supriyadi
1/2017Pusat Penelitian Informatika - LIPI
Jurnal INKOM Vol. 11 No. 1 Hal. 1-40 Bandung, p-ISSN 1979-8059Mei 2017 e-ISSN 2302-6146
1
-
Volume 11, No 1, Mei 2017
Penanggung JawabKepala Pusat Penelitian Informatika - LIPI
Dewan RedaksiKetua Dr. Esa Prakasa Pusat Penelitian Informatika LIPIAnggota Dr. Kadek Heri Sanjaya Pusat Penelitian Telimek LIPI
Dr. Nasrullah Armi P2 Elektronika dan Telekomunikasi LIPI
Redaksi PelaksanaPenyunting Tata Letak Nurhayati Masthurah, M.Kom Puslit Informatika LIPIPenyunting Naskah Riyo Wardoyo, MT. Puslit Informatika LIPIDesain Grafis Dicky Rianto Prajitno, MT. Puslit Informatika LIPI
Mitra BestariDr.Muhammad Agni Catur Bhakti, Dr.Edi Kurniawan, Dr.Martha Arbayani Zaidan, Dr.
Irwan Purnama, Dr.Oyas Wahyuanggoro, Dr.Hermawan Nugroho, Dr.Heru Susanto,Ms.Iftitahu Ni’mah, M.I.T
SekretariatAsri Rizki Yuliani, MBA Puslit Informatika LIPI
Alamat Redaksi
Jurnal INKOM
Pusat Penelitian Informatika, Lembaga Ilmu Pengetahuan Indonesia
Komp. LIPI Gd. 20 Lt. 3 Jln Sangkuriang, Bandung, 40135
Telp: +62 22 2504711, Fax: +62 22 2504712
Email: jurnal@informatika.lipi.go.id, Website: http://jurnal.informatika.lipi.go.id
Pertama terbit: Mei 2007
Frekuensi terbit: Dua kali setahun, setiap bulan Mei dan November
Jurnal INKOM adalah jurnal yang mengkaji masalah yang berhubungan dengan Informatika, SistemKendali, dan Komputer dengan keberkalaan penerbitan dua kali setahun pada Mei dan November. Tulisanyang dipublikasikan berupa hasil penelitian, pemikiran atau pengembangan untuk kemajuan keilmuan atauterapan. Kelayakan pemuatan dipertimbangkan oleh penilai dengan double blind review berdasarkan keaslian(originalitas) dan keabsahan (validitas) ilmiah.
c©2015 Hak cipta dilindungi undang-undang
2
-
Volume 11, No 1, 2017
Content
Titles Pages
Optimizing the Gains of PD controller Using Artificial Bee Colony for Controllingthe Rigid Gantry Crane System
1-8
Edwar Yazid
Newton’s Method for Distance Optimization in Firefly Algorithm in DeterminingOptimum Nutrition for Laying Hens
9-14
M. Shochibul Burhan, Fitri Utami Ningrum
Optimization of Robot Telemonitoring System Software using multi-thread method 15-24Midriem Mirdanies
Build and Design of Voyage Account Applications Using C#, WPF, and SQLServer 2012 (Case Study Company X)
25-32
Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana
Knowledge Discovery : Preprocessing Technique in Web Server Data Log 33-40Supriyadi
• i
-
Volume 11, No 1, 2017
Editorial
Dear Respected Readers! INKOM Journal Vol 11 No 1 2017 is finally published. In this edition,we publish five selected articles. The articles have been blind-reviewed by expert reviewers frominformatics and computer areas. The first paper entitled Optimizing the Gains of PD controller UsingArtificial Bee Colony for Controlling the Rigid Gantry Crane System. This paper proposes artificialbee colony algorithm to optimize the gains of the proportional-derivative controller. The papershows that the proposed method can improve the controlling performance. The second paper entitledNewton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutritionfor Laying Hens. The paper describes implementation of firefly algorithm to optimize calculationof optimum nutrition for laying hens. The third author presents a paper entitled Optimization ofRobot Telemonitoring System Software using multi-thread method. The paper describes multi-threadmethod that can be used to speed up the data processing time. Here, the method is applied to handlereal-time thermal and color cameras of the telemonitoring system. The paper is then followed bythe fourth paper entitled Build and Design of Voyage Account Applications Using C#, WPF, andSQL Server 2012 (Case Study Company X). The paper reports development of a voyage account torecord consumption data on each voyage. The data is then used to calculate the profit and the loss inevery single voyage. The last paper entitled Knowledge Discovery: Preprocessing Technique in WebServer Data log, explains preprocessing method to provide filtered data for data mining analysis. Datacleaning method is proposed in the paper. The method uses parser algorithm and query processingwhich are written by using PHP programming. In the end, the Journal Editor would like to thankeditorial board and secretariat team members, reviewers and authors for their firm commitment andcooperation. We hope the published papers in this edition could give benefit and new insight for all ofthe journal readers.
INKOM JournalEditor-in-Chief
Esa Prakasa
ii •
-
Volume 11, No 1, 2017
The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.39Edwar Yazid (Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI)Optimizing the Gains of PD controller Using Artificial Bee Colony for Controlling the Rigid GantryCrane SystemINKOM, 11(1) 2017: 01-08
Control position and reduction of swinging of the payload of a rigid gantry crane system is a challengingwork because of under-actuated system. This paper addresses challenges by proposing the artificial bee colony(ABC) algorithm to optimize the gains of the PD controller to form what the so-called the artificial beecolony (ABC)-PD controller. The effectiveness of the proposed control algorithm is tested under constant stepfunctions and compared with Ziegler-Nichols (ZN)-PD controller. Simulation results show that the proposedcontroller produces slower rise time and peak time, but faster settling time than the ZN-PD controller as wellas no overshoot under the predefined trajectories.
(Author)Keywords : Gantry crane system, swing angle, PD gains, ABCDDC 621.38M. Shochibul Burhan, Fitri Utami Ningrum (Fakultas Ilmu Komputer Universitas Brawijaya Malang-JawaTimur)Newton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutritionfor Laying HensINKOM, 10(1) 2017: 09-14
An accurate calculation of feed nutrition and more affordable price is an extremely complex. Fireflyalgorithm is an algorithm designed for optimization calculation whose output is highly dependent on lightintensity (β), which is influenced by distance (r). Therefore, in order to produce maximum output values,an optimization of firefly distance should be done. The most appropriate method is Newton’s Method as ithas the capability of solving roots of equations accurately. From the testing of distance optimization in fireflyalgorithm, a fairly good increase in the fitness value was obtained.
(Author)Keywords: Newton Method, Firefly Algorithm
• iii
-
Volume 11, No 1, 2017
The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.39Midriem Mirdanies (Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences(LIPI)Optimization of Robot Telemonitoring System Software using multi-thread methodINKOM, 11(1) 2017: 15-24
The processor development today is on multi-core and multi-processor which can be used to a speedupof data processing time compared with one processor core only. One of the main ways that can be used to speedup the data processing time is by using multi-thread. Multi-thread method has been implemented on the robottelemonitoring system based on Graphical User Interface (GUI) which has been developed in Research Centerfor Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI). A part of that requires highprocessing time and dynamic at the telemonitoring systems are the display of real-time thermal cameras andcolor camera along with tracking algorithm used, it can be seen from the camera display which less smoothespecially on the thermal camera, and some of the process is zero which means the buffer is unprocessed whichcausing lag. Two threads have been added to process each of the cameras separately. C programming languagewith the OpenCV library and the Integrated Development Environment (IDE) Qt Creator, has been used toimplement this method into an application program. Based on experiments, it can be seen that the display ofboth cameras could run smoothly, the average processing time faster than sequential, and the absence of a zeroprocess time. The average fps generated is more stable and is at the higher level that is 7.5 fps on the thermalcamera and 7.5 - 8 fps on the color camera.
(Author)Keywords: multi-thread, telemonitoring, GUI, Qt creator, C languageDDC 621.32Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana (Politeknik Negeri Jakarta)Build and Design of Voyage Account Applications Using C#, WPF, and SQL Server 2012 (Case StudyCompany X)INKOM, 11(1) 2017: 25-32
Voyage Account is an application that record consumption data on each voyage, then the data isused to calculate the profit or loss of each voyage. The application interface was created using WindowsPresentation Foundation (WPF). Prototyping development methods was used to create these applications, C#as the programming language, and SQL Server 2012 as the database. This study discusses the making of theinterface, backend, and database of application. WPF has been selected, because WPF is the latest technologydeveloped by Microsoft after WinForms. WPF presents a display that can be customized to user needs. Thetest results showed that the Voyage Account application is already functioning in accordance with wishes ofthe user, the test is done using sql query by entering the appropriate username and password and match thequery returns results with what is displayed by the application. As for testing the interface shows if WPF canbe flexibly adapted to the screen resolution of 1366 x 768, 1920 x 1080 and 1280 x 720.
(Author)Keyword: Voyage Account, WPF, prototyping, C#, SQL Server 2012.
iv •
-
Volume 11, No 1, 2017
The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.38Supriyadi (Informatics, STMIK Kharisma Karawang)Knowledge Discovery: Preprocessing Technique in Web Server Data LogINKOM, 11(1) 2017: 33-40
Preprocessing is a process to avail a clean and ready data for data mining analysis. Four stages are carriedout in this process i.e. data selection, data cleaning, data integration and data transformation. The numeroussemi structured pattern of web server log data accumulation has made the data cleaning-up to select the reallyneeded data difficult. Hence, in this research a technique to carry out data cleaning using parser algorithmand query processing is proposed. The parser algorithm is written using PHP programming as web basedprogramming, while the query processing is implemented using relationship database management system(RDBMS) MySQL. The computation system is tested using twenty six different sized trial data, originatedfrom six web server. The final result concluded that in general the data being tested have 80 percent decreasingaverage with average processing velocity of 9.28 mbps.
(Author)Keywords: query processing, parser algorithm, semi structured data, web log data
• v
-
INKOM, Vol 11 No. 1, Mei 2017: 01-08
1
Optimizing the Gains of PD Controller Using Artificial Bee
Colony for Controlling the Rigid Gantry Crane System
Edwar Yazid Research Center for Electrical Power and Mechatronics
Indonesian Institute of Sciences
Email:edwar.putra@gmail.com
_______________________________________________________________________________________
Abstract
Control position and reduction of swinging of the payload of a rigid gantry crane system is a challenging work
because of under-actuated system. This paper addresses challenges by proposing the artificial bee colony (ABC)
algorithm to optimize the gains of the PD controller to form what the so-called the artificial bee colony (ABC)-PD
controller. The effectiveness of the proposed control algorithm is tested under constant step functions and compared
with Ziegler-Nichols (ZN)-PD controller. Simulation results show that the proposed controller produces slower rise
time and peak time, but faster settling time than the ZN-PD controller as well as no overshoot under the predefined
trajectories.
Keywords: Gantry crane system, swing angle, PD gains, ABC
_______________________________________________________________________________________
1. Introduction
1 Gantry crane system, a non-slewing-luffing
crane system is most widely used in several work
places such as ports, factories, construction sites.
This type of crane is designed for repeat motions
such as hoisting, transporting which includes
longitudinal, transverse motion, and lowering
heavy payload, as well as combination of each
motion. Schematic of gantry crane system is shown
in Figure 1. Gantry crane system can be divided
into two subsystems, namely gantry crane and
stationary crane framework. Gantry crane
incorporates interaction among trolley, wire rope
as hoist cable and payload which is manipulated by
trolley and hoist mechanism. The payload is
grabbed using hook system, which is then hoisted
from trolley by means of cable.
The function of cable drum is to wind up or
unwind the cable, raises or lowers the payload
attached to the hook. The trolley and hoist work
simultaneously to perform the task of gantry crane.
In general, the task performed by a gantry crane
is to pick the payload, raise it, move it to target
position and lower it down on the crane
framework.
Because the traverse motion of trolley during
transport operations, the payload has the tendency
to swing naturally due to traverse motion of
trolley. The swinging motion reduces the speed,
accuracy and safety requirements of crane
1Received: 14 March 2017; Revised: 17 May 2017;
Accepted: 26 May 2017; Published Online: 3 May 2018
@2017 INKOM 2017/18-NO527
DOI:http://dx.doi.org/10.14203/j.inkom.527
operations. It lowers the speed of crane operations
because the payload swing must be avoided before
the payload can be safely lowered into specified
position.
Framework
Wheels
Rails
Trolley
Cable
Payload
Hook
Top beam
Figure 1. Gantry crane system [1]
The swings make it difficult to perform
alignment, fine position, or other accuracy driven
task. Swing effect also causes safety problems to
the crane framework. That’s why control systems
are needed to suppress the effects. If the cable and
stationary crane framework are considered as rigid
bodies, then the gantry crane system is regarded as
a rigid system.
Much attention has been placed on the
modeling of dynamics and control of gantry crane
system. Khalid et al. [2] have controlled the bridge
and gantry cranes by proposing the PD and input
shaping controllers and succeeded to achieve good
-
2 INKOM, Vol 11 No. 1, Mei 2017: 01-08 2
positioning accuracy and significant sway
reduction. Hazriq et al. [3]-[4] have studied
numerically the dynamic behaviour of a nonlinear
gantry crane system by varying the input voltage,
cable length, payload mass and trolley mass and
controlled the system. They modeled the dynamics
using Lagrange’s approach and simulated the
system through the simulink of Matlab. The rest
can be referred to references [5]-[10].
The major contribution of this study is to
improve the control capacity of the PD controller
(PDC) from the aforementioned previous works.
There are several PD tuning methods in the
literature (e.g. Ziegler-Nichols (ZN), Cohen-Coon,
lambda tuning. However, they do not always lead
to an acceptable performance and they may also
suffer from some from robustness issues [11].
An optimizer, namely artificial bee colony
(ABC) algorithm is proposed to optimize the gains
of PDC. That is because this algorithm is a
powerful optimization technique, good numerical convergence and multi-dimensional
search space compared to other soft computing
techniques such as genetic algorithm and particle
swarm optimization [12] as well as fuzzy logic and
neural network. The combination between the
ABC algorithm and PDC is called the artificial bee
colony (ABC)-PD controller. This proposed
controller is applied to control the position and to
reduce the swinging of the payload of rigid gantry
crane system. Ziegler-Nichols (ZN) based PD
controller is chosen as a benchmark because of its
common practice.
The remainder of this paper is organized as
follows. Section 2 derives the modeling of rigid
gantry crane system. Section 3 describes a typical
structure of a PDC with proposed optimizer.
Section 4 presents the concept of optimization of
PDC via ABC algorithm. Section 5 discusses the
control and optimization. Finally, Section 6
concludes this paper.
2. Modeling of Rigid Gantry Crane System
For simplicity of the characteristics of the physical gantry crane system, several assumptions
are put forward to the dynamical model. Mass of
trolley Tm and payload Pm are modeled as
lumped mass which is connected by inextensible
hoist cable P . Payload and its cable behave as
pendulum model as depicted in Fig. 2. The payload has one swing angle with respect
to the inference frame: is denoted as angle
between the Tx -axis and TT yx -plane. The payload
swings either small or large swing angles. Friction
between trolley and the top beam of crane
framework and dynamics of hoist cable and drum
in hoist system and hoist drive mechanism are not
considered. The structure is treated as a rigid body.
Z
Y
X
Tm
Pm
P
xf
Figure 2. Model of rigid gantry crane system
The equations of motion of rigid gantry crane system can be derived by Lagrange’s equations,
with the following form,
.,xq,xq,fq
F
q
L
q
L
dt
dT,Ti
(1)
All terms of ,xq T are defined as the generalized coordinates to describe the trolley and
payload motion. General velocity of the system is
.,xq T The Lagrangian L is defined as ,PKL where K is kinetics energy and P is
potential energy of system. Generalized force is
denoted as if , where they are yx f,f and zf applied
input force for the x, y and z motions respectively.
Total kinetics energy of the system K in terms
of generalized coordinates and velocities are the
kinetics energy of the trolley and payload,
.cosxxmK,xmK
,rmrmKKK
PPTTpP
TTT
ppTTPT
222
2
22
22
1
21
21
21
(2)
Total potential energy of the system is the potential
energy of the trolley and the potential energy of the
payload,
.cosgmPP PpP (3)
The energy of damping is expressed as,
.xcF Tx 2
1 (5)
By differentiating the Lagrangian operator L and F with respect to the generalized coordinates q and q ,
-
Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 3
,fx
F
x
L
x
L
dt
dx
TTT
(6)
.FLL
dt
d0
(7)
The nonlinear equation of motion of gantry
crane system can be written in Eqs. (8)-(9),
,fsincosmxcxmm xPpTxTpT 2 (8)
.sing
cosx
PP
T 0
(9)
Equations (8)-(9) are dynamics of gantry crane
coupled with dynamics of crane framework and
call for some remarks.
1. Equation (8) presents dynamics of trolley motion with the input force, while Eq. (9) is
dynamics of payload.
2. Term xf is input force or driving force for the
trolley motion while PT mm is mass total from trolley and payload.
3. Term Tx is the acceleration of trolley which
appears as the forcing term in the payload
dynamics if the input force for gantry crane is
set up to be zero.
The input force xf is generated from the torque of
trolley motor. Dynamic of trolley motor can be
written as,
.xrR
zKu
rR
zKz
r
Tf
pT
TT
pT
T
p
xx
2
2
(10)
Equations (8) and (10) are combined to yield,
.xrR
zKu
rR
zK
sincosmxcxmm
T
pT
TT
pT
T
PpTxTpT
2
2
2
(11)
Terms in Eq. (11) can be explained as: TTT u,R,K
are torque constant, motor resistance and input
voltage, respectively while pr,z are gear ratio and
radius of motor pulley.
3. Closed-Loop Control System with PD Controller (PDC)
A typical structure of a PDC for controlling the
rigid gantry crane system is shown in Fig. 3. It is
seen that the system is classified as a double input
single output system (under-actuated system). The
first input for the PDC is error and error derivative
)n(e),n(e TT of trolley position while the second input is error and error derivative )n(e),n(e of payload swing. The errors and error derivatives are
multiplied by the gains of PDC, namely
proportional pK and derivative dK and then combined to form the control signal of PDC as
follows,
.)n(e)n(eK)n(e)n(eKnu PTdPTp (12)
Terms in Eq. (12) are as follows:
)n(e),n(e),n(e),n(e PTPT are errors of trolley
position and payload swing as well as their
error derivatives, respectively. The value of
neT nxd
Rigid
Gantry
Crane
System
nxT
ABC
neT
PDC
Figure 3. Diagram block of PD controller for rigid gantry crane system system
n nuT
ne
ne
Motor
Dynamics
nu
-
4 INKOM, Vol 11 No. 1, Mei 2017: 01-08 4
nu is limited by using saturation function before it is sent to the motor. The control action nu is then applied to the gantry crane system.
Under any types of system input, the gains
in Eq. (12) significantly affect the closed-loop
response. Suboptimal gains lead to the system
becomes unstable, high overshoot and large
steady-state error. The gains must be designed to match the system input (set-point) and the system
output by giving the corrective action in terms of
control action. Hence, ABC algorithm is
employed to optimize those gains. In addition,
Eq. (12) also reflects that gain for the errors of
trolley position and swinging of the payload
are set up similarly and so do the gain of error
derivatives. Both gains can be set up
separately, but this is intended to make the
optimization process efficient. It is worthy to note that integral action is not
required due to the presence of integral (reset)
windup leading to significant amount of
overshoots. Hence, PD controller is an appropriate
choice for controlling the system.
4. Optimization of PD Controller via ABC Algorithm
Parameters dP K,K are modeled as foods in artificial bee colony (ABC) algorithm. For the
sake of clarity, optimizer for the parameters of
PDC using ABC algorithm is called ABC-PD.
PDC parameters recalled as dP K,K are initialized randomly in ABC-PD controller. The
major phases of this algorithm has been outlined
[12], but it is revisited here for a new cost function,
1. Initialization The initial candidate solutions for x are
produced for employed bees by using Eq. (12),
.D,,j,S,,i,xxxx minjmaxjminjj,i 11 (12)
Terms in Eq. (812 can be explained as
follows: j,ix is j-th dimension of i-th
employed bee, minj
x and maxj
x are lower and
upper bounds of j-th parameters, respectively,
is a random number in range of 1,0 , S is the number of food sources and D is the
number of gains of PDC. The cost function
values of i-th the initial solution are calculated
using Eq. (13),
.nxnxSSEN
n
T
^
T
1
(13)
Terms in Eq. (13) are as follows: N is the
number of data, nxT is the actual trolley
position while nx T^
is the calculated trolley
position. The fitness value of Eq. (13) is
calculated by using following formula,
.
otherwiseCF1
0fifCF1
1
f
i
iii
(14)
2. Employed bee phase
In this phase, employed bees update the initial
candidate solutions using Eq. (15),
.D,,j,S,,k,i
,xxxg j,kj,ij,ij,ij,i
11
(15)
Terms in Eq. (15) can be explained as follows:
j,ig is j-th dimension of i-th updated candidate
solution, j,ix is j-th dimension of i-th
employed bee, j,kx is j-th dimension of k-th
employed bee, term is a random number in
range of 1,1 . Also, j and k indices are randomly selected among initial solutions so
that ki to assure that the initial candidate solutions can be updated. After the solutions
are updated, the cost function and fitness
values of i-th updated candidate solutions are
calculated using Eqs. (14)-(15). If the fitness
value of updated candidate solutions is better
than fitness value of initial candidate
solutions, then the initial candidate solutions
are replaced with updated candidate solutions.
3. Onlooker bee phase In this phase, the employed bees communicate
with the onlooker bees by calculating the
probability of each fitness value as follows,
.
f
fp
S
i
i
ii
1
(16)
Based on the probability value, the onlooker
bees also randomly improve the candidate
solutions in the employed bee phase by using
Eq. (16), as well as calculate the cost function
and fitness values of i-th updated candidate
solutions using Eqs. (15)-(16). If the fitness
value of the updated candidate solutions found
in the onlooker bee phase is better than fitness
value of the solutions in the employed bee
phase, the onlooker bee is replaced with the
employed bee.
-
Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 5
4. Scout bee phase If the candidate solutions during the employed
bee phase cannot be updated until a predefined
number of iterations reaches to the limit, the
employed bee becomes scout bee and new
candidate solutions are produced by using Eq.
(12).
Step by step of optimization process above is
depicted in Fig. 4.
5. Results and Discussions
In this section, performance of proposed controller
is investigated under constant step function. Other
functions such as varying step function and
sinusoidal functions are not elaborated in this
study. Basic parameters of gantry crane system and
parameters of ABC algorithm are shown in Table 1
and Table 2, respectively. Interval for the
searching space is 100x0 for DP K,K . Since this paper works on model based control, then Eqs.
(9) and (11) are solved using fourth-order Rung-
Kutta with sampling time of 0.01 s. Control and
optimization processes are performed
simultaneously using Matlab.
Table 1. Gantry crane parameters
Parameters
Trolley mass, Tm 50 kg
Payload mass, pm 200 kg
Cable length, P
Gravitational acceleration, g
1 m 2s/m81.9
Initial conditions, 00o ,, 0,0,0o
Table 2. Parameters of ABC algorithm
ABC
Number of iterations 550 Onlooker number 50%
Number of foods 550 Employed bee number 50%
Number of optimized
parameters
2 Scout number 1
Time domain responses obtained from ZN-PD
and ABC-PD controllers are compared one to
another. Control performances in time domain are
then assessed in terms of rise time, settling time,
overshoot and peak time.
Crane is commanded to track a position in
mx 12 by giving a constant step function. The
system response for duration 180 s is shown in Fig.
5. The figure depicts that the crane is able to track
the commanded position and both controllers have
successfully stabilized it with respect to time. This
is confirmed by Fig. 6 where the error of both
controllers decays to zero.
However, each controller has different
performances during the tracking process. ZN-PD
controller has faster rise time and peak time than
the ABC-PD controller. However, fast rise time
and peak time lead to overshoot until it reaches its
settling time. In the other side, slow rise time and
peak time of ABC-PD controller lead to no
overshoot so that settling time can be achieved
faster than ZN-PD controller. Details are
elaborated in Table 3.
Onlooker Bee
Phase
Scout Bee
Phase
e
Cost Function, Eq. (13)
Foods
Gains
PK
DK
New Foods
Employed Bee
Phase
Figure 4. Gains optimization process in ABC-PD controller
system
e
-
6 INKOM, Vol 11 No. 1, Mei 2017: 01-08 6
Figure 5. Trolley position under step function
Figure 6. Error of trolley position under step function
Table 3. Controller’s performances under step function
Performance ZN-PD ABC-PD
Rise time
8.31 26.23
Settling time 58.44 46.85
Overshoot 4.58 0
Peak time 24.3 177.2
Optimal gains of PD controller are tabulated in
Table 4. It is worthy to note that the initial gains
are set randomly and it will lead to the change of
the optimized gains accordingly. After 50
realizations, it is found that the optimized PK and
dK of ABC-PD controller are lower than the
optimized gains of ZN-PD controller. It explains
why the ABC-PD controller has the slow rise time
and peak time, fast settling time as well as no
overshoot as the function of gain PK is to increase
the rise time of the system response and the
function of dK is to reduce the oscillation.
Table 4. Optimal gains of PD controller under step
function
Gains ZN-PD ABC-PD
Optimized Optimized
pK 1.36 0.01
dK 56.85 20.92
(a)
(b)
Figure 7. Payload swing angle under for step function
(a) time window 0-180 s (b) time window 0-25 s
Control performance in Figs. 5-6 is elaborated
by Fig. 7. The figure shows the consequent of fast
rise time and peak time of ZN-PD controller.
Faster the crane reaches the target position, bigger
the swing angle of payload occurs. Large swing
angle of payload of ZN-PD controller in Fig. 7 is
the consequent of using full nonlinear dynamic
model in Eq. 9 and Eq. 11. At this point, control
designer can choose whether the trolley moves fast
with large swing angle as expense or reasonable
speed of trolley with no overshoot. The latter is
favorable since it is required for safety in crane
operation. Hence, all results confirm that the ABC-PD controller outperforms the ZN-PD controller.
In optimizing the gains, PD controller
optimized by ABC algorithm produces cost
function as shown in Fig. 8. It displays the cost
0 20 40 60 80 100 120 140 160 180 0
2
4
6
8
10
12 T
roll
ey p
osi
tio
n, x
(m
)
Time (s)
Reference
ZN-PD
ABC-PD
0 20 40 60 80 100 120 140 160 180 -2
0
2
4
6
8
10
12
Time (s)
Reference
ZN-PD PSO-PD
Tro
lley
po
siti
on
err
or,
ex (
m)
0 20 40 60 80 100 120 140 160 180 -50
50
Time (s)
Reference
ZN-PD ABC-PD
0
Pay
load
sw
ing
ang
le,
θ (
deg
)
0 5 10 15 20 25 -50
0
50
Time (s)
Reference
ZN-PD
ABC-PD
Pay
load
sw
ing
ang
le,
θ (
deg
)
-
Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 7
function with respect to the number of iterations.
As observed, the cost exhibits a gradual
convergence and seems like a ladder function as
the number of iteration increases. However, the
cost function starts to converge after the-31st
iteration and is steady to a certain value.
Figure 8. Cost function for step function with respect to number of iterations
Figure 9. Trolley position under payload mass variation
To test the effectiveness the proposed controller
for a more challenging condition, payload mass is
varied from 200 kg to 400 kg. Under this
condition, the commanded position 4 is fixed and
the result is shown in Fig. 9. The crane, as
expected, is still able to track the commanded
position. However, the figure shows that as the
payload mass increases, the rise time and settling
time also increases with respect to time. With
increased payload mass, performance of ABC-PD
controller will deteriorates further.
6. Conclusions
In this paper, a controller namely the ABC-PD
is proposed for controlling the rigid gantry crane
system. Simulation results show that the proposed
controller can improve the performance of closed-
loop control system under constant step function.
Important conclusions and suggestions from this
work are derived below.
- The ABC-PD controller outperforms the ZN-PD controller in terms of fast settling time and
no overshoot.
- Control and optimization are still performed under simulation since the ABC-PD controller
is computationally expensive for real-time
implementation.
- The generated cost function seems like a ladder function.
- The proposed controllers can easily be applied
to PID controller, where the gain iK is
included.
- The proposed controllers can be applied to control other dynamic systems.
Acknowledgments
Research facility for this work from research
center for electrical power and mechatronics,
Indonesian Institute of Sciences is gratefully
appreciated.
References
[1] SPANCO. (1998). Installation and parts manual for SPANCO PF series gantry cranes, Available:
http://www.spanco.com/products/gantry
cranes.html
[2] Khalid, L.S., William, S. and Stephen, D., DA Controller Enabling Precise Positioning and Sway
Reduction in Bridge and Gantry Cranes, Control
Engineering Practices Vol. 15, 2007, pp. 825-833.
[3] Hazriq, et al., Dynamic Behaviour of a Nonlinear Gantry Crane System, Proceedings of the ICEEI
Vol. 11, 2013, pp. 419-425.
[4] Hazriq, et al., Performance analysis for a Nonlinear Gantry Crane System using Priority-
based Fitness Scheme in Binary PSO Algorithm,
Advanced Materials Research Vol. 903, 2014, pp.
285-290.
[5] Diep, D.V. and Khoa, V.V., PID-Controllers
Tuning Optimization with PSO Algorithm for
Nonlinear Gantry Crane System, International
Journal of Engineering and Computer Science Vol.
3 No. 6, 2014, pp. 6631-6635.
[6] Sandor, I., et al., Stabilizing Model Predictive
Control of a Gantry Crane Based on Flexible Set-
Membership Constraints, Proceedings of the IFAC
Vol. 48-23, 2015, pp. 248-253.
[7] Ahmad, B.A., et al., Optimal Analysis and Control
of 2D Nonlinear Gantry Crane System,
Proceedings of the ICSSA, 2015, pp. 30-35.
[8] Hussien, S.Y.S., Ghazali, R., Jaafar, H.I., and Soon
C.C., An Experimental of 3D Gantry Crane System
in Motion Control by PID and PD controller via
PFPSO, Journal of Telecommunication, Electronic
0 20 40 60 80 100 120 140 160 180 0
2
4
6
8
10
12
14
Time (s)
Reference 200 kg 300 kg 400 kg
Tro
lley
po
siti
on
, x
(m
)
0 10 20 30 40 50 3300
3500
3700
3900
4100
Number of iterations
Co
st f
un
ctio
n (
SS
E)
-
8 INKOM, Vol 11 No. 1, Mei 2017: 01-08 8
and Computer Engineering Vol. 8 No. 7, 2016, pp.
133-137.
[9] Hussien, S.Y.S., Ghazali, R., Jaafar, H.I., and Soon
C.C., Analysis of 3D Gantry Crane System by PID
and VSC for Positioning Trolley and Oscillation
Reduction, Journal of Telecommunication,
Electronic and Computer Engineering Vol. 8 No.
7, 2016, pp. 139-143.
[10] Wei, H. and Shuzi, S.G., Cooperative Control of a
Nonuniform Gantry Crane System with
Constrained Tension, Automatica Vol. 66, 2016,
pp. 146-154.
[11] Skoczowski, S., Domek, S., Pietrusewicz. K. and
Broel-Plater, B., A method for improving the
robustness of PID control, IEEE Transactions on
Industrial Electronics Vol. 52, 2005, pp. 1669-
1676.
[12] Yazid, E. Liew, M.S., Parman, S., and Kurian,
V.J., Improving the modelling capacity of Volterra
model using evolutionary computing methods
based on Kalman Smoother adaptive filter, Journal
of Applied Soft Computing, Vol. 35, 2015, pp.
695-707.
-
INKOM, Vol 11 No. 1, Mei 2017: 09-14
Newton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutrition for Laying
Hens
M.Shochibul Burhan, Fitri Utami Ningrum Fakultas Ilmu Komputer, Universitas Brawijaya, Malang, Jawa TImur
Email:burhan.aan@email.com
_______________________________________________________________________________________
Abstract
An accurate calculation of feed nutrition and more affordable price is an extremely complex. Firefly algorithm is an
algorithm designed for optimization calculation whose output is highly dependent on light intensity (β), which is influenced
by distance (r). Therefore, in order to produce maximum output values, an optimization of firefly distance should be done.
The most appropriate method is Newton’s Method as it has the capability of solving roots of equations accurately. From the
testing of distance optimization in firefly algorithm, a fairly good increase in the fitness value was obtained.
Keywords: Newton Method, Firefly Algorithm
_______________________________________________________________________________________
1. Introduction
1In determining the composition of the feed
material is very a complex calculation. Because it
must consider all the nutrient content in the feed
material in accordance with the age of animals,
especially laying hens. And also required fast and
accurate computation so that decisions can be
taken immediately. For that we need a
computational algorithm that is able to complete
the optimization calculation of the dosage of feed
ingredients, quickly and accurately.
The firefly algorithm is an algorithm created to
find the optimal solution [1]. The advantage of the
firefly algorithm is that the best generated
generation will be the reference to change the light
intensity or the quality of the solution, so that when
the changes in the solution is not far from the best
solution. So that the required computation iteration
more efficiently.
Setiawan, et al [2]. Using the firefly algorithm
to do the scheduling, and get a small enough
penalty of 0.0003. Hadhi, et al [3]. Use the firefly
algorithm for scheduling the power plant unit. By
obtaining a low enough cost below 2% the firefly
algorithm is considered reliable in terms of
optimization of power plant scheduling. The distance between firefly individuals is the most
vital element in the firefly algorithm. This is because the
firefly algorithm uses light intensity in changing the
value of each individual that is considered poor [1].
Meanwhile, the level of light intensity between fireflies
1Received: 20 Jan 2017; Revised: 13 April 2017;
Accepted: 29 May 2017; Published Online: 3 May 2018
@2017 INKOM 2017/18-NO509
DOI:http://dx.doi.org/10.14203/j.inkom.509
is highly influenced by distance. The shorter the
distance of the firefly, the stronger the level of light
intensity.
With regard to laying hen feed, firefly
algorithm is used for the optimization of the best
amount of feed in accordance to the required
nutrition and the minimum price. Ini this algorithm
process, 15-35 [1] initial solutions are given
randomly, which are also called the initial
inviduals, which represents a number of feed types.
Then, a change in every individual is made in order
to be closer to the ideal or fitness value.
Newton‟s Method is one of the best methods
used for obtaining maximum optimization of
square roots [4]. Newton‟s Method uses approach
repetition to obtain the value that is the closet to
the real value. The distance between fireflies is
calculated by finding the square root of the
difference between the value of the best individual
and the value of the poorest individual. The
optimization process is done by obtaining the
optimum square root value by doing some iteration
so that the optimum result is obtained, then it is
used as the value of the distance between
individuals.
In the previous research, Ismail et al [5] used
Newton‟s Method for the optimization of genetic
algorithm in solving nonlinear equations, in which
new individuals are going to be selected and the
ones that have values close to nonlinear value will
be maintained. As for the individuals whose values
are far from the nonlinear value will be changed
using Newton‟s approach. The result shows a
better accuacy level compared to the previous
research. Farook and Raju [6] in their resarch
optimized individuals in firefly using Genetic
-
10 INKOM, Vol 11 No. 1, Mei 2017: 09-14
Algorithm, in which the best individual will be
crossed over to poorer individuals. The results
obtained are the global solution that have even
fitness and good fitness value.
In this research, only distance optimization is
going to be carried out as firefly algorithm has a
number of complex parameters for finding optimal
solutions. Thus, the merging of methods that have
complex parameters such as genetic algorithm will
add more computation load in the calculation. In
this research, the method of addition is going to be
done as efficient as possible to maximize the
computatin in firefly algorithm.
2. Newton’s method
Newton’s method is an approach method for
finding the valu of the roots of equations. It is
expressed in the following equation [7]:
Following linear algebra equation
(1)
From the equation above, the tangent point is
, ( ) = f ‘ ( ) the tangent equation is 0 - f( ) = f ‘ ( ) ( x - ) and they are intersecting on x axis when y=0. Thus, 0 – f( ) = f ‘ ( ) (x -
) and = x = - if = - . It is
started from if . Jika = . Therefore,
the following equation is obtained
(2)
If the equation above is used in solving the
equation f(x) = - 5 and f „(x) = 2x, the following
is obtained
= =
= =
thus, the simplest equation obtained from
Newton‟s method is
(3)
3. Firefly Algorithm
By adopting the behavior of fireflies and the
way fireflies flash, in 2007-2008, Xin-Sheyang
developed firefly algorithm under the following
rules [1]:
a. Fireflies have unisex nature so the
attraction to others is not based on the sex.
b. The attraction toward others is influenced
by the brightness level of fireflies‟ flash. In
a wide distance, the brightness decreases,
so the fireflies that have less brightness
will approach those brighter. The fireflies
will move to any direction or randomly if
there is no bighter light.
c. The light of the fireflies is determined by
the objective condiction and function to
determine the level of brightness.
The attraction of fireflies is determined by the
brightness perceived by the fireflies nearby. Thus,
the formula of attractiveness β can be expressed
(4)
β0 = attractiveness at r = 0.
γ = The coefficient of light absorption, which
controls the light decrease.
= || - || =
𝑘=1𝑑𝑥𝑖,𝑘−𝑥𝑗,𝑘2 (5)
= the distance between two fireflies
= component to from the spatial coordinate
from firefly .
( ) + (6)
= the initial position of firefly i.
= attractiveness.
= the firefly‟s random movement. α is a
random number from 0 to 1
( ) + . We
substitute the formula for finding the distance with
Newton‟s method formula.
= || - || = = ( ) (7)
4. Laying Hen Feed
The feed inside hen‟s body has several
functions as [8]:
a. Constituent substance (building substance)
is the constituent substance that builds the
body structure of hens, including protein,
mineral, fat and water.
b. Energy substance is the energy source
producing heat, work and/or accumulation
of fat such as carbohydrate, fat, protein.
c. Regulating substance as the substance
controling the function inside fowl body,
including vitamins, enzimes, hormones,
minerals, certain amino acids and certain
fat acids.
d. Additional function is a function used for
producing something such as egg and
milk.
-
Newton‟s Method for Distance Optimization .... : M.S. Burhan, F.U.Ningrum 11
Table 1. Nutritional needs of laying hen [9] (*ISA Nutrition Menegement Guide , 2010. ** SNI,1995).
NUTRITION
Age (Week) 0-4 >4-10 >10-16 >16 – Egg Production 2% Egg Production 2% - 28 28 - Afkir
Water Content (%)**
-
12 INKOM, Vol 11 No. 1, Mei 2017: 09-14
This is illustrated in the flowchart below:
Figure 2. The flowchart of Newton‟s method in determining the optimum distance in firefly algorithm.
Table 2. Analysis of the raw material of laying hen feed [10]
Raw Material ME
(Kcal/kg)
Crude
Protein (%)
Crude
Fat (%)
Crude
Figer (%)
Ash
(%)
Calcium
(%)
Phosphor
(%)
Water
Content
(%)
Yellow Corn 3.360 9,0 4,1 2,2 24 0,3 50 15
Buckwheat 3.040 11,0 1,9 3,4 1,65 0,028 0,28 16
Broken Rice 3.050 8,9 2,0 1,0 0 0 1,36
Mill Fine Bran 1.630 13,6 8,2 8,0 10,8 0 0 14,5
Traditional Fine Bran 2.240 41,7 4,0 6,2 10,8 0 0 14,5
Peanut Meal 2.200 43,9 6,0 12,6 0 0,2 0,65 6,6
Coconut Cake 1.540 20,5 6,7 12,0 6,36 0,08 0,52 0
Fish Flour 2.910 61,8 7,8 0,6 7,19 0 1,01 0
Meat Flour 2.150 57,80 10,2 1,7 0 0 0 0
Shrimp Flour 2.900 33,20 4,4 18,3 0 0 0 0
White Leadtree Leaf Flour 1.140 23,20 2,4 20,1 7,79 0 0 0
Vegetable Hummingbird Leaf Flour
1.230 31,7 1,9 22,4 0 0 0 0
Papaya Leaf Flour 1.230 23,50 9,1 11,3 0 0 0 0
Distance between
both fireflies
Distance optimization using
Newton‟s method
Difference of optimization values
Diference approach to
0 or, Diference= 0
The best distance
Taking the best firefly ( ) and
the firefly to be changed ( )
Start
NO
YES
End
-
Newton‟s Method for Distance Optimization .... : M.S. Burhan, F.U.Ningrum 13
6. Testing result
There were several phases used in this study.
The first phase was testing the number of optimum
fireflies, and the number of iteration = 100. After
the number of optimum fireflies was obtained, the
movement value (β), light coefficient (γ) and
random value (α) were obtained. The testing was
compared to the fitness. The higher the fitness, the
closer the solution to be optimum. Based on this
testing, the Newton’s method was then applied and
the best iteration was tested.
In the testing of the number of fireflies, 15 to
40 fireflies were tested. By using 6 feed
combinations, the best fitness was obtained when
the number of fireflies used was 35. This is shown
in the table below.
Table 3. Testing of the number of fireflies
Number of
Firefly
β γ α Fitness
15 1 0,2 -1 0,961 20 1 -0,2 -1 1 25 1 0,8 -1 0,985 30 1 1 -1 0,930 35 1 1 -1 0,960 40 1 -0,2 -1 1
Fitness = +
(8)
According to the results of the testing, it was
found out that the best numbers of fireflies based
on the highest fitness value were 20 and 40. The
number of fireflies of 20 was selected due to
lighter computation.
The next phase was testing the number of
iteration in the Newton‟s method. In the testing,
10-80 iterations were conducted by using 4 feed
combinations20 firefly algorithm iterations, β
value = 1. γ = -0,2. α = -1.
Table 4. Ptesting of the number of iterations in
Newton‟s method Jumlah
Iterasi
Best 1 Best 2 Deference
10 9,620 9,580 0,040
20 9.0142723769946 9.0000112987902 0,014
30 9 9 0
40 9 9 0
50 9 9 0
The optimum number of iterations is 30+
iterations. Therefore, the number of iterations in
the Newton‟s method in this research was 30.
Figure 3. Chart of the best iteration testing
Figure 4. Chart of iteration testing using Newton‟s
method
The next phase was testing Newton‟s method in
the application of firefly algorithm in distance
optimization.
In fitness testing some comparisons with other
individual-based optical algorithms are evolution
strategic (ES). with μ = number of feed
combinations or called parent (2,3,4,5) and ʎ = 3
for each parent. Then compared with firefly
algorithm which is not done distance optimization.
A number of input combination were
conducted, and the results are as follows:
Table 5. Fitness result
Jumlah
Kombinasi Pakan
Fitness
E.S Firefly Firefly+ Newton
2 0,43085 1,03319 1,03321 3 0,35616 0,94230 1,03381 4 0,24605 1,03097 1,03154 5 0,23220 0,25330 0,48198
-
14 INKOM, Vol 11 No. 1, Mei 2017: 09-14
Figure 5. Chart of the comparison of fitness of firefly
algorith, E.S (blue), FA (Red) and firefly algorithm
optimized using Newton‟s method, FA + NW (metro)
The results of the testing of fitness between
Evolution Strategic, normal firefly algorithm and
firefly algorithm optimized using Newton‟s
method showed an increase in the fitness. This
shows that there was an increase in the light
intensity which was influenced by distance, so the
optimum result could be obtained.
7. Conclusion
For a series of test above, be obtained 20 the
number of fireflies as the best solution for a total
amount tertimggi Gym numbered 1 (scala 0-1).
With the value of β (light intensity). With the
movement kuang-kunangterbaik nilaiγ = -0.2 dan
α = -1.
From the test results on the algorithm of
fireflies and then test methods newton on the
number of iteration, iteration 30 best obtained by
the difference amounted to 0.
Optimization was then performed at a distance
(r) the firefly algorithm, generating kenaiikan
fitness value. In the second combination of feed
has increased by 0,002. In the third combined gain
of 0.1 feed. At 4 combinations of feed rose 0,001
and the five combinations of feed increased by 0.2.
This shows the optimization method will
increase the accuracy of calculations newon feed in
determining optimal nutrition in chickens petelor.
Reference
[1] X. S. Yang, “Firefly algorithms for
multimodal optimization,” Lect. Notes
Comput. Sci. (including Subser. Lect. Notes
Artif. Intell. Lect. Notes Bioinformatics),
vol. 5792 LNCS, 2009, pp. 169–178.
[2] H. Setiawan, L. H. Hanafi, and K. R.
Prilianti, “Implementasi Algoritma
Kunang-Kunang,” J. Buana Inform., vol. 6,
2015, pp. 269–278.
[3] B. P. Hadhi, R. S. Wibowo, and I. Robandi,
“Mempertimbangkan Fungsi Biaya Tidak
Mulus Dengan Firefly Algorithm,” J. TENI
POMITS, vol. 3, no. 1, 2014.
[4] S. Raskin, “Newton‟s method,” Dep. Math.
Univ. Chicago, vol. 2, 2006, pp. 1–4.
[5] A. A. Mohd Arfian Ismail, Safaai Deris,
Mohd Saberi Mohamad, “A Hybrid of
Newton Method and Genetic Algorithm for
Constrained Optimization method of the
Production of Metabolic Pathway,” Life Sci.
J., vol. 11, no. 1, 2014, pp. 409–414.
[6] S. Farook and P. S. Raju, “Evolutionary
Hybrid Genetic-Firefly Algorithm for
Global Optimization,” IJCEM Int. J.
Comput. Eng. Manag., vol. 16, no. 3, 2013.
[7] M. Allame and N. Azad, “On Modified
Newton Method for Solving a Nonlinear
Algebraic Equations by Mid-Point,” vol.
17, no. 12, 2012.
[8] Sudarmono, Guidelines for the maintenance
of laying hens (Panduan Beternak Ayam
Petelor). Yogyakarta: KANISUS, 2003.
[9] Info Medion, “Studying Patterns Giving
Rations Laying Hens (Mempelajari Pola
Pemberian Ransum Ayam Petelur),” info
medion, 2014.
[10] J. Servatius, Successful breeding laying
hens (Sukses Beternak Ayam Petelor), PT.
Agro Media Pustaka, Depok, 2005.
-
INKOM, Vol 11 No. 1, Mei 2017: 15-24 1
Optimization of Robot Telemonitoring System Software using
multi-thread method
Midriem Mirdanies Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI), Kompleks LIPI,
Komp LIPI Bandung, Jl. Sangkuriang, Gd. 20. Lt. 2, Bandung 40135, Indonesia
Email: midr001@lipi.go.id
_______________________________________________________________________________________
Abstract
The processor development today is on multi-core and multi-processor which can be used to a speedup of data
processing time compared with one processor core only. One of the main ways that can be used to speed up the data
processing time is by using multi-thread. Multi-thread method has been implemented on the robot telemonitoring
system based on Graphical User Interface (GUI) which has been developed in Research Center for Electrical Power
and Mechatronics, Indonesian Institute of Sciences (LIPI). A part of that requires high processing time and dynamic at
the telemonitoring systems are the display of real-time thermal cameras and color camera along with tracking
algorithm used, it can be seen from the camera display which less smooth especially on the thermal camera, and some
of the process is zero which means the buffer is unprocessed which causing lag. Two threads have been added to
process each of the cameras separately. C programming language with the OpenCV library and the Integrated
Development Environment (IDE) Qt Creator, has been used to implement this method into an application program.
Based on experiments, it can be seen that the display of both cameras could run smoothly, the average processing time
faster than sequential, and the absence of a zero process time. The average fps generated is more stable and is at the
higher level that is 7.5 fps on the thermal camera and 7.5 - 8 fps on the color camera.
Keywords: multi-thread, telemonitoring, GUI, Qt creator, C language
______________________________________________________________________________
1. Introduction
1Processor development today is on a multi-
processor, and multi-core processors from the two
cores and above, as well as the hyper-threading
technology. On desktop processor today, it has
been available processor with 10 cores with a total
of 20 threads with hyper-threading technology that
is Intel CoreTM i7-6950X Processor Extreme
Edition [1], while for server processor, has been
available processor with 24 cores with a total of 48
threads such as Intel Xeon Processor E7-8890 v4
[2] and Intel Xeon Processor E7-8894 v4 [3]. An
example of a quad-core processor architecture can
be seen in Figure 1.
In Figure 1 it can be seen that each processor
can consist of more than one processor core which
each core has individual memory, and can connect
to one another using shared memory. This multi-
core processor can be used to run multiple
programs or threads simultaneously to speed up
data processing performance. Techniques to
optimizing multi-core processors to speed up data
processing on a program are parallel programming
1 Received : 3 May 2017; Revised : 4 Oct 2017;
Accepted : 15 Dec 2017; Published Online: 3 May 2018
@2017 INKOM 2017/18-NO550
DOI:http://dx.doi.org/10.14203/j.inkom.550
or multi-thread. In multi-thread, a program is
divided into two or more parts and processed on a
different thread.
Some publications have been reported using
multi-core processors for specific applications. In
image processing, cabaret et al. have implemented
the Connected Component Labeling (CCL)
algorithm for labeling objects [5], and Mirdanies
et al. have also conducted research that utilizes
multicore processors using shared memory to
speed up the multi-object identification process by
the SIFT and SURF methods [6]. Huynh et al. have
also used multi-core processors in data mining to
speed up mining data process on large datasets
using a method called Parallel Dynamic Bit Vector
Sequential Pattern Mining (pDBV-SPM) [4].
Publications that used multi-threading methods
on multi-core processors i.e. rui et al. to hide the
deduplication of I/O latency by using multi-thread
deduplication (Multi-Dedup) [7]. Sikora et al. have
used multi-thread method in the audio signal field
to speed up the beam-tracing simulation [8].
-
16 INKOM, Vol 11 No. 1, Mei 2017: 15-24
1
6
The telemonitoring system has been widely
implemented in a variety of areas including the
health field that Gyllensten has done for the
treatment of patients with chronic heart failure [9].
Azimi et al. also had discussed a monitoring
system for the elderly using the concept of the
Internet of Things (IoT) [10]. Both of the
telemonitoring systems above are more emphasis
on the concept and how the telemonitoring system
mechanism used but did not discuss the
optimization to speed up the processing time,
especially by using multi-core processors.
This paper describes the implementation of
multi-thread method to optimize the robot
telemonitoring system program. This system has
been created using c programming language,
OpenCV library, and Integrated Development
Environment (IDE) Qt Creator.
2. Methods
Figure 2 is two Degrees Of Freedom (DOF) of
robotic arms which have been developed in the
Research Center for Electrical Power and
Mechatronics, Indonesian Institute of Sciences
(LIPI).
Microcontrollers are used to drive two DOF
mechanisms, while mini-pc is used for complex
data processing and requires fast processing times
such as for image processing, stabilization
systems, ballistics, and telemonitoring or
telecontrol systems. Mini-pc specification used in
this research is intel core processor i3-4160T, 8GB
DDR3, 500GB HDD, Intel HD Graphics VGA,
GbE NIC, and windows 7 professional.
Figure 1. An example of a quad-core processor architecture [4].
Figure 2. Two DOF of robotic arms.
Figure 3. Telemonitoring system diagram of the two DOF robot arm
-
Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 17
Telemonitoring system diagram that has been
created to monitor and control the robotic arm can
be seen in Figure 3.
Mini-PCs read data from thermal cameras, color
cameras, and LRF that are displayed to the user
through a GUI-based touchscreen monitor. In
addition, the user can send commands to the mini-
pc through the GUI. The Mini-PC is connected to a
microcontroller using a serial cable to transmit the
azimuth and elevation angle coordinates and read
the current azimuth and elevation positions.
A microcontroller is an intermediary between a
mini-pc and a motor driver that sends commands
from a mini-pc to a motor driver and reads the
current angle of the azimuth and elevation
mechanisms.
The application program of the telemonitoring
system based Graphical User Interface (GUI) can
be seen in Figure 4. The data displayed on the GUI
i.e. thermal camera, color camera (RGB), azimuth
and elevation angle, object distance, the choice of
a manual or automatic mode in the movement of
the robot arm, button to movements robot
manually with speed setting which can be used in
manual mode and "Tembak" button to shoot the
object. If the automatic mode is selected, the robot
arm will move to follow the direction of the
selected object using tracking algorithms.
Figure 4. The telemonitoring system program based Graphical User Interface (GUI)
-
18 INKOM, Vol 11 No. 1, Mei 2017: 15-24
1
8
Telemonitoring system flowchart can be seen in
Figure 5. The thermal camera used in this research
is Flir A65 (f = 25mm, 7.5 Hz) which connected
using Local Area Network (LAN) cable with an
RJ45 connection, and the color camera is DFK
72AUC02-F connected via USB. The both of
camera can be seen in Figure 6 and Figure 7
Figure 5. Telemonitoring system flowchart
-
Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 19
One part that requires dynamic and high
processing time on this telemonitoring system is
the display of two cameras i.e. thermal camera and
color camera with 640 x 480 pixel resolution with
tracking algorithm used in real-time, it can be seen
primarily in thermal camera display which less
smooth, it can be seen in Figure 8. The computing
process of thermal cameras and color cameras is
done sequentially at any given interval using a
timer. The object tracking algorithm used in this
telemonitoring system is Tracking Learning
Detection (TLD) [11].
The GUI display in Figure 8a is taken shortly
after the bottle is moved to the front of the camera,
while in Figure 8b is three seconds after it. In
Figure 8a we can see the delay in the thermal
camera shown by the absence of the bottle,
whereas in Figure 8b has appeared. On the other
hand, the color camera has a bottle showing, both
in Figure 8a and Figure 8b, although there is still a
little delay occurs.
The sequential timing of sequential processing
has been done at several time intervals to ensure
real-time processing that can be seen in section
three. From the test results can be seen that there is
still a lag that causes the appearance of the camera
on the GUI has not been smooth.
Based on this, two new threads have been
added, first to process thermal camera, and second
to process the color camera. Each thread is
processed in parallel and separate, so it can handle
the needs of a fast and dynamic processing. Two
new threads implemented can be seen in Figure 9.
Illustrated of thread execution on this system on
the processor cores can be seen in Figure 9. The
first thread is used to process raw thermal camera
data until display it in the GUI and the second
thread is used to process raw color camera data
until display it in the GUI. Core processor was
used to executing this thread is set automatically,
so no need to specify the program.
Flowchart of the new proposed system can be
seen in Figure 10. In Figure 10 it can be seen that
after the 'Mulai' button is pressed it will form two
new threads that process color camera and thermal
camera data continuously until the 'Stop' button is
pressed. So the total thread was used is three.
If the user chooses automatic mode and chooses
the object to be tracked either by the color camera
or thermal camera, the tracking algorithm will
work and send commands to the microcontroller to
move the azimuth and elevation mechanisms to
always point to the object, whereas if manual
mode is selected, the tracking algorithm does not
work, the system will only move the azimuth and
elevation mechanisms according to the direction
keys pressed by the user.
Thread had been implemented into an
application program using Qt Creator IDE with
Figure 6. Thermal camera
Figure 7. Color camera
-
20 INKOM, Vol 11 No. 1, Mei 2017: 15-24
2
0
QtConcurrent header. Source code had been
made using c language is as follows.
//Header
#include
// variables declaration QFuture thread_RGB;
QFuture thread_Thermal;
//running thread
thread_RGB = run(this,
&Dialog::proses_RGB);
thread_Thermal = run(this,
&Dialog::proses_Thermal);
// Procedures to be executed on thread void Dialog::proses_RGB() {
// Source code of color camera
// processing
}
void Dialog::proses_Thermal() {
// Source code of thermal camera
// processing
}
Two procedures have been created to process
each of these cameras, and each procedure is
processed on a different thread,
Dialog::proses_RGB() procedure is processed
(a)
(b)
Figure 8. GUI when running the program sequentially; (a) shortly after the bottle is moved to the front of the camera;
(b) three seconds later.
Figure 9. The implementation of multi-thread on telemonitoring system
-
Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 21
on thread_RGB, while the
Dialog::proses_Thermal() procedure is
processed on thread_Thermal.
The processing time of a sequential program
and with added two threads is calculated using
std::chrono::high_resolution_clock [12]
to calculate the actual processing time in a
microsecond and QTime [13] to calculate Frame
Per Second (FPS) of each process. Source code in
c language using
std::chrono::high_resolution_clock is as
follows. //Header
#include
//Start calculation
auto start =
std::chrono::high_resolution_clock::n
ow();
//Read buffer of thermal or color
//camera & process the tracking
//algorithm
//Calculate elepsed time in us
auto elapsed =
std::chrono::high_resolution_clock::n
ow() - start;
long long microseconds =
std::chrono::duration_cast(elapsed).count();
The source code in c language using QTime is
as follows.
//Header
#include
//variables declaration
QTime myTimer;
double fps;
double second;
int jml_counter = 0;
//Start calculation
myTimer.start();
//Source code of camera processing
//Calculate FPS
jml_counter++;
if (jml_counter >= 120) {
second = myTimer.elapsed() / 1000;
Figure 10. Flowchart telemonitoring system with added two threads
-
22 INKOM, Vol 11 No. 1, Mei 2017: 15-24
2
2
fps = jml_counter / second;
myTimer.restart();
}
3. Results and Discussion
The sequential processing time was performed
at 100 ms, 134 ms, 159 ms, and 300 ms time
intervals as shown in Figure 11.
In Figure 11 it can be seen that the processing
time of the thermal camera and color camera at
100 ms, 134 ms, 159 ms, and 300 ms intervals
vary. This is related to the timer interval used and
loads the process done, whether it is just reading
the image buffer and displaying it, or accompanied
by the processing of the tracking algorithm. Some
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Figure 11. The sequential processing time of: (a) color camera 100 ms; (b) thermal camera 100 ms; (c) color camera
134 ms; (d) thermal camera 134 ms; (e) color camera 159 ms; (f) thermal camera 159 ms; (g) color camera 300 ms; (h)
thermal camera 300 ms
-
Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 23
value of the processing time of the thermal camera
is 0 which means that the buffer is not processed at
that time and causing the lag. Unlike the thermal
camera, almost all value of the color cameras are
more than 0, except at 300 ms intervals, it means
that the amount of lag of the color camera is less
than thermal camera. Based on the experimental
results, it can be seen that all the timer intervals
have not been able to process both cameras smooth
and stable without any lag.
Experiments have also been performed on PCs
with Intel Core i7-4790, 8GB DDR3, 1 TB, Nvidia
GeForce GTX 745, and Windows 8.1 as
comparators. Based on experimental results,
obtained the same conclusion, there are still lag on
several experiments.
Fps generated from the sequential time of
process at both 100 ms, 134 ms, 159 ms, and 300
ms intervals can be seen in Figure 12. In Figure 12
it can be seen that the highest fps time is obtained
at intervals of 134 ms ie 7.5 fps, but it can not be
used as a solution because the appearance is still
not smooth because of the lag as shown in Figure
11.
The GUI display after added two threads can be
seen in Figure 13. The GUI in Figure 13a is taken
shortly after the bottle is moved to the front of the
camera, while Figure 13b is three seconds later. In
Figure 13a and Figure 13b, it can be seen that
there is no delay like Figure 8, that means the
display of thermal camera and the color camera
has been running smooth.
The processing time of the thermal camera and
color camera after each run parallel on a different
thread can be seen in Figure 14. In Figure 14 it can
be seen that the processing time of the color
camera and thermal camera data is more stable
than using a certain timer interval. In this way it
can also accommodate dynamic processing, it can
be seen from the absence of a zero processing time
so that no lag occurs. The resultant fps on parallel
processing can be seen in Figure 15. In Figure 15 it
can be seen that the average fps generated on each
camera's processing is more stable and is at the top
level of 7.5 fps on the thermal camera and 7.5 - 8
fps in the color camera.
Figure 12. The sequential processing time at each
interval in fps
(a)
(b)
Figure 13. GUI with added two threads; (a) shortly
after the bottle is moved to the front of the camera; (b)
three seconds later.
(a)
(b)
Figure 14. The parallel processing time of; (a) color
camera; (b) thermal camera
Figure 15. The parallel processing time in fps
-
24 INKOM, Vol 11 No. 1, Mei 2017: 15-24
2
4
4. Conclusions
The multi-threaded method has been successfully
implemented on two DOF robotic arm
telemonitoring systems. The experimental results
show that both the camera display with tracking
algorithm used inside it after the process is
separated using two threads can work smooth
which can be seen visually, no lag in the
processing time, and the average fps is more stable
and is on higher level that is 7.5 fps on the thermal
color and 7.5 - 8 fps on color camera. Based on
this, it can be seen that the two threads added can
improve the speed, and make it stable to make the
display to be smooth without any delay like a
sequential program.
Acknowledgments
Author would like to thanks to Research Center for
Electrical Power and Mechatronics, Indonesian
Institute of Sciences (LIPI) for the support of
research funds, Mechatronics research group,
especially to Aditya Sukma Nugraha, Hendri Maja
Saputra, and Rifa Rahmayanti that have supported
this research, and all those who have helped
conducting this research.
References
[1] Intel Corporation, “Intel® Core™ i7-6950X
Processor Extreme Edition”, [Online]. Available:
https://ark.intel.com/products/94456/Intel-Core-
i7-6950X-Processor-Extreme-Edition-25M-
Cache-up-to-3_50-GHz. [Accesed: 03 04 2017].
[2] Intel Corporation, “Intel® Xeon® Processor E7-
8890 v4”, [Online]. Available:
https://ark.intel.com/products/93790/Intel-Xeon-
Processor-E7-8890-v4-60M-Cache-2_20-GHz.
[Accesed: 03 04 2017].
[3] Intel Corporation, “Intel® Xeon® Processor E7-
8894 v4”, [Online]. Available:
https://ark.intel.com/products/96900/Intel-Xeon-
Processor-E7-8894-v4-60M-Cache-2_40-GHz.
[Accesed: 03 04 2017].
[4] B. Huynh, B. Vo dan V. Snasel, “An efficient
method for mining frequent sequential patterns
using multi-Core processors”, Applied
Intelligence, Vol. 46, No. 3, 2017, pp. 703-716.
[5] L. Cabaret, L. Lacassagne dan D. Etiemble,
“Parallel Light Speed Labeling: an efficient
connected component algorithm for labeling and
analysis on multi-core processors”, Journal of
Real-Time Image Processing, No. Special Issue
Paper, 2016, pp. 1-24.
[6] M. Mirdanies, A. S. Prihatmanto dan E. Rijanto,
“Object Recognition System in Remote
Controlled Weapon Station using SIFT and SURF
Methods,” Methatronics, Electrical Power, and
Vehicular Technology, Vol. 4, No. 2, 2013, pp.
99-108.
[7] R. Zhu, L.-h. Qin, J.-l. Zhou dan H. Zheng,
“Using multi-threads to hide deduplication I/O
latency with low synchronization overhead”,
Journal of Central South University, Vol. 20, No.
6, 2013, pp. 1582-1591.
[8] M. Sikora dan I. Mateljan, “A method for
speeding up beam-tracing simulation using
thread-level parallelization”, Engineering with
Computers, Vol. 30, No. 4, 2014, pp. 679-688.
[9] I. C. Gyllensten, A. Crudall-Goode, R. M. Aarts
dan K. M. Goode, “Simulated case management
of home telemonitoring to assess the impact of
different alert algorithms on work-load and
clinical decisions”, BMC Medical Informatics and
Decision Making, Vol. 17, 2017, pp. 1-11.
[10] I. Azimi, A. M. Rahmani, P. Liljeberg dan H.
Tenhunen, “Internet of things for remote elderly
monitoring: a study from user-centered
perspective”, Journal of Ambient Intelligence and
Humanized Computing, Vol. 8, No. 2, 2017, pp.
273-289.
[11] Z. Kalal, K. Mikolajczyk dan J. Matas, “Tracking-
learning-detection”, IEEE transactions on pattern
analysis and machine intelligence, Vol. 34, No. 7,
2012, pp. 1409-1422.
[12] cppreference.com, “C++ reference”, 2017.
[Online]. Available: http://en.cppreference.com/ w/cpp/chrono/high_resolution_clock. [Accesed:
13 04 2017].
[13] The Qt Company, “Qt”, 2017. [Online]. Available:
http://doc.qt.io/qt-5/qtime.html. [Accesed: 13 04
2017].
-
INKOM, Vol 11 No. 1, Mei 2017: 25-32
Build and Design of Voyage Account Applications Using C#, WPF,
and SQL Server 2012
(Case Study Company X)
Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana Politeknik Negeri Jakarta
Jl. Prof. G.A. Siwabessy, Kampus Baru UI, Kota Depok Jawa Barat, Indonesia 16424
Email: desidyahs@gmail.com
Abstract
Voyage Account is an application that record consumption data on each voyage, then the data is used to calculate
the profit or loss of each voyage. The application interface was created using Windows Presentation Foundation (WPF).
Prototyping development methods was used to create these applications, C# as the programming language, and SQL
Server 2012 as the database. This study discusses the making of the interface, backend, and database of application.
WPF has been selected, because WPF is the latest technology developed by Microsoft after WinForms. WPF presents a
display that can be customized to user needs. The test results showed that the Voyage Account application is already
functioning in accordance with wishes of the user, the test is done using sql query by entering the appropriate username
and password and match the query returns results with what is displayed by the application. As for testing the interface
shows if WPF can be flexibly adapted to the screen resolution of 1366 x 768, 1920 x 1080 and 1280 x 720.
Keyword:Voyage Account, WPF, prototyping, C#, SQL Server 2012.
1. Preliminary
1The main business of Company X is focused
on the coal transportation to supply PLN power
plants, a subsidiary of PLN, and Independent
Power Producers (IPP). Consumption from every
voyage captured and recorded to quantify the
costs incurred by the company. Calculation from
recorded data is made to be used as an evaluation
for the Operation Department and Fleet
Department.
Each voyage which is run by fleet has the
income and cost. Costs to be charged in one
voyage, among others MFO (Marine Fuel Oil),
MDO (Marine Diesel Oil), CO (Crude Oil), FW
(Fresh Water), and HSD (High Speed Diesel).
When fleet do not travel in accordance with a
predetermined time, the operational costs of fleet
will increase. There are many factors that cause
the fleet did not arrive at their destination on time,
one of which is the weather. Because of that
factor, Voyage Account application is made so
that can be used to record data obtained during the
voyage and this application can calculate profit or
loss that is earned by the company in one voyage.
Voyage Account application can shorten the time
of calculation of profits and losses which
1Received : 10 April 2017; Revised : 28 Sept 2017;
Accepted : 15 Dec 2017; Published Online: 3 May
2018 @2017 INKOM 2017/18-NO541
DOI:http://dx.doi.org/10.14203/j.inkom.541
originally was done manually. In addition, the
information generated by the application can be
used as an evaluation of each voyage.
2. Result
(Soni, 2012) [1] argued that WPF is a reliable
technology in the manufacture of a GUI. When
combined with the method MVVM, processing
applications can be more focussed, because the
method of MVVM that divides an application into
three parts, namely Model (back end Voyage
Account), ViewModel (back end Window Voyage
Account), and View (front end or Window)
Technology WPF and MVVM pattern be applied
in applications Voyage account.
According Akiki, Pierre A. Arosha K.
Bandara, and Yijun Yu [2] applications design
that created already adapted to the whim of the
client. However, sometimes users who use these
applications do not necessarily have the same
opinion on the application design that has been
made, because of the experience and knowledge
of each user is different.Thus, if the user desires
varied met, factors such as performance, price,
and time will increase, impacting applications and
users themselves. This problem can be solved
with adaptive design, in which the method of this
design, the varied desires can be met. Because,
applied adaptive design is the simplest design
application and each user can add their own
functionality according to the needs and desires of
each. For example, the default view Adobe
-
26 INKOM, Vol 11 No. 1, Mei 2017: 25-32
Illustrator CS6, functions basic functions such as
to draw a square or circle that has been provided
on the toolbox left of the application, while using
a function to draw the kind of brush-shaped arrow
in the application, the user must add it via the
Window menu in the menubar section on the
application and then choose a brush library and
choose a new arrows then the user can use the
function to draw the arrow.This is done in Adobe
for drawing basic shapes such as square or circle
is the basic need of every user applications, both
from a user-level amateur to professional, while
the functions of drawing with the brush-shaped
arrow usually used a specific user only, so with an
adaptive design applied to Adobe, users with
amateur level does not interfere with the choices
necessary functions that are not shown in the
default view of the application.Adaptive design is
a method that can be applied to a wide variety of
programming languages in accordance with the
ability of the developer. As with the Java
language, C # (WinForms and WPF), Python, or
Objective C and Swift. But when referring to the
second article, WPF than the other advantages is
rendered WPF display with 2 threads. Thread 1 to
render and thread 2 to adjust the responsiveness of
the user interface, so that the display of adaptive
design can be better and more responsive.
3. The Making of Application
Voyage Account application created by using
Microsoft Visual Studio 2015. Microsoft [3]
stated that Microsoft Visual Studio 2015 is a set
of software tools to create, from the planning
phase through User Interface design, coding,
testing, debugging, analyzing code quality and
performance, deploy to customers (publishing),
and collect telemetry (metered variable) on use. In
making the Voyage Account, the method used in
analysis of needs (requirements analysis) is to
interview the users from Operation and Fleet
Department. After the interviews obtained several
requirements, including:
• Using an integrated database. • Add and edit data ship, barge, and ports. • Add and edit fixed cost of each fleet. • Calculate the profit / loss of each voyage by
the fleet.
• Can view v
top related