AUTOMATIC HUMAN GUIDED SHOPPING TROLLEY WITH SMART
Transcription
AUTOMATIC HUMAN GUIDED SHOPPING TROLLEY WITH SMART
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 I 20t312014-2 declore thot this lhesis is CONFIDENTIAT RESTRICTED clossified os : tcontoins confidentiol informotion under the officiol Secref Act 1972]|* 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 2. The Librory : the properly of Universili Teknologi Moloysio' 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 NoTEs : * Dote : 5th JLrNE 2014 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 Date JUNE 2OI4 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 I Trolley with declare that this thesis entitled "Automatic Human Guided Shopping the result of my own research except as cited in the System" i Smart Shopping references. The thesis has not been a any degree and is not concurrently submitted in candidature of any other Signature Name Date : : : NG YEN LENG 5 JUNE 2014 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 membelibelah 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 masalahmasalah 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 1 2 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 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 LITERATURE REVIEW 10 2.1 10 Introduction 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 3 Summary 22 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 5 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 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 1.1 Flowchart of research methodology. 2.1 A Stranger approach victim when her mother walked PAGE 8 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]. 2.10 A mobile device that can display a list written by users and the Identification QR-code [39]. 2.11 22 Side angle view and top view of robot mechanism with hardware and components are attached. 3.2 22 Autonomous robot that can display current shopping list, product information and image taken by robot [39]. 3.1 21 27 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 29 with Android application via Wi-Fi hotspot. 3.4 Arduino Mega 2560 microcontroller is used as a main microcontroller to interface with all hardware and components. 3.5 30 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. 3.6 31 Ultrasonic Sensor, HC-SR06 is used for obstacle avoidance in order to Allow Shopping Trolley move without collision with Objects. 3.7 32 Bluetooth module HC-06 which is used to send and receive data between Android smartphone and microcontroller. 3.8 33 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. 3.9 34 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. 3.10 UML of Communication flow between Arduino board, Intel board and Android application. 4.1 35 37 Data collected from six ultrasonic sensors and the result was display in table form by using serial monitor of Arduino IDE. 4.2 40 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. 4.4 41 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. 4.5 42 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. 4.6 43 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. 4.7 44 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. 4.9 45 Screenshot picture shows the menu buttons where users can manually stop or allow shopping trolley to continue moving. 4.10 Bluetooth Permission in Android Mnifest.xml must be declared in the program. 4.11 4.13 48 MAC address of Bluetooth module, HC-06 must be declared in the program. 4.12 46 48 Socket declaration, server port and server IP address set up in both server and client system. 49 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 Literature review Communication between client and server system development Client as Android application development 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 prevent shopping trolley being abandoned everywhere in supermarket. Objective 1 To develop an Android application as client Scope -- Java programming in eclipse software -- Connection between server and client is established by using Wi-Fi hotspot -- Connect to server and Bluetooth module on robot, select items from list view and send to server, display received items locations as coordinate in UI of shopping map Objective 2 To develop server as database system NO Server as database system development Scope -- Java programming in eclipse software -- 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 development Experimental Tested Working? YES Functional AGSTS Scope -- 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 Scope -- Test the communication between client and server system in indoor environment -- Test the robot hardware functionality -- Test the communication between robot and client in indoor environment 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 communication with Server wireless 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, autocalibrating 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 buildin 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 (Microcontroller) When RFID reader read tag card and send tag data to client Shopping Trolley Move If obstacle exists Yes No Shopping Trolley Stops Default move: go to counter. Android Application (Client) Intel Board (Server) Choose buy list and request for items locations Process received data, get items locations Press Start to call shopping trolley to move and display all selected items location on shopping map Send coordinates to Android application GUI Trolley continue to move and find received items coordinates to match RFID tag The coordinate matches Yes Press Continue to 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 BehaviourBased 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-essex15635360 [10] MHE Trolley Shopping Supermarket 90 Litre Standard Tube Base ST SDT90. Retrieved on September 16, 2013, from http://www.lelong.com.my/mhetrolley-shopping-supermarket-90-litre-standard-tube-base-st-sdt90bigandsmallstore-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-southwest-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-killschinese-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-intotravelator-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), 75781. [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-trolleyscost-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/childrenparenting-190/general-parenting-192/705127-problems-shopping-sainsburys-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-brakesstop-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-trolleydilemma-carrot-and-stick-strategies-for-recovery-of-the-ones-that-gomissing.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 No Semester 2, 2013/14 Activities 9 1 Literature review 2 Hardware development 10 11 12 1 2 3 4 5 6 D E F G H 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 7 8 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 Circuit design is completed C D FYP 1 Seminar 23/11 - 25/11/2013 30/11/2013 9/12 - 13/12/2013 Final FYP 1 report 27/12/2013 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 Soft-skill training Dreamcatcher innovate competition project 20/4/2014 20/4 - 21/4/2014 28/4/2014 final report Robot mechanism design and fabrication is 29/4/2014 complete G H Software development is completed 30/4/2014 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 FYP thesis/report draft & Turnitin Report, 5/6/2014 Journal-style scientific paper FYP 2 Report submission (hardcover) and CD (softcopy) 16/6/2014 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 Unit For 1 Subtotal Price Module (For 1 Unit) RM 1 RM 115.00 Range Arduino Mega 2560 1 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 1 RM 42.00 1 RM 42.00 1-19 RM 3.00 10 RM 30.00 1 RM 2 RM 840.00 RF Transceiver Module HC-06 RS232 125kHz RFID Module RDM6300 125kHz RFID Card 450W Electric Scooter Motor 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 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 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 Ways 20mm Subtotal RM 1,496.00 Table A.4: Cost for Mechanical Materials Component Name Cost For 1 Subtotal Price Module (For 1 Unit) 1 RM 0.04 50 RM 2.00 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 Unit Range 5/32 x 3/8 Aluminium Blind Rivets 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 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 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 Rivets Bar 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