On Major Projectwork Automation in Cafes Using Robots
On Major Projectwork Automation in Cafes Using Robots
On
MAJOR PROJECTWORK
Submitted to
The Faculty of Engineering and Technology of
Kakatiya University, Warangal
in partial fulfillment of the requirements
to award
Bachelor of Technology
in
Information Technology
BY
i
CERTIFICATE
ii
ACKNOWLEDGEMENT
We wish to take this opportunity to express our deep gratitude to all the people who have
extended their cooperation in various ways during our Major Project. It is our pleasure to
acknowledge the help of all those individuals.
We thank Dr.P.Kamakshi, Professor & Head, Department of Information Technology for her
constant support in bringing shape to this Project.
In completing this Major Project successfully all our faculty members have given an
excellent cooperation by guiding us in every aspect. All your guidance helped us a lot and we
are very grateful to you.
iii
CONTENTS
Abstract vi
List of Figures vii
List of Tables viii
1. Introduction
1.1 Introduction to Cloud Computing 1
1.2 Cloud Deployment Model 2
1.3 Cloud Service Model 2
1.4 Resource Allocation in Cloud Computing 2
1.5 Objective 3
2. Literature Survey 5
3. Methodology
3.1 Existing System 8
3.2 Proposed System 9
4. Design
4.1 Software Requirement Specification 10
4.2 UML Diagrams 11
4.2.1 Use case Diagram 13
4.2.2 Class Diagram 13
4.2.3 Sequence Diagram 13
4.3 Data Flow Diagram 14
5. Implementation
5.1 Modified Round Robin Algorithm 15
5.2 Experimental Result Analysis 16
5.2.1Performance Evaluation 17
6. Testing
6.1 Testing Objectives 22
6.2 Testing Principles 22
6.3 Testing Techniques 23
6.4 Testing Strategies 23
6.5 Test Case Preparation 23
6.6 Test Case Verification 24
7. Result 25
7.1 Simulation and Result
8. Conclusion and Future Scope 27
Bibliography 28
iv
ABSTRACT
The Project “Automation in Cafes using robots” enables the end users to register online,
read and select the food from e-menu card and order drinks online by just selecting the drink
that the user want to have using android application. The results after selecting the drink from
the E-menu card will directly appear on the screen near the Chef who is going to prepare the
drink for you. The system is the combination of Android as well as Web Application. By
using this application the work of the waiter is reduced and we can also say that the work is
nullified. The benefit of this is that if there is a rush in the Canteen then there will be chances
that the waiters will be unavailable and the users can directly order the food to the chef online
by using this application. The user will have a username and a password, by using which they
can login into the system. This implies that the customer is the regular user of theCanteen.
The manual system involves paperwork in the form of maintaining various files and manuals.
Maintaining critical information in the files and manuals is full of risk and a tedious process.
Including a framework showing how to apply Internet technology progressively as skills and
confidence grow, the project demonstrates the route from adapting materials to developing an
online environment.
Nowadays people don’t have much time to spend in cafes by just there and waiting for the
waiter to take their order. Many customers visit the cafe in their lunch break and recess so
they have limited time to drink and return to their respective office and colleges. So this
software helps them to save time and order drinks whenever they want without calling the
waiter again andagain.
v
LISTOF FIGURES
LIST OF TABLES
vi
Table No. Name Page No.
vii
CHAPTER 1
INTRODUCTION
1.1 Introduction
In today’s age of fast automation in cafes, many cafes have chosen to focus on quick
preparation and speedy delivery of orders. Until very recently, all of this delivery of orders
were placed over the phone, but there are many disadvantages to this system, including the
inconvenience of the customer needing to have a physical copy of the menu, lack of a visual
confirmation that the order was placed correctly, and the necessity for the canteen to have an
employee answering the phone and takingorders.
The main advantage of an online ordering system is that it greatly simplifies the ordering
process for both the customer and the canteen. When the customer visits the ordering web
page, they are presented with an interactive and up-to-date menu, complete with all available
options and adjusting prices based on the selected options. After making a selection, the item
is then added to their order, which the customer can review the details at any time before
checking out. This provides instant visual confirmation of what wasselected.
This system also greatly lightens the load on the canteen’s end, as the entire process of taking
orders is automated. Once an order is placed on the web page, it is entered into the database
and then retrieved, in pretty much real-time, by a web-based application on the canteen’s end.
Within this application, all items in the order are displayed, along with their corresponding
options and delivery details, in a concise and easy to read manner. This allows canteen
employees to quickly go through the orders as they are placed and produce the necessary
items with minimal delay andconfusion.
viii
1.2 Purpose of Project
Automation System is the system where customers order their drinks and
receive drinks in the cafe without any delay as they can directly go and
collect what they ordered without waiting for a turn or waiting time. This
system aims to accelerate customer orders and customer order system
used by employees to accept customerorder.
The system will provide fast and efficient automated environment instead
of slow and error prone manual system, thus reducing both time and
manpower spent in running the system.
The system will have GUI interface and very less user training is required to learnit.
ix
CHAPTER 2
LITERATURE SURVEY
Liji Jacob proposed a Bat algorithm which is simulated by Bat behavior. Bats are the
mammals with wings. The three guidelines for the development of bat algorithm are Bats use
x
echolocation to sense the distance and difference between food or prey and barriers even in
the darkness. Bats fly randomly to search prey with velocity, fixed frequency and loudness;
the loudness varies from the large loudness to the minimum loudness. The best location of a
bat to its prey indicates the quality of the solution. For evaluating the performance of this
algorithm, two patterns are considered i.e. makespan and cost. The makespan indicates total
execution time and is measured in seconds. The cost indicates cost per unit resources and is
measured in dollars.
Disha Patelproposed Hungarian method for resource allocation. One of the problem in
transportation problem is an assignment problem where the objective is to assign a number of
resources to an equal number of tasks so as to diminish the total cost or exploit the total
income of allocation. To solve this problem, Hungarian method is used. The main objective
of this method is to give an optimal solution of the assignment problem. In this algorithm, the
priority of the task is considered as the length of the task. The task with longer length should
have high efficient resources so that the execution time of the resources is balanced and the
total execution time is also reduced. A table is created based on the value of data for solving
the assignment problem. In cloud computing, a table is formed based on the task and reserve
to resolve an assignment problem. With respect to table, resource is denoted in columns and
tasks are denoted in rows.
xi
BaominXua proposed the Berger model which is based on expectation states. The
idea behind this model is two-fairness constraints job scheduling that is shown in cloud
computing. This algorithm deals with the effective implementation of user tasks with advance
fairness. In future work, the author plans on dealing with building a fuzzy neural network of
‘QoS feature vector of task’ and ‘Parameter vector of resource’ based on the non-linear
mapping relationship between QoS and resource.
PandabaPradhanet all proposed Modified RR. This algorithm starts at the time of the
first request and changes after the end of the first request.When a new user request is added
into the ready queue, the algorithm calculates the average of requests in the ready queue and
even the new arrival request. This requirements two registers: (i)SR: To supply the sum of
the residual burst time in the ready queue and (ii)AR: To supplyusual of the burst time by
separating the value create in the SR register by the count of needs found in the ready queue.
After the execution, the request will be detached from the ready queue once it appearances its
burst time.Otherwise the request will be motivated to the end of the ready queue. SR will be
reorganized by deducting the time disbursed by this request. Thenew data will be updated to
AR. This algorithm is implemented in MATLAB.
xii
CHAPTER 3
METHODOLOGY
A serving robot in restaurant to automate the restaurants. In some previous existing system’s
project they have discussed some issues in existing serving robots in China and Japan, and ordering
to a robot is one from that issues.
They have developed a prototype of a mecanum wheeled based mobile waiter robot for trial runs in
a casual dining food outlet. Unlike existing waiter robots, it is autonomous, has higher payload and is
able to travel and dock at the target table, Preliminary tests show that autonomous navigation is
allready achieved
A serving robot is a robot that carries out useful tasks for human beings or replaces equipment [28].
These robots are used for various goals such as cleaning, cooking, healthcare, and serving as a
collaborator
We have various kinds of paper works in the existing system but the implimentation is not done yet.
So we are trying to implement the existing paper worked System.
This project is focusing on introducing ordering system along with robotic waiter in
restaurants in India. It is a web based application that a customer can open on their smart
phone. This system will help restaurants and hotels to increase their star rating and reduce the
human error at the time of taking orders. Already hotels are doing new experiments to get
notice by customers. For that they are registering in online applications also. Our application is
basically for the robotic restaurants to automate them .
xiii
The automation in restaurants that we are proposing will bring technology in the
restaurants. The traditional method of human waiter and menu on paper is very time
consuming, where we have to wait for waiter to order. Whereas in robotic restaurants, with our
application the customer just have to order via his or her mobile phone and do not need to wait
for waiter
our proposed system will bring convenience for customer as they do not have to wait for
waiter to come and take their order. They can just enter the dining room and will order directly
by their smart phones and later a robot will facilitate them by serving delicious meal
xiv
CHAPTER 4
DESIGN
The external system is to assume full responsibility for storage functions as well as
warehouse management and warehouse control for an entire warehouse. The interfaces in this
section are specified by documenting: the name and description of each scheme, source or
input, destination or output, ranges, accuracy and tolerances, units of measure, timing, display
formats,and organization, and data formats.
The user interface required to be developed for the system should be user friendly and
attractive. The interface between the user and the system will be WIMP (Windows, Icons,
Menu, Pointers) keeping in mind that the system is to be run through a web browser. All
operations will be off point and click nature with all navigations performed through windows
of the system specifically buttons and menus
20 GBHDD
256 MB RAM
Pentium IVProcessor
InputDevices: Keyboard,Mouse
Output Devices: Monitor, Printer
xv
Operating System: Window XP andabove
Browsers :Chrome or any other latest web page supportingbrowser
Users of the canteen automation system, namely canteen customers, must be provided the
following functionality:
Create anaccount.
Manage theiraccount.
Log into thesystem.
Navigate the canteen’smenu.
Select an item from themenu.
Customize options for a selecteditem.
Add an item to their currentorder.
Review their currentorder.
Remove an item/remove all items from their currentorder.
Provide paymentdetails.
Place anorder.
Receive confirmation in the form of an ordernumber.
The menu management system will be available only to canteen employees and will, as the
name suggests, allow them to manage the menu that is displayed to users of the web ordering
system. The functions afforded by the menu management system provide the user with the
ability to, using a graphical interface:
xvi
Update additional information (description, photo, etc.) for a given fooditem.
Of the three components, the order retrieval system is functionally the simplest. Like the
menu management system, it is designed to be used only by canteen employees, and provides
the following functions:
Each of the system components will have their own unique interface. These are described
below.
Users of the web ordering system will interact with the application through a series of simple
forms. Each category of food has its own form associated with it which presents a drop down
menu for choosing which specific item from the category should be added to the order.
Adding an item to the order is accomplished by a single button click. Users select which
category of food they would like to order, and therefore which form should be displayed, by
navigating a menu bar, an approach which should be familiar to most users.
Entering delivery and payment deals is done in a similar manner. The user is presented with a
form and must complete the required fields, which include both drops down and text boxes,
before checking out and receiving a confirmation number.
xvii
Non-functional Requirements:
Performance Criteria:
Time:
The elapsed time between the submission of order process between the customer and cashier
in a canteen should be as minimum as possible.
User-Friendly:
The user interface should be kept simple and uncluttered. Since the different type of people
will interact with this process so our project should be very easy to them to understand.
Flexibility:
Our project should be so flexible that whenever we want to make changes in it very easily it
can be done.
Portable:
Our project should be portable on any platform and available on websites easily and at a
faster speed than others.
Reusable:
All the customer web pages that are being used for customer information should be easily get
processed .so that many customers can interact with us very easily and very fast without any
information destroy.
xviii
The goal is for UML to become a common language for creating models of object-
oriented computer software. In its current form UML is comprised of two major components:
A Meta-model and a notation. In the future, some form of method or process may also be
added to; or associated with, UML.
The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.
The current UML standards call for 13 different types of diagrams: class, activity,
object, use case, sequence, package, state, component, communication, composite structure,
interaction overview, timing, and deployment. These diagrams are organized into two distinct
groups: structural diagrams and behavioral or interaction diagrams.
Structural Diagrams
• Class diagram
• Package diagram
• Object diagram
• Component diagram
• Deployment diagram
Behavioral Diagrams
• Sequence diagram
• Collaboration diagram
• Class diagram
xix
• State diagram
• Communication diagram
• Timing diagram
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors
in the system can be depicted.
Login
Enter ID&
PasswordCheck ID&
«include»Password
«extend»
«extend»
Deny Access
Grant access
Valid User
«include»
xx
4.3.2 Class Diagram
xxi
CHAPTER 5
IMPLEMENTATION
5. DESIGNTECHNIQUES:
The design of the site has been done using the following technologies: -
HTML,CSS
PHP
MySQL
In computing, Hypertext Markup Language (HTML) is a markup language designed for the
creation of web pages with hypertext and other information to be displayed in a web browser.
HTML is used to structure information denoting certain text as headings, paragraphs, lists
and so on and can be used to describe, to some degree, the appearance and semantics of a
document. HTML’s grammar structure is the HTML DTD that was created using SGML
syntax.
The HTML document format is used on the Web. Web pages are built with HTML tags
(codes) embedded in the text. HTML defines the page layout, fonts, and graphic element as
well as the hypertext links to other documents on the web. Each link contains the URL, or
address, of a Web page residing on the same server or any server worldwide, hence “World
WideWeb”.
HTML2.0wasdefinedbytheInternetEngineeringTaskForce(IETF)withabasicsetof features,
including interactive forms capability. Subsequent versions
addedmorefeaturessuchasblinkingtext,custombackgroundsandtablesofcontents.However,each
newversionrequiresagreementonthetagsused,andbrowsersmustbemodifiedtoimplementthoseta
gs.HTMLisamarkuplanguage(theMLinHTML)thatusesafixedsetofmarkuptags.
xxii
A markup language can also be thought of as a “Presentation Language”, but it
isnotaprogramminglanguage.Youcannot“ifthis-dothat”likeyoucaninJava,JavaScriptorC++.
As a result, the source code behind today’s Web pages is often a hideous concoction of tags
and scripting.
It is a stylesheet language used for describing the look and formatting of a document written
in a markup language. While most often used to change the style of web pages and user
interfaces written in HTML and XHTML, the language can be applied to any kind of XML
document, including plain XML, SVG, and XUL. Along with HTML and JavaScript, CSS is
a cornerstone technology used by most websites to create visually engaging Webpages, user
interfaces for web applications, and user interfaces for many mobileapplications.
5.2 PHP
PHP is a server-side scripting language designed for web development but also used as a
general-purpose programming language. As of January 2013, PHP was installed on more than
240 million websites (39% of those sampled) and 2.1 million web servers.2 Originally
created by Rasmus Lerdorf in 1994, the reference implementation of PHP (powered by the
Zend Engine) is now produced by The PHP Group. While PHP originally stood for Personal
Home Page, it now stands for PHP: Hypertext Preprocessor, which is a recursive backronym.
PHP code can be simply mixed with HTML code, or it can be used in combination with
various templating engines and web frameworks.
PHP code is usually processed by a PHP interpreter, which is usually implemented as a web
server’s native modular a Common Gateway Interface (CGI) executable. After the PHP code
xxiii
is interpreted and executed, the web server sends resulting output to its client, usually in form
of a part of the generated web page – for example PHP code can generate a web page's
HTML code, an image, or some other data. PHP has also evolved to include a command-line
interface (CLI) capability and can be used in standalone graphicalapplications.
5.3 MySQL
Modern day websites seem to be relying more and more on complex database systems. These
systems store all of their critical data and allow for easy maintenance in some cases. The
Structured Query Language (SQL) is a very popular database language, and its
standardization makes it quite easy to store, update and access data. One of the most powerful
SQL servers out there is called MySQL and surprisingly enough, it’s free. Some of the
features of MySQL Include: Handles large databases, in the area of 50,000,000+ records. No
memory leaks. Tested with a commercial memory leakage detector (purify). A privilege and
password system which is very flexible and secure, and which allows host-based
verification. Passwords are secure since all password traffic when connecting to a server
isencrypted
6. TIER ARCHITECTURE:
The various classes as obtained from the business class diagram is categorized as follows-
xxiv
Presentation Layer - The website or windows forms application is called the presentation
layer. The presentation layer is the most important layer simply because it’s the one that
everyone sees and uses. Even with a well-structured business and data layer, if the
presentation layer is designed poorly, this gives the users a poor view of the system. The
presentation layer is the form where we design using the controls like textbox, labels,
command buttonsetc.
Business Layer - Though a website could talk to the data access layer directly, it usually
goes through another layer called the businesslayer.
This layer is a class which we use to write the function which works as a mediator to transfer
the data from Application or presentation layer data layer. In the three-tier architecture, we
never let the data access layer to interact with the presentation layer.
This layer is also a class where we declare the variable corresponding to the fields of the
database which can be required for the application and make the properties so that we can get
or set the data using these properties into the variables. These properties are public so that we
can access itsvalues.
One of the best reasons for reusing logic is that applications that start off small usually grow
in functionality. For instance, a company begins to develop a website, and as they realize
their business needs, they later decide to add a smart client application and windows service
to supplement the website. The business layer helps move logic to a central layer for
“maximum reusability.”
clientapplication
servercomponent
Data layer - The key component to most applications is the data. The data has to be served to
the presentation layer somehow. The data layer is a separate component whose sole purpose
is to serve up the data from the database and return it to the caller. This layer is also a class
which we use to get or set the data to the database back and forth. This layer only interacts
with the database. We write the database queries or use stored procedures to access the data
from the database or to perform any operation to the database.
xxv
•Client-Server architecture is 2-Tier architecture because the client does not distinguish
between Presentation layer and business layer.
•The increasing demands on GUI controls caused difficulty to manage the mixture of source
code from GUI and Business Logic.
•Further, Client Server Architecture does not support enough the Change Management. Let
suppose that the government increases the Entertainment tax rate from 4% to 8 %, then in the
Client-Server case, we have to send an update to each client and they must update
synchronously on a specific time otherwise, we may store invalid or wrong information.
•The Client-Server Architecture is also a burden to network traffic and resources. Let us
assume that about five hundred clients are working on a data server then we will have five
hundred ODBC connections and several ruffian record sets, which must be transported from
the server to the clients.
•This categorization of the application makes the function more reusable easily and it
becomes too easy to find the functions which have been written previously. If the
programmer wants to make a further update in the application then he easily can understand
the previously written code and can update easily.
DISADVANTAGES
Increase complexity/effort
More difficult to build 3 tier architecture rather than a 2tier.
Points of communication aredoubled
Maintenance tools are currently inadequate for maintaining serverlibraries.
CHAPTER 6
xxvi
TESTING
• A successful test is one that exposes a yet undiscovered error. If testing is directed
successfully it will reveal errors in the software.
• Testing cannot demonstration the absenteeism of defects; it can only demonstration the
software defects are contemporary.
• Before smearing methods to design actual test cases, a software engineer must recognize the
basic principles that director software testing.
• Testing should commence "in small" and progress near testing "in large".
xxvii
The prime objective for test case is to determination a set of sets that has the highest
likelihood for recognition defects in the software. Testing is the process of implementing a
program with the committed of finding as a yet and revealed error. To realize this objective
two dissimilar categories of test case performance used. Afterwards test plan and before
going to test enterprise test case is imperative. Conferring to the project necessities we must
test some circumstances to ensure the quality of software. For the resolution of testing these
circumstances we must write test cases.
Testing is a set of events that can be deliberate and connected systematically, A policy
for software testing must quarter low level tests that are essential to verify a small source
code segment has been fittingly implemented as well as high level tests that authenticate
system functions in contradiction of customer requirements.
The perception of the black box is used to characterize a system who is inside
workings are not available for examination. In a black box, the test item is preserved as a
"black" since its logic is unidentified: all that is acknowledged is what goes in and what
comes out, or the input and output. Now, in this "Food Ordering System" the interior
functionalities have been tested.
White box testing accepts that the specific logic is imperative and must be tested to
assurance the system's proper functioning. The foremostusage of the white box testing is in
error-based testing. It is forecasting on close inspection of procedural detail logical as long as
test cases that exercise precise sets of conditions and/or loops test path sufficient the
software. Base path testing is a white box testing performance. The foundation path method
permits the test case expensive to derive a logical complexity of a procedural strategy and use
this measure as a guide for essential as basis set of execution path
xxviii
Unit testing attentions on verifying the exertion on the smallest unit of software-
module. The local data structure is inspected to guarantee that the date stored momentarily
maintains its integrity throughout all steps in the algorithm's execution. Border conditions are
tested to guarantee that the module activates properly at boundaries reputable to limit or
restrict processing.
Integration testing Data can be tested crossways an interface. One component can
have an unintended, contrary effect on the other. Integration testing is aorganized technique
for erecting a program structure while conducting tests to reveal errors associated with
interring.
Validation Testing
Subsequently performing the validation testing, the subsequent step is output testing
of the proposed system meanwhile no system would be labelled as useful until it does harvest
the essential output in the specified format. Output format is measured in two ways, the
screen set-up and the printer set-up.
CHAPTER 7
xxix
RESULT
The projected algorithm is instigated in MATLAB. The turnaround and waiting time
of different processes in our algorithm are suggestively reduced.In our proposed algorithm,
we have deliberate the quantum to be dynamic i.e. quantum
=totalCPUTime/no.fJobs.Wherever totalCPUTime is the sum of remaining CPUTime after
each reiteration, and noOfJobs rep-resents the total no. Of active jobs (i.e.jobs having
CPUTime greater than 0) illustrations the avg. waiting time and turnaround time of
respectively job by our projected algorithm.
xxx
Figure 7.3 Simulation Result of Average Turnaround Time
xxxi
CHAPTER 8
The distribution of CPU to the processes waiting for execution is the most significant
tasks of the operating system. Since the CPU is most appreciated computer resource. There
are numerous kinds of CPU scheduling algorithms that have remained accessible to manage
the CPU with some advantages and disadvantages. This presents a new CPU scheduling
algorithm with fluctuating dynamic time quantum.
Future Scope
we have deliberated the Modified Round Robin algorithm that is a humble step for
procurement an optimal scheduling model. Scheduling algorithms should not disturb the
deeds of the system(same results regardless of schedule) .Though, the algorithm do .Though,
the algorithm do impact the system’s efficiency and Response Time.It will necessity much
more efforts and researches to score a goal.
xxxii
BIBLIOGRAPHY
BOOK REFERENCE
1. Lynn Beighley& Michael Morrison (2008). Head First PHP & MySQL
2. Robin Nixon (2010). Learning PHP, MySQL, JavaScript & CSS
3. Ian Sommerville (2010). Software Engineering
WEBSITE REFERENCE
1. www.google.com
2. www.tutorialpoint.com
3. www.w3schools.com
xxxiii
xxxiv