Sunteți pe pagina 1din 92

i

AUTOMATIC HUMAN GUIDED SHOPPING TROLLEY WITH SMART


SHOPPING SYSTEM

NG YEN LENG

UNIVERSITI TEKNOLOGI MALAYSIA


PSZ l9:16 (Pind.l/07)
UNIVERSITI TEKNOTOGI MATAYSIA

DEcIARAT|oNoFTHEs|s/UNDERGRADUATEPRoJEcTPAPERANDCoPYR|GHT

Author's full nome NG YEN LENG

Dote of birth 16.'FEBRUARY I99O

Title AUTOMATIC HUMAN GUIDED SHOPPING TROLLEY


WITH SMART SHOPPING SYSTEM

Acodemic Session 20t312014-2

I declore thot this lhesis is clossified os :

CONFIDENTIAT tcontoins confidentiol informotion under the officiol Secref Act


1972]|*

RESTRICTED tcontoins restricted informotion os specified by the orgonisotion


where reseorch wos done)'
6pf1 ICC6SS I ogree thot my thesis lo be published os online open occess (full
lexl)

locknowledged thot UniversiliTeknologi Moloysio reserves the right os follows :

l. The lhesis is the properly of Universili Teknologi Moloysio'


2. The Librory of Universili ieknologi Moloysio hos the right to moke copies for the purpose of
reseorch onlY.
3. The Librory hos the right 1o moke copies of ihe thesis for ocodemic exchonge'

SIGNATURE
900216-01-6030 DR LIM CHENG SIONG
(NEW rC NO./ PASSPORT NO.) NAME OF SUPERVISOR

Dote : 5'" JUNE 2014 Dote : 5th JLrNE 2014

NoTEs : * tf th" ihesis is 66NFIDENT|AL or RESTRICTED, pleose ottoch with the letler from the orgonisotion
with period ond reosons for confidentiolity or restriction'
..Iherebydeclarethatlhavereadthisthesisandinmyopinionthisthesisis
purpose of awarding the degree of
sufficient in terms of scope and quality for the
BachelorofEngineering(Electrical-Mechatronics)''

Signature
CHENG SIONG
Name of SuPervisor
5 JUNE 2OI4
Date
i

AUTOMATIC HUMAN GUIDED SHOPPING TROLLEY WITH SMART


SHOPPING SYSTEM

NG YEN LENG

A thesis submitted in fulfillment of the


requirements for the award of the degree of
Bachelor of Engineering (Electrical - Mechatronics)

Faculty of Electrical Engineering


Universiti Teknologi Malaysia

JUNE 2014
Trolley with
I declare that this thesis entitled "Automatic Human Guided Shopping
Smart Shopping System" i the result of my own research except as cited in the

references. The thesis has not been a any degree and is not concurrently

submitted in candidature of any other

Signature :

NG YEN LENG
Name :

5 JUNE 2014
Date :
iii

To my beloved parents and family members.


iv

ACKNOWLEDGEMENT

This project came from my proposed idea with some suggestions from my
supervisor, Dr Lim Cheng Siong. The research is done with the guidance given by
my supervisor. In my opinion, this project will be very useful and become a new
trend in the future. I am very thankful for those who have provided advices and help
in this project.

First and foremost, I am very grateful and appreciated with the help of my
final year project supervisor who has been guiding and encouraging me throughout
the developing process of this project. I am very thankful for his invaluable guidance
and support throughout these two semesters. Besides, I would like to express my
grateful and appreciation for all of my friends who gave me some suggestions and
advices in the project.

In addition, my special thanks to my family. They support me both mentally


and physically all the time. This allows me to focus on my final year project without
any worry.

At last, my heartfelt gratitude goes to all the lecturers and course mates who
have provided me suggestions and lessons throughout my university life. With their
advices and helps, I am able to gain knowledge from them and become a better
person. This can be helpful to me on being to be a professional engineer and person
in the future.
v

ABSTRACT

Shopping trolley is a necessary tool for shopping in supermarkets or grocery


stores. However, there was shopping trolley abandoned everywhere in the
supermarket after being used. In addition, there were also shopping trolley safety
issues such as sliding down from an escalator. On the other hand, it is inconvenient
and time wasting for customers who are in rush to search for desired products in a
supermarket. Therefore, an automatic human and line following shopping trolley
with a smart shopping system was developed to solve the problems. The shopping
trolley was equipped with ultrasonic sensor for obstacle avoidance. A line following
portable robot was installed under the trolley to lead the users to items’ location that
they plan to purchase in the supermarket. An Android application was developed to
control the shopping trolley and search for products’ location. Radio Frequency
Identification reader and tag card were used as location indicators in order to show if
the shopping trolley has arrived the planned item's location in a supermarket. A
server is also developed as the database system to store products’ location in a
supermarket. In conclusion, users can enjoy shopping and pay more attention on their
children during shopping without the need of pushing the shopping trolley. Besides,
they can track the purchased items easily. Meanwhile, supermarket owners can save
cost from hiring trolley collector.
vi

ABSTRAK

Troli membeli-belah adalah alat yang diperlukan untuk membeli-belah di


pasar raya atau kedai-kedai runcit. Walau bagaimanapun, terdapat troli membeli-
belah tertinggal di mana-mana di sekeliling pasaraya selepas digunakan. Di samping
itu, terdapat juga isu-isu keselamatan troli membeli-belah seperti terjatuh dari
eskalator. Selain itu, terdapat juga pelanggan yang tergesa-gesa untuk mencari
produk yang dikehendaki di pasaraya. Oleh itu, robot pengikut manusia dan garis
dengan sistem membeli-belah pintar dibangunkan untuk menyelesaikan masalah-
masalah tersebut. Troli membeli-belah telah dilengkapi dengan sensor ultrasonik
untuk mengelak halangan semasa operasi. Robot pengikut garis telah dipasang di
bawah troli untuk membawa pengguna ke lokasi barangan yang mereka merancang
untuk membeli di pasar raya. Aplikasi Android telah dibangunkan untuk mengawal
troli membeli-belah dan mencari lokasi produk. Pembaca Pengenalan Frekuensi
Radio dan kad tag telah digunakan sebagai petunjuk lokasi untuk menunjukkan jika
troli membeli-belah telah tiba di lokasi benda yang dirancang di sebuah pasaraya.
Sistem pelayan juga dibangunkan sebagai sistem pangkalan data untuk menyimpan
lokasi produk di pasaraya. Kesimpulannya, pengguna boleh membeli-belah dan
memberi lebih perhatian kepada anak-anak mereka semasa membeli-belah tanpa
perlu menolak troli membeli-belah. Selain itu, mereka boleh mengesan barangan
yang dibeli dengan mudah. Sementara itu, pemilik pasar raya boleh menjimatkan kos
dari menggaji pengumpul troli.
vii

TABLE OF CONTENTS

CHAPTER TITLE PAGE

DECLARATION ii
DEDICATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
ABSTRAK vi
TABLE OF CONTENTS vii
LIST OF TABLES x
LIST OF FIGURES xi
LIST OF SYMBOLS xv
LIST OF ABBREVIATIONS xvi
LIST OF APPENDICES xviii

1 INTRODUCTION 1
1.1 Introduction 1
1.2 Problem Statement 2
1.3 Objectives of Research 3
1.4 Scopes of Work 4
1.5 Research Methodology 6
1.6 Thesis Outline 9

2 LITERATURE REVIEW 10
2.1 Introduction 10
viii

2.2 Shopping Trolley 10


2.3 User’s Review 11
2.4 Management of Shopping Trolley 13
2.5 Line Following Robot 14
2.6 RFID Technology 15
2.7 Client-Server Applications 16
2.8 Examples of Related Products 17
2.8.1 Mobile Automated Shopping System 17
2.8.2 Shopping Cart Theft Prevention System 19
2.8.3 Shopping Cart Retrieval System 19
2.8.4 Robot Returned from Parking to Store 20
Autonomously
2.8.5 A Novel Low-Cost Intelligent Shopping 21
Cart
2.8.6 Conception and Implementation of a 21
Supermarket Shopping Assistant System
2.9 Summary 22

3 SYSTEM DESIGN 26
3.1 Introduction 26
3.2 Hardware Design 26
3.2.1 Mechanism of Mobile Shopping Trolley 27
3.2.2 Intel Board DE2i-150 28
3.2.3 Arduino Mega 2560 Board 29
3.2.4 RFID Technology for Mobile Robot 30
Localization
3.2.5 Ultrasonic Sensor 32
3.2.6 Bluetooth Module 33
3.2.7 Auto-Calibrating Line Sensor 33
3.2.8 Motor Driver 34
3.2.9 Electric Scooter Motor with Gear 35
3.3 Software Design 36
3.4 Summary 38
ix

4 RESULTS AND DISUCSSION 39


4.1 Introduction 39
4.2 Results 39
4.2.1 Hardware Development 40
4.2.2 Software Development 42
4.3 Discussion 46
4.4 Summary 50

5 CONCLUSION 51
5.1 Introduction 51
5.2 Conclusion 51
5.3 Future Works 52

REFERENCES 53
Appendices A-E 58-71
x

LIST OF TABLES

TABLE NO. TITLE PAGE

1.1 Scope of the Project 5


2.1 Summary of Reviewed Projects 23
3.1 Specifications and parameter of Arduino Mega 2560 board 30
xi

LIST OF FIGURES

FIGURE NO. TITLE PAGE

1.1 Flowchart of research methodology. 8


2.1 A Stranger approach victim when her mother walked
away from the shopping trolley [21]. 12
2.2 Shopping carts’ lock solution [26]. 14
2.3 RFID System [31]. 15
2.4 The communication schemes of Socket [33]. 17
2.5 Computerized System on Shopping Trolley [34]. 18
2.6 Side View of Rear Wheel Equipped with a Shroud [35]. 19
2.7 Scanning VHF receiver and handle of shopping trolley
mounted with radio transmitter [36]. 20
2.8 Localization by GPS [37]. 20
2.9 High Level Block Diagram of Novel Low-Cost Intelligent
Shopping Cart [38]. 21
2.10 A mobile device that can display a list written by users
and the Identification QR-code [39]. 22
2.11 Autonomous robot that can display current shopping list,
product information and image taken by robot [39]. 22
3.1 Side angle view and top view of robot mechanism with
hardware and components are attached. 27
3.2 Mechanical structure of portable robot base for shopping
trolley. 28
xii

3.3 Intel® Atom™ Dual Core Processor N2600 which is used


as server database system to store the locations of items.
Each item is set with specific coordinate and communicate
with Android application via Wi-Fi hotspot. 29

3.4 Arduino Mega 2560 microcontroller is used as a main


microcontroller to interface with all hardware and
components. 30
3.5 RFID Reader, RDM 6300 is used to scan 125 kHz tag
cards in order to know items’ locations where each tag
card are assigned with certain items. 31
3.6 Ultrasonic Sensor, HC-SR06 is used for obstacle
avoidance in order to Allow Shopping Trolley move
without collision with Objects. 32
3.7 Bluetooth module HC-06 which is used to send and
receive data between Android smartphone and
microcontroller. 33
3.8 Line sensor LSS05 which is used to detect black line or
path with white background or vice versa in order to allow
line following robot running when detect the line or path
given. 34
3.9 Two DC motor driver are used in the project in order to
drive two motors for robot running where the speed and
direction can be adjusted in the program. 35
3.10 UML of Communication flow between Arduino board,
Intel board and Android application. 37
4.1 Data collected from six ultrasonic sensors and the result
was display in table form by using serial monitor of
Arduino IDE. 40
4.2 Line Sensor detected black line with white background
and the sensors which detected the black line was light up. 40
xiii

4.3 RFID reader connected with Arduino Mega board and the
message receive after tagged will be displayed in serial
monitor where UART pin of RFID reader, TX pin is
connected to pin RX of Arduino Mega board. 41
4.4 The functionality of robot that is attached to the shopping
trolley is tested on the black line or path with white
background and the movement of robot is controlled by
using smartphone. 42
4.5 Screenshot (a) shows dialogue message of Bluetooth
permission request pops out once Android application is
opened if Android smartphone have not turn on Bluetooth
connection. Screenshot (b) shows that users can click on
the menu button and connect this Android application to
server system after Wi-Fi hotspot is turned on. 43
4.6 Screenshot (a) shows the GUI of server in disconnect
condition. Screenshot (b) shows the server was waiting for
client connection. Screenshot (c) shows server was
connect when client was connected to the server.
Screenshot (d) shows server had received the selected
items from Android application and it sent locations of
items in term of coordinates to the Android application
GUI automatically after processed. 44

4.7 Screenshot (a) shows GUI of Android application where


user select items from buy list. Screenshot (b) shows
dialog message was appeared once shopping map activity
was opened and received coordinates from server were
displayed on the shopping map. 45
xiv

4.8 Screenshot (a) shows GUI of shopping map on Android


smartphone with the plotted items’ location after users
have selected the items in To-Buy-List. Screenshot (b)
shows a dialogue message is appeared when the shopping
trolley reach and stop at the selected item’s location.
Users can press “Continue” to allow the shopping trolley
to continue move to next item’s location, or press “Go
Counter” after they collected all the selected items. 45

4.9 Screenshot picture shows the menu buttons where users


can manually stop or allow shopping trolley to continue
moving. 46
4.10 Bluetooth Permission in Android Mnifest.xml must be
declared in the program. 48
4.11 MAC address of Bluetooth module, HC-06 must be
declared in the program. 48
4.12 Socket declaration, server port and server IP address set
up in both server and client system. 49
4.13 Declaration of internet permission for socket connection. 49
xv

LIST OF SYMBOLS

A - Ampere
cm - Centimeter
GHz - Giga Frequency, hertz
Hz - Frequency, Hertz
kB - Kilo Bytes
kHz - Kilo Frequency, Hertz
mA - Milliamperes
MHz - Mega Frequency, Hertz
Mm - Millimeter
Nm - Newton Meter
RM - Malaysia Ringgit
µs - Microsecond
V - Potential difference, Voltage
£ - Pound Sterling
$ - Dollars
xvi

LIST OF ABBREVIATIONS

AGSTS - Automatic Human Guided Shopping Trolley


with Smart Shopping System
API - Application Programming Interface
dBm - Decibel-milliwatts
DC - Direct Current
EDR - Enhanced Data Rate
EEPROM - Erasable Programmable Read Only Memory
FPGA - Field-Programmable Gate Array
GPS - Global Positioning System
GUI - Graphical User Interface
ID - Identification
IDE - Integrated Development Environment
I/O - Input and Output
IP - Internet Protocol
IR - Infra-Red
JDK - Java Development Kit
JRE - Java Runtime Environment
LED - Light Emitting Diode
MAC - Media Access Control
PCIe - Peripheral Component Interconnect Express
PWM - Pulse width modulation
RFCOMM - Radio Frequency Communication
RFID - Radio Frequency Identification
RPM - Revolutions Per Minute
RX - Receiver
xvii

SDK - Software Development Kit


SRAM - Static Random-Access Memory
TCP - Transmission Control Protocol
TX - Transmitter
UART - Universal Asynchronous Receiver /
Transmitter
UK - United Kingdom
UML - Unified Modelling Language
USB - Universal Serial Bus
UTM - University of Technology Malaysia
VHF - Very High Frequency
2D - Two Dimensional
xviii

LIST OF APPENDICES

APPENDIX TITLE PAGE

A Project Management of Project 58

B 2D Engineering Drawing of Robot Mechanism 64

C Datasheet of Ultrasonic Ranging Module HC-SR04 65

D Datasheet of RFID Reader RDM6300 67

E Datasheet of 450 W Scooter Motor 71


1

CHAPTER 1

INTRODUCTION

1.1 Introduction

Recently, robot technology has developed greatly. However, most of the


traditional robots are only used for industrial applications, such as in car assembly
factories [1, 2]. On the other hand, the intelligent robots have yet become popular in
daily life applications. In the future, a human-friendly robots will be in need and they
are able to support the users effectively and efficiently. The purpose of human
following robot is to improve the relationship between people and the robot [3]. For
instance, the robot can carry heavy loads for people in hospitals, airports and
shopping centers. The robot can provide service to human as an assistant in different
kind of situations.

Nowadays, vision based robot has become a trend for navigation purpose.
However, the tradition method of line following navigation still plays an important
role in mobile robot technology. This is because a robot with line following
capability has lower cost to build and is simpler in design [4]. Besides, application of
Radio Frequency Identification (RFID) technology for robot nowadays has become
popular especially in localization scheme. It is a non-touching recognition system
where it can tag and send tag data wirelessly at various distances [5]. In order to
prevent objects collision, ultrasonic sensor was used in this project. Robot can react
2

based on data collected from sensors such as detection of an obstacle close to the
robot [6]. On the other hands, an enterprise can take advantage of networking
technology in managing the resource. There is a server system where it always
waiting to connect with client side. This server system would process the received
information and sending to client side. The database was stored in server system.
Both of server and client system were programmed in Java programming language.
This communicating system can work well and without limit either in local network
or internet [7].

In this project, a portable robot with human and line following functions was
developed to assist customers to carry a heavy load while shopping in the
supermarket. Meanwhile, a smart shopping system was also developed in order to
identify the location of each item in supermarket in assisting customers to locate the
desired items. Besides, the customer is informed of the current location of the
shopping trolley. This information is displayed in android smartphone application.

1.2 Problem Statement

Cases of losing shopping trolley have caused grocery store owners a loss of
$8,000 to $10,000 per year, which is equal to RM 25,696.00 to RM 32,120.00. Robin
Webb, a manager of a big grocery store said that he had lost 50 to 100 trolleys every
six months. The shopping trolley loss happened because of theft [8]. Besides, there is
a weekly loss of shopping trolleys which is totally worth £3,000 (RM 16,218.35)
occurred in an Essex supermarket [9]. In Malaysia, a shopping trolley with 90 Litre
Standard Tube Base ST costs up to RM 509.90 [10]. On the other hand, a
supermarket or store will be fined £25 which is approximate to RM 135.15, if an
abandoned shopping trolley is found [11]. Supermarkets or stores have to hire trolley
collector or contract with trolley collector company to collect the trolley and this
increases the operating cost. According to Fair Work Ombudsman (FWO), some of
3

the companies such as Adelaide Company was fined $40,000 for underpaying of
about $30,000 to the six trolley collectors [12].

It was also found that shopping trolleys are always scattered around
everywhere inside or outside the supermarkets. This can cause the trolley runaway
from its position and injuring the people. A woman was killed by a quickly
approaching runaway trolley when she exited the escalator [13]. There was also a
loaded trolley runaway and caused a woman died and injury her husband in a
shopping centre [14]. In addition, there was also found that customers who were in
rush looking for their desired items. Sometimes the specific brand of item is difficult
to find. This caused them wasted a lot of time to find their desired items in
supermarkets.

1.3 Objectives of Research

The objectives are:

i. To develop an Android application as client

ii. To develop server application as database system

iii. To develop a portable robot mechanism for shopping trolley

iv. To test the performance of the client-server application and shopping


trolley attached with robot in the indoor environment
4

1.4 Scope of Work

The project aims to develop an automatic human guided shopping trolley


with a smart shopping system. This shopping trolley can lead a user to the items’
locations in supermarket and he or she is able to know the items’ locations through a
shopping map, which is a graphical user interface (GUI) on their smartphones. Users
can control the movement of shopping trolley by using their smartphones.

In order to develop the project, three main parts are considered. They are
portable robot which will be installed under shopping trolley, client-server system
development and project performance test. The first part of the project focuses on the
portable robot development. Differential wheeled drive method is implemented on
the robot. As compare to other designs, differential wheeled drive has better
performance. This is because the wheel configuration is uncomplicated [15]. The two
driven wheels are located in between front and rear wheels of shopping trolley.
Therefore, it can change the direction of shopping trolley by changing each wheel’s
speed of rotation. The robot mechanism is designed by using Solidworks software.
Then, the robot is fabricated according to the design by using aluminium bars. This
robot is flexible to be installed and uninstalled from a shopping trolley. The
microcontroller, Arduino Mega 2560, RFID reader, Bluetooth module and line
sensor are placed on the robot. Meanwhile two ultrasonic sensors are put in the front
side of shopping trolley for obstacle avoidance purpose so that it will not collide with
any other dynamic or static object.

The second part of the project consists of software development. Both client
and server are developed by using Java programming language in eclipse software.
Android application is developed as client on Android phone, meanwhile server will
act as database system to store the items’ information. This database system will be
implemented in Intel board. The server on Intel board will open connection, listen
and accept request from client where server will receive and process the data sent
from client. Then server will send the data coordinates to client and displayed on
GUI of Android application in the smartphone. On the other hand, Android
application in the smartphone acts as client where it keeps track the items selected by
5

a user and then send to server system. Thus, the received coordinates from server will
be plotted on the shopping map, which is GUI of Android application. The size of
shopping map is limited to fit the screen size of 3.7 inches of smartphone. Wi-Fi
Hotspot in Intel board is used for client and server connection. On the other hand, the
communication between Android smartphone and robot is via Bluetooth.

The third part is real time live test on the functionality of portable robot and
client-server system. A shopping trolley is used to install the developed portable
robot. The functionality and efficiency of the developed shopping trolley and smart
shopping system are tested with the client-server system in indoor environment.

Table 1.1 shows the scope of the project where the application and features of
robot, hardware development and software development are listed. The 2D
Engineering drawing of robot mechanism with dimension are reported in
APPENDIX B.

Table 1.1: Scope of the project


Parameter Scope
Application Automatic human guided shopping trolley with a smart
shopping system.
Feature i. Robot is attachable to the shopping trolley.
ii. Robot can perform line following and lead user.
iii. Database that is used to store data such as items’
location.
iv. Maximum speed of 450 W electric scooter motor
with gear : 470 rpm with no load.
v. Dimension of robot : 450.06 mm x 430 mm x 385.21
mm
Platform Arduino Mega 2560 and Intel Atom DE2i-150
Programming language Arduino Programming Language and Java Programming
Actuator and driver 450 W electric scooter motor with gear and MD30C
motor driver.
Sensor Ultrasonic sensor, HC-SR04 and RFID reader, RDM
6

6300
Communication Wi-Fi Hotspot and Bluetooth
technology
Algorithm i. Line following algorithm by using PID control
method.
ii. Interrupt method is used for line following
algorithm.
iii. Polling method is used for RFID reader algorithm,
Bluetooth connection algorithm and obstacle
avoidance algorithm.
iv. Differential wheeled drive method is applied in the
robot mechanism.
Performance i. Robot is plugged on the shopping trolley, then test
measurement the robot with line following function on the black
line path with white background card board.
ii. Test the communication between smartphone and
Intel board via Wi-Fi hotspot.
iii. Test the communication of robot and smartphone via
Bluetooth connection.
iv. Test overall system in the indoor environment,
Robotics Laboratory in UTM.

1.5 Research Methodology

This project is to design a portable robot which is easy to attach to the


common type of shopping trolley in the supermarket. Spring and adjustable screw are
used so that the robot can be easily plugged and played on the shopping trolley.
Besides, it enables the robot to move on uneven floor.
7

The research methodology is given in Figure 1.1. First of all, literature review
is carried out in order to gather the required information including the problem
statement that is needed to be solved. Then, the basic communication of client and
server is developed. The connection between server and client is tested through
keyed in text sending and receiving between both server and client.

Secondly, client program is developed and acts as Android application. GUI


is developed and some needed features are programmed. Bluetooth connection, list
view, buttons to control movement of shopping trolley and server connection,
shopping map and items’ coordinates, are examples of developed features.

Thirdly, server system is developed. The server system GUI is developed and
essential functions are also programmed. The server can receive and process the
received data from client, and send the processed data to client.

Fourth, a mechanism design for portable robot is developed. Ultrasonic


sensors are installed on the front side of the shopping trolley. Meanwhile Arduino
Mega 2560, RFID reader, Bluetooth module and line sensor are attached on the robot.
RFID reader is used to read the RFID tag card placed on the floor. Each tag card
represents an item which will be listed in the Android application. Bluetooth module
is used for communication between the microcontroller and Android smartphone.
Line sensor is used to allow the robot to follow the black line on the floor.
Meanwhile scooter motor with high torque and motor driver are used to allow the
robot to move. An algorithm is written and programmed in the microcontroller to
allow the hardware to function and communicate with client via Bluetooth
connection.

Lastly, a performance test of shopping trolley with attached portable robot


and client-server system is carried out at indoor environment. The methodology of
this research is summarised in Figure 1.1 which shows the research activities from
the beginning until completion of project. This is to make sure the outcome of project
is achieved. The project management is also reported in Appendix A. Project Gantt
chart with milestones for two semesters and the cost of the used materials are
tabulated.
8

Start Problem
To develop an automatic human guided shopping trolley
with smart shopping system (AGSTS) to lead users to
items locations, provide convenience to users and
Literature review prevent shopping trolley being abandoned everywhere in
supermarket.

Objective 1
Communication To develop an Android application as client
between client and
server system Scope
development -- Java programming in eclipse software
-- Connection between server and client is established by
using Wi-Fi hotspot
Client as Android -- Connect to server and Bluetooth module on robot,
application select items from list view and send to server, display
development received items locations as coordinate in UI of shopping
map

Objective 2
To develop server as database system

Scope
Server as database
-- Java programming in eclipse software
NO system development
-- Export the program as .jar file and run it in Intel board
-- Server can only be connected to one client
-- Process received data from client and send back to
client

Objective 3
To develop a portable mobile robot mechanism for
shopping trolley

Portable robot Scope


development -- Two ultrasonic sensors are installed at the front side of
shopping trolley
-- The mechanism able to be installed and uninstalled
from the shopping trolley
-- Arduino Mega 2560 is used as microcontroller to
interface with ultrasonic sensors, Bluetooth module,
RFID reader and line sensor.

Objective 4
To test the performance of the client-server applications
and shopping trolley with attached robot in the indoor
environment
Experimental
Tested Working?
Scope
-- Test the communication between client and server
system in indoor environment
-- Test the robot hardware functionality
YES
-- Test the communication between robot and client in
indoor environment

Functional AGSTS Outcome


Shopping trolley can lead users to their desired items
locations and control the movement of shopping trolley

End

Figure 1.1: Flowchart of research methodology


9

1.6 Thesis Outline

The thesis of the research is arranged based on chapters. In Chapter 2,


literature review on shopping trolley, users review, management of shopping trolley,
related product review, and theory of line following robot, RFID technology and
client-server applications are presented. The related projects are summarized in
Chapter 2.

In chapter 3, project’s approach of all of the hardware and components used


are described. Intel board is used as the main platform for server system. On the
other hand, Arduino Mega 2560 is used as the microcontroller to interface the
hardware and components, such as ultrasonic sensors, motor drivers, Bluetooth
module, RFID reader and line sensor.

In Chapter 4, the results of experimental test of hardware and software


applications as well as the AGSTS indoor performance are discussed. The results are
also presented in this chapter.

In Chapter 5, conclusion of this project is mentioned. In addition, limitations


and recommendation of the project are mentioned for possible future work and
further improvements.
10

CHAPTER 2

LITERATURE REVIEW

2.1 Introduction

This chapter mentions about the definition and usage of shopping trolley,
users’ review on shopping trolleys as well as some of the similar products which are
implemented with certain system or design to assist users and retailers as well as
enable users to enjoy shopping. Besides, line following robot, RFID technology and
theory of client-server applications are elaborated.

2.2 Shopping Trolley

Shopping trolley is also called shopping cart which is like a carriage or basket
that can be used by customers to transport their purchased product inside grocery
shops or supermarkets. The shopping trolley is a cart supplied by supermarkets. In
united stated, supermarket workers will return the trolley to the storage area after
customers leave the carts in the parking lot. In European and Canada, the
supermarket performs a coin locks system on the shopping carts in order to
11

encourage the customers to return the carts themselves after use. In addition, the
design of shopping trolley was concerned. This is because poor designed shopping
trolley can cause potential musculoskeletal injuries from manually pushing or pulling
heavy loads [16]. A market survey was conducted where the results shown that most
of the users expected the shopping trolley to feature energy saving, pulling and
pushing motion and adjustable height [17]. Healthy and safety of users are prioritised
when they are shopping in the supermarkets.

2.3 User’s Review

Shopping trolley is a convenience and necessary tool for customers who are
shopping in a supermarket. They can put a lot of things inside without carrying
themselves but just have to push the shopping trolley. However, there is a problem
faced by retailers or manager of the supermarket nowadays. A manager from a
Ward’s supermarket claimed that they have probably three to four shopping carts
missing per day. The workers of the supermarket have ever seen some of the
customers take the shopping carts away after shopping. According to Sanitation
officers, it is illegal of taking shopping trolley from a supermarket but it is hardly to
control and take action on these people [18].

Moreover, there were around 3.000 supermarket trolleys abandoned in rivers


or canals every year. The annual cost to replace the shopping trolleys is £150,000
(RM789, 232.65) which is equal to 18 minutes of the profit from UK’s leading
retailers [19]. Besides, there were also trolleys being abandoned everywhere in the
car park.

Furthermore, customers especially parents cannot enjoy during shopping.


This is because parents have to take care of children while shopping. There is a
mother who was in trouble as the cashier reminds her that management did not allow
children standing up in the main part of the shopping trolley. The mother was very
12

stressful during the shopping as she needs to hold her daughter’s hand constantly and
her another son who is just 10 months old was sat in the toddler seat [20] meanwhile
she has to push the shopping trolley.

Apart from this, a shopping cart which is designed to allow kids to be sat
inside can cause a problem to customers as well. There was a case happened to Orem
where a mother had her daughter sat on the shopping trolley was molested by a
stranger. The stranger took the opportunity to approach the victim when the mother
walked away for a few minutes [21]. Figure 2.1 shows the stranger approached the
victim when her mother is absence.

Figure 2.1: A stranger approached the victim when her mother walked away [21].

On the other hand, the new technology allows an automatic braking system to
be installed on a shopping cart. However, it can cause the users to get shocked and
hurt. The technology uses an underground antenna and it sets a perimeter around the
store. When a user pushes the shopping cart over the perimeter, a signal is sent to
automatically lock the wheel. However, there is no sign and warning at all and thus it
can cause a shock and hurt the user. This is one of the methods used by company to
prevent their carts to get stolen or damaged. The companies spent millions of dollars
to recover the lost shopping carts every year [22].

There are also customers facing online shopping hesitation in purchasing


online products. The factors cause customers’ hesitation are they tend to add more
items in their online shopping carts, like to compare the product’s price charged at
13

supermarket and websites, privacy or risk of online security, afraid of making wrong
decision, high quality conscious, as well as they always become hesitate to make
final payment [23]. This might be due to insecure for customer to purchase online.

2.4 Management of Shopping Trolley

There is practice code to manage shopping trolleys to prevent irresponsible


people from taking the shopping trolleys away or abandon the trolleys in public
which in turn causing injuring on passer-by or destroy property or vehicles. For
retailers’ side, retailers should encourage customers to return the trolley, provide
shopping trolley collection services and liaise with local government authorities to
make sure no abandoned shopping trolleys in the public. Besides, retailers should
also provide a better trolley bay at exit points of the shopping complexes and
reporting loss of trolley and collection time. Other practices are providing public
education and enforcing penalties on people who abandon or take away shopping
trolley [24]. In Australia, there are laws to avoid shopping trolley lost. For example,
retailers have to pay about $190 for impounding cost or must collect the abandoned
trolleys within 24 hours. Meanwhile large retailers who fail to keep shopping trolley
will be fined. On the other hand, people who take away a shopping trolley can face
$60 on-the-spot-fine [25]. In addition, shopping trolleys’ coin lock solutions and
award system could also be implemented to encourage customers to return shopping
carts. There are also hiring of workers to retrieve shopping trolleys manually [26].
Figure 2.2 shows the shopping carts’ lock system.
14

Figure 2.2: Shopping carts’ lock solution [26].

2.5 Line Following Robot

A line following robot is a kind of robot that is designed to follow a


predetermined line or path. Infra-Red (IR) line sensor equipped with IR transmitter
and receiver to trace black line with white surface or vice versa on the floor [27]. The
sensor output will be fed to the microcontroller and thus the microcontroller can give
a suitable command to motor driver in order to allow motor moving according to the
command given [28]. The microcontroller will be programmed to make the robot
move in any direction based on the output of line sensor. Hence, a robot can move
according to the line or path given.
15

2.6 RFID Technology

RFID is a very useful technology for position estimation in indoor


environment. Although Global Positioning System (GPS) is one of the useful
systems to get information of people, vehicles or other objects, it generally cannot
work in indoor environment. This is because a GPS requires satellite signal
attenuation [29]. RFID technology can be used in various ways, such as detection
needs, authentication needs or identification needs [30]. RFID system consists of
reader, tags and antenna. Reader has high-frequency electromagnetic energy. Reader
can generate a query signal. Each tag has microchips that embedded information and
has its unique Identification (ID) code. The antenna is used to send wireless signals
to the tags and receive a message from the tags in a reachable range [31]. The overall
RFID system is as shown in Figure 2.3.

Figure 2.3: RFID System [31].


16

2.7 Client-server Applications

In client-server applications, a server will process database queries and


sending out the processed data upon request by a client. The client uses the service
provided by the server, which in turn displaying the results of data query. The
communication between client and server is secure so as the data must arrive both
client and server sides. The communication scheme of socket is as shown in the
Figure 2.4.

Transmission Control Protocol (TCP) is a set of protocol which is used along


with the Internet Protocol (IP) to send data in the form of messages units between
computers over Internet. TCP is known as a connection-oriented protocol [32]. TCP
is responsible to ensure that a message is divided into packets. These packets will be
forwarded individually to the IP program layer. Each packet has the same destination
IP address but it may get routed differently through the network. TCP provides a
point-to-point communication channel that client-server applications can
communicate on the Internet. Each client and server program binds a socket to its
end of connection. Therefore, the client and server can communicate by reading from
and writing to the socket bound to the connection.

A socket is one end-point of a two-way communication link between two


programs running on the network [33]. The connection between client program and
server program is represented by socket classes. These socket classes are Socket and
ServerSocket provided in java.net package. Socket class implements the connection
of client meanwhile ServerSocket class implements the connection for server.
17

Figure 2.4: The communication scheme of Socket [33].

2.8 Examples of Related Products

The following is 10 similar products obtained from reliable online sources.


These similar products are different kind of available system that can be
implemented into the shopping trolley for various purposes, such as providing the
convenience for customers or prevent shopping trolley lost.

2.8.1 Mobile Automated Shopping System

A computerized shopping system is implemented into shopping trolley in


order to eliminate the procedure of purchased items check-out. Conventional items
check-out method causes customers to spend a lot of time and queuing for item
check-out. Therefore, this mobile automated shopping system is developed to
18

provide the convenience to the customers as well as cost savings to the retailers.
There is an electronic scanner to scan line-encoded information and register the
identity of each item. The system can also record the cost of items. The system is
equipped with dual scanning method. When customers first scan the item, price and
identification of the item will be displayed. When customers decide to purchase the
item, they need to scan the item for second time and hence the same information will
be printed on customers’ receipt. When the item is placed into the equipped weight
sensing area in the trolley, the item’s weight will be compared with the known
weight of that item by central computer. If the weight is correct, the item will be
accepted. In order to prevent the customers from cheating the system, a security
system is also installed in the shopping trolley [34]. The system and the shopping
trolley is as shown in Figure 2.5.

Figure 2.5: Computerized system on shopping trolley [34].


19

2.8.2 Shopping Cart Theft Prevention System

This product is as shown in Figure 2.6. The product is invented to prevent a


shopping trolley to get stolen by a theft. A braking system for carts’ wheel is
developed where the wheel is mechanically coupled to a shaft. There is a generation
of electric current when there is a rotation of wheel. When it is shorted, an
electromagnetic force inhibits the rotation of shaft and this brakes the wheel. With
this system, when shopping trolleys tend to move outside a defined perimeter,
braking system is applied to stop the trolleys from moving further [35].

Figure: 2.6: Side view of rear wheel equipped with a shroud [35].

2.8.3 Shopping Cart Retrieval System

This retrieval system is as shown in Figure 2.7. It is developed on shopping


carts in order to detect stolen or misplaced shopping carts. A search team is assigned
to detect and recover the missing shopping carts. A shopping trolley is installed with
Very High Frequency (VHF) “beacon” radio transmitter. This radio transmitter can
emit signal continuously when the carts leave the store. Meanwhile a search team is
20

equipped with a radio receiver to receive the emitted signal. With this system, a
missing shopping cart can be found at maximum range [36].

Figure: 2.7: VHF receiver and handle of shopping trolley are mounted with radio
transmitter [36].

2.8.4 Robot Returned from Parking to Store Autonomously

This project developed a robot that can automatically return from parking to
store. The robot is installed into a shopping trolley. GPS and inertial measurement
are studied for self-localization system. It was found that self-localization by using
inertial measurement unit is more suitable and effective in short distance. Meanwhile
GPS is effective for destination estimation. For obstacle avoidance consideration, a
laser range scanner is used to detect obstacles while the robot is moving. However, it
was found that it is only satisfied with static obstacles [37]. Figure 2.8 shows the
graph of GPS localisation.

Figure 2.8: Localization by GPS [37].


21

2.8.5 A Novel Low-Cost Intelligent Shopping Cart

This project is block diagram is as shown in Figure 2.9. It is aimed to develop


a system on shopping carts which can assist customers in daily shopping. There is
infrared sensor used to detect and track location of products. RFID is also used to
identify products and synchronize with central database. Besides, ZigBee is served as
wireless communication between shopping cart and server. There is also automatic
billing and inventory update of the purchased items [38].

Figure 2.9: High level block diagram of novel low-cost intelligent shopping cart
[38].

2.8.6 Conception and Implementation of a Supermarket Shopping Assistant


System

This project mentioned about the design framework of a shopping system


which is designed to assist elderly or handicapped people shopping in a supermarket.
This system consists of mobile devices where users can choose and edit their
shopping list, autonomous mobile robot that can carry groceries and display
information, and a supermarket technological infrastructure [39]. Figure 2.10 and
22

Figure 2.11 show the mobile device and robot with displayed current shopping list
and product information.

Figure 2.10: A mobile device that can display a list written by users and the
identification QR-code [39].

Figure 2.11: Autonomous robot can display the current shopping list, product
information and image taken by robot [39].

2.9 Summary

The reviewed of several projects is significance for project development.


AGSTS is a project which combine mechanism, hardware development and software
development. The reviewed projects are summarised in Table 2.1.
23

Table 2.1: Summary of Reviewed Projects


Title Summarize
Mobile Automated Shopping System Objective: To develop a computerized
[34] shopping system where customers to
eliminate check-out procedure of
items purchased

Features:
-Reduce time-consuming of check-out
items
- Able to total the cost of items
- Security system to avoid customers
from attempting to take advantage of
the system
- Equipped with two scanners, printer
and a visual display unit
- Weighting sensing device is installed
to make sure the item same as the
weight data stored to ensure the item
purchased is correct.
Shopping Cart Theft Prevention System Objective: To invent a magnetic
[35] braking system for shopping cart’s
wheel

Features:
- Magnetic braking system is applied
where a shopping trolley wheel is
coupled to a rotating element
- Relatively low cost
Shopping Cart Retrieval System [36] Objective: To develop a shopping cart
retrieval system to detect and recover
the missing shopping carts
24

Features:
- Integrate two different units of
electronic equipment
- VHF “beacon” radio transmitter
implemented in the cart’s handle
which can emit signal continuously
when the cart leaves the store
- A search team is equipped with a
VHF radio receiver with both
omnidirectional antennas to detect
missing shopping carts at maximum
range
A Study of Functions for Robot Returned Objective: To develop an autonomous
from Parking to Store Autonomously [37] mobile robot on a shopping trolley

Features:
- Develop self-localization by using
GPS and inertial measurement unit
- By using a laser range scanner to
develop a program to recognize and
avoid obstacle avoidance
A Novel Low-Cost Intelligent Shopping Objective: To assist shoppers by
Cart [38] reducing time spent when purchasing
an item at available best price as well
as inform them on any promotion
deals and location of products

Features:
- Using infrared sensors to track and
detect location
- RFID tag is used to identify product
- ZigBee is used as wireless
communication with Server
25

- Automatic billing and inventory


update of purchased items
Conception and Implementation of a Objectives: To design framework of a
Supermarket Shopping Assistant System shopping system to assist elderly or
[39] handicapped people do shopping in the
supermarket.

Features:
- Consists of mobile devices,
autonomous robot and server database
system
26

CHAPTER 3

SYSTEM DESIGN

3.1 Introduction

The system design, which covers both hardware and software design for the
development of AGSTS is described. The overall project system flow is presented as
Unified Modelling Language (UML) in this chapter.

3.2 Hardware Design

In hardware design, Arduino Mega 2560 was used as the microcontroller for
the portable robot. All hardware used including RFID reader, ultrasonic sensors,
Bluetooth module, auto-calibrating line sensor and motor driver were connected to
Arduino Mega 2560. RFID reader was used to read tag cards and sent tag data to
Android smartphone via Bluetooth module. Ultrasonic sensor was used for obstacle
avoidance. Line sensor was used for robot line following purpose. Motor driver was
used to drive electric scooter motor with gear. There was a robot base mechanism
installed under shopping trolley. Microcontroller, RFID reader, Bluetooth module,
27

auto-calibrating line sensor, motor driver and 12V acid battery were put on the robot
base in order to control the shopping trolley. Meanwhile ultrasonic sensors were
installed at each side of shopping trolley.

3.2.1 Mechanism of Mobile Shopping Trolley

Mechanism design for mobile shopping trolley was based on the portability
concept. The mechanism can be attached under the bottom of shopping trolley and it
can be taken out easily. Shopping trolley was implemented with differential wheeled
drive. The two driven wheels are placed as middle wheels of the trolley. Therefore, it
can move in every direction. Besides, suspension mechanism was designed by using
springs so that the robot is able to touch with the uneven ground surface [40]. This
helps to increase the stability of the shopping trolley. Figure 3.1 and Figure 3.2 show
the robot mechanism and shopping trolley with attached robot respectively.

Figure 3.1: Side angle view and top view of robot mechanism with hardware and
components attached.
28

Figure 3.2: Mechanical structure of portable robot is attached to shopping trolley.

3.2.2 Intel Board DE2i-150

Intel board was used as the main platform in this project as a server database
system. Its operating system is Linux and acts as the central processing unit of the
system. It has Intel® Atom™ Dual Core Processor N2600 (1M Cache, 1.6GHz) and
is equipped with Intel® NM10 Express Chipset, DIP package Bios flash, GD25Q16,
4 USB 2.0 Host ports and 1 USB Blaster as well as Cyclone IV GXP4CGX150F31
FPGA device. Intel Atom processor and the FPGA device are linked together via two
high-speed PCIe lanes. There is a high communication speed between them. This
board will be placed in the supermarket and it was connected with Android
smartphone by using WIFI hotspot. The Intel board is as shown in Figure 3.3.
29

Figure 3.3: Intel® Atom™ Dual Core Processor N2600 which is used as server
database system to store the locations of items. Each item is set with specific
coordinate. The Intel Atom communicates with Android application via Wi-Fi
hotspot.

3.2.3 Arduino Mega 2560

Microcontroller board, Arduino Mega 2560 has 54 pins for digital


input/output (I/O) where there are 15 pins that can be used as PWM outputs. It has
also 16 analog inputs, 4 hardware serial ports (UARTs), 1 USB connection port, 16
MHz crystal oscillator, a power jack, an ICSP header and a reset button. In memory
specification, the ATmega 2560 can store code where the ATmega 2560 has 256 kB
of flash memory where its 8 kB is used by boot loader, 8 kB of SRAM and 4 kB of
EEPROM. In this project, Arduino Mega 2560 is used to interface with all hardware
used in the project, such as RFID reader, Bluetooth module, ultrasonic sensor, auto-
calibrating line sensor and motor drives. Table 3.1 shows the specifications and
paremeter of Arduino Mega 2560 board. Figure 3.4 shows the Arduino Mega board.
30

Table 3.1: Specifications and parameter of Arduino Mega 2560 board


Specifications Parameter
Operating Voltage 5V
Input Voltage 7-12V
Digital I/O Pins 54
Analogue input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 kB
SRAM 8 kB
EEPROM 4 kB
Clock Speed 16 MHz

Figure 3.4: Arduino Mega 2560 microcontroller is used as the main microcontroller
to interface with all hardware and components

3.2.4 RFID Technology for Mobile Robot Localization

RFID technology is an identification system which relies on wireless


frequency and small chips to transmit and process information in an environment
without contact [41]. Nowadays, RFID technology has been improved in mapping,
navigation and localization. This is due to the uniqueness of each identification of
31

RFID tag [42]. Therefore, RFID reader, RDM6300 was chosen to be used in this
project in order to provide a specific coordinate for the robot to recognise its location.

Location of robot and items will be displayed in the shopping map in term of
the coordinate based on Android smartphone screen resolution. Frequency of tag
cards used must be the same as that of RFID reader. RFID reader of RDM630 has
two pins for Antenna 1 and Antenna 2, TX pin to transmit data, RX pin to receive
data, two pins for 5 V DC (Direct Current), and two pins for ground. There is also
one pin for LED. RFID reader was attached under the robot. Meanwhile RFID tag
card was placed on the floor. When RFID reader reads tag card and identifies that its
tag data is the same as selected items, tag data would be sent to Android application
via Bluetooth. The data was processed and matched with the coordinates of item’s
location and hence shopping trolley would stop moving. Thus, the location of
shopping trolley will be displayed on shopping map of Android application. In this
project, RFID reader TX pin was connected to RX3 pin of Arduino Mega 2560 in
order to receive data from RFID reader. There was LED blinking when there was no
RFID tag card detected but LED will be turned off when there is tag card detected.
RDIF reader RDM6300 is as shown in Figure 3.5 below.

Figure 3.5: RFID reader, RDM 6300 is used to scan 125 kHz tag cards in order to
know items’ locations where each tag card is assigned with respective item.
32

3.2.5 Ultrasonic Sensor

This ultrasonic module, HC-SR04 is as shown in Figure 3.6. It has 4 pins,


which is 5V pin, ground pin, trigger pin and echo pin. Ultrasonic sensor has
ultrasonic transmitter and ultrasonic receiver. Its center frequency is 40 kHz with 1
kHz tolerance. The ranging distance is from 2 cm to 400 cm and the resolution is up
to 0.3 cm. The effectual angle of this sensor module is less than 15 degree and its
measuring angle is 30 degree. The trigger input pulse width is 10 us.

In this project, six distance sensors are used for obstacle avoidance. Both
front and rear shopping trolley were installed with one ultrasonic sensor respectively.
Meanwhile left and right sides of shopping trolley were respectively installed with
two ultrasonic sensors. These sensors were connected to the Arduino Mega 2560.
Shopping trolley will stop when an obstacle is sensed within 10 cm.

Figure 3.6: Ultrasonic sensor, HC-SR06 is used for obstacle avoidance in order to
allow shopping trolley to move without collision with any object.
33

3.2.6 Bluetooth Module

Bluetooth module HC-06 is as shown in Figure 3.7. It was used in the project
for wireless data transmission between Arduino Mega 2560 and Android smartphone.
Its maximum sensitivity is 80 dBm. It has an Enhanced Data Rate modulation and
the change range of modulation depth is 2 Mbps to 3 Mbps. Besides, there is a build-
in 2.4 GHz antenna, external 8 Mbit flash. It can work at low voltage of 3.1 V to 4.2
V. The current in communication is 8 mA. The size is small and has a 2.4 GHz
digital wireless transceiver. This Bluetooth module is interfaced with Arduino Mega
2560 through UART port, which are TX and RX pins. In this project, the Bluetooth
module TX pin was connected to RX1 pin in Arduino Mega 2560. Meanwhile
Bluetooth module RX pin was connected to TX1 pin in Arduino Mega 2560 for two
way data transfer.

Figure 3.7: Bluetooth module HC-06 which is used to send and receive data
between Android smartphone and Arduino Mega 2560.

3.2.7 Auto-Calibrating Line Sensor

Auto-calibrating line sensor LSS05 was used to perform line following. It


consists of 5 Infrared-Red (IR) transmitter and receiver pairs. It can function on any
colour as long as the brightness different is distinct and suitable for LSS05. The IR
transmitter will allow the transmitter to be switched off at certain idle period of
34

sensor in order to minimize the current consumption. It has 5 digital outputs to


indicate the line. It contains sensor indicator LEDs to show there is a line detected,
calibration button and mode indicator LED. There is also PIC16F819 microcontroller
that is used for data processing, power indicator LED, power and output signal
connectors. The maximum input power is 5 V. It has 5 sensors and they are
independent of each other. The refreshing rate of sensors is more than 100 Hz. The
sensing distance is 4 cm. This line sensor was connected to Arduino Mega 2560 and
installed on the portable robot to detect black line during line following in the
supermarket. Thus, users can control shopping trolley to start moving or continue by
using android smartphone via Bluetooth. Figure 3.8 shows the Line Sensor LSS05
used in the project.

Figure 3.8: Line sensor LSS05 which is used to detect black line or path with white
background or vice versa in order to allow line following robot to follow the desired
line or path.

3.2.8 Motor Driver

Motor driver was used to drive motor in this project. By controlling the PWM
speed, motor speed can be controlled. The model of motor driver is MD30C. It is
designed to drive medium to high power brushed DC motor. Its current capacity is up
to 80 Amperes (A) peak for 1 second and 30 A continuously. It has reverse polarity
protection. Its PWM generator enables it to operate without a host controller. This
motor driver has bidirectional control for 1 brushed DC motor and the voltage of
35

motor is 5 V to 25 V. Its logic level input is 3.3 V and 5 V. It has better efficiency
due to its full NMOS H-Bridge and there is no heat sink needed. The PWM
frequency of speed control can go up to 20 kHz. It can support both locked-antiphase
and sign-magnitude for external PWM operation. Figure 3.9 shows the MD30C
motor driver used in the project.

Figure 3.9: Two DC motor drivers are used in the project in order to drive two
motors for robot movement where the speed and direction can be adjusted in the
program.

3.2.9 Electric Scooter Motor with Gear

This electric scooter motor with gear was used to drive shopping trolley. It is
a 450 W scooter motor and its DC voltage is 24 V with 11 Nm torque. It has 395 rpm
speed and with maximum current of 26.5 A.
36

3.3 Software Design

The software design approach in this project involves Intel board DE2i-150
as a database server and Java programming language based Android application as
client. The Intel board running Linux operating system provides a communication
platform that receives data from the clients and acts as a central processing unit that
processes the data. Meanwhile the Android application provides a user interface to
the users in order to create desired shopping list, send and receive information from
server as well as from Arduino Mega 2560 board.

The main algorithm of the software design of client is to use Android


application as user interface to organize the shopping list and to show the grocery
items in the respective locations on a shopping map. First, users would connect to the
hotspot available in the supermarket where it allows the users to access the database.
The Android application as a client will then be connected to the server of the
supermarket. Hence the users are able to search for the items and its locations in the
supermarket easily. With the user interface on the Android application, users are able
to choose the items from the buy list, where the selected items will be sent to the
server hosted on Intel board. The server will then process the data and send the
coordinate information of the selected items to the Android application. All the
selected items’ locations will be displayed on the shopping map and helping the users
to organize their shopping journey even better.

In general, the server is to store data and listening to the client to connect with
it. When there are clients connected, it will wait to receive the shopping items
information from the users. In default, the server will process the data received from
a buy list which is set by users, as it will identify the coordinates of the selected items
and informs the users by displaying a mark on the shopping map of Android
application. When a shopping map user interface was open, a dialogue message
would appear to allow the user to activate the shopping trolley to start moving.

When RFID reader detected a tag card with tag data (each tag data was
deemed as different coordinate in Android application) is the same as the coordinates
37

of the selected items, the trolley will stop moving. At the same time, a dialogue
message pops up to ask the user if he or she wants to continue to move the shopping
trolley (continue shopping). When RFID reader detected the last selected item’s
location, shopping trolley will keep stopping until the user presses the button from
the dialog message to allow the shopping trolley to move to a payment counter
automatically to end the shopping journey. Figure 3.10 shows the Unified Modelling
Language of overall system process.

System Process
Arduino Mega 2560 Android Application Intel Board
(Microcontroller) (Client) (Server)
Choose buy list and Process received
request for items data, get items
locations locations

When RFID Press Start to call


reader read tag shopping trolley to move
card and send tag and display all selected Send coordinates
data to client items location on to Android
shopping map application GUI
Shopping
Trolley Move Trolley continue to
move and find
If received items
obstacle No coordinates to match
exists RFID tag
Shopping
Yes
Trolley Stops
The coordinate
matches Yes

Default move: go Press Continue to


to counter. shopping

No

Shopping trolley
move to counter

Figure 3.10: UML of ccommunication flow between Arduino board, Intel board and
Android application.
38

3.4 Summary

The hardware design and software design of the project are mentioned in this
chapter. The hardware and components are selected, designed and programmed on
the main microcontroller. All of the hardware and components are placed on the
robot and attached to the shopping trolley. The server is programmed by using Java
programming language. Server program is installed in the Intel board. The
communication between robot and smartphone is through Bluetooth while server and
smartphone communicate via Wi-Fi hotspot.
39

CHAPTER 4

RESULTS AND DISUCSSION

4.1 Introduction

In this chapter, results of the project and the problems encountered


throughout the developing process are discussed. Each hardware and component’s
functionality is tested and displayed through Arduino integrated development
environment (IDE). Besides, the project live test result in the indoor environment is
evaluated in order to make sure the functionality of mobile robot, Android
application in smartphone and server system.

4.2 Results

The project involves both hardware and software. Each hardware was
connected to microcontroller and the data was collected.
40

4.2.1 Hardware Development

First and foremost, ultrasonic sensor was connected with Arduino Mega 2560
board. There were six ultrasonic sensors used in the project. Figure 4.1 shows the
snapshot of 6 ultrasonic sensors output program was displayed in table form by using
Arduino IDE serial monitor.

Figure 4.1: Data collected from six ultrasonic sensors and the result was displayed
in table form by using serial monitor of Arduino IDE.

Secondly, line sensor was tested for line following function. Figure 4.2 shows
a line sensor detected the black line and the related sensors were lightened up and its
result was displayed in serial monitor.

Figure 4.2: Line Sensor detected the black line with white background. The LEDs
for the corresponding sensors detected the black line were lightened up.
41

RDIF Reader RDM6300 was tested and its result was shown in Figure 4.3.
Bluetooth module was also tested. The received tag number was sent to Android
application and displayed in GUI via Bluetooth. On the other hand, Android
application was also used to test to send data to Arduino Mega 2560 via Bluetooth in
order to control the motion of motor.

Figure 4.3: RFID reader is connected to Arduino Mega 2560, where TX pin of
RFID reader is connected to pin RX of Arduino Mega board. The message received
after tagged will be displayed in serial monitor.

All of the hardware and components are programmed in the main


microcontroller. Two ultrasonic sensors are put in the front side of the shopping
trolley in order to avoid obstacles in front of it. RFID tag cards that act as location
indicator are placed on the cardboard along the black line or path. The
communication between smartphone and robot is via Bluetooth connection. The
movement of shopping trolley is controlled by using smartphone. Figure 4.4 shows
the performance test of the project is carried out in indoor environment.
42

Figure 4.4: The robot that is attached to the shopping trolley is tested on the black
line or path with white background and the movement of robot is controlled by using
smartphone.

4.2.2 Software Development

In software development, GUI of Android application and server system were


developed by using Java programming language. Software eclipse was used to
develop both systems. The results of both communication systems were shown in
Figures 4.5 till 4.9.
43

(a) (b)
Figure 4.5: Screenshot (a) shows the dialogue message of Bluetooth permission
request. The dialogue will pop out once Android application is launched without
turning on the Bluetooth connection on Android smartphone. Screenshot (b) shows
that user can click on the menu button to connect this Android application to server
system after Wi-Fi hotspot is turned on.
44

(a) (b)

(c) (d)
Figure 4.6: Screenshot (a) shows the server GUI was in disconnect condition.
Screenshot (b) shows the server was waiting for client connection. Screenshot (c)
shows the server was connected to a client. Screenshot (d) shows the server had
received the selected items from Android application and it sent locations of items in
term of coordinates to the Android application GUI automatically after being
processed.
45

(a) (b)
Figure 4.7: Screenshot (a) shows the GUI of Android application with two selected
items from buy list. Screenshot (b) shows the dialog message was popped up once
shopping map activity was opened. The received coordinates from server were
marked on the shopping map.

(a) (b)
Figure 4.8: Screenshot (a) shows the GUI of shopping map on Android smartphone
with the marked items’ location for the selected items in To-Buy-List. Screenshot (b)
shows a dialogue message is popped up when the shopping trolley reaches and stops
at the selected item’s location. Users can press “Continue” to allow the shopping
46

trolley to move to the next item’s location, or press “Go Counter” after they have
collected all the selected items.

Figure 4.9: Screenshot picture shows the menu buttons where a user can manually
stop or enable shopping trolley to continue moving.

4.3 Discussion

Arduino mega 2560 was used as the main microcontroller to interface with all
hardware used in this project. Tag card data was used as a location indicator in term
of coordinate in order to let the user know the locations of shopping trolley and
selected items. The locations would be displayed on GUI of Android application.
Bluetooth module was used to transfer and receive data between Arduino Mega 2560
board and Android smartphone. Line following sensor allow shopping trolley to
move according to detected black line. Thus, shopping trolley can lead users during
shopping. In order to prevent the shopping trolley collides with other shopping
trolley or people in the supermarket, ultrasonic sensors were used to avoid collision.
47

The problem faced in hardware development is that when designing the


portable robot base, all possibilities of hardware installations must be taken into
consideration. When testing with RDIF reader, it was found that the distance between
the tag card and RFID reader must not exceed 4.5 cm. Besides, the movement of
RFID reader to pass by the tag card must be slow enough to ensure the readability the
tag card. Furthermore, UART port communication must be fully understood before
the use. For both connections of RFID reader and Bluetooth module with Arduino
board of serial port, TX pin is for transfer data out meanwhile RX pin is for receiving
data. Therefore, RFID reader TX pin must be connected to RX pin of Arduino board
so that Arduino board can read the data sent from RFID reader. Since Bluetooth
module was used for two-way communications, TX and RX pins of Bluetooth
module must be connected to RX and TX pins of Arduino board respectively.

On the other hand, the distance between line sensor and black line must be
within 1.5 cm in order to get a more accurate detection. When the distance is higher,
other IR sensors will light up and thus cause the direction difference. Furthermore,
after making sure each hardware can function properly, all algorithms in the
programs would be combined. This means that whole system will be tested. When
came to this stage, it was found that the line following robot and RFID reader cannot
function properly due to polling method. Microcontroller is continuously checking
the given device status. The device only performs the service from microcontroller
when the status condition is met. It is not efficient as the line following robot keeps
running and the RFID reader needs to scan RFID tag card at the same time.
Therefore, interrupt method is preferable to be used in the programming where each
device can perform based on the priority assigned by the microcontroller. This is
much more efficient compared to polling method.

In software development, to set up Java environment, Java Development Kit


(JDK) and Java Runtime Environment (JRE) were needed to be installed for Java
program development purpose and to run Java program in run time. Integrated
Development Environment (IDE) used is Eclipse. Java programming language was
used as the main programming language in Android application and Java application
programming. Eclipse provides a very resourceful Software Development Kit (SDK)
which is available from Android 1.5 up to Android 4.4.2 until now.
48

In this project, the minimum Application Programming Interface (API) level


is 8, meaning that any Android devices with Android version of 2.2 (Froyo) and
above are able to run this software. One of the communication methods is Bluetooth
where it sends the selected items to the server. The Bluetooth connection in Android
requires a declaration of BLUETOOTH and BLUETOOTH_ADMIN permission in
AndroidManifest.xml in order to request for a connection, accept a connection,
enable data transmission, perform scanning and manipulate Bluetooth settings.
Figure 4.10 shows the permission code declaration in the program.

Figure 4.10: Bluetooth Permission in Android Mnifest.xml must be declared in the


program.

Then, setting up Bluetooth using “BluetoothAdapter” from the Android


Bluetooth activity class is needed to enable the Bluetooth function. Device with
discoverable state will provide its device name, class and unique MAC address.
Getting the MAC address of the Bluetooth module HC-06 is necessary in this case.
This is because the paired device is different from the connected device. Pairing
means the two devices get to know each other, meanwhile connected means the
devices are able to communicate and exchange data since Radio Frequency
Communication (RFCOMM) channel is shared. With the Media Access Control
(MAC) address pre-defined in the “MainActivity” of Android application, the
communication will be directed to the HC-06 module when the application is
activated. Figure 4.11 shows the MAC address of Bluetooth Module declaration.

Figure 4.11: MAC address of Bluetooth module, HC-06 must be declared in the
program.
49

Furthermore, server and client systems were developed by using


communication channel, called as socket method. There are three phases involved:
open socket, receive and send socket, and close socket. Both server and client have
specific socket addresses, called as communication identifier. Each socket consists of
a port number and internet address. Figure 4.12 shows the socket declaration in the
program.

Figure 4.12: Socket declaration, server port and server IP address set up in both
server and client system.

Server socket object was created in order to listen and accept connections
from clients. Server socket object is always in the state of opening and listening until
there is a message from client. In order to receive a response from server,
“InputStreamReader” was created to read the received text lines meanwhile
“OutputStream” was created for sending information out. “PrintWriter” is a class that
takes “OutputStream” and provides a simple way to print regular data types in the
human readable format on the stream. One of the most important elements for
successful communication between Java server and Android client is that there must
be a declaration for internet permission in Android Manifest.xml as shown in Figure
4.13.

Figure 4.13: Declaration of internet permission for socket connection.

However, there was an issue encountered in the motor controlling


programming. When the shopping map activity in the Android application was
chosen to open, it took about 5 seconds to proceed, which is unusual. In addition, tag
data would not be sent when the Android device failed to connect with the Bluetooth
50

module HC-06. Nevertheless, the second attempt to reconnect would just work fine.
This might somehow due to the signal disruptions that interrupt the connection
between the Android device and the Bluetooth module from the shopping trolley.

4.4 Summary

As a result, after completing both hardware and software development, a


performance test is carried out in order to test the functionality of AGSTS. The
movement of the robot that is attached to the shopping trolley is controlled by using
smartphone with an installed Android application. After a user connects the Android
application to the server, the user can select items from “To Buy List” and send to
server to request each item’s location. There are some problems encountered during
performance testing, especially the hardware testing. The lowest speed of the motor
is needed to be adjusted as slow as possible in order to allow RFID reader to read the
RFID tag cards. The RFID tag cards are placed along the black line or path with
white colour of card board as background. However, the RFID reader used is not
stable where it cannot read every tags that have been preselected by user from the
Android application. On the other hand, there is some limitation where the server can
only connected with one client.
51

CHAPTER 5

CONCLUSION

5.1 Introduction

This chapter covers on the conclusion and recommendations for project’s


future works in order to improve the project.

5.2 Conclusion

With the aid of automatic line following and human leading functions
portable robot, supermarket owners need only to purchase the portable robot and can
easily install it under shopping trolley. Users can enjoy shopping without pushing
shopping trolleys themselves. Meanwhile, smart shopping system allows users to
access the location of items that they plan to purchase in supermarket by using
Android application and call the shopping trolley to move automatically. Thus,
shopping trolley can lead the users to their desired location of items that they plan to
buy. This system is called server and client system. The location of shopping trolley
52

and items can always be tracked easily by using RFID technology as localization
scheme and Android application. Both communicate via Bluetooth function.

5.3 Future Works

Firstly, the mechanism of the robot should be enhanced and designed in a


simpler way to ease the installation under a shopping trolley. Secondly, a more
advanced algorithm should be developed so that the shopping trolley is able to move
in a crowded environment and follows the user automatically in any direction. Lastly,
an improved Android application that can remind the users on the items they need to
purchase when unintentionally passing by the good locations. Besides, it can also
remind the users who have health problem about the nutrition of products. In addition,
the locations of shopping trolley are tracked and can be displayed to allow
supermarket staffs and users know the shopping trolley current locations.
53

REFERENCES

[1] Valentinos, K. K. and Charles, R. A. (2002). Wireless communication


between A.G.V.’s (Autonomous Guided Vehicle) and the industrial network
C.A.N. (Controller Area Network). Proceedings of the 2002 IEEE
International Conference on Robotics & Automation. May, 2002. May.
Washington: IEEE. 2002. 434–437.

[2] Hugh, F. D. (1996). An Autonomous Guided Vehicle for Cargo Handling


Applications. The International Journal of Robotics Research. 15(5), 407–
440. SAGE.

[3] Kazuyuki. M., Lee, J-H. and Hideki, H. (2004). Human-Following Mobile
Robot in a Distributed Intelligent Sensor Network. IEEE Transactions on
Industrial Electronics. 51(1), 229–237.

[4] Li, Y., Wu, X., Shin, D., Wang, W., Bai, J., He, Q., Luo, F. and Zheng, W.
An Improved Line Following Optimization Algorithm for Mobile Robot. 84–
87.

[5] Han, S.S., Kim, D.K. and Lee, J. M. (2007). A New Tag Arrangement Pattern
for a Differential Driving Mobile Robot Based on RFID System.
International Conference on Control, Automation and System. 1228–1233.

[6] Tan, T. C. and Muhammad, N. M. (2009). Implementation of Behaviour-


Based Mobile Robot for Obstacle Avoidance Using a Single Ultrasonic
Sensor. Conference on Innovative Technologies in Intelligent System and
Industrial Applications. July. 244–248.
54

[7] Lin, J. (2009). Implementation of Enterprise Instant Communicating System


Based On Application Layer With Java Programming. International Forum
on Information Technology and Applications.

[8] Kelly, W. (1999). Wheels of Fortune. Metroactive new & issues. Retrieved
on September 16, 2013, from
http://www.metroactive.com/papers/metro/06.03.99/shoppingcarts-9922.html

[9] Tesco Tackles Trolley Thefts in Colchester. BBC News. Retrieved on


September 16, 2013, from http://www.bbc.co.uk/news/uk-england-essex-
15635360

[10] MHE Trolley Shopping Supermarket 90 Litre Standard Tube Base ST SDT90.
Retrieved on September 16, 2013, from http://www.lelong.com.my/mhe-
trolley-shopping-supermarket-90-litre-standard-tube-base-st-sdt90-
bigandsmallstore-I1442104-2007-01-Sale-I.htm

[11] Stores face abandoned trolley fine in Carmarthenshire. BBC News. Retrieved
on September 16, 2013, from http://www.bbc.co.uk/news/uk-wales-south-
west-wales-12345485

[12] Australian Payroll Association. (2013). Shopping trolley underpayment cases


to proceed. Australia.

[13] Sasha, G. (2013). Runaway shopping cart kills Chinese woman in


supermarket in freak accident. Daily News. Retrieved on September 16, 2013,
from http://www.nydailynews.com/news/world/video-supermarket-cart-kills-
chinese-woman-article-1.1380903

[14] Candice, M. Trolley Crushed Shopper. ABC News. Retrieved on September


16, 2013, from http://www.abc.net.au/news/2011-10-10/coroner-looks-into-
travelator-death/3460304
55

[15] He, S. (2005). Feedback Control Design of Differential-drive Wheeled


Mobile Robots. 12th International Conference Adv. Robot. 135–140.

[16] Hoozemans, MJM., van der Beek AJ., Frings-Dresen MHW., van Dijk FJH.,
van der Woude LHV. (2005). Pushing and pulling in relation to
musculoskeletal disorders: a review of risk factors. Ergonomics. 41(6), 757-
81.

[17] Enid Kwong, W. Y., Claudia Lai, K. Y, Ernesto, S. and Wong, C. M. (2010).
Views of Adults on Shopping Trolleys : Implications for the Development of a
Shopping Trolley. The Ergonomics Open Journal. 32–37.

[18] Shopping Carts Problems. Retrieved on September 16, 2013, from


http://www.wcjb.com/local-news/2012/03/shopping-cart-problems

[19] Dumped Trolleys Cost Taxpayer £150,000 A Year. The Telegraph. Retrieved
on September 16, 2013, from
http://www.telegraph.co.uk/earth/countryside/4786631/Dumped-trolleys-
cost-taxpayer-150000-a-year.html

[20] Problems Shopping in Sainsbury’s with 2 Small Children. Retrieved on


September 16, 2013, from http://www.netmums.com/coffeehouse/children-
parenting-190/general-parenting-192/705127-problems-shopping-sainsbury-
s-2-small-children-all.html

[21] Police Searching For Wal-Mart Child Predator. Retrieved on September 16,
2013, from http://www.ksl.com/?nid=148&sid=3415425

[22] Shopping Cart Brakes Stop Local Shoppers in Their Tracks. Retrieved on
September 16, 2013, from
http://www.kerngoldenempire.com/mostpopular/story/Shopping-cart-brakes-
stop-local-shoppers-in their/d/story/BpUMKDS50UOIjAliXWqx3w
56

[23] Cho, C-H., Kang, J. and Cheon, H. J. (2006). Online shopping hesitation.
Cyberpsychology & Behaviour. 9(3), 261-274.

[24] Local Government Association of NSW, Shires Association of NSW. (2004).


Code of Practice for the Management of Shopping Trolleys. Australia.

[25] Australian shopping trolley dilemma: Carrot and Stick strategies for recovery
of the ones that go missing. Retrieved on September 16, 2013, from
http://www.ausfoodnews.com.au/2012/01/06/australian-shopping-trolley-
dilemma-carrot-and-stick-strategies-for-recovery-of-the-ones-that-go-
missing.html

[26] Effective Ways to Collect Shopping Carts. Retrieved on September 16, 2013,
from http://cartmanagement.hubpages.com/hub/Effective-Ways-to-Manage-
Your-Shopping-Carts

[27] Thirumurugan, J., Vinoth, M., Kartheeswaran, G. and Vishwanathan, M.


(2010). Line Following Robot for Library Inventory Management System.
IEEE. 1–3.

[28] Unyelioglu, K. A., Hatipoglu, C. and Ozguner, U. (1997). Design and


analysis of a line following robot controller. IEEE Transaction Control
System Technology. 5(1), 127-134.

[29] Emi, N., Daiki, T., Manato, F., Yuki, O., Tomotaka, W., Hiromi, O. and
Kouichi, M. (2012). A New Indoor Position Estimation Method of RFID
Tags for Continuous Moving Navigation Systems. 2012 International
Conference on Indoor Positioning and Indoor Navigation. November.

[30] Hoopad, M. (2010). Authentication and lightweight cryptography in low cost


RFID. 2010 2nd International Conference on Software Technology and
Engineering (ICSTE). October. 123–129.
57

[31] Huang, C-T., Lo, L. W. and Chen, H-L. (2008). A study for optimizing the
reading rate of RFID tagged cartons in palletizing process. 2008 IEEE
International Conference Industrial Engineering Management. December.
1138–1142.

[32] Henna, S. (2009). A Throughput Analysis of TCP Variants in Mobile


Wireless Networks. 2009 Third International Conference Next Generation
Mobile Application Services and Technology. September. 279–284.

[33] Cai, M. (2012). The Design Method of Network Chat System Based on
Socket and Cloud Computing. 2012 International Conference Computer
Science and Service System. August. 610–613.

[34] Gogulski, I. P and Circle, M. (1978). U.S. Patent No. 4,071,740. Washington
DC:U.S. Patent and Trademark Office.

[35] Wolfe, I. M., John, V. and Biondo, J. (1994). U.S. Patent No. 5,357,182.
Washington DC: U.S. Patent and Trademark Office.

[36] Havens, I. R. (1989). U.S. Patent No. 4,868,544. Washington DC: U.S. Patent
and Trademark Office.

[37] Ryoma, A., Hiroshi, T. and Hiroshi, M. (2010). A Study of Functions for
Robot Returned from Parking to Store Autonomously. Proceedings of the
2010 SICE Annual Conference. Taipei, Taiwan: IEEE, 889–891.

[38] Suryaprasad, J., Praveen, K., Roopa, D. and Arjun, A. K. (2011). A Novel
Low-Cost Intelligent Shopping Cart. 1–4.

[39] Antonio, M-H., Guillermo, D. J. H-R., Marlon, G-A. and Luis, F. M-U.
(2012). Conception and Implementation of a Supermarket Shopping Assistant
System. 11th Mexican International Conference on Artificial Intelligent and
Applications, Special Session. October. 26–31.
58

APPENDIX A

PROJECT MANAGEMENT

A.1 Introduction

Project management is a management discipline to manage a complex project


which includes the application of knowledge, skills, tools, and techniques [43]. In
order to achieve expectation or demand of a project, a good management must be
practised. The priority concerned are the research scope, time, budget and human
resource to handle the project development. Gantt chart and milestone had been
tabulated in order to provide a guideline to handle this project.

In addition, cost estimation on the required hardware and components is listed


to ensure the expenses is within budget but able to reach the project requirement. In
the process, a market survey was carried out to understand the market price of
components. Thus, final cost estimation could be evaluated.
59

A.2 Project Schedule

Project Gantt chart and milestone for semesters one and two are shown in
Tables 1 and 2 respectively. This table shows that it is very important to study
literature review throughout the process of project development. The project is
categorised in three parts, which is hardware development, software development as
well as mechanism design and fabrication. There is overlapped development where
the communication between hardware and software has to be tested during the
developing to make sure both systems can function properly. Then, the robot
mechanism design was carried out after both hardware and software development
had been completed to ensure the mechanical structure can fix the developed
hardware and components. This project schedule is important to ensure the project
can be done according to the guideline and complete on time efficiently.

Table A.1: Gantt Chart of Project for Two Semesters


Semester 1, 2013/14 Semester 2, 2013/14

No Activities
9 10 11 12 1 2 3 4 5 6 7 8

1 Literature review

2 Hardware development

3.1 Circuit design


3.2 Hardware and
components testing
3 Software development
4 Robot mechanism design
and fabrication
5 Performance analysis
6 Writing: proposal, report,
slides and thesis.

7 Milestones A B C D E F G H
60

Table A.2: Project Milestones


Milestones Complete Task Date
A Initial proposal 15/10/13
B Shortlisted entries for participation 7/11/2013
Training 1 23/11 - 25/11/2013
Circuit design is completed 30/11/2013
C FYP 1 Seminar 9/12 - 13/12/2013
Final FYP 1 report 27/12/2013
D Hardware and components testing 15/2/2014
Software development on basic creating GUI 28/2/2014
of Android application
E Training 2 2/3 - 3/3/2014
Hardware development is completed 10/3/2014
Working basic on client and server 20/3/2014
communication
F Hardware and software development testing 20/4/2014
Soft-skill training 20/4 - 21/4/2014
Dreamcatcher innovate competition project 28/4/2014
final report
Robot mechanism design and fabrication is 29/4/2014
complete
Software development is completed 30/4/2014
G Performance Analysis in indoor environment 5/5/2014
Poster and slides 7/5/2014
FYP 2 Seminar and demonstration 12/5/2014
Competition and demonstration 21/5/2014
H FYP thesis/report draft & Turnitin Report, 5/6/2014
Journal-style scientific paper
FYP 2 Report submission (hardcover) and 16/6/2014
CD (softcopy)
61

A.3 Cost Estimation

Cost of estimation for hardware and components is as shown in Table 3. The


most expensive component is the 450W scooter motor where 2 modules are needed
in order to drive two of the wheels in the project. Two motor drivers are also needed
and are also quite expensive. Some small size of components such as PCB
connectors, strip board, jumpers and solder lead are needed to make an Arduino
Mega 2560 shield board. Besides, the hardware used such as ultrasonic ranging
module, line sensor, Bluetooth module, RFID reader and tags are also quite
expensive especially some of them are ordered from online. This will make the cost
increased as it incurs shipping fee. On the other hand, Table 4 shows the cost
estimation for mechanical materials used in the project. Aluminium bar is considered
quite expensive. The cheaper materials are cap screw, nut and rivets. However, the
required quantities are higher and in different sizes. The total cost of this project is
RM 1,634.90.

Table A.3: Cost for Hardware and Components


Component Name Cost For 1 Subtotal
Unit Price Module (For 1 Unit)
Range
Arduino Mega 2560 1 RM 1 RM 115.00
115.00
Ultrasonic Ranging Module 1 RM 45.00 3 RM45.00
Auto-Calibrating Line Sensor 1-9 RM 49.90 1 RM 49.90
Wireless Serial 4 Pin Bluetooth 1 RM 21.00 1 RM 21.00
RF Transceiver Module HC-06
RS232
125kHz RFID Module 1 RM 42.00 1 RM 42.00
RDM6300
125kHz RFID Card 1-19 RM 3.00 10 RM 30.00
450W Electric Scooter Motor 1 RM 2 RM 840.00
with Gear 420.00
62

30A DC Motor Driver 1 RM 2 RM 238.00


119.00
12V/7.0Ah Lead Acid Battery 1-5 RM 55.00 1 RM 55.00
Arduino Female Header 1x10 10-49 RM 1.35 10 RM 13.50
Ways
Female to Female Jumper Wire 1-9 RM 4.50 2 RM 9.00
PCB Stand (screw & screw) 1 RM 0.90 2 RM 1.80
20mm
Strip Board (Small) 6x15cm 1-9 RM 1.60 1 RM 1.60
PCB Connector 10 Ways 1 RM 1.50 1 RM 1.50
PCB Connector 4 Ways 1 RM 0.60 10 RM 6.00
PCB Connector 3 Ways 1 RM 0.45 4 RM 1.80
PCB Connector 2 Ways 1 RM 0.30 4 RM 1.20
Rainbow Cable 10 Ways 1 RM 4.50 4 RM 18.00
Solder Lead 1 RM 3.00 1 RM 3.00
Slide Switch 3 Pins Black 1 RM 1.00 1 RM 1.00
Fast Blow Fuse 20mm (13A) 1 RM 0.20 1 RM 0.20
Fuse Holder c/w Cover 20mm 1 RM 1.50 1 RM 1.50
Subtotal RM 1,496.00

Table A.4: Cost for Mechanical Materials


Component Name Cost For 1 Subtotal
Unit Price Module (For 1 Unit)
Range
5/32 x 3/8 Aluminium Blind 1 RM 0.04 50 RM 2.00
Rivets
12’’ China Hacksaw Blade 1 RM 0.80 1 RM 0.80
5in Rubber Castor Wheel-Swivel 1 RM 12.00 2 RM 24.00
4x30mm Allen Cap Screw 1 RM 0.20 10 RM 2.00
5x12mm Allen Cap Screw 1 RM 0.20 10 RM 2.00
M5(3/16) ZP Flat Washer 1 RM 0.05 10 RM 0.50
4.0mm Majesta/Bosch Drill Bit 1 RM 5.00 1 RM 5.00
10.0mm Majesta/Bosch Drill Bit 1 RM 16.00 1 RM 16.00
63

F1910ZZ Bearings 1 RM 12.00 2 RM 24.00


Spring 1 RM 1.65 2 RM 3.30
M4 Nikel Plated Wing Nut 1 RM 0.25 10 RM 2.50
10x70mm Allen Cap Screw 1 RM 1.00 2 RM 2.00
M12 (1/2) ZP Flat Washer 1 RM 0.15 4 RM 0.60
M8(5/16) ZP Flat Washer 1 RM 0.05 4 RM 0.20
5/32 x 5/16 Jaguar/Patta Blind 1 RM 0.05 40 RM 2.00
Rivets
Acrylic Sheet (A4) 3mm 1 RM 10.00 1 RM 10.00
1-1/2x3.0mm Aluminium Angle 1 RM 14.00 1 RM 14.00
Bar
25mmx3mm Aluminium Flat Bar 1 RM 6.00 4 RM 24.00
4x35mm Allen Cap Screw 1 RM 0.20 10 RM 2.00
4x10mm Allen Cap Screw 1 RM 0.20 10 RM 2.00
Subtotal RM 138.90
64

APPENDIX B

2D ENGINEERING DRAWING OF ROBOT MECHANISM


65

APPENDIX C

DATASHEET OF ULTRASONIC RANGING MODULE HC-SR04


66
67

APPENDIX D

DATASHEET OF RFID READER RDM6300


68
69
70
71

APPENDIX E

DATASHEET OF 450 W SCOOTER MOTOR

S-ar putea să vă placă și