design of a web-based remote control system with ......the thesis a design of web – based remote...
TRANSCRIPT
DESIGN OF A WEB-BASED REMOTE CONTROL SYSTEM WITH
ARTIFICIAL NEURAL NETWORKING
BY
AZUBIKE, NGOZI CHRISTIANA
REG. NO. 2008366008F
A THESIS PRESENTED TO THE
DEPARTMENT OF ELECTRONIC AND COMPUTER ENGINEERING
FACULTY OF ENGINEERING
NNAMDI AZIKIWE UNIVERSITY, AWKA
AUGUST, 2010
2
TITLE PAGE
DESIGN OF A WEB-BASED REMOTE CONTROL SYSTEM WITH
ARTIFICIAL NEURAL NETWORKING
BY
AZUBIKE, NGOZI CHRISTIANA
REG. NO. 2008366008F
A THESIS PRESENTED TO THE
DEPARTMENT OF ELECTRONIC AND COMPUTER ENGINEERING
IN PARTIAL FULFILLMENT FOR THE AWARD OF
MASTER OF ENGINEERING DEGREE (M.ENG) IN
ELECTRONICS AND COMPUTER ENGINEERING
FACULTY OF ENGINEERING,
NNAMDI AZIKIWE UNIVERSITY, AWKA
AUGUST, 2010
3
CERTIFICATION
The thesis a design of web – based remote control with artificial neural
networking presented by Azubike, Ngozi Christiana has been read and
certified to have met requirement of the Department of Electronic and
Computer Engineering in the faculty of Engineering in project presentation
to acquire a Masters Degree in Engineering.
Azubike, Ngozi Christiana ………………………………
2008/366008F Date
4
DEDICATION
This project work is dedicated to He who is able to do all things, even
beyond our imagination – Jehovah Elohim.
5
APPROVAL PAGE
This is to certify that this project work done by Azubike Ngozi Christiana
– 2008366008F has been approved in partial fulfillment of the requirement
for the award of Masters’ of Engineering degree (M.Eng) of the
department of Electronics and Computer Engineering, Nnamdi Azikiwe
University, Awka.
…………………… …………………..
Prof. H. C. Inyiama Date Project Supervisor
………………….. …………………..
Engr. Dr. (Mrs) C. C. Okezie Date Project Supervisor
………………… …………………..
Engr. Dr. V. E. Idigo Date Head of Department
…………………… …………………..
Prof. C. C. Osuagwu Date External Examiner
………………….. ………………….
Prof. I. O. Onyeyili Date Dean Faculty of Engineering
………………….. ………………….
Prof. L. Anike Date Dean School of Post Graduate Studies
6
ACKNOWLEDGEMENT
This project work will not be complete if I fail to acknowledge the
assistance of all those that contributed to its success: I acknowledge my
miracle husband; Mr. Ernest Okoye for his support and understanding
throughout the pursuit of this goal; I must not forget the untiring effort of
my lecturer and supervisor- Prof H. C. Inyiama, you are really God’s gift
to students; Dr A. O. Ezechukwu for his steadfast encouragement and also
my family, both immediate and extended; God will bless you all
immensely.
I also acknowledge all the lecturers and workers in the department of
Electronics and Computer Engineering for their unflinching support
throughout the duration of my study – thank you all!
Finally, glory be to God in His infinite mercy and kindness for the gift of
life and health.
7
ABSTRACT
This work deals with regulation possibilities of the DC motor via internet
and with artificial neural network utilization in such a regulation. The
work also handles the advantages and disadvantages of internet as a
control and communication bus at different levels of the information
hierarchy. Remote regulation response was measured and a curve
obtained depicting the non-linearity response of the neural network. The
purpose of non-linearity is a reserve for DC motor inactivity; a situation
for an error free network analysis.
8
TABLE OF CONTENTS
Page
Title Page - - - - i
Certification Page - - - - ii
Approval Page - - - - iii
Acknowledgement - - - - iv
Dedication - - - - v
Abstract - - - - vi
Table of Content - - - - vii
List of Figures - - - - xv
List of Tables - - - - x
CHAPTER ONE: INTRODUCTION
1.1 Background of the Study - - 1
1.2 Aims and Objectives of the Work - 2
1.3 Justification of the Project - - 3
1.4 Scope of the Study - - - 4
1.5 Block Diagram Overview of the Work 6
1.6 Project Report Organization - - 7
CHAPTER TWO: REVIEW OF RELATED LITERATURE
2.1 Principles of the Related Literature 10
2.2 Technologies Available for the Project Work 13
2.3 Applications - - - 18
2.4 New Trends - - - 19
CHAPTER THREE: METHODOLOGY & SYSTEM ANALYSIS
3.1 Methodology - - - 21
3.1.1 Structured Analysis & Design Method 22
3.1.2 Top Down Design - - - 25
3.1.3 Bottom – Up Design - - - 27
9
3.1.4 Choice design Approach - - 27
3.2 Information Gathering - - 29
3.3 Data Analysis - - - 29
3.4 Limitations of the Existing System - 34
CHAPTER FOUR: SYSTEM DESIGN
4.1 System Specification - - 36
4.2 Hardware Subsystems Design - - 40
4.2.1 Input Interface - - - 41
4.2.2 The Control Systems - - 41
4.2.3 The Output Interface - - 42
4.3 The Software Subsystem - - 42
4.3.1 The Control Algorithm - - 43
4.3.2 The Database Design - - 45
4.3.3 The Input / Output Arrangement - 50
4.4 The Project Block Diagram - - 58
CHAPTER FIVE: SYSTEM IMPLEMENTATION
5.1 Hardware Subsystem Implementation 60
5.1.1 Input Interface Implementation - 60
5.1.2 The Control System Implementation - 64
5.1.3 The Output Interface Implementation 66
5.2 Software Subsystem Implementation - 67
5.3 The Database Implementation - - 69
5.4 System Testing - - - 71
5.4.1 The Test Plan - - - 71
5.4.2 Hardware Subsystem Testing - 73
5.4.3 Software Subsystem Testing - - 73
5.5 Performance Evaluation - - - 74
5.6 Project Packaging - - - 74
5.7 Project Costing - - - 75
10
5.8 Deployment - - - 76
CHAPTER SIX: SUMMARY AND CONCLUSION
6.1 Summary of Achievement - - 77
6.2 Problems Encountered and Solution - 77
6.3 Recommendations - - - 78
6.4 Suggestions for Further Improvement - 78
6.5 Conclusion - - - 79
References - - - 80
Appendix A: Full schematic Diagram 82
Appendix B: Software Details - - 83
Appendix C: Evidence of Completion - 84
11
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study
Before the introduction of remote controlled devices regulated via the
internet, processes were monitored either by man or artificial agents.
Monitoring in these cases may pose some lapses should there be failure in
the system. Modern day processes have no room for irrationality in
artificial agents and man hence it went further in pursuit of a more rational
means of control with least possibility of errors.
There is huge effort to integrate different cooperating systems in one
complex system. The basic problem is communication between these
different modules of the system, especially when the modules are located
in different locations. According to communication requirements,
appropriate communication method has to be chosen. Continual evolution
of the internet enables higher and higher communication requirements to
be fulfilled. The internet to plays a very important role in industrial
processes manipulation; not only in information retrieving. With the
progress of the internet, it is possible to control and regulate remote system
from anywhere around the world at any time. Distance remote via internet,
or in other words, internet – based control has attracted much attention in
12
recent years. Such type of control bus allows remote monitoring or
regulation of whole plants or single devices over the internet. The design
process for the internet-based control systems includes requirement
specification, architecture design, control algorithm, interface design and
importantly safety analysis. Due to the low price and robustness resulting
from its wide acceptance and deployment, Ethernet has become an
attractive candidate for real - time control networks. Hence, it is necessary
to regulate web-based devices like an electric motor in such remote
regulation.
1.2 Aims and Objective of the Work
Due to the development of internet technique and speed increase of
transmission, an inexpensive convenient communication approach is
provided for the remote control system. The objectives include;
i. To handle the advantages and disadvantages of internet as a control
system;
ii. To use communication bus at different levels of the information
hierarchy in propagating the electromagnetic signal and;
iii. To move an induction motor with a remote regulation response
measured data.
13
The aim of this project work is to explore;
- existing possibilities;
- eventual trends;
- review of advantages and disadvantages of distance remote via
internet at different levels of information hierarchy and possible
solutions.
The work presents regulation of DC motor as an example of such a real-
time regulation and discusses possibilities of utilization of Artificial Neural
Network with some measured data from such a DC motor regulation via
internet.
1.3 Justification of the Study
Since early 1990’s, there has been a growing interest in using artificial
neural networks for control of non-linear systems. Numerous applications
have demonstrated that neural networks are indeed powerful tools for the
design of controllers for complex non linear systems.
As earlier stated, the development of internet technique, speed increase of
transmission and the inexpensive convenient communication approach is
provided for in the remote control system. This study presents regulation
possibilities of DC motor (as a real-time process) via internet and deals
14
with artificial neural network utilization (as part of artificial intelligence) in
such a regulation.
The study also handles the advantages and disadvantages of internet as a
control and communication bus at different levels of the information
hierarchy as well as remote regulation response. All these play a very
important role in industrial processes manipulation and information
retrieval
1.4 Scope of the Study
There is increasing use of microprocessor based plant level devices such as
programmable controllers, distributed digital control systems, smart
analyzers etc. Most of these devices have “RS232” connectors which
enable connection to computers. If we begin to look all these RS232 ports
together, there would soon be unmanageable mess of winning, custom
software and little or no communication. This problem solution results in
integration of these devices into a meaningful “Information Architecture”.
This Information Architecture can be separated into 4 levels with the
sensor / activator level which are distinguished from each other by “4Rs”
principle criteria.
The 4Rs criteria are:
- Response time;
15
- Resolution and;
- Reliability and Reparability.
Adequate control software, appropriate computers on client and server site
and internet with satisfactory connection speed are necessary for
successful remote regulation of DC motor via internet adequate control
software. Definition of “adequate” control software, computer and
connection speed depends on concrete motor parameters. In general,
regulation of DC may be considered as real-time regulation problem and
time intervals in terms of milliseconds. The time intervals may vary
significantly from every regulation system. It is very important for
regulation of a system via internet that regulation loop time interval may
be under one millisecond, in milliseconds or may be over hundreds of
milliseconds. In the architecture design a remote regulation of electric
motor via internet generally includes three major parts:
- client;
- server and;
- regulated electric motor.
As mentioned earlier, Artificial Neural Network in motor regulation can be
used in many ways. For our purpose, Neural Network was used for the
control of linearization. Linearization of system control is making the
regulation significantly easier. Stuggart Neural Network Simulator (SNNS)
16
is used for Neural Network simulation. Different neural networks were
tested in simulator with different methods of teaching, different number of
hidden layers and different number of neurons in hidden layers.
Hence the study is limited to the following:
1. The information Architecture
2. The Remote Regulation Proposal and;
3. The Artificial Neural Network Utilization
1.5 Block Diagram Overview of the Project Work
Below is the block diagram of the project work. The components include
the computer which houses the controlling software. The computer is
connected to the internet through a modem which is linked to a server afar
off. A connector / sensor is used to decode instruction for the server
through its buses. These instructions are inturn used in powering a DC
motor of a machine that powers the machine.
17
Internet
Client
Bus
Bus
DC Machine Sensor
Fig 1a: Block diagram of a Web-based remote control with artificial neural
network.
1.6 Project Report Organization
There is huge effort to integrate different cooperating systems in one
complex system. The basic problem is communication between these
different modules of the system, especially when the modules are located
in different locations. According to communication requirements, an
appropriate way of communication has to be chosen.
Controlling Software
Server
Converter
18
It is very important for regulation system via the web to have regulation
loop time interval under one millisecond, or may be over hundred of
milliseconds and more. In the architecture design, a remote regulation of
electric motor via internet generally includes three major parts: client,
server and regulated electric motor. The client part is the interface for the
operations. It includes computers, control software with user interface for
operations. Client computer receives state information of electric motor,
connection state and other information related to the motor regulation via
internet. Received information will be processed and evaluated in remote
computer which is connected to the converter. Server contains all required
drives and devices for communication with the converter. Communication
of server with converter could be based on several ways (RS232, Profibus,
USB etc), but if the client computer is located in outside network, (Not in
LAN where the converter is located) the server computer is recommended.
Two different models are used in identification models creation:
mathematics and physics analysis and experimental identification. In case
of complex subjects both methods are required. Neural network can be
used as direct neural model connected in parallel or serial parallel in
learning state. Neural network can be used as direct neural as well as
inverse identification model in dynamic system. Today/s computer science
performance allows replacing classical methods of parameters estimation
19
by automatic identification. Main advantages include complex test signals
generation possibilities, sophisticated identification algorithms, online
identification possibilities etc [1].
20
CHAPTER TWO
REVIEW OF RELATED LITERATURE
2.1 Principles of Artificial Neural Network
An artificial neural network is a system based on the operation of
biological neural networks. In other words, its an emulation of biological
neural system which would be necessary in the implementation of artificial
neural networks[2]. Although computing these days is truly advanced,
there are certain tasks made for a microprocessor of which it will be unable
to perform; even though a software implementation of a neural network
can be made with their advantages and disadvantages.
Artificial Neural Networks (ANN) is among the newest signal-processing
technologies in the engineer’s toolbox. The field is highly interdisciplinary,
but our approach will restrict the view to the engineering perspective. In
engineering, neural networks serve two important functions: as pattern
classifiers and as non linear adaptive filters as stated by Artificial
Intelligence Technologies tutorial [3].
This work will provide a brief overview of the theory, learning rules and
applications of the most important neural network models. Definitions and
style of computation in an artificial neural network is adaptive, most often
non-linear system that learns to perform a function (an input. output
21
map) from data. Adaptive means that the system parameters are changed
during operation, normally called the training phase. After the training
phase, the artificial neural network parameters are fixed and the system is
deployed to solve the problem at hand (the testing phase). The artificial
neural network is built with a systematic step-by-step procedure to
optimize a performance criterion or to follow some implicit internal
constraint, which is commonly referred to as the learning rule. The input /
output training data are fundamental in neural network technology because
they convey the necessary information to ‘discover’ the optimal operating
point. The non linear nature of the neural network Processing Elements
(PEs) provides the system with lots of flexibility to achieve practically any
desired input / output map ie some artificial neural networks are universal
mappers. There is a style in neural computation that is worth describing.
Fig 2.1: The style of neural computation
ANN System Input System Output Desired response P2 P1 Y2 Y1 D1 D2 x1 x1 y1 y1 d1 d1 x2 x2 y2 y2 d2 d2 x3 x3 y3 y3 Error d3 d3 - - - - - - xk xk yp yp dp dp e - e
22
An input is presented to the neural network and a corresponding desired or
target response set as the output (when this is the case the training is called
supervised). An error is computed from the difference between the desired
response and the system output. This error information is fed back to the
system and adjusts the system parameters in a systematic manner (the
learning rule). The process is repeated until the performance is acceptable.
It is clear from the above description that the performance hinges heavily
on the data. If one does not have data that cover a significant portion of the
operating conditions or if they are noisy, then neural network technology is
probably not the right solution. On the other hand, if there is plenty of data
and the problem is poorly understood to derive an approximate model then
neural technology is a good choice. This operating procedure should be
contrasted with the traditional engineering design, made of exhaustive
subsystem specifications and inter communication protocols.
In artificial neural network, the designer chooses the network topology, the
performance functions, the learning rule and the criterion to start the
training phase, but the system automatically adjusts the parameters. So it is
difficult to bring a priori information into the design and when the system
does not work properly, it is hard to incrementally refine the solution. But
ANN-based solutions are extremely efficient in terms of development time
and resources and in many difficult problems artificial neural networks
23
provide performance that is difficult to match with other technologies.
Denker P. stated that artificial neural networks are the second best way to
implement a solution motivated by the simplicity of their design and
because of their universality, only shadowed by the traditional design
obtained by studying the physics of the problem.[4] At present, artificial
neural networks are emerging as the technology of choice for many
applications such as pattern recognition, prediction, system identification
and control etc.
2.2 Technologies Available in ANN – The Biological Model
Artificial neural networks emerged after the introduction of simplified
neurons [5]. These neurons were presented as models of biological neurons
and as conceptual components for circuits that can perform computational
tasks. The basic model of the neuron is founded upon the functionality of a
biological neuron. Neurons are the basic signaling units of the neurons
system and each neuron is a discrete cell whose several processes arise
from its cell body.
Cell body Axon
Dendrites
Fig 2.2: Neuron
24
The neuron has four main regions to its structure. The cell body, or soma
has two offshoots from it, the dendrites and the axon which end in
presynaptic terminals. The cell body is the heart of the cell, containing the
nucleus and maintaining protein synthesis. A neuron may have many
dendrites, which branch out in a treelike structure and receive signals from
other neurons. A neuron usually only has one axon which grows out from a
part of the cell body called the axon hillock. The axon conducts electric
signals generated at the axon hillock down its length. These electric signals
are called actions potentials. The other end of the axon may split into
several branches, which end in a presynaptic terminal. Action potentials
are the electric signals that neurons use to convey information to the brain.
All these signals are identical. Therefore, the brain determines what type of
information is being received based on the path that the signal took. The
brain analyses the patterns of signals being sent and from that information
it can interpret the type of information being received. Myelin is the fatty
tissue that surrounds and insulates the axon. Often short axons do not need
this insulation. There are uninsulated parts of the axon. These areas are
called Nodes of Ranvier. At these nodes, the signal traveling down the
axon is regenerated. This ensures that the signal traveling down the axon
travels fast and remains constant (ie very short propagation delay and no
weakening of the signal). The synapse is the area of contact between two
neurons. The neurons do not actually physically touch. They are separated
25
by the synaptic cleft and electric signals are sent through chemical 13
interaction. The neuron sending the signal is called the presynaptic cell and
the neuron receiving the signal is called the post synaptic cell. The signals
are generated by the membrane potential, which is based on the differences
in concentration of sodium and potassium ions inside and outside the cell
membrane. Neurons can be classified by their number of processes (or
appendages) or by their function. They are classified by the number of
processes, which fall into three categories:
- Unipolar neurons have a single process (dendrites and axon are located
on the same stem) and are most common in invertebrates.
- In bipolar neurons, the dendrite and axon are the neuron’s two separate
processes. Bipolar neurons have a subclass called pseudo-bipolar
neurons, which are used to send sensory information to the spinal cord.
- Finally, multipolar neurons are most common in mammals. Examples
of these neurons are spinal motor neurons, pyramidal cells and
Purkinje cells (in the cerebellum). If classified by function, neurons
again fall into three separate categories. The first is sensory or afferent
neurons which provide information for perception and motor
coordination. The second group provides information (or instructions)
to muscles and glands and is therefore called motor neurons. The last
group is projection inter neurons which have loop axons and connect
26
different parts of the brain. The other group called local inter neurons
are only used in local circuits.
The Mathematical Model
When creating a functional model of the biological neuron, there are basic
components of importance. First, the synapses of the neuron are modeled
as weights. The strength of the connection between an input and a neuron
is noted by the value of the weight. Negative weight values reflect
inhibitory connections, while positive values designate excitatory
connections [6]. The next two components model the actual activity within
the neuron cell. An adder sums up all the inputs modified by their
respective weights. This activity is referred to as linear combination.
Finally, an activation function controls the amplitude of the output of the
neuron. An acceptable range of output is usually between 0 and 1, or -1
and 1.
Fixed input x = + 1
x0 wk0 wk0 = bk (bias)
x1 wk1
x2 wk2 Q(.) Output Yk
Summing point
xp wkp
Fig 2.2: Mathematical description of ANN
. .
. .
. .
Vk
Ok Threshold Input signals Synaptic weights
Activation Function
27
From this model, the interval activity of the neuron can be obtained thus
Vk = Wk j xj - - - - - 2.2.1
The output of the neuron, Yk would therefore be the outcome of some
activation function on the value of Vk.
Activation Functions
As mentioned in the Mathematical Model, the activation function acts as a
squashing function, such that the output of a neuron in a neural network is
between certain values (usually 0 and 1, or -1 and 1). In general, there are
three types of activation functions, denoted by Q(-). First, there is the
Threshold Function which takes on a value of 0 if the summed input is less
than a certain threshold value (V), and the value 1 if the summed input is
greater than or equal to the threshold value.
Q(v) = - - - - 2.2.2
Secondly, there is Piecewise – Linear function. This function again can
take on the value of 0 and 1, but can also take on values between that
depending on the amplification factor in a certain region of linear
operation.
P
J = 1
1 0
If V > 0 If V < 0
28
Q(v) = - - - - 2.2.3
Thirdly, there is the sigmoid function. This function can range between 0
and 1, but it is also sometimes useful to use the -1 to 1 range. An example
of the sigmoid function is the hyperbolic tangent function.
1 – exp (-V)
Q(v) = tan h (V/2) = - - - 2.2.4
1 + exp (-V)
2.3 Applications of Artificial Neural Network
May control elements have been embedded within internet – enabled
functions. Today’s technology allows possibility that regulation system
could be connected directly to the internet (without a necessity of a server
computer). When Ethernet as a bus is compared with other standard types,
the most powerful advantages include nearly unlimited size of bus,
possible huge distance, open system of the internet protocols and
accessibility of the internet. As measured data shows, utilization of
artificial neural network in remote regulation could be a useful
contribution. The highest advantage of ANN is a possibility to learn even
when it is in operation. So neural network can handle the new situations
and system states like:
- Robot control
1 V≥ ½ V - ½ > V > ½ 0 V≤ - ½
29
- Speech recognition
- Stock Market Prediction etc
2.4 New Trends of Artificial Neural Network (ANN)
The artificial neural network in discourse is all variations on the Parallel
Distributed Processing (PDP) idea. The architecture of each neural network
is based on very similar building blocks which perform the processing. In
this project work, these processing units come first, preceded by different
neural network trends with learning strategies as a basis for an adaptive
system.
The new trend of ANN focuses on the pattern of connection between the
units and the propagation of data. As for the pattern of connections, the
main distinction is between:-
a. Feed-forward neural networks; where the data from input to output
units is strictly feed forward. The data processing can extend over
multiple (layers of) units, but no feedback connections are present, that
is, connections extending from outputs of units to inputs of units in the
same layer or previous layers[7].
b. Recurrent neural networks; that do contain feedback connections.
Contrary to feed-forward networks, the dynamical properties of the
30
network are important. In some cases, the activation values of the units
undergo a relaxation process such that the neural network will evolve to
a stable state in which these activations do not change anymore. In
other applications, the change of the activation values of the output
neurons are significant, such that the dynamical behaviour constitute
the output of the neural network.[8]. Classical examples of feed-
forward neural networks are the perceptron,.[9].
31
CHAPTER THREE
METHODOLOGY & SYSTEM ANALYSIS
3.1 Methodology
A neural network has been configured such that the application of a set of
inputs produces (either direct or via a relaxation process) the desired set of
outputs. Various methods to set the strengths of the connection exist. One
way is to set the weights explicitly, using a priori knowledge. Another way
is to ‘train’ the neural network by feeding it patterns and letting it change
its weights according to some learning rule.
The learning situations are categorized in two distinct sorts. These are:
a. Supervised learning or Associative learning in which the network is
trained by providing it with input and matching output patterns. These
input – output pairs can be provided by an external teacher, or by the
system which contains the neural network (self –supervised). [10].
Neural Net
Supervised learning algorithm
Weight . threshold adjustment Error vector
Target feature
Input feature
- +
Fig 3.1: Supervised Learning of ANN
32
b. Unsupervised Learning or Self- Organisation
In this case, an output unit is trained to respond to clusters of pattern within
the input, the system is supposed to discover statistically salient features of
the input population. Unlike the supervised learning paradigm, there is no
set of priori categories into which the patterns are to be classified; rather
the system must develop its own representative of input stimuli.
c. Reinforcement Learning
This type of learning may be considered as an intermediate form of the
above two types of learning. Here, the learning machine does some action
on the environment and gets a feedback response from the environment.
The learning system grades its action good (rewarding) or bad (punishable)
based on the environmental response and accordingly adjusts its
parameters. Generally parameter adjustment is continued until an
equilibrium state occurs following which there will be no more changes in
its parameters. The self-organizing neural learning may be categorized
under this type of learning.
3.1.1 Structured Analysis and Design Method
Both learning paradigms; supervised learning and unsupervised learning
result in an adjustment of the weights of the connections between units,
according to some modification rule. Virtually all learning rules of models
33
of this type can be considered as a variant of the Hebbian learning
suggested by Hebb in his classic book Organization of Behaviour [11]. The
basic idea is that if two units j and k are active simultaneously, their inter
connection must be strengthened. If j receives input from k, the simplest
version of Hebbian learning prescribes to modify the weight w.j.k with
∆wjk = Yyjyk - - - - - - 3.1.1
where Y is a positive constant of proportionality representing the learning
rate. Another common rule uses not the actual activation of unit k but the
difference between the actual and desired activation for adjusting the
weights;
∆wjk = Yyj (dk-yk) - - - - - - 3.1.2
in which dk is the desired activation provided by a teacher. This is often
called the widow Hoff rule or the delta rule.
So far, the topic in discourse is on the problem of learning weights, given a
fixed network structure. There is also need to understand how to find the
best network structure. If a network that is too big is chosen, it will be able
to memorize all the examples of neural techniques by forming a large look-
up table, but will not necessarily generalize well into inputs that have not
been seen before. In other words, like all statistical models, neural
networks are subject to over filling when there are too many parameters the
model. If one sticks to fully connected networks, the only choice to be
34
made concerns the number of hidden layers and their sizes. The usual
approach is to try several and keep the best. The cross- validation
techniques are needed if one is to avoid peeking at the test set. That is, are
one chooses the network architecture that gives the highest prediction
accuracy on the validation sets.
If one chooses to consider networks that are not fully connected, then are
needs to find some effective search method through the very large space of
possible connection topologies. The optimal brain damage algorithm
begins with a fully connected network and removes connections from it.
After the network is trained for the first time, an information – theoretic
approach identifies an optimal selection of connections that can be
dropped. The network is then retrained and if its performance has not
decreased then the process is repeated in addition to removing connections,
it is also possible to remove units that are not contributing much to the
result.
Several algorithms have been proposed for growing a larger network from
a smaller one. First the tilling algorithm, resembles decision – list learning.
The idea is to start with a single unit that does its best to produce the
connect output on as many of the training examples as possible.
Subsequent units are added to take care of the examples that the first unit
35
got wrong. The algorithm adds only as many units as are needed to cover
all the examples. The discussion of neural networks left us with a dilemma.
Single – layer networks have a simple and efficient learning algorithm, but
have very limited expressive – power, they can learn only linear decision
boundaries in the input space. Multi-layer network, on the other hand, are
much more expressive – they can represent general non-linear functions –
but are very hard to train because of the abundance of local minima and the
high dimensionality of the weight space.
3.1.2 Top Down Design
Systems are made up of small units known as modules. These modules
come together to constitute a sub-system which in turn group together to
form a system. The mode of formation from modules to system constitute
the form of design.
Top down design involves the design whereby a known system is used to
deduce the constitute modules. In ANN architecture top design, the 4Rs
criteria (Reparability, Reliability, Resolution and Response Time) was
used together with the sensor actuator of the system to get the modules ie
scheduling management.
Reparability: This considers the ease with which control and computing
devices can be maintained.
36
Reliability: Just as communication response time must increase as one
descends through the levels of the information architecture, the required
level of reliability increases. For instance, host computers at the
management and scheduling level can safely be shut down for hours or
even days, with relatively minor consequences. If the network which
connects controllers at the supervisory control level and/or the regulatory
control level fails for a few minutes, a plant shut down may be necessary.
Resolution: This refers to the abstraction level for data which varies among
all the levels in the architecture. The higher the level, the more abstract the
data becomes.
Response Time: as one moves higher in the information architecture, the
time delay, which can be tolerated in receiving the data increases.
Conversely, information used at the management and scheduling level can
be several days old without impacting its usefulness.
37
3.1.3 Bottom – Up Design
The method of system design where the least i.e the module is used in
building up a system is known as Bottom-Up design. In the design of ANN
architecture under Bottom-Up design, the 4Rs criteria are used again
though in a reverse mode. Here, the criteria used are in Response Time,
Resolution, Reliability and reparability sequence.
Local
Computer
Response time
Fig 3.1.3: Information Architecture
3.1.4 Choice Design Approach
As mentioned earlier, systems are made up of small units i.e modules.
These modules like the atom of element, come together to make a sub
system and sub-systems join up to form a system. The choice of system
design depends partly on the information available for a given project and
partly on the choice of the designer.
Scheduling Management Slow easy Optimization Maintenance
Less low Supervisory Control Interlocking regulation
Fast more high hard Sensor Actuator Resolution Reliability Reparability
38
In this project work, Bottom-Up design is adopted because of the limited
information available for the design of the work. The designer adopted this
method so as to initiate the design with the least information and
components available, build them up continuously to achieve the desired
system.
3.2 Information Gathering
Neural network information gathering is through decomposition of
complex information into its fundamental elements and relationships with
each other which are stored in the brain’s memory work. Neuro-dynamics
is the process used by ANN to learn, recall, associate and continuously
gather and compare information with existing knowledge.
When information appears at the network, the network either recognizes it
or develops a new classification. In actual sense, during the process of
learning, the neural network adjusts its parameters, the synaptic weight in
response to an input stimulus so that its output response converges to the
desired output response. When the actual output response is the same as
the desired, the neural network has completed its learning phase and can be
said to have acquired knowledge. As different learning methodologies are
suited to different people, so do different learning techniques suit different
artificial neural networks.
39
Learning in artificial neural network can be classified into:
a. Supervised learning
b. Unsupervised learning
c. Reinforced learning
d. Competitative learning
e. Delta Rule
f. Gradient Decent Rule
g. Habbia Learning
The information gathering of ANN ranges from harmonized, systematic
learning to informal or impulsive learning. The details of the various
techniques are outside the area of this project work.
3.3 Data Analysis
Data available for the analysis of ANN are gotten from the examination of
how an agent can learn from success and failure, from rewards and
punishment. For example, we know an agent can learn to play chess by
supervised learning – by being given examples of game situations along
with the best moves for those situations. But if there is n o friendly teacher
providing examples, the agent can do nothing. By trying random moves,
the agent can eventually build a predictive model of its environment: what
the board will be like after it makes a given move and even how the
opponent is likely to reply in a given situation. The problem is thus:
40
without some feedback about what is good and what is bad, the agent will
have no grounds for deciding which move to make. The agent needs to
know that something good has happened when it wins and that something
bad has happened when it loses. This kind of feedback is known as a
reward or reinforcement. In games like chess, the reinforcement is received
only at the end of the game.
In other environments, the rewards come more frequently. In ping-pong,
each point scored can be considered a reward; when learning to crawl, ant
forward motion is an achievement. Our framework for agents regards the
reward as part of the input percept, but the agent must be “hard wired” to
recognize that part as a reward rather than as just another sensory input.
Thus animals see, to be hard wired to recognize pain and hunger as
negative rewards and pleasure and food intake as positive rewards.
Rewards served to define optimal policies in Markov Decision Policies
(MDPs). An optimal policy is a policy that maximizes the expected total
reward. The task of reinforcement learning is to use observed rewards to
learn an optimal ( or nearly optimal) policy for the environment. In a case
where an agent has a complete model of the environment and knows the
reward functions, assuming no prior knowledge of either. For example,
playing a game one knows nothing about the rules; after a hundred or so
41
moves, the opponent announces “you lose”. This is a kind of reinforcement
learning.
In many complex domains, reinforcement learning is the only feasible way
to train a programme to perform at high levels. For examples in game
playing, it very hard for a human to provide accurate and consistent
evaluations of large numbers of positions, which would be needed to train
an evaluation function directly from examples. Instead, the programme can
be told when it has won or lost and it can use this information to learn an
evaluation function that gives reasonably accurate estimates of the
probability of winning from any given position. Similarly, it is extremely
difficult to programme an agent to fly a helicopter; yet given appropriate
negative rewards for crashing, wobbling or deviating from a set course, an
agent can learn to fly by itself.
Reinforcement learning might be considered to encompass all of artificial
intelligence: an agent is placed in an environment and must learn to behave
successfully therein. For the most part, we will assume a fully observable
environment, so that the current state is supplied by each percept. On the
other hand, we will assume that the agent does not know how the
environment works or what its actions do, and we will allow for
probabilistic action outcomes. We consider three agent designs as follow:
42
- A utility – based agent:- learns a utility function on states and uses it to
select actions that maximize the expected outcome utility.
- A Q-learning agent:- learns an action value function or Q-function ,
giving the expected utility of taking a given action in a given state.
- A reflex agent:- learns a policy that maps directly from states to
actions.
A utility-based agent must also have a model of the environment in order
to make decisions, because it must know the states to which its actions
will lead. A Q-learning agent, on the other hand, can compare the values
of its available choices without needing to know their outcomes, so it does
not need a model of the environment. To illustrate these probabilistic
outcomes, we start with the case of a passive learning agent using a state-
based representation in a fully observable environment.
In passive learning, the agent’s policy ∏ is fixed in states; it always
executes the action ∏(s). Its goal is simply to learn how good the policy
is, that is, to learn the utility function U∏(s) using 4 x 3 world and
depicting a policy for that world / environment with the corresponding
utilities.
43
(a) (b)
Fig 3.3: (a) A policy ∏ for the 4 x 3 world
(b) The utilities of the states
In the figure above, (a) depicts a policy ∏ for the 4 x 3 world. This policy
happens to be optimal with rewards of R(s) = 0.04 in the non-terminal
states and no discounting.
(b) is the utilities of the states in the 4 x 3 world, given policy ∏.
The agent executes a set of trials in the environment using its policy ∏. In
each trial, the agent starts in state (1,1) and experiences a sequence of state
transitions until it reaches one of the terminal states, (4,2) or (4,3). Its
percepts supply both the current state and the reward received in that state.
Typical trials might look like this:
3 2 1
3 2 1
1 2 3 4 1 2 3 4
+1 +1
-1
-1
0.812
0.868
0.918
0.762
0.660
0.705
0.655
0.611
0.388
44
(1,1) (1,2) (1,3) (1,2)
(1,1) -0.04 (1,2) -0.04 (1,3) -.04 (2,3) -.04
(1,1) (2,1) (3,1) (3,2)
(1,3) -0.4 (2,3) -.04 (3,3) -.04 (4,3) + 1
(3,3) -.-4 (3,2) -.04 (3,3) -.04 (4,3) + 1
(4,3) -1
Each state percept is subscripted with the reward received. The object is to
use the information about rewards to learn the expected utility U∏ (s)
associated with each non-terminal state s. The utility is defined to be the
expected sum of (discounted) rewards obtained if policy ∏ is followed.
This is illustrated thus:
U∏ (s) = Ε [ Σϒt R(St)π.So = s] - - 3.3.1
For the 4 x 3 environment, Y is set at 1
3.4 Limitations of the Existing System
The applications of statistical learning techniques in AI was an active area
of research in the early years, [12] but lately, a resurgence of interest
occurred shortly after the introduction of Bayesian network models in the
late 1980’s. Owing to this development, basic documentaries of AU are
∝ t
45
inaccessible to modern engineers except with the knowledge of statistical
learning techniques [13].
The probabilistic interpretation of neural networks has several sources as
sited by Baum and Wilczek [14] and [15]. The role of the sigmoid function
is documented by Whitten, J et al [16]. In view of this; research on
artificial neural network has no harmonized documentation since each
researcher has his / her own views and scope of research.
Furthermore, utilization of artificial neural network has some limitations
owing to the fact that it depends on the internet for its functionality. A
failure in the web distribution therefore causes interruption in the operation
of artificial neural networking.
46
CHAPTER FOUR
SYSTEM DESIGN
ANN is a complex system consisting of agents which are made up of
neurons. These agents try to continue their life by eating and mating. They
use vision as input to their artificial neural network brain which utilizes
Habbian learning at its connection weights. The output of the brain
determines the behaviour of the agent.
4.1 System Specification
Agents have energy levels. This energy level decreases with each action
they perform even when doing nothing. Each agent has a chromosome and
this chromosome determines the structure of the agent’s artificial neural
network brain. Several distinct ANN encoding schemes are developed and
used in this study and some of them store the weights of the ANN in the
chromosome and some not. But all of them fully specify the architecture of
the neural network.
Firstly, the structures was designed using a fixed fully connected, strictly
layered feed-forward ANN. Genetic code stores only the weights of the
connections. Weights stored as real values in an array of constant length in
contrast to bit string. There are some studies on the evolution of artificial
47
neural networks that uses real values as the weights and there are some
using bit strings. Number of input neurons and output neurons are fixed.
Number of hidden layers and number of neurons in each hidden layer can
be specified before simulation starts. When a network is created, its
weights are initialized with a real number selected from a range of
uniformly distributed real numbers. Range of numbers can be specified
before simulation runs and typically gets the values from the interval like (-
3.0 3.0). When two agents mate, their genes are subjected to crossover
and mutation operators to get the genes of the child agent. Crossover is
applied to the genes array directly for this architecture. The maximum
number of crossover and probability of happenings a crossover when
producing the new genome can be specified globally.
Secondly, structure uses an encoding schema that encodes the existence of
the connections between neurons. Weights of the connections are not
encoded in the chromosome. Architecture is feed-forward as in the
previous architecture. But this time, it is not fully connected and strictly
layered. Hidden layers can still be said to exist but this time, a neuron can
have connections to the neurons in layers, which are not a neighbour to the
layer of that neuron. Here a layer is a neighbour of another if tat layer just
proceeds the other layer.
48
Chromosome is a bit string, that each bit represents the existence of a
connection between some neurons. Chromosome is produced from a
matrix representation of the neural network. Figure 4.2 shows a matrix that
represents the ANN showed in figure 4.1. While generating chromosome,
we use some known features of structure of the underlying neural network
to shorten the length of the bit string. The network can be represented by a
matrix of N x N (N is the number of neurons in the network) bits. But we
take advantage of our neural networks feed-forward structure: neurons can
be connected to other neurons only in one direction. So we need only an
upper triangular matrix to represent a feed-forward network. In addition to
that we also know that no connection goes into input neurons from other
neurons. By using that feature we can decrease the column and row sizes
of the representation matrix. Since we don’t have any connection to the
input neurons we can omit the first i columns of the matrix (where i is the
number of input neurons). Again we don’t have any connections from the
output neurons so we omit the last ‘o ’rows from the matrix (where ‘o’ is
the number of output neurons). In figure 4.2, gray shaded cells show the
representation matrix used for the ANN in figure 4.1
Figure 4.1: A simple feed-forward artificial neural network
1 3 5
2 4 6
49
Neurons 1 2 3 4 5 6
Input 1 0 0 1 0 0 1
2 0 0 1 1 1 0
3 0 0 0 1 0 1
4 0 0 0 0 0 1
Output 5 0 0 0 0 0 0
6 0 0 0 0 0 0
Figure 4.2: Connection matrix representing the Fig 4.1 ANN
When constructing chromosome, both of the properties are used to
minimize the length. Construction of chromosome is done by taking the
columns of the connection matrix and appending them one after the other.
So the bit string that constructs the chromosome of the ANN shown in
figure 4.1 can be written as;
11 011 0100 1011
The reason of adding columns together instead of rows is to hold all the
connections to a neuron in a group. This gains us an advantage when new
chromosomes are produced from this chromosome by using crossover.
With this structure, one can group these connections as functional units
and can preserve their structure while performing crossover operation on
them. Crossover operator does not divide the chromosome at these
50
functional units so the connection of a neuron stay intact after a crossover.
Representation of a crossover with functional groups is shown below;
1 1 0 1 1 0 1 0 0 1 0 1 1
Set 1
1 0 1 1 0 0 1 1 1 0 0 1 0
Set 2
1 1 0 1 1 0 1 1 1 0 0 1 0
Output
Fig. 4.3: Applying crossover operator
4.2 Hardware Subsystems Design
The hardware subsystems entail the individual subsystems that make up
the component of a web-based remote control system with artificial neural
network. These hardware subsystems include:
i. the input interface;
ii. the control systems;
iii. the output interface.
51
4.2.1 The Input Interface
The input interface includes the computer which can either be a PC or hand
set that houses the controlling software. Client computer receives state
information of electric motor, connection state and other information
related to the motor regulation via internet. Received information will be
processed and evaluated in remote computer. The server part contains a
serve computer, which is connected to the converter. Server contains all
required drives and devices for communication with the converter.
Communication of server with converter could be based on several ways
(RS 232, Profibus, CAN, USB etc). Sophisticated converters may be
Ethernet enabled and may be connected directly to the internet. But if the
client computer is located in outside network not in LAN where the
converter is located, the server computer is recommended.
4.4: The input gadget for a web-based remote control system with ANN
◊◊
-
^
1
4
7
*
-
-
2 3
5 6
8 9
0 #
52
4.2.2 The Control Systems
The server site and internet with satisfactory connection speed necessary
for successful remote regulation of DC motor via internet adequate with
control software is adopted in the control system of this design. A wireless
Bluetooth device with connection the handset is used to translate the web
logic into a understandable language by the DTMF decoder (MT8870DE)
which decodes the signal and sends same to a 32-pin Intel EM 47
Microprocessor; an advanced form of integrated circuit which typically
consists of transistors, capacitors, resistors, diodes and other circuit
component. This microprocessor combines the instruction – handling,
arithmetic and logical operations of the received signal on a single
semiconductor integrated circuit. The Digital Specialized Microprocessor
(DSP) processes the signal from the web with complex mathematical
formulas in artificial neural networking.
EM47 VCC
P1.0 P0.0
P1.1 P0.1
P1.2 P0.2
P1.4 P0.4
P1.5 P0.5
P1.6 P0.6
P1.7 P0.7
RESET SA
P3.0 ALE
P3.1 PSEN
P3.2 P2.7
P3.3 P2.6
P3.4 P2.5
P3.5 P2.4
P3.6 P2.3
P3.7 P2.2
XTAL2 P2.1
XTAL1 P2.0
SMD
VCC VCC
10чf
1kΩ
6Mhz
30чf 30чf
VCC
1kΩ
Fig. 4.5a and b: EM 47 Microprocessor
53
4.2.3 The Output Interface
The output interface consists of the relays, transistors, resistors, diodes and
electric motor. Common way for distance regulation is only start / stop of
electric motor setting wished value on remote computer. The regulator
itself (for instance PL regulator) is located on server site, or is
implemented in converter. Bus internet speed progress opens possibility
for web-based control from client site, so there is the possibility that
internet could be part of regulation loop. There could be thousand of
kilometers between client computer and server, or they could be in the
same room. The difference is in the communication delay, but generally
the system is the same. The communication service (the bus) can be
achieved by wired connection mostly Ethernet or wireless; very popular
WIFI. The relays are connected in parallel with the motor with a view of
clockwise and anti clockwise directional movement.
Fig. 4.6: The Output Interface of a Web-based ANN system
VCC VCC
12W DC Motor
54
4.3 The Software Subsystem
For a successful implementation of a web-based remote control with ANN
component, software subsystem is of paramount importance. The software
is made up of instructions and data which the hardware component of the
unit executes. These software are not seen for the machine runs them but
the effect of the program is seen from the reactions of the hardware
components. Each of this subsystem uses some internal data structures that
will be updated as new percepts arrive. These data structures are operated
on by the agent’s decision – making procedures to generate an action
choice which is then passed to the architecture to be executed. The
software is composed of three basic modules which include:
i. the control algorithm;
ii. the database design;
iii. the input / output arrangement.
4.3.1 The Control Algorithm
For the control of dc motor with ANN, the problem is to control the
position x of the rotor so that the pole stays roughly upright ( π/2),
while staying within the rotor track. The actions are usually discrete: jerk
left or right ie the so-called bang-bang control regime. The earliest work on
learning for this problem was carried out by Efrain, T et al [17]. Their
Boxes algorithm was able to balance the pole for over an hour after only
about 30 trials. Moreover, unlike many subsequent systems, Boxes were
implemented with a real rotor pole not a simulation. The algorithm first
discretized the four-dimensional state space into boxes – hence the name. It
55
then ran trials until the pole fell over or the rotor hit the end of the track or
point. Negative reinforcement was associated with the final action in the
final box and then propagated back through the sequence. It was found that
the discretization caused some problems when the apparatus was initialized
in a position different from these used in training, suggesting that
generalization was not perfect. Improved generalization and faster learning
can be obtained using an algorithm that adaptively partitions the state
space according to the observed variation of the reward. Nowadays,
balancing a triple inverted pendulum is a common exercise – a feat far
beyond the capabilities of most human.
For the control of maintainable software, a number of structured control
structures are sufficient to generate the software product. These constructs
avoid the use of GO TO statement except in extreme conditions. The
advantage of GO TO less programming is that there is a confusion when a
piece of software uses GO TO statements indiscriminately. Such a program
lacks structure and it is very difficult to debug. Some favoured control
structures include:
i. If – Then - Else;
ii. If – Then – Elself;
iii. Do While
iv. Repeat – Until etc
56
In the software development of an ANN real-time process, a combination
of If-then-else, if-then-elself, Do- while and Repeat – until constructs were
used.
4.3.2 The Database Design
In most designs, many existing information systems and applications are
built around conventional files with various conventional file organisations
are indexed, hashed, relative and sequential and their access methods
which are sequential and direct from a programming course. These
conventional files are likely in service throughout the designing period and
are referred to as database.
Conventional files are relatively easy to design and implement because
they are normally designed for use with a single application or information
system such as command prompt. The knowledge of the end-users output
requirements of a system enables one to determine the data that will have
to be captured and stored to produce those outputs and define the best file
organisation for those requirements.
Historically, another advantage of conventional file has been processing
speed. They can be optimized for the access of the application. At the same
time, they can rarely be optimized for shared use of different applications
57
or systems. Still, files have generally out-performed their database
counterparts; however, this limitation of database technology is rapidly
disappearing, thanks to cheaper and more powerful computers and more
efficient database technology.
Conventional files also have numerous disadvantages. Duplication of data
items in multiple files is normally cited as the principal disadvantage of
file-based systems. Files tend to be built around single applications without
regard to other (future) applications. Over time, because many applications
have common data needs, the common data elements get stored
redundantly in many different files. This duplicate data results in duplicate
inputs, duplicate maintenance, duplicate storage and possibly data integrity
problems (different files showing different values for the same data item).
In case of need to change data format, example in the case where the
original data format of ‘up’ as in arm lifting of a robot has to be adjusted to
four – digit code ‘down’ because these fields may be stored in many files
(with different names), each file would have to be studied and identified.
Subsequently, all of the programs that use these Zip Code and data fields
would have to be changed.
A significant disadvantage of files is their inflexibility and non scalability.
Files are typically designed to support a single application’s current
58
requirements and programs. Future needs – such as new reports and
queries – often require these files to be restructured because the original
file structure cannot effectively or efficiently support the new
requirements. But if we elect to restructure these files, all programs using
those files would also have to be rewritten. In other words, the current
programs have become dependent on the current files and vice versa. This
usually makes reorganization impractical; therefore, I elect to create a new,
redundant file (same data; structured differently) to meet the new
requirements. But that exacerbates the aforementioned redundancy
problem. Thus, the inflexibility and redundancy problems tend to
complicate one another.
Database technology offers the advantage of storing data in flexible
formats. This is made possible because databases are defined separately
from the information systems and application programs that will use them.
Theoretically, this allows one to use the data in ways not originally
specified by the end-users. Care was being taken to truly achieve this data
independence. If the database is well designed, different combinations of
the same data can be easily accessed to fulfill future report and query
needs. The database scope can even be extended without changing existing
programs that use it. In other words, new fields and record types can be
added to the database without affecting current programs.
59
Database technology provides superior scalability; meaning that the
database and the systems that use it can be grown or expanded to meet the
changing needs of an organisation. Database technology provides better
technology for client / server and network computing architectures.
Typically, such architectures require the database to run on its own server.
On the other hand, database technology is more complex than file
technology. Special software i.e Data Management System (DBMS) is
required. While a DBMS is still somewhat slower than file technology,
these performance limitations are rapidly disappearing. Considering the
long-term benefits described earlier, most new information systems
development is using database technology.
In the design of a web-based remote control with artificial neural
networking, database technology is preferred to information system with
careful considerations bearing in mind that all eggs are in one basket.
Therefore backup and recovery, security and privacy became important
issues in design. The database is stored in the server website with a backup
file stored in the client’s computer for sure recovery in case of any file
damage of system malfunction.
60
(a)
(b)
Fig. 4.4: Diagrammatic representation of (a) Conventional file
(b) Database.
Information System
File
File
File
File
Information System
Information System
Information System
Information System
Database (Consolidated & integrated data)
61
4.3.3 The Input / Output Arrangement
Today, most are designed by rapidly constructing prototypes. These
prototypes may be single computer – generated mockups or they may be
generated from prototype database structures such as those developed for
Microsoft Access. These prototypes area rarely fully functional, they won’t
contain security features, data ending or data updates that will be necessary
in the final version of a system. Furthermore, in the interest of
productivity, they may not include every button or control feature that
would have to be included in a production system.
During requirements analysis, inputs were modeled as data flows that
consist of data attributes. Even in the most thorough of requirements
analysis, one would miss requirements input design may introduce new
attributes or fields to the system. This is true especially if output design
introduced new attributes to the outputs implying the inputs must always
be sufficient to produce the outputs. Input arrangement can be classified
into two characteristics;
a. Data capture, entry and processing
b. Methodology and technology used.
a. Data capture, Data entry and Data processing
When one thinks of ’input’, one should think of input devices, such as
keyboards and mice. But input begins long before the data arrives at the
62
device. To actually input propelling data into a computer, the system
analyst may have to design source documents, input screens and methods
and procedures for getting the data into the computer (from user to form
the data-entry clerk to computer).
This brings us to our first step;
Data capture - stands for the identification and acquisition of new data as
soon as possible after it originates from its source documents. It is
preceded by data entry on the other hand which refers to the process of
translating the source data or document into a computer – readable format.
Because data entry used to be 100 percent keyboard – based, business
employed armies of data entry clerks. As on-line computing became
common, the responsibility for data entry shifted directly to system users.
Today another transformation is occurring. Thanks to personal computers
and the internet, some data entry has shifted directly to the consumer. In all
cases, data entry produced input for data processing.
Data processing is the process by which captured data is processed. In this
design, on - line processing is used for immediate processing of data as
soon as they are captured. Initially, data was entered at terminals. Today,
that same data is captured on PCs and workstations to take advantage of
their ability to perform some of the data validation and editing before it
gets sent to the server computers. Because of PCs, one rarely hears the
63
term on-line processing any more but client / server where the PC is the
client. But the emergence of the web as a platform for internet and intranet
applications may make a web browser the most important user interface in
the future. Microsoft Internet Explorer and Netscape Navigator are the
dominant browser interfaces in today’s market. This project work
addresses input design techniques for the windows client / server interface
and the browser interface. This project work also made use of remote batch
processing. Here, data was entered using on-line editing techniques;
however, the data is collected into a batch instead of being immediately
processed. Later, the batch was processed. A table showing the various
input devices and their arrangement is shown below.
Table 1: A table showing the various input devices and their arrangement
Process Method
Data Capture Data Entry Data Processing
Keypad Data usually captured on a business form that becomes the source document for input. Data can be collected real-time (over the phone)
Data entered via keypad. This is the most common input method, but also the most prone to errors.
OLD: data can be
collected into
batch files (disk)
for processing of a
batch.
NEW: data
processed as soon
as it has been
keyed.
Touch Screen Same as above Data entered on a touch screen
On PCs, touch screen choices are
64
display or hand held device. Data-entry users either touch commands and data choices or enter data using handwriting recognition.
processed same as above. On handheld computers, data is entered on the handheld for later processing as a remote batch.
Point-of –Sale Date is captured as close to the point of sale (or transaction ) as humanly possible. No source documents.
Data is often entered directly by the customer (e.g, ATM) or by an employee directly interacting with the customer (e.g, retail cash register). Input requires specialized, dedicated terminals that utilize some combination of the other techniques in this table.
Date is almost always processed immediately as a transaction or inquiry.
Sound Data is captured as close to the source as possible, even when the customer is remotely located (e.g, at home, or their place of employment).
Data is entered using Touch-Tones (typically from a telephone). Usually requires fairly rigid command menu structure and limited input options.
Data is almost always processed immediately as a transaction or inquiry.
Speech As above Data (and commands) are spoken. This technology is not as mature and much less reliable and common than other techniques.
Date is almost always processed immediately as a transaction or inquiry.
Optical Mark Data is recorded on optical scan sheets as marks or precisely formed letters, numbers, and punctuation. This is the oldest form of automatic
Eliminates the need for data entry. (Very commonly used in education for test scoring, course
Data is almost always processed as a batch.
65
data capture. evaluation, and surveys).
Magnetic Ink Data is usually processed on forms that are subsequently completed by the customer. The customer records additional data on the form.
A Magnetic Ink reader reads the magnetized data. The customer added data must be entered using another input method. This technique is used in applications requiring high accuracy and security. The most common of which is bank checks (for checks number, account number, bank ID).
Data is almost always processed as a batch.
Electromagnetic Data is recorded directly on the object to be described by data.
Data is transmitted by radio frequency.
Data is almost always processed immediately.
Biometric Unique human characteristic become data.
Data is read by biometric sensors. Primary applications are security and medical monitoring.
Data is processed immediately.
Output Arrangement
Before the availability of automated tools, analysts could sketch only
rough drafts of outputs to get a feel for how system users wanted outputs to
look. With automated tools, one can develop more realistic prototypes of
these outputs. Perhaps the least expensive and over looked prototyping tool
is the common spreadsheet. Examples include Lotus 1-2-3 and Microsoft
Excel. A spreadsheet’s tabular format is ideally suited to the creation of
66
tabular output prototypes. And most spreadsheets include facilities to
quickly convert tabular data into a variety of popular chart formats.
Consequently, spreadsheets provide an unprecedented way to quickly
prototype graphical output for system users.
Arguably, the most commonly used automated tool for output design is the
PC – database application development environment. Microsoft Access is
used mainly to prototype applications such as in artificial neural
networking. First, it provides rapid development tools to quickly construct
a single – user (or fewer - user) data base and test data. That data can
subsequently feed the output design prototypes to increase realism. In
designing of this project work, Access’s report facility was used to lay out
proposed output designs and testing with users was also done. May CASE
tools include facilities for report and screen layout and prototyping using
the Project repository created during requirements analysis.
Many issues apply to output design. Most are driven by human engineering
concerns (for examples induction motor) – the desire to design outputs that
will support the ways in which system user work. The following general
principles are important for output design:
1. Computer outputs should be simple to read and interpret. These
guidelines may enhance readability:
67
a. Every output should have a title.
b. Every output should be dated and time stamped. This helps the reader
appreciate the currency of information.
c. reports should include sections and headings to segment information.
d. In form-based outputs all fields should be clearly labeled.
e. in tabular-based outputs, columns should be clearly labeled.
f. because section headings, field names and column headings are
sometimes abbreviated to conserve space, reports should include or
provide access to legends to interpret those headings.
g. Only required information was displayed. In on-line outputs,
information hiding was used to provide methods to expand and contract
levels of detail.
h. Information should never have to be manually edited to become usable.
i. Information should be balanced on the report or display not too crowded;
not too spread out. Also, provide sufficient margins and spacing
throughout the output to enhance readability.
j. Users must be able to easily find the output, move forward and
backward and exist the environment.
k. Computer jargon and error messages was omitted from all outputs.
2. The timing of computer output is important. Output information must
reach recipients while the information is pertinent to transactions or
68
decisions. This can affect how the output is designed and
implemented.
3. The distribution of (or access to) computer outputs must be sufficient
to assist all relevant system users. The choice of implementation
method affects distribution.
4. The computer outputs must be acceptable to the system users who will
receive them. An output design may contain the required information
and still not be acceptable to the system use. To avoid this problem,
the systems analyst must understand how the recipient plans to use the
output.
Output design is not a complicated process. Some steps are essential and
others are dictated by circumstances. The steps are:
i. Identify system outputs and review logical requirements
ii. specify physical output requirements
iii. As necessary, design and preprinted external forms.
iv. Design, validate and test outputs using some combination of;
a. layout tools (e.g hand sketches, printer / display layout charts or CASE)
b. prototyping tools (e.g spreadsheet, PC DBMS, 4GL)
c. code generating tools (e.g report writer)
69
Power Supply Unit
The power supply unit of the converter uses either DC inbuilt current but
in this case an AC current with 240-220V from the main. A step down
transformer is utilized to bring down the current to 12V. The voltage is
further regulated with quite a number of 780S regulators to avoid over
supply of the 12V i.e the current that turns the rotor.
Fig. 4.5: The Power Supply Unit of a web-based ANN converter
4.4 The Project Block Diagram
Below is the diagrammatic representation of a web-based remote process
with Artificial Neural Networking. The design starts with the user using a
functional system (internet enabled) to build a program and deposit same
in a fast repository site on the web. From the repository site a call to
restructure the program can be made of which a new database is formed.
From the store of fast repository, the data is harnessed by the control /
output circuit i.e converter. The harnessed signal is further used to move
the rotor part of motor with the help of connecting interface. The rotor is
then connected to move any desired mechanical machine.
+
_
+ _
1
2 3
780S
Resistor
12V
500mA
220V
SND
VCC
1000чf
780S
1 2 3
1 = Input
2 = SND
3 = Output
Rotor
User
Write and Test New Programs (4)
Build and Test Networks (1)
Build and Test Databases (2)
Install & Test New Software Packages (3)
Control / Output Circuit
Software in the web
Fig 4.4c: Diagram of Implementation of Web-based process with ANN
Fast repository
New Database
Production database
Software Library
Design Specification Database Structure
Installed Network
Program Documentation
Technical Design Statement
New programs & Renewable Software Components
Reusable Software Components
Modified software specs & New integration requirement
Integration requirement & Program Documentation
Software Packages & Doc
Software Packages
Interface
Functional System
Database schemas
Revised database schemas & Test details
Sample Data Network design requirement
Network details
CHAPTER FIVE
SYSTEM IMPLEMENTATION
5.1 Hardware: The Subsystem Implementation
New systems usually represent a departure from the way installation is
currently done; therefore, the analyst provided a smooth transition from the
former system (design phase) to the new system (implementation phase).
Thus, the implementation phase delivers the production system into
operation. The functional system from the construction phase no doubt is
the key input to the implementation phase (and the project) is the
operational system that will enter the operation and support stage of the
entire system. The implementation phase considers the same building
blocks as the construction phase.
5.1.1 Input Interface Implementation
Different input devices such as keyboards, key pads and mice were used as
the input devices. In this section, interest is in the method and its
implementation than in the technology. Of a particular interest is how the
choice of a method affects data capture, entry and processing are described
in the previous chapter. Outside the keyboard, mouse, touch-screen and
point-of-sale terminals which are conventional input devices and are
known to be prone to errors owing to the data-keying nature, other modern
72
technological gadgets / phenomenon were used in the implementation of
this project work. They include:
Optical Mark: Optical Mark Recognition (OMR) technology for input has
been in existence for quite appreciable time. It is primarily batch
processing – oriented. The classic example is the optical mark forms used
for objective – based questions. The technology is also useful in surveys
and questionnaires or any other application where the number of possible
data values is relatively limited and highly structured.
Electromagnetic Transmission: Electromagnetic Automatic Data Capture
(ADC) technology is based on using signals (frequency) to identify
physical objects. In the implementation of artificial neural networking
using a realtime process, electromagnetic wave was tapped by the control /
output circuitry and subsequently used to turn the rotary part of a motor.
Biometric: Biometric ADC technology is based on unique human
characteristics of traits. For example, individuals can be identified by their
own unique finger print, voice pattern or pattern of certain veins. Biometric
ADC systems consist of sensors that capture an individual’s characteristic
or trait, digitize the image pattern and then compare the image with stored
patterns for identification. In the case of this project work, biometric ADC
technology was used to compare incoming data with the original data
73
stored at the fast repository on the web, on validation, access is granted.
This technology is particularly popular for systems that require security
access.
Because inputs originate with system users, human factors play a
significant role in input design. Inputs should be as simple as possible and
designed to reduce the possibility of incorrect data being entered. The
needs of system users must be considered. With this in mind, several
human factors were evaluated. This numerous considerations are given to
the data captured for input. The general principles followed in the project
design include:
- Capture only variable data; constants were not evaluated. For instance,
when deciding what element to include in programming input, we need
modules for all parts. However, part description is probably stored in a
database table;
- Do not capture data that can be calculated or stored in computer
programs;
- Use of codes for appropriate attributes: codes can be translated in
computer programs by using tables.
Secondly, in the bid to fulfill requirement for computer-based systems,
internal data controls were considered. Internal input controls ensure that
74
the data input to the computer is accurate and that the system is protected
against accidental and intentional errors and abuse, including fraud. The
following internal control guidelines were observed in the design of this
project work.
1. The number of inputs was monitored. This is especially true with the
batch method because source documents may be misplaced, lost or
skipped.
In batch systems, data about each batch was recorded on a batch control
slip. Data include modules and subsystems.
In on-line systems, each input transaction was logged to a separate
audit file so it can be recovered and reprocessed if there is a processing
error or if data is lost.
2. Care was taken to ensure that the data is valid. Two types of errors can
infiltrate the data: data – entry errors and invalid data recorded by
system users. Data-entry errors include copying errors transpositions
e.g. typing If-Else as Else-If or keying 345.36 as 3456.6. The following
techniques were used to validate data:
- Data type checks: ensured that the correct type of data is input, for
example, alphabetic data should not be allowed in numeric field.
75
- Existence checks: determine whether all required fields on the input
have actually been entered. Required fields should be clearly identified
as such on the input screen.
- Format checks: compare data entered against the known formatting
requirements for that data. For instance, some fields may require
leading zeros while others do not. Some fields use standard
punctuation e.g security numbers or phone numbers.
All these measures were adopted in the design of a remote web-based
process with artificial neural networking to ensure error free gadget.
5.1.2 The Control System Implementation
Implementation of the control system in the design of a web-based remote
process artificial neural networking is very important as well as sensitive in
that it manifests the reality of the software aspect of the system thereby
achieving the desired goal of moving the rotor part of an induction motor.
The arrangement was such that in the positional mode, (as shown below in
Fig 5.1a), the amplifier will control the servo mechanism’s position, a
resolution of up to 1000:1 being possible. This is achieved by comparing
the input command signal with a slave signal which is derived from a
positional transducer coupled to the servo mechanism. In practice, a slave
potentiometer is the most common transducer used, such as that employed
76
in the EM Servo-drive. Other feedback sources may also be used however,
such as light, thermal or pressure transducers. When connecting the
system, the polarity of potentiometers and tachogenerator (when used)
must be such that the motor moves the system towards the equilibrium
(break - point) rather than away from it.
Connection
Below is the connections for two EM 40 servo modules one used in the
velocity (control unit) and the other in the positional mode (output unit). A
nominal +20V DC supply is required such as that provided by the EM 47
power supply module which is capable of driving one EM 40 or three EM
40 servo channels at full power. The connections shown below illustrate
the use of potentiometers to derive command and positional slave signals
although if required, a voltage signal maybe fed directly to the EM 40
servo module. In addition with suitable interface circuitry, current signals
may be used for servo command, typical inputs being +20mA and
information on this application requirement is available as shown below.
Fig 5.1 a: Input / Control System
EM 4
7 24
0
220
115
0 ] 20+
20-
3 3/8’’ 2 7/8”
4” 4 1/3”
77
5.1.3 The Output Interface Implementation
As shown below, the output connection has one positional mode. The
connections illustrate the use of potentiometers to derive command and
positional slave signals. A voltage output of + 16V is fed directly into the
EM 40 servo module for the connection of the rotor part and subsequent
turning. When connecting the circuitry, the polarity of potentiometers and
tachogenerator is such that the motor moves the system towards the
equilibrium. The rotor part of the motor is expected to be fixed directly to
the desired object or target (arm of a robot as in this case of this project
work).
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
m
2KΩ
2KΩ
Slave
Command
-16V O/P
+16V O/P
-12V dc
+12V dc
Fig 5.1b: The output system
78
5.2 Software Subsystem Implementation
Software refers to instructions and data structured so as to generate a
software product which the computer executes. These constructs avoid the
use of GO TO statements except in extreme conditions. The advantage of
GO TO less statement is that it erases the obviously encountered problems
when a piece of software uses GO TO statements indiscriminately. Such
programs lack structure and are very difficult to debug. Most of the times,
GO TO statement encourages continuous running of a program hence
creating a non-stop scenario.
Software programs are not visible to the naked eye - for the machine runs
them but the effect of the program execution can be witnessed. Software
development is a step-by-step affair which spans from Initial Problem
Statement through Post Delivery Maintenance.
Some control structures are recommended because they avoid the use of
GO TO statements unless on extreme cases. These structures include:
a. Sequence;
b. If-Then-Else;
c. If-Then-Elself;
d. Case Construct;
e. Do While;
f. Repeat Until.
79
This project work makes use of Sequence, If-Then-Else constructs to build
a structured program that will be used to propel the rotor part of an
induction motor using artificial neural networking (ANN).
Furthermore, a pseudo code (English like statement stating actions in a
specific structure) was used to buttress the programming. Figure 5.2
illustrates the flow chart of the program construct with its pseudo code.
Fig 5.2: The Flow Chart
Confirm Authentification
(A)
BEGIN
Compare input with stored data in fast
Repository (B)
Call for alternative from (2) then
(D)
Compare data with stored information in the Fast Repository
(E)
EXIT If complementary
turn motor clockwise then (C)
Yes
No
80
Pseudo Code
BEGIN
DO Process A
DO Process B
IF Condition C is true THEN
END IF
ELSE
Process D
Process E
EXIT
5.3 The Database Implementation
This task involves system users, analysts, designers and builders. The same
system specialists that designed the database will assume the primary
responsibility in completing this task. System users may also be involved
in this task by providing or approving the test data to be used in the
database. When the database to be built is a non-corporate, applications –
oriented database, the system analyst must ensure installation requirements
compliance. The database designer will often become the system builder
responsible for the completion of this activity. The task may involve
database programmes to build and populate the initial database and a
81
database administrator to tune the database performance, add security
controls and provide for back-up and recovery.
The primary inputs to this task are the database schema(s) specified during
systems design. Sample data from production database maybe loaded into
tables for testing the databases. The final product of this task is an
unpopulated database structure for the new database. The term unpopulated
means the database structure is implemented but data has not been loaded
into the database structure.
In the design of this project work, the database was deposited in the fast
repository for comparison with any input and subsequent execution of the
required action. To achieve this, the system user inputs the data through the
system input components. With the help of build and test networks
components, input data are compared with original data stored in the fast
repository. If certified, upward movement is achieved with install and test
new software packages which in turn cross-checks with the software stored
in the website. On confirmation, the software causes the control / output
circuit to move in a clockwise direction. This clockwise movement then
turns the rotor part of motor. The interaction between the input data, stored
data in the fast repository and the software in the web is referred to as the
82
artificial neural networking and for this project design, this phenomenon is
utilized to move the motor hence a web-based process.
5.4 System Testing
To test the parallel ANN, a set of inputs with known outputs were created,
and then processed by both the parallel and non-parallel ANN. Several test
files were run, ranging in size from 10 upto 10 million entries. The test
environment was a sun work station with two AND Opteron processors
(essentially a shared memory environment) and 3 GBs or memory. Mpich
1.2.7 was used in conjunction with PETSc 2.3.1 on fedora Core 3 x 86 – 64
and all code was compiled with GCC 3.4.2 and glibe 2.3.3. There were
several different expectations for the parallel ANN.
5.4.1 The Test Plan
First, the parallel implementation should always return the same result as
the single processor implementation. Secondly, the performance of the
parallel ANN compared to the non-parallel ANN should vary based upon
the number of inputs in a given network and the number of entries in a test
file, with test inputs having the larger number of inputs resulting in better
performance of the parallel ANN. Similarly, test files with a larger number
of entries should perform better than test files with a smaller number of
entries. As expected, the parallel ANN produced the correct output for the
83
given input. While some performance degradation was expected due to
MPI overhead, it was theorized that a sufficiently large number of inputs or
entries in a test file would mitigate this effect resulting in a net
performance gain. This was not the case. The parallel ANN performed
somewhat worse than the single processor network in all the tests, although
the actual performance difference (as was expected). The table below
illustrates the expected and actual results of the test experiment.
Table 2: Illustration of Expected and Actual results from test Experiment
Test Data Expected Test Result Actual Test Result
Parallel ANN with AMD
Opteron processors with
files ranging from 10 to
1 million characters
Parallel implementation is
expected to give the same
result as in single processor
implementation
same
“
Secondly, when compared
with non-parallel processor
implementation
Only large entries gave
the desired result.
Parallel ANN with
Opteron processors with
multiple entries of data
It is expected that large
input in a test file would
mitigate this effect resulting
in a net performance gain
The parallel ANN
performed somewhat
worse than the single
processor network in
all the tests
Although the parallel ANN proved successful during testing, further tests
on larger distributed systems would help to accurately gauge the systems’
performance in more diverse environments. Additionally, analysis of the
84
code in a variety of environments might allow for improvements in the
parallel ANN’s performance.
5.4.2 Hardware Subsystem Testing
The hardware components involved in this project design include:
Computer (with its input components parts);
The Control / Output circuitry and;
The motor.
These components exhibited satisfactory tendencies owing to the fact that a
hard powered Nokia handset with Bluetooth was partitioned and used. The
ROM & RAM were of high speed, all these to ensure a high speed system.
For Control / Output circuitry, EM 47 power supply modulation which is
capable of driving three EM 40 servo channels at full power was used to
ensure maximum output of the motor.
5.4.3 Software Subsystem Testing
Initially, a serial ANN was written, then a parallel implementation. In an
attempt to keep the code simple but functional, a perception was used in
the construction of these networks. Most calculations performed by
neurons in an ANN can be expressed as vector operations, operations
which are very common in parallel computing. This factor resulted in a
85
high performance toolkit with extensive parallel vector and matrix support,
being utilized when moving the serial code to a parallel implementation.
5.5 Performance Evaluation
Upon complete testing of various subsystems involved in the design of a
web-based remote process with artificial neural networking, the
subsystems were coupled to form the designed system. The designed
project work was found to exhibit 85% out of 100% normal performance.
The main areas where performance improvements are expected are within
the neuron calculations. Each neuron performs these calculations and as
mentioned earlier (Chapter 2), the calculations are independent of the
calculations performed by the other neurons on its layer. Additionally, the
simplicity of these calculations allow for an entire layer to be generalized
in a single operation: taking the dot product of the weights column vector
with the input vector and passing the result to the output function. This
results in simplification of neuron calculations, moving from a nested loop
to a single loop.
5.6 Project Packaging
The main component of the project work that requires packaging is the
Control / Output unit. The control parts which include potentiometers,
transducers, resistors, micro processors etc were connected on a Vero
86
board. The output unit i.e the motor was connected to the Vero board via
the interface. The whole components were packaged in an aluminum
container. The aim is to make the gadget as light as possible while
maintaining the original aim of using this very gadget as the socket joint of
the arm of a robot.
5.7 Project Costing
The total expenditure of the project which is the sum of individual cost of
components used and those damaged in the course of construction is
itemized in table 3 below
Unit Component Cost per Unit (N) Total Cost (N)
1 Switch 150 150
1 EM 47 Micro processor
1500 1500
2 EM 40 Micro processor
850 1700
2 Battery 50 100
2 Potentiometer 700 1400
3 Resistor 80 240
1 Diode 25 25
1 Vero Board 350 350
1 Rubber casing 400 400
Total 5865
87
The individual cost for one project package is as stated above but mass
production will definitely bring down the price as purchases would be in
bulk.
5.8 Deployment
After packaging, the designed project was deployed from the laboratory to
the school archives where it will be kept for further research.
88
CHAPTER SIX
SUMMARY AND CONCLUSION
6.1 Summary of Achievement
At a glance, artificial neural technology offers much to the field of control.
The method is highly effective at solving certain classes of problems
ranging from robot control, physics simulation, mathematical models, and
stock market prediction to analysis of protein. Classical computational
methods are not effective at solving these problems. This project work
addresses a parallel neural network implementation in the control of the
rotor part of a motor, the artificial neural networks’ relative strengths and
weaknesses and concluded by considering future improvement to the
system.
6.2 Problems Encountered
In the course of design, it was discovered that the diode was heating; lines
on the Vero board were short circuited and as such separated.
Secondly, it was observed that the rotor moved 360º at the command
prompt, the stored program in the fast repository was structured to move
the rotor to angle 45º.
Lastly, the designed gadget was excessively hot after few minutes’
operations; the potentiometer was adjusted to regulate incoming voltage.
89
6.3 Recommendations
Though this project work was successfully achieved, the following
recommendations could be made to improve on the output of the artificial
neural networking:
1. In an attempt to keep the code simple but functional, a perceptron was
used in the construction of the neural networks; for the design to be
thorough, perceptrons should be used and high integral packages and
matrixes should be used to obtain the actual result.
2. Packages (e.g Cactus) that offer access to wide variety of HPC tools,
including parallel Input / Output file and also high precision timers
should be utilized for a precise result.
3. Main area where the researcher recommends improvement is within the
neuron calculations. Since each neuron performs this calculation,
multiple neurons (which were not used due to the period of time
involved and financial constraints) should be used for a better result.
6.4 Suggestions for Further Improvement
In as much as this project work dealt on better part of ANN as an agent in
web-based remote process control, a lot of work is still undone due to lack
of time and finance on the part of the researcher to widen the scope of
research. The researcher then suggests areas for further study which
include;
90
- Artificial Neural Networking as an agent in web-based remote control
process without the use of server computer;
- Remote control process with Graphical User Interface (GUI) and;
- Use of ANN in Digital Signal Processing (DSP).
6.5 Conclusion
Many control elements have been embedded with internet enabled
functions. Today’s technology allows possibility that regulation system
could be connected directly to the internet (with the aid of a server
computer). When Ethernet as a bus is compared with other standard types,
the advantages include unlimited size of bus, possible huge distance, open
system of the internet protocol and accessibility of the internet. As
measured data shows, utilization of Artificial Neural Network in remote
regulation could be a useful contribution. The highest advantage of ANN is
a possibility to learn even when it is in operation.
91
REFERENCES
[1] Vince, T., ANN in Remote DC Motor Speed Regulation via Internet,
Technical University of Kosice. XI International Ph.D Workshop.
OWD. 12 – 20 October 2009.
[2] Anderson, J. R., The Architecture of Cognition. Harvard University
Press, Cambridge, Massachusetts. pp 342 – 380. 1977
[3] Artificial Neural Networks. Artificial Intelligence Technologies tutorial
Copyright. 2010.
[4] Denker P., Approximating probalistic inference in Bayesian belief
networks is NP-hard: Artificial Intelligence, 1st Ed. pp. 141 – 153.
2000.
[5] Wilson, C. L., “Massively parallel neural network recognition”
International Joint Conference on Neural Network. Vol 3: pp
11.1992.
[6] Haykin, S. S., Neural Networks: A Comprehensive Foundation. Upper
Saddes River NJ. Prentice Hall. 2nd Ed. 1991
[7] Anderson, J. A. and Rosenfeld, E., Neurocomputing: Foundations of
Research, MIT Press, Cambridge, Massachusetts. pp 144-200. 1980.
[8] Pearlmutters T., The Semantic Web. Scientific American, 5th Ed. pp 34
– 43. 1990.
92
[9] Adaline H. J. and Kohonen, P. R., Intention is choice with
commitment: Artificial Intelligence, MIT Press, Cambridge,
Massachusetts. pp. 213-261. 1977
[10] Inyiama, H. C., Artificial Intelligence: an unpublished class note.
2009
[11] Hebb, D. O., The Organization of Behaviour. Wiley, New York. pp
240 – 256. 1949
[12] Heckerman, D., Probabilistic interpretation for MYCIN’s certainty
factors. In Kanal, L. N. and Lemmer, J. F. (Eds). Uncertainty in
Artificial Intelligence, Elsevier/North – Holland, Amsterdam,
London, New York. pp. 167 – 196. 1986.
[13] Bayes, T., An essay towards solving a problem in the doctrine of
chances, Philosophical Transactions of the Royal Society of London,
pp 53, 370 – 418. 1763.
[14] Baum, E and Wilczek, F., Supervised Learning of Probability
Distributions by Neural Networks in Anderson, D. Z. (Ed), Neural
Information Processing Systems, American Institute of Physics,
New York. pp 52 – 61. 1988
[15] Bridle, J. S., Probabilistic interpretation of feedforward classification
network outputs with relationships to statistical pattern recognition,
In Fogelman Soulie, F. and Herault, J. (Eds). Neurocomputing:
93
Algorithms, Architecture and Applications, Springer – Verlag,
Berlin. pp 56-90. 1990
[16] Whitten, J. L, Bentley, L. D and Dittman, K. C, Systems Analysis
and Design Methods, 5th Ed. Irwin / McGraw – Hill, New York. pp
231-430. 2001
[17] Efrain, T., Jay, A. and Ting-Peng, L., Decision Support Systems and
Intelligent Systems. 7th ed. Prentice Hall of India New Delhi. Pp
250-300. 2007.
APPENDIX A
2KΩ 2KΩ
EM 47 240v < 40
220v
118v
0
+ 20
- 20
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
˚
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
M M
SWITCHES
COMMAND COMMAND
SLAVE
+ 16V Output
+ 16V Output
- 16V Output
- 16V Output
EM 40 TERMINALS
EM 40 TERMINALS
+ 12V dc
- 12V dc
- 12V dc
+ 12V dc
+ 20V dc
2KΩ
N E L
Fig. 5.1C: Full Schematic Diagram of the System Implementation
APPENDIXES
APPENDIX B
Software Details
Initial Serial Pseudo Code for Calculations:
for x = 0; x < OUTPUTS; x + +
for y = 0; y < INPUTS; y + +
value + = weights [x] [y] * inputs [y];
output [x] = out func value;
Parallel Pseudo Code for Calculations
for x = 0; x < OUTPUTS; x ++
value [x] = out func weights [x] <DOT> input;
Note: Experiments and Software details were done by Ing. Tibor Vince for XI
International Ph.D Workshop. OWD 2009, 17th – 20th October 2009 sponsored by
Czechoslovakian government and stored strictly for government use at the
Technical University of Kosice.
96
APPENDIX C