70
Mobile RFID System for Inventory by JinHock Ong Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Masters Of Engineering in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY February 2008 @ Massachusetts Institute of Technology 2008. All rights reserved. A uthor .. .......... .... Department of Electrical ................... ............ Engineering and Computer Science January 29, 2008 iz Certified by......... C---'I Abel Sanchez Research Scientist Thesis Supervisor Accepted by Arthur C. Smith Chairman, Department Committee on Graduate Students I No 1 3 2008 L\Bs1RARIES BARKER Automation

Mobile RFID System for Inventory Automation

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile RFID System for Inventory Automation

Mobile RFID System for Inventory

by

JinHock Ong

Submitted to the Department of Electrical Engineering and ComputerScience

in partial fulfillment of the requirements for the degree of

Masters Of Engineering in Electrical Engineering and ComputerScience

at the

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

February 2008

@ Massachusetts Institute of Technology 2008. All rights reserved.

A uthor .. .......... ....Department of Electrical

................... ............

Engineering and Computer ScienceJanuary 29, 2008

iz

Certified by.........C---'I

Abel SanchezResearch ScientistThesis Supervisor

Accepted byArthur C. Smith

Chairman, Department Committee on Graduate Students

I No 1 3 2008

L\Bs1RARIES

BARKER

Automation

Page 2: Mobile RFID System for Inventory Automation
Page 3: Mobile RFID System for Inventory Automation

Mobile RFID System for Inventory Automation

by

JinHock Ong

Submitted to the Department of Electrical Engineering and Computer Scienceon January 18, 2007, in partial fulfillment of the

requirements for the degree of

Masters Of Engineering in Electrical Engineering and Computer Science

Abstract

As RFID technology proliferates within the industry, more added value applicationsemploying RFID technology are being created. One main application is inventorytracking where RFID technology is used to create a visibility of goods flowing throughthe supply chain.

This thesis discusses the high-level design considerations and implementation chal-lenges of a mobile RFID system to aid inventory automation in an enclosed environ-ment such as a warehouse.

Multiple simulations, employing probabilistic-like algorithm for navigation deci-sion, was also conducted to visualize the feasibility of the system.

An autonomous vehicle carrying an RFID reader is also implemented to test hard-ware reliability and the feasibility of a grounded robot to perform inventory in a threedimensional space.

Thesis Supervisor: John Williams

Title: Associate Professor

Thesis Supervisor: Abel SanchezTitle: Research Scientist

3

Page 4: Mobile RFID System for Inventory Automation

4

Page 5: Mobile RFID System for Inventory Automation

Acknowledgments

This project would not be possible without the encouragement, support and guidance

of many people. I would like to acknowledge these people, although the list below is

not a complete one.

I would like to thank Dr. Abel Sanchez and Professor John Williams for providing

me the opportunity to work at Auto-ID Labs. I am very grateful to be able to work

with Dr Sanchez who has been very thoughtful of his students. I also would like to

mention my colleagues, Sergio Herrero, Fivos Constantinous, Indy Yu, Diana Aude,

Monica Sun, and Ane Fabo Aranzabal who have created a fun environment to work

in, the suggestions and all the help for completing my project.

I would also like to thank the Public Service Department of Malaysia for funding

the four years of my undergraduate education at MIT. Without this funding, my

dreams of pursuing an engineering degree at MIT would not be realized.

Through discussions, my friends, particularly ChengHau Tong,Richard Sinn, Chris-

tian Deonier, Tri Ngo, Lauren Cooney, Zach Gazak and Joel Yang, has inspired and

given me ideas for my project.

I am also thankful for my girlfriend, Rachael Choong, for everything.

Last but not least, I would like to thank my parents who have contributed tremen-

dously to my being today. They have not only given me advice and love, but also the

freedom to pursue my dreams.

5

Page 6: Mobile RFID System for Inventory Automation

6

Page 7: Mobile RFID System for Inventory Automation

Contents

1 Introduction

1.1 Mobile RFID System . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 O rganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Related Work

2.1 RFID Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.1 RFID Software Stack . . . . . . . . . . . . . . . . . . . . . . .

2.2 Unmanned-Aerial-Vehicle . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Existing Location Sensing Technology . . . . . . . . . . . . . . . . . .

3 High Level Design

3.1 General Issues . .. . . . . . ... . . . . . . . . . . .

3.1.1 Measuring Performance and Determining Task

3.1.2 Task Distribution . . . . . . . . . . . . . . . .

3.1.3 Localization and Navigation Reference . . . .

3.2 Hardware Challenges . . . . . . . . . . . . . . . . . .

3.2.1 Helicopter Payload and Power Consumption .

3.2.2 Navigation Sensors . . . . . . . . . . . . . . .

3.2.3 RFID-Reader Constraints . . . . . . . . . . .

3.3 Software Challenges . . . . . . . . . . . . . . . . . . .

3.3.1 Machine Learning and Artificial Intelligence

4 Initial Simulation

Completion

7

15

16

18

19

19

20

21

22

25

25

25

26

27

28

28

28

29

30

30

33

Page 8: Mobile RFID System for Inventory Automation

4.1 M otivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Units and Simulation Parameters . . . . . . . . . . . . . . . . . . . . 33

4.3 Simulation Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 Semi Probabilistic Navigation Algorithm . . . . . . . . . . . . . . . . 35

4.5 Initial Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . 35

4.6 Result Summary and System Viability . . . . . . . . . . . . . . . . . 38

5 Hardware Platform 41

5.1 Overall Hardware Configuration . . . . . . . . . . . . . . . . . . . . . 41

5.2 Windows CE 6.0 OS Design and eBox 2300 . . . . . . . . . . . . . . . 42

5.3 R01 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.4 R01 Calibration and Debugging Interface . . . . . . . . . . . . . . . . 45

5.5 Phidgets Interface Kit . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.6 Phidgets Servo Controller . . . . . . . . . . . . . . . . . . . . . . . . 47

5.7 Sensor Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.7.1 Infrared Sensor- Sharp GP2D12 . . . . . . . . . . . . . . . . . 48

5.7.2 Gyroscope-Analog Devices ADXRS300 . . . . . . . . . . . . . 49

5.7.3 Accelerometer - Analog Devices Dual-Axis Accelerometer ADXL202E 50

5.8 RFID Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.9 Wireless Communication . . . . . . . . . . . . . . . . . . . . . . . . . 52

6 Other Applications 55

6.1 RFID at Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1.1 Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1.2 RFID Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.1.3 Smart Appliances . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.2 Automated Tour Guide using RFID local knowledge . . . . . . . . . . 60

7 Discussion and Conclusion 63

7.1 D iscussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.2 C onclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8

Page 9: Mobile RFID System for Inventory Automation

A Mercury4e Class Library 67

9

Page 10: Mobile RFID System for Inventory Automation

10

Page 11: Mobile RFID System for Inventory Automation

List of Figures

2-1 MIT Auto-ID Labs' stack of open source software. The diagram is

provided by Dr Abel Sanchez. . . . . . . . . . . . . . . . . . . . . . . 21

3-1 Possible task distribution in multiple UAV operation. . . . . . . . . . 27

3-2 Asymmetrical RFID reader placement are more beneficial since it pro-

vides longer read range. . . . . . . . . . . . . . . . . . . . . . . . . . 29

4-1 UAV simulation implemented with XNA framework. . . . . . . . . . . 34

4-2 UAV FSM Implementing Probabilistic Algorithm . . . . . . . . . . . 36

4-3 Simulated warehouse layout. . . . . . . . . . . . . . . . . . . . . . . . 36

4-4 Completion versus Time (6 UAVs deployed). . . . . . . . . . . . . . . 37

4-5 Completion versus Time (Unbounded). . . . . . . . . . . . . . . . . . 38

4-6 Average completion versus number of UAVs. . . . . . . . . . . . . . . 39

4-7 Two-dimensional trajectory of one of the monitored UAVs. . . . . . . 39

5-1 R01: Autonomous Mobile Reader . . . . . . . . . . . . . . . . . . . . 42

5-2 Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 43

5-3 R01 Program Class Diagram . . . . . . . . . . . . . . . . . . . . . . . 45

5-4 ROl Debugging and Calibration Interface . . . . . . . . . . . . . . . . 46

5-5 Phidgets Interface Kit- intermediary circuit board to host digital and

analog sensors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5-6 Phidgets Servo Controller- intermediary circuit board to control the

steering motor and the digital motors by generating PWM signals. . 48

5-7 Triangulation detection mechanism of Sharp GP2D12 IR sensor. . . 49

11

Page 12: Mobile RFID System for Inventory Automation

5-8 Mercury4e class library class diagram. . . . . . . . . . . . . . . . . . 52

5-9 HTTP Post client to communicate with ROl through the Internet. . . 53

6-1 A rotating RFID reader antenna will allow the autonomous vehicle to

redirect the electro-magnetic waves in all direction. . . . . . . . . . . 56

6-2 A metallic surface may prevent the RFID reader from reading an RFID

tag even though the tag is within the read range of the RFID reader. 58

6-3 Navigating using RFID track: when the robot encounters tag corre-

sponding to the outer track, it will trigger the robot to return the

middle track. This will avoid the robot from navigating away from the

intended route. ........ .............................. 60

12

Page 13: Mobile RFID System for Inventory Automation

List of Tables

5.1 Selected Operating System Components in R01 implementation. . . 44

5.2 Analog Devices gyroscope's electrical characteristic. . . . . . . . . . . 50

5.3 Analog Devices dual-axis accelerometer's electrical characteristic. . . 51

7.1 Comparison of RFID and RuBee system. . . . . . . . . . . . . . . . . 64

A. 1 RFID reader functions implemented in .NET library. . . . . . . . . . 68

13

Page 14: Mobile RFID System for Inventory Automation

14

Page 15: Mobile RFID System for Inventory Automation

Chapter 1

Introduction

Radio-frequency identification (RFID) is an automatic identification method that

relies on radio signal. RFID tag (also known as transponder) is comparable to bar

code; however, unlike bar code, RFID tag does not require line of sight for an RFID

reader (also known as interrogator) to detect. There are two types of RFID tags:

active and passive. Active tags have built in battery which usually last five years

while passive tags harvest energy from radio waves of the RFID readers.

Depending on the frequency of the RFID system, high frequency RFID readers al-

low detection at longer range. Currently, the three main frequency categories include

Low Frequency (LF), High Frequency (HF) and Ultra High Frequency (UHF).

EPC network has also been proposed to complement RFID technology and ensure

interoperability . The network will allow information sharing throughout all levels of

the supply chain. The convenience of RFID technology reduces warehouse operation

time and increases inventory accuracy. This allows manufacturers, distributors and

retailers to reorder stock more efficiently. Moreover, tracking stock through supply

chain is also easier, allowing distributor or manufacturer to prepare for incoming

shipment better.

Even though RFID is often perceived as a replacement for bar code, a number

of creative applications beyond the supply chain, using RFID technology, have been

introduced.

A sushi restaurant in Japan has been tagging serving plates with RFID tags.

15

Page 16: Mobile RFID System for Inventory Automation

Plates of sushi are usually put on a conveyor belt around the seating area where

customers can pick from. Plates are usually colored corresponding to the price of the

dish. Previously, a waiter or a waitress computed customers' total cost by counting

the different plates. With RFID technology, the waiter or waitress can scan the plates

with an RFID reader to determine the total.

A few companies have also introduced RFID mirrors, usually used in fitting rooms

of fashion boutiques. When a potential customer wears an RFID-tagged piece of

clothing, the mirror will display additional information such as size, brand, material

and other matching clothing. The mirror may also provide option to the customer

to request a different size of the same clothing. The RFID mirror not only attempts

to persuade a potential customer to purchase an item but also provides an engaging

experience for the customer to stay longer.

Generally, RFID is widely used as location sensing tool particularly among the

retail, aerospace, defense, pharmaceutical, supply chain and manufacturing industry.

1.1 Mobile RFID System

In supply chain flow, inventory shrinkage due to unaccounted stock is not uncommon.

Accuracy of inventory can help reduce the profit loss due to this form of inventory

shrinkage [12] [8]. While early adopters have started employing RFID technology

in their supply chain flow, many are still questioning the return-of-investment of

RFID technology. Over-the-air signal interference and the potentially high velocity

of moving RFID tags when stock first arrive or leave the warehouse may affect the

performance of RFID readers [5]. Moreover, cost is also a major impeding factor to

RFID adoption.

This project proposes a mobile RFID system to automate inventory counting and

thus reducing the cost of deploying RFID readers in a warehouse. These mobile RFID

readers are carried by unmanned-aerial-vehicle (UAV) to perform inventory counting

after stock has been transferred to shelving areas. This will reduce the probability of

unaccounted stock based on Equation 1.1.

16

Page 17: Mobile RFID System for Inventory Automation

Pr(ie) = Pr(rd) * Pr(sd) * Pr(sa) (1.1)

Pr(ie) represents the probability of inventory error, Pr(rd) represents the proba-

bility of missed RFID readings at receiving dock, Pr(sd) represents the probability

of missed RFID readings at shipping dock and Pr(sa) represents the probability of

the mobile RFID-readers' failure to discover the stocks at shelving area. Since each

probability is always less than one, the proposed system will decrease the probability

of inventory error. Moreover, with constant monitoring from the UAVs, the proposed

system will also provide inventory visibility.

While there are existing robots designed to cover two-dimensional space such as

iRobot's Roomba, none has been designed to cover three-dimensional space which is

required for inventory tracking. Uneven terrain in a warehouse and items stored at

higher shelves, unreachable to a grounded robot, trigger the need for a flying system.

However, the capability to traverse a 3D path is not sufficient to perform inventory.

An exhaustive method would require the multi-UAV system to cover all possible

spaces to determine the correct number of items in a warehouse.

Equipped with a RFID reader that has a limited reach range, the UAVs may be

required to retain information of its trajectory and not just programmed to reach

a destination. Moreover, dynamic obstacles have to be taken into account when

designing the UAV system.

Nevertheless, the multi-UAV system is not the sole solution to this three-dimensional

problem. Warehouse can deploy many RFID readers around the warehouse such that

the RFID-reader read-range can cover the entire warehouse. There has also been

new technology that allows many antennas to connect to one RFID-Reader. The

multi-UAV system however, provides flexibility to accommodate changing warehouse

layout which static RFID-reader deployment does not.

Apart from performing inventory, the multi-UAV system will also allow spatial

tracking of items in a warehouse. Once deployed, the helicopters can also perform

other tasks such as security, surveillance and other sensing such as air pressure and

17

Page 18: Mobile RFID System for Inventory Automation

room temperature.

1.2 Organization

This remainder of this thesis is organized as follows. Chapter 2 summarizes previous

work that can be leveraged for this project. Chapter 3 describes the high-level design

consideration and potential challenges that may arise. Chapter 4 details the simula-

tion conducted as a preliminary analysis of this problem while Chapter 5 introduces a

grounded robot built to test hardware reliability. Chapter 6 discusses other possible

application utilizing RFID technology. Finally, Chapter 7 concludes the finding of

this paper and a brief description of future work to follow.

18

Page 19: Mobile RFID System for Inventory Automation

Chapter 2

Related Work

Previous work in the field of autonomous flight control, artificial intelligence, self-

localization, machine learning, and RFID hardware simulation has made the inventory

automation project more viable and manageable.

2.1 RFID Technology

The size of RFID readers is becoming smaller, thus improving mobility. RFID tag size

is also decreasing, with the smallest in the range of sub-millimeter. The small size of

the RFID reader makes it possible for small scale robots to support the payload. With

UHF and Microwave frequencies, the read range of RFID readers has also improved.

The long range allows the robot to detect RFID-tagged items from a considerable

distance.

Newer RFID readers also provide the options to reduce power to the antenna and

consequently a shorter read range. A shorter read range provides better information

of the RFID-tagged item's position and also reduces interference from metallic items

in the environment.

Studies have been done on RFID-Reader collision problem by Auto-ID Center at

MIT [51 and other research institutes. These studies can be used to analyze RFID-

Reader behavior and determining simulation parameters when modeling a RFID-

reader apart from solving the RFID reader collision problem.

19

Page 20: Mobile RFID System for Inventory Automation

The presence of multiple RFID readers may cause interference and cause none

of the readers to detect the RFID tags. A technique called (TDMA) Time Division

Multiple Access is often used to avoid interference and collision between overlapping

readers. The RFID readers employing TDMA are programmed to read at fractionally

different times using specific algorithm to ensure no RFID readers attempt to read

simultaneously.

However, multiple RFID tags in a single location will not cause interference for

the RFID reader, In fact, a single RFID reader can read multiple tags, up to hundreds

depending on the reader, within one second.

2.1.1 RFID Software Stack

MIT Auto-ID Labs has also introduced a stack of open source software solutions for

RFID and sensors network [9]. The software includes ePedigree, Discovery, Object

Naming Service(ONS), EPC Information System(EPCIS), Application Level Events(ALE),

Low Level Reader Protocol(LLRP), and Tag Data Translation(TDT). Each software

solution's functionality is summarized in Figure 2-1.

Pedigree is an XML document associated to each RFID tag, documenting the

history of the RFID tags. In other words, Pedigree tracks the origins of an RFID-

tagged item as it moves across the supply chain. Pedigree can be used to determine

the authenticity of a product, especially drugs and luxury items.

ONS is comparable to Internet's DNS. ONS list all servers that may contain

information on certain EPC. Thus, when a retailer encounters an RFID tag, ONS will

be able to redirect the retailer to the manufacturer's website for additional information

based on the EPC's unique ID. Conforming to EPC Global standards, each RFID tag

contains manufacturer, model number and serial number information. ONS may also

point to the manufacturer's EPCIS service. EPCIS essentially is a database specific

to EPC events and processes.

Since RFID tag only represents a unique ID, these software solutions can be used

to discover more information and history based on the unique ID.

20

Page 21: Mobile RFID System for Inventory Automation

Who touched the tag

Who touched the tag and their APIs

Who owns the tag

Share/capture tag data

See the tag

Tag Dr. Abel Sanchez

Figure 2-1: MIT Auto-ID Labs'vided by Dr Abel Sanchez.

stack of open source software. The diagram is pro-

2.2 Unmanned-Aerial-Vehicle

The Aero-Astro Controls Laboratory at Massachusetts Institute of Technology (MIT)

has been working on autonomous helicopters that are capable of tracking a moving

radio-controlled car in coordinated swarms [4]. In this project, stable flight control

and swarm-like communication was achieved.

Omead Amidi from Carnegie Mellon Universitys Electrical and Computer Engi-

neering department has also integrated cameras into his UAV system to develop vision

guided autonomous helicopter[1]. University of Technology Sydney also implemented

UAV systems which can self-localized using computer vision [11].Work in these areas

can be leveraged to quickly setup a group of autonomous helicopters.

21

0

z0)0ZCw

Discovery

ONS

EPCIS

ALE

Pedigree

Page 22: Mobile RFID System for Inventory Automation

2.3 Existing Location Sensing Technology

Location Sensing Technology is often used to track expensive items such as vehi-

cles and computers. Industries using Real-Time Location System include health

care, transportation and distribution, shipping, manufacturing, mining and chem-

icals. Health care is using RTLS to locate staff, patients, visitors and assets. In

transportation and distribution industry, real-time location system can be used to

determine the time of arrival of shipments and consequently a better a better man-

agement of workforce to handle the incoming shipments.

Many existing Real-Time Location Systems are already commercially available.

Some of the more popular ones include active RFID tags, radio beacon tracking

system, wireless local area network, ultrasonic identification, and ultra wide band

systems.

Ubisense implements real-time location system utilizing ultra wide band tech-

nology. The system is reported to produce location information up to 15 cm three

dimensional accuracy. Using four sensors, an area of 400m 2 can be covered. The

system determines the location of the tagged item based on the time difference of

arrival of signal and also angle of arrival.

AT & T Bat system employs active ultra-sonic badges which requires the installa-

tion of Microsoft Research's Radar utilizing ambient Wifi-Signal (wigle.net provides

a database of Wireless-Network points)

Real time location system performance can be measured based on two factors,

granularity and currency. Granularity refers to how accurate an item can be located

while currency refers to how updated the information retrieved from the RTSL system

is.

Lo-Jack, a Real Time Location System, can provide accuracy of less than one

meter and send out a two hundred millisecond signal once every second. Therefore,

Lo-Jack is a high-performance Real Time Location System based on these two factors.

However, since Lo-Jack is designed to notify police when the transmitter is activated,

the user is unable to track the items themselves. It will become inconvenient for users

22

Page 23: Mobile RFID System for Inventory Automation

who want to track misplaced items such as keys and wallets with Lo-Jack. Currently,

Lo-Jack is an expensive device and may not be practical many lower cost items.

23

Page 24: Mobile RFID System for Inventory Automation

24

Page 25: Mobile RFID System for Inventory Automation

Chapter 3

High Level Design

3.1 General Issues

3.1.1 Measuring Performance and Determining Task Com-

pletion

Currently, achieving 100% RFID read rate within a warehouse is still a challenge.

Even with an extremely clever design, it is not guaranteed that the system will be able

to detect all the EPCs within the warehouse. RFID-reader collision, non-guarantee

of reads, and other unpredictable variables such as dynamic obstacles will contribute

to the probability of fail positives.

Since the main goal of this system is to reduce the probability of a lost item in

supply chain flow, we can model a performance metric as a conditional probability.

The probability of a loss item during supply chain flow depends on the probability

of accurately shipping the right number of items per-shipment. It is possible during

a transaction that items are over-shipped or under-shipped. Consequently, knowing

the probability that an item is no longer in a warehouse given that it should have

been shipped can give us an insight on how an item is lost in the supply chain flow.

Thus, a good system is a system that can guarantee the highest probability that

its inventory report is absolutely accurate. An example performance formula is shown

below where X is the number of EPCs found by the system and x is the real number

25

Page 26: Mobile RFID System for Inventory Automation

of EPCs in the warehouse.

Performance = Pr(X = xix) (3.1)

However, the method of determining the value of x, the real number of EPCs in

the warehouse will have to be addressed since our problem stems from the fact that

we cannot determine the actual number of items in a warehouse in the first place.

For simplicity, we can estimate x from purchase orders assuming no orders are short

upon arrival.

Thus determining a performance-metric for this system is non-trivial and may

require a business-rule model.

3.1.2 Task Distribution

Size of target space and the maximum velocity a UAV determine the minimum number

of UAVs is required to cover the target space. Consider this simple scenario; a

warehouse has a dimension of 200 meters by 60 meters, and a UAV travels at 0.4485

m/s or 1.6146 km/h, carrying a RFID-reader with 2 meter read range.

It takes at least twenty five minutes and twenty five seconds to cover this two

dimensional space. Thus it is impossible for one UAV to cover a three-dimensional

space within one flight cycle of 12 minutes.

From initial simulation, it is observed that performance (percent completion given

time duration) increases almost linearly with the number of UAVs even under prob-

abilistic algorithm navigation. To further increase the efficiency of the system, the

UAVs can cooperate and communicate to distribute their coverage more efficiently.

Three possible UAV-distributions will be considered for the design of this system:

zone distribution, swarm distribution and zonal swarm distribution (Figure 3-1). The

potential trade-off between each distribution is efficiency versus simplicity. For in-

stance, it may be more efficient to deploy the UAVs as a three-dimensional swarm.

However, swarm coordination will require constant communication between the UAVs

and hence a more sophisticated design.

26

Page 27: Mobile RFID System for Inventory Automation

Ur7-

U

Zone

UAV

Shelves

Figure 3-1: Possible task distribution in multiple UAV operation.

3.1.3 Localization and Navigation Reference

Meaningful cooperation between UAVs to distribute area-coverage will require self-

localization. Even though GPS technology typically has very poor indoor perfor-

mance, a lot of work of has been done on utilizing GPS for indoor localization. One

such technology is called Pseudolites which provide up to centimeter accuracy [2].

An alternative to using GPS for localization is to place static benchmarking tags

in a warehouse which the UAVs can relate to as a point of reference. By keeping track

of its velocity and orientation, the UAV can deduce its position with reference to the

benchmarking tags. The placement of these benchmarking tags and the amount to

deploy will have to be addressed in the design.

Another alternative is to use the RFID tags on stock items as a navigation ref-

erence. This design will assume that the stock items are static during the UAV

operation. This design however may prevent the UAVs from performing machine

27

Swarm

Page 28: Mobile RFID System for Inventory Automation

learning based on its trajectory history since the navigation reference will change

frequently depending on the warehouse stock flow.

3.2 Hardware Challenges

3.2.1 Helicopter Payload and Power Consumption

One of the major design problems for the system is to determine the right flight

hardware. A hobbyist radio controlled four-rotor helicopter, commercially sold as

DraganFly, has been chosen as the starting hardware to build the UAV. With the

ability to hover, a helicopter provides an easier flight control than a radio controlled

airplane.

However, most hobbyist radio-controlled helicopters are not designed to carry a

heavy payload. The design has to take helicopter payload into account when deter-

mining navigation sensors, on-board processor choice, and RFID-reader type.

Moreover, with more devices, it is more likely that more power will be needed.

The DraganFly battery allows a flight time of about 12 minutes. If other devices

such as sensors and RFID reader share the helicopter's power supply, the flight time

will be shortened. At the same time, the weight of an extra power supply will further

reduce the payload of the helicopter.

3.2.2 Navigation Sensors

Due to the limited payload of a helicopter, sensor choice is critical to the viability of

a UAV. At minimum, the helicopters will need sonar sensors and altimeters to detect

obstacles and to avoid crashing when landing.

Other helpful sensors for autonomous flight control include digital compass for

navigation and MEMS sensors which include gyroscopes and accelerometers for bal-

ancing and determining velocity.

28

Page 29: Mobile RFID System for Inventory Automation

3.2.3 RFID-Reader Constraints

It is obvious that a low-powered and lighter RFID-reader is preferred. However, other

RFID-reader's parameters, such as reads-per-second and read-range, also affect UAV

flight-control and algorithm. A low reads-per-second will slow down the velocity of

the UAV to ensure RFID tags can be read by the RFID-reader. Short read-range

will also force the UAV to fly nearer to the shelves, which increases the probability

of unwanted contact with obstacles.

Moreover, swarm movement of UAVs may also create RFID-reader collision where

one RFID-reader radio signal will interfere with another's due to the shared space

of their coverage. Thus, depending on the RFID-Reader read-range, asymmetrically

placed RFID-Reader on the UAV will probably perform better than a centrically

placed RFID-reader (Figure 3-2).

N

SzD s

distance between shelves

Figure 3-2: Asymmetrical RFID readerlonger read range.

placement are more beneficial since it provides

The distance between shelves in a warehouse typically ranges from 6 feet to 10 feet

29

Page 30: Mobile RFID System for Inventory Automation

[10]. Unless, the RFID-reader read range is more than 18 feet (assuming each shelf is

4 feet in depth), the UAV will never be able to read the items on two opposite shelves

simultaneously. Thus, a centrically placed RFID-reader is only helpful in balancing

the UAV.

3.3 Software Challenges

3.3.1 Machine Learning and Artificial Intelligence

Robots are often associated with artificial intelligence. While, the UAVs are assigned

a very specific task of covering a warehouse searching for RFID tags, the UAVs cannot

be programmed to follow a specific path because different warehouses have different

layouts. Warehouses may also change their layouts periodically based on business

needs.

Thus, machine learning and artificial intelligence is required to allow the UAVs to

make clever path decision and adapt to unfamiliar environment and dynamic obsta-

cles. Artificial intelligence can also help the UAVs optimized their path decisions to

minimize the amount of time used to complete the task based on previous trajectory

pattern.

The UAVs will be required to process all its sensor data in parallel to avoid any

crashes. Apart from processing sensor data, the UAVs will also need to make other

calculations to determine the navigation direction and communication with other

UAVs. Thus, multi-threading programming is needed in designing the UAV system.

However, not all threads are equally important in terms of processor-time alloca-

tion. Intuitively, sensor data management should be prioritized to avoid UAV crashes

and to maintain stable flight control.

To regulate the complexity of multi-thread programming, the design will most

likely utilize Microsoft's Coordination and Concurrency Runtime (CCR) framework.

Microsoft has also provided a robotic programming platform called Microsoft Robotic

Studio with utilizes the CCR framework.

30

Page 31: Mobile RFID System for Inventory Automation

Data Management and communication Protocol

Each UAV will be reading a lot of data particularly from its sensors and RFID-reader

during operation. RFID readers do not filter repetitive reads; duplicate filtering is

usually done at the software level. Thus, the UAVs will probably need to send RFID-

reads to a database, such as an EPCIS (EPC Information Services) server, periodically

to handle a potentially massive amount of data collected.

The design of this system should also consider what data the UAV should keep, to

be used for navigation and path decision, and which data to transfer to a database.

The system will implement an 802.11 wireless communication protocol to relay

data back to a database and as a channel to communicate to other UAVs if necessary.

31

Page 32: Mobile RFID System for Inventory Automation

32

Page 33: Mobile RFID System for Inventory Automation

Chapter 4

Initial Simulation

4.1 Motivation

Autonomous flight control is not trivial; to avoid unwanted hardware destruction

during testing, a simulation framework has been setup to analyze any algorithms to

be implemented.

Moreover, this initial simulation will also provide a benchmark for future work to

improve on. Due to the three-dimensional nature of the problem, a three- dimensional

graphical simulator framework (Figure 4-1) has been designed using Microsoft XNA

framework to represent a real warehouse. The simulator tracks the progress of the

UAVs and the path traversed by logging, in an Excel file, the number of the RFID

tags read and the points where the UAVs make a decision.

4.2 Units and Simulation Parameters

Real world measurements are translated to simulation units using the dimension of

the DraganFly radio controlled helicopters as a reference. A 3D model representing

the DraganFly helicopter can be bounded by a cube of 42 units.

Representing the Draganfly helicopter which has real dimension of approximately

82 cm by 82 centimeters, 1 simulation unit corresponds to approximately 1.95 cen-

timeters. Thus, a 60 x 60 x 60 unit box in the simulation would correspond to a 1.17

33

Page 34: Mobile RFID System for Inventory Automation

Figure 4-1: UAV simulation implemented with XNA framework.

x 1.17 x 1.17 meter box in the real world. Velocity of the simulated UAV is set at

0.4485 m/s or approximately 1 mph. The Draganfly RC helicopter is claimed to have

a maximum speed of 20 mph.

XNA framework keeps track of the total real time elapsed since the start of the

program and the time elapsed after each update cycle, up to one millisecond accuracy.

The simulation time is conveniently based on XNA framework's game time parameter.

4.3 Simulation Assumptions

For simplicity, the RFID reader attached to the simulated UAVs are assumed to have

a 100% read-guarantee when EPC tags are within the read-range of the RFID reader.

It is also assumed that RFID collision between readers are being handled using time

34

Page 35: Mobile RFID System for Inventory Automation

division multiple access (TDMA) [3]. The simulated RFID-readers are centrically

placed and have a read-range of 3.9 meter radius.

Sensors are also modeled as an abstraction of their functions. Probability of signal

drifts and noise are not taken into account in the initial simulation.

Even though there are more than one UAV deployed in some of the initial tests, the

UAVs navigate independently and do not communicate with each other. However,

the UAVs can detect other UAVs when in proximity and will avoid any collision.

Based on experiment results, these assumptions will be changed accordingly in future

iterations.

4.4 Semi Probabilistic Navigation Algorithm

In the initial simulation, the UAVs are programmed to move in a vertical zigzag

motion to cover three-dimensional space. The UAVs are also programmed to navigate

using probabilistic-like or randomized algorithm when encounter an obstacle. The

UAV will also change its direction when the RFID reader it carries has not read any

EPC for more than ten seconds. The direction decision is shown in the formula below.

Yawn = Random(-175, 175) (4.1)

The UAV will rotate at any integer angle value ranging from -175 degrees to

+175 degrees. The integer value is generated using .NET's Random class, which

generates a pseudo-random number. For simulation purposes, we will assume this

pseudo-random number as random. The probabilistic algorithm will approximate an

expected performance or runtime for this system. The finite state diagram in Figure

4-2 shows the states that each UAV will iterate when in autonomous mode.

4.5 Initial Simulation Results

A series of test, recording task-completion statistics and the trajectory of one of the

UAVs were executed to determine the expected runtime. The simulation scenario sets

35

Page 36: Mobile RFID System for Inventory Automation

V ~

Mo~*~a~wm~ 5q4Dtt~tI~

j j/

Figure 4-2: UAV FSM Implementing Probabilistic Algorithm

up a 195 x 66.5 meters warehouse containing twelve five-tiered shelves, measuring 50

meters wide and 5 meters deep, arranged in a layout shown in Figure 4-3.The RFID-

reader carried by the UAV has a read-range of 3.9 meters or approximately 12 feet.

616 boxes, measuring 1.17 x 1.17 x 1.17 meters, were randomly placed on all the

shelves.

Figure 4-3: Simulated warehouse layout.

The first series of test were bounded within a time limit of 12 minutes, the average

flight time of commercial radio-controlled helicopters. Six independent UAVs were

deployed. The UAVs collectively fails to complete the task of finding all the EPCs in

the warehouse within the 12 minute duration.

36

X

'_F

I. .........I

.............. ...... -----------

.... .......

k,'-Rota"

Page 37: Mobile RFID System for Inventory Automation

The progress (fraction of EPCs tags read) shown in Figure 4-4 below can be

modeled as a logarithmic function. It is intuitively obvious that the rate of finding

new tags will decrease as time progresses given a probabilistic navigation algorithm.

Figure 4-4: Completion versus Time (6 UAVs deployed).

Another series of tests, but with a time limit of 60 minutes and six independent

UAVs deployed, were executed. All three tests in this series show that the group of

six UAVs successfully found all the EPCs after a minimum duration of 27 minutes.

The rate of completion versus time is plotted in Figure 4-5.

Five more series of tests were then executed, with a decreasing number of UAVs

deployed in each series. Six tests were run in each series and an average completion

(fraction of total EPCs read) in twelve minute duration were calculated. With only

one UAV deployed, the average completion rate is 54.83% while when five UAVs were

deployed, an average of 90% completion rate was achieved. Surprisingly, even though

there was no cooperation between the UAVs, the increase in completion rate with

number of UAVs is almost linear.

Figure 4-7 shows a two-dimensional trajectory of one of the UAVs during a twelve-

minute duration operation. Even though the UAV may repetitively end up in the

same location on the graph, its vertical position may be different each time. Thus,

the redundancy may not be as much as it appears.

37

Completion vs Time100

80

S60 60 0-Seriesl40 Seres2

20 - -Series3

0 - Series4

d o

Page 38: Mobile RFID System for Inventory Automation

Figure 4-5: Completion versus Time (Unbounded).

However, as more UAVs are deployed, the probability of one UAV going to a spot

that has been covered by another UAV increases. It has not been determined if this

redundancy is unfavorable since a UAV may fail to read an RFID tag even though

the tag is within the RFID-reader read-range.

4.6 Result Summary and System Viability

From initial analysis, it appears very promising that given a more clever design and/or

the right number of UAVs deployed, a group of UAVs will be able to complete its

task of covering a warehouse within one flight cycle of 12 minutes. Using helicopters

that have a longer flight time, the number of helicopters needed can be reduced.

Even though the initial simulation provides an insight of the viability of creating a

multi-UAV system to cover a three-dimensional space, the simulation assumptions are

overly optimistic. Thus, we should expect a decrease of performance when account-

ing all other simulation variables such as signal drift and RFID reader's fail-to-read

probability.

38

100 - -

60-4-Serhe s

40 -

20 -- -- -- -- -- - __ Series3

Log. (Series3)

0 0 0 O eO * O rro r'-20 QC _F I

Page 39: Mobile RFID System for Inventory Automation

Figure 4-6: Average completion versus number of UAVs.

Figure 4-7: Two-dimensional trajectory of one of the monitored UAVs.

39

10090

70 -60 -

E 50 - -Average

30. 20 minut s

10

0

1 2 3 4 5

Numberof UAVs

-4000 -2000 0 4000 6000

29

Page 40: Mobile RFID System for Inventory Automation

40

Page 41: Mobile RFID System for Inventory Automation

Chapter 5

Hardware Platform

To test hardware and software reliability, a grounded autonomous vehicle was assem-

bled. The autonomous vehicle, named R01 (Figure 5-1), is designed to scavenge RFID

tags in an unknown environment. Hosting a custom web server, R01 can be triggered

and controlled from anywhere through a web-browser. The grounded robot can also

be used to determine the feasibility of a grounded robot performing inventory in a

three dimensional space.

A web browser client is implemented to control R01 remotely and poll the sensors

attached to the vehicle.

5.1 Overall Hardware Configuration

R01 is assembled using mostly off-the-shelf components to reduce development time.

The components are hosted on the chassis of eMaxx remote control monster truck.

The radio control components were removed from the eMaxx and replaced with man-

ual controllers. The components configuration are shown in Figure 5-2.

The autonomous vehicle uses eBox2300 as its main processor. Attached through

two USB ports are Phidgets Interface Kit and Phidgets Servo Controller. The Phid-

gets Interface Kit is used to host analog and digital sensors while the Servo Controller

is used to control the steering servo and motors on the eMaxx.

R01 carries ThingMagic's Mercury4e RFID reader, connected to the eBox2300's

41

Page 42: Mobile RFID System for Inventory Automation

Figure 5-1: R01: Autonomous Mobile Reader

serial port. The antenna of the RFID reader is attached to the front of the chassis.

The sensors hosted on the Phidgets Interface Kit include two infra-red sensors

for obstacle detection, a gyroscope and two-axis accelerometer for tracking the path

traversed.

5.2 Windows CE 6.0 OS Design and eBox 2300

R01 carries a compact PC, eBox-2300, an embedded system built on Vortex86 System-

On-Chip technology, with 128MB of system memory. The eBox-2300 compact PC

also has integrated Audio (microphone in headphones out), an Ethernet port, two

Serial ports, VGA output, two USB ports and 256MB IDE bootable flash storage.

The eBox-2300 can either boot from the flash storage, a bootable USB drive or a

bootable compact flash storage. The eBox-2300 on R01 also has the optional wireless

42

Page 43: Mobile RFID System for Inventory Automation

Serial port COMI

USB

'B

Figure 5-2: Hardware Configuration

internet capability to allow a truly mobile platform.

The eBox-2300 is preloaded with Windows CE 6.0. However, the driver for the

optional wireless card may not be included in the factory-default Windows CE 6.0

OS image. The wireless drivers provided can only be installed through the Windows

CE 6.0 OS image design.

Visual Studio 2005 is required to install Windows CE 6.0. Unlike previous versions

of Windows CE platform builders which are standalone applications, the Windows

CE 6.0 platform builder is a Visual Studio plug-in. When installing Windows CE

6.0, the installation program only selects ARMV4I CPU support. Select x86 CPU

support in order to use the eBox-2300 which uses an x86 CPU architecture.

After installing Windows CE 6.0, the eBox-2300 BSP (Board Support Package)

should be installed, followed by CoreCon component which allows the host PC to

communicate and deploy applications to the target eBox-2300.

43

eMax Monster Truck

Page 44: Mobile RFID System for Inventory Automation

Catalog Item Function

Vortex86Audio Audio Drivers

Vortex86-Display Display Drivers

Cab File In- Provides application installation and removal.staller/Uninstaller

USB Storage Class Driver Support for hot pluggable USB storage device, support-ing most USB flash drive and external mass storage de-vice.

.NET Compact Framework Support managed code application.2.0OS Dependencies for .NET Support managed code applicationCompact Framework 2.0

ConMax-X86 Files Compo- Adds CoreCon files to the final image; needed for es-nent tablishing connection between eBox-2300 and VS2005

development machine.RAM and ROM file system Needed to support hive-based registry implementation.Hive-based registry Needed to support hive-based registry implementation.

Hive-based registry is used to store and save registryentries changed between power reset.

VNT VNWLC6 Wireless Drivers for wireless card.LAN

Table 5.1: Selected Operating System Components in ROl implementation.

5.3 R01 Program

The R01 program is written in C# under Visual Studio environment for quick de-

ployment. The class diagram is shown in Figure 5-3. The autonomous vehicle's main

operation is defined in the StateMachi ne class. The algorithm can be easily changed

by editing the StateMachine class without any effects on other parts of the code.

All actuators and sensors are abstracted in ActuatorController class and SensorInputs

class respectively. The state machine has access to both the actuators and sensors

instances.

The autonomous vehicle is also event driven. The events include SensorChangeEvent,

ServerHitEvent and NewTagFoundEvent. SensorChangeEvent is triggered when

the sensors changes value; for example when the IR sensor detect an obstacle, the

SensorChange Event is triggered. When the autonomous vehicle receives a command

or request from a remote client, the ServerHitEvent is triggered. The command will

44

Page 45: Mobile RFID System for Inventory Automation

Actuatoto llerClass

I Static Class 1

hangeArgs

Args

CI UAonArgsClass4 EventArgs

class

StateMachine

TrackLocation

rver NewTagFoundAr...4ass4 Evenk Args

sensorrnputs oCass

SewertritHandler r:Delgate

EHandler (

Figure 5-3: R01 Program Class Diagram

be parsed through the implemented web server and sent to the StateMachine class.

Finally, a NewTagFoundEvent is triggered when a new RFID tag is found; this

prevents the StateMachine from processing duplicate RFID tags continuously.

5.4 R01 Calibration and Debugging Interface

A calibration and debugging interface is implemented for testing. The interface is

shown in Figure 5-4.

A steering calibration interface is needed because the steering servo drifts. The

steering servo should be calibrated to determine the amount of current needed to turn

the steering left or right for example. Due to the drifting, the amount of current to

keep the steering servo straight may change over time. The autonomous vehicle can

also automatically self-calibrate based on the gyroscope values.

45

NewTagFoundliandler 5Delegate

Page 46: Mobile RFID System for Inventory Automation

Figure 5-4: ROl Debugging and Calibration Interface

The debugging output text box displays the HTTP post and HTTP get requests

from the remote client. The state text box display the stages in the state machine

when experiencing different conditions such as obstacles or a known RFID tag.

5.5 Phidgets Interface Kit

The Phidgets Interface kit (Figure 5-5) is connected to eBox-2300 through one of the

USB ports available on the eBox. The Interface kit provides eight analog input ports,

eight digital input ports, and eight digital output ports. The IR sensors, gyroscopes

and accelerometers are connected to the analog inputs since they generate variable

current.

46

Page 47: Mobile RFID System for Inventory Automation

Figure 5-5: Phidgets Interface Kit- intermediary circuit board to host digital andanalog sensors.

Digital sensors such as switches and bump sensors can be connected to the dig-

ital inputs while the digital outputs can be used to generate PWM (pulse-width-

modulation) signals to control motors. However, the digital input ports and digital

output ports are not utilized in current implementation. The Phidgets Interface Kit

provides .NET libraries that emphasize event-driven programming. Thus, the soft-

ware implementation is not required to poll the sensor ports periodically but instead

handles the detection of sensor value changes.

5.6 Phidgets Servo Controller

The Phidgets Servo Controller (Figure 5-6) is also connected to eBox-2300 through a

USB port. The servo controller provides four pulse-width-modulation outputs.

Emaxx's steering servo and electronic speed controller is connected to two of

the servo controller outputs. The drivers for the Phidgets devices were installed

47

Page 48: Mobile RFID System for Inventory Automation

Figure 5-6: Phidgets Servo Controller- intermediary circuit board to control the steer-ing motor and the digital motors by generating PWM signals.

through a CAB installation file provided by Phidgets. When programming the the

servo controller's position, user can set the position from -23 to 232 where each unit

represents approximately 1 degree. The value of -23 represents a PWM (Pulse-Width-

Modulation) value of 0 which means the motor is not being driven at all.

5.7 Sensor Choice

One of the project's aims is to produce a vehicle which can be placed in an unknown

room and autonomously map and record RFID-tagged objects using an RFID reader.

In order to perform this task, R01 is equipped with three infrared sensors, for obstacle

detection and avoidance, a gyroscope and an accelerometer, which allow it to make

specific-angle turns and report its approximate position at any given instant.

5.7.1 Infrared Sensor- Sharp GP2D12

The Sharp GP2D12 Infra Red Sensor is used for obstacle detection. This sensor is

chosen for its suitable detection range, insensitivity to changes in ambient light and

object color, and interfacing ease.

Two Sharp GP2D12 sensors are mounted onto either end of the front of the vehicle

48

Page 49: Mobile RFID System for Inventory Automation

as shown in Figure 17, an arrangement which provides maximum coverage of the area

in front of the vehicle. One other sensor was placed on the back of the vehicle, so that

it can detect obstacles when it backs up. The Sharp GP2D12 Infra Red Sensor uses

triangulation to detect obstacles. The LED emits a light beam, which is reflected

by the obstacle onto the detector where it is focused onto a linear CCD array. The

distance of the obstacle from the sensor is then determined based on where the beam

hits the CCD array, as shown in Figure 5-7.

No jed FaOjed CmOtjed

Figure 5-7: Triangulation detection mechanism of Sharp GP2D12 IR sensor.

This triangulation mechanism thus determines the object's distance without re-

lying on the intensity of the light reflected. Therefore, readings are independent of

the object's color and texture, as the graph overleaf demonstrates (the outputs for

both the white and the gray surface, which have very different reflectivity, produce

virtually the same output provided they are the same distance away from the sensor).

5.7.2 Gyroscope-Analog Devices ADXRS300

The ADXRS300 gyroscope measures angular velocity in degrees per second. To obtain

the angle of the vehicle, relative to an initial orientation, the Phidgets event handler

can be used. Every time the angular velocity changes, the Phidgets interface kit

49

Page 50: Mobile RFID System for Inventory Automation

registers the event, and if vi is the registered angular velocity and 0ti is the time

interval during which the vehicle rotated at that constant angular velocity (i.e. during

Oti there have been no events registered for the gyroscope), then the angle of the

rotation during that time is simply vi Oti. Therefore, the angle of the vehicle at time

t, 6(t), can be determined by Equation 5.1.

0(t) = E vjAtj (5.1)

The ADXRS300 gyroscope outputs positive analog voltage for clockwise rotation

and negative analog voltage for counter clockwise rotation. The sensor's main char-

acteristics are summarized in Table 5.2:

Parameter (at Vdd = 5V) Typical ValueAngular velocity measuring range ±3000/s

Output voltage with no rotation (refer- 2.50 Vence voltage)Voltage increment per 10/s increase in 5.00 mVvelocity

Maximum output voltage 4.00 V

Power supply voltage 5.00 V

Table 5.2: Analog Devices gyroscope's electrical characteristic.

5.7.3 Accelerometer - Analog Devices Dual-Axis Accelerom-

eter ADXL202E

The ADXL202E dual axis accelerometer can measure accelerations in the x and y axis

within the range of 12g. The sensor provides a choice between two kinds of output,

analog voltage or digital signals, which provide duty cycles that are proportional

to the acceleration. Here the analog voltage output is used since it can be easily

connected to the Phidgets Interface board, whilst using the digital output would

require serialization.

Using the accelerometer we can obtain the vehicle's velocity at any time t. To

do so we again use the event handler. Every time there is a change in acceleration,

50

Page 51: Mobile RFID System for Inventory Automation

it will register as an event, and if a2 is the recorded acceleration and ti is the time

interval during which the vehicle moved at that constant acceleration, then, assuming

the vehicle starts from rest, the velocity is given by Equation 5.2 and Equation 5.3.

t = E>At, (5.2)

v(t) = ZagAti (5.3)

From this we can obtain the distance s(t) the vehicle has traveled in time t, showed

in Equation 5.4.

s(t) = v(t')dt' (5.4)

The accelerometer's main characteristics are summarized in Table 5.3.:

Parameter (at Vdd= 5V) Typical ValueAcceleration measuring range +2gOutput voltage at Og (reference volt- 2.5 Vage)Voltage increment per Ig increase in ac- 312 mVcelerationMaximum output voltage 3.62 VPower supply voltage 5.00 V

Table 5.3: Analog Devices dual-axis accelerometer's electrical characteristic.

5.8 RFID Reader

A ThingMagic Mercury4e RFID reader is attached to R01's chassis to detect RFID

tags. The Mercury4e is a UHF reader that gives up to 20 feet read range depending

on the antenna attached. The Mercury4e is connected to the embedded processor

through a serial port. A C# library has been implemented to control the RFID

reader. The basic functions implemented are summarized in Table A on page 67.

CRC checksum is also implemented when receiving and sending data from the

51

Page 52: Mobile RFID System for Inventory Automation

MsgObjstruct

0- Fields

# dataa datalen

/ opcode

8 Properties

2 Data

] DataLength2 Opcode

8 Methods

-4 ConvertHexToByte:4 ConvertHexToBytes44 CRC calcCrc84 GetMessageBytes

34 MSGcalcCrcToDsp

Enuin

B.96008_19200038400

B_57600B_115200B_230400B460800

RFIDReader

8J Fields

s. port

6 Methods

'* BootFirmware

:4 CheckStatus4 earCOMPort

44 ConvertHexByteToString4 GetFirmwareVersion

24 GetHostBaudRate24 GetTaglDbuffer4 ReadTagIDMultiple4 ReadTaglDSingle

44 ReceiveMessage {+ 1 overload)44 RetumReadTagIDSingle4 RFIDReader-4 SendMessage (+ 1 overload)-4 SetBaudRate4 SetCurrentProtocol4 Verifylmage

34 WriteTagDataV WriteTagiD

MyCr 16

1 3 Methods

44 CRC calcCrc8S MSG-calcCrcTo

prtocfype f

NoneEPC0EPC1IS018000

ImpinjGEN2LICODE

Figure 5-8: Mercury4e class library class diagram.

embedded processor to the RFID reader to detect any corrupted data. An RFID

reader that can read any RFID tag format can be implemented by quickly cycling

through all protocol types when attempting to read an RFID tag.

The class diagram for Mercury4e class library is shown in Figure 5-8.

5.9 Wireless Communication

A simple web server is implemented as part of the ROl application to allow data

publishing and communication between R01 and external client through the Internet.

The web server runs on a separate thread and listens for packets on specific sockets.

The web server was implemented using TcpListener and Socket class within .NET

52

Page 53: Mobile RFID System for Inventory Automation

Framework and provides httpget and httppost services.

.......

Akeer

4,'t~r*t 1 N OcttdM oAt

Figure 5-9: HTTP Post client to communicate with ROl through the Internet.

A web-based client (Figure 5-9) is implemented using ASP .NET to communicate

with ROl. Commands are sent using httppost protocol through a web browser. Com-

mands implemented include Start and Stop for autonomous operations and Forward,

Left, Right, Reverse and Stop for manual operations.

53

Page 54: Mobile RFID System for Inventory Automation

54

Page 55: Mobile RFID System for Inventory Automation

Chapter 6

Other Applications

6.1 RFID at Home

RFID technology can also be translated to home applications. Integrating an RFID

system into a Roomba, the autonomous vacuum cleaner, the vacuum cleaner can also

perform inventory of RFID-tagged items at home while cleaning the floors. Thus,

while the Roomba is cleaning, it also tracks where RFID-tagged items are in the

house. Locating easily misplaced items such as keys, wallet will be easier since the

robot is able to report the last location and time the item was detected. Lower cost

of RFID tags compared to other Real-Time Location System allows more items to be

tagged without expensive equipments.

6.1.1 Inventory

It is not convenient to deploy UAVs at home due to safety reasons. Children and

pets at home may interfere with the UAV operation. Attaching the RFID location

system to a household item such as a vacuum cleaner will be less intrusive to the

home environment. Automatic vacuum cleaners such as the iRobot's Roomba already

comes with sensors and actuators such as cliff sensors, IR sensors, encoders, and

motors which simplifies control. Integrating an RFID reader with an autonomous

vacuum cleaner will provide another added-value function for the home appliance.

55

Page 56: Mobile RFID System for Inventory Automation

An autonomous vacuum cleaner which uses RFID tags to self-position has also been

implemented [3].

Since the Roomba is grounded, the robot requires a flexible or rotating antenna

(Figure 6-1) to redirect the radio waves and cover a three dimensional space of the

specific environment. Keeping track of its traversed path and the angle of the RFID

reader antenna, the system will be able to track tagged-item with reference from a

starting point while cleaning the floor. This assumes that the Roomba will be able to

successfully cover the two dimensional floor instead of just concentrating at one part

of the environment.

Figure 6-1: A rotating RFID reader antenna will allow the autonomous vehicle toredirect the electro-magnetic waves in all direction.

However, there may be potential problems that prevent the system from working

correctly. Reflection from metallic items in the house may cause interference and

cause the robot to miscalculate the position of the items found.

Depending on the RFID reader antenna, and the RFID tag's antenna, the orien-

tation of the RFID tags may prevent the RFID reader from detecting it due to the

56

Page 57: Mobile RFID System for Inventory Automation

polarization properties. The polarization of the reader's antenna and tag's antenna

should be the same for maximum signal strength. Thus, if the RFID tag is perpen-

dicular to the RFID reader's antenna, the reader may not detect the tag even though

it is within the read range distance.

Nevertheless, the system is only capable of telling users where an item was seen at

a specific time; it does guarantee a real time location system. Depending on the size

of the environment, mobile items such as keys and remote controls may have moved

since the robot last sees it.

6.1.2 RFID Locator

The system described above can also be used to search for missing items. UHF RFID

readers have long read range capabilities; with appropriate antenna, a UHF RFID

reader can provide a read range up to 20 feet(6.09 meters).

With directional antenna, the system can first determine the quadrant or general

area of where the target item is. Once the system finds the general area the target item

is, the RFID reader can reduce the power to the antenna to reduce the read range,

and thus increasing detection accuracy. The pseudocode below shows a recursive

function the system may execute to search for an RFID tag.

void locate(string tag-id)

boolean found =rotateandsearch(tagjid)

if (found)

gof orward()

reduce-power()

locate()

else

findempty-space()

locate()

}

57

Page 58: Mobile RFID System for Inventory Automation

Similar to the problem mentioned earlier, metallic items may interfere with the

robot's operation. For example, looking for RFID-tagged box on a metallic table may

be impossible since the metallic table will shield the radio wave from reaching the

RFID tag if the RFID reader is interrogating from underneath the table(Figure 6-2).

Figure 6-2: A metallic surface may prevent the RFID reader from reading an RFID

tag even though the tag is within the read range of the RFID reader.

6.1.3 Smart Appliances

Smart washing machine can utilize RFID technology to automatically select wash

options when specific items are in the washing machine. This can avoid accidentally

damaging clothes when users select the incorrect was options. This will also eliminate

the need to refer to the wash instruction labels when doing laundry. When clothing

articles that require conflicted washing methods are in the same washing machine,

the washing machine can either warn the users or select a wash method that will not

damage the clothing.

However, one of the problems that may arise for this application is the extremely

58

Page 59: Mobile RFID System for Inventory Automation

hot temperature setting of the washing machine which may damage the RFID tags

once it is washed. A solution to this problem is to use durable RFID tags which have

been designed to endure the harsh temperature.

Another potential problem is a clothing item such as socks that may not be RFID

tagged thrown into the washing machine. Since the washing machine are unable

to detect non-tagged items, unidentified clothing may be damaged or damage other

clothing.

Refrigerators and kitchen cabinets can also use RFID technology to detect food

items in the kitchen. By being able to so, the RFID system can remind users of expir-

ing food products or suggest cooking recipes with the available food items. Keeping

an inventory of the available food items, the refrigerator can also publish grocery list

that the user can access from a computer or a mobile phone.

However, to make this system really work, most of the food items will need to be

tagged and it may be cost ineffective to do so. Currently, the average cost of a passive

RFID tag is approximately twenty cents. Some small food items such as fruits and

spices, etc may be too cheap to add a relatively expensive RFID tag. If an apple

costs forty cents, a twenty cent RFID tag will add an additional fifty percent to the

total cost. This may be deemed economically unacceptable.

Container of food items such as milk and juices may also create a false appearance

of available items if the empty containers continued to be left in the refrigerator.

Thus, the system may not report to the grocery list if these false positives occur. One

solution is to integrate pressure sensor on the RFID tag to approximate the amount

of food left in the container. However, sensor-embedded RFID tags are significantly

more expensive and may not be practical for transient items such as food for the time

being.

Thus, the cost of RFID tags must be lower to allow more items to be RFID-tagged.

Alternatively, the RFID tags can be designed such that the sensors are reusable and

reattachable to another RFID tag.

59

Page 60: Mobile RFID System for Inventory Automation

6.2 Automated Tour Guide using RFID local knowl-

edge

Carnegie Mellon University has been known to deploy robots as tour guides in muse-

ums since 1998[7]. The robot, known as RHINO, implements Markov localization to

determine x-y-O coordinates of its position. Markov localization, although robust to

occasional changes of an environment, is very expensive to compute.

To reduce such computation and increase the accuracy of self localization, RFID

tags can be used as markers scattered around the environment. RFID tags can be

used to form the route that the robot tour guide should follow. When the robot veers

off the designated route, the RFID reader feedback allows the robot to correct its

trajectory when certain RFID tags are found (Figure 6-3).

Figure 6-3: Navigating using RFID track: when the robot encounters tag correspond-

ing to the outer track, it will trigger the robot to return the middle track. This will

avoid the robot from navigating away from the intended route.

Moreover, trajectory information can also be embedded within the ID data of

the RFID tags. The last 4 bits of the tag ID can contain information on how the

60

Page 61: Mobile RFID System for Inventory Automation

robot should proceed while facing a reference point. Another 6 bits can also be

used to determine which angle the robot should be facing while navigating. The six

bit degree information will provide a 6 degree resolution of information. Therefore,

when the robot needs to turn, it does not need to recalculate its position based on

the environment's map. The RFID tags will also allow the robot to function in any

environment without loading a map of its environment.

The robot will require a digital compass as a navigational sensor to determine

where it is facing in order to interpret the directions specified by the RFID tags.

Although gyroscope can also be used for this purpose, the robot will be required to

start its operation facing a specific direction. Gyroscope sensors are also known to

drift, especially after a long duration; this may cause operation error.

When the tour guide robot encounters a specific RFID tag, the robot will be able

to recognize the corresponding landmarks and provide a narrative to the tourists

based on the landmark. With RFID, the robot does not require visual processing to

recognize the specific landmarks.

61

Page 62: Mobile RFID System for Inventory Automation

62

Page 63: Mobile RFID System for Inventory Automation

Chapter 7

Discussion and Conclusion

7.1 Discussion

Every system has its own advantages and disadvantages. Compared to manual in-

ventory counting, RFID technology expedites the process significantly.

The benefits of mobile RFID system includes cost reduction and flexible deploy-

ment. In a large warehouse or retail store, automatic inventory using static RFID

system will require each shelves to be wired with RFID reader antenna and a signif-

icant number of RFID readers will be needed. While manual inventory will require

less RFID readers, it will still require many hours of labor. The proposed mobile

RFID system will be able to overcome both drawbacks. Since items in the warehouse

do not constantly move, a mobile RFID system may suffice for inventory automation.

While a navigational map will be more efficient for the robot, the system will

be unable to adapt to new environments. With probabilistic algorithm or other

machine learning algorithm, the robots do not need to be customized for specific

environments. Unlike static RFID deployment, mobile RFID system will not require

extensive wiring. Moreover, with probabilistic algorithms, sensors' signal drifting will

also not drastically affect the performance of the operation.

Compared to a static system, the mobile RFID system does have its own draw-

backs. One, it provides a non real-time location information. It is only able to tell

the location information of when the system last saw the RFID-tagged items.

63

Page 64: Mobile RFID System for Inventory Automation

While RFID system encounters difficulty in an environment with metal and liquid,

alternative systems such as RuBee are able to overcome it. RuBee technology uses

magnetic signal instead of radio signal used by RFID. RuBee can operate in harsh

environments with metal and liquid. Therefore, substituting RFID with RuBee, a

grounded robot may still be able to cover a three dimensional space. A comparison

of RuBee and RFID is summarized in Table 7.1.

Features RFID RuBeeMetal Proximity Causes interference No interferenceLiquid Proximity Causes interference No interferenceRead rate Faster than RuBee Slower than RFID

Table 7.1: Comparison of RFID and RuBee system.

As item level tagging proliferates, a better data management system is required.

The health care industry, apparel industry and other retailers have invested heavily

on RFID technology. California has also enforced a law to require the pharmaceutical

industry to tag drugs with RFID tags. However, there are still many barriers to RFID

adoption [6]. Some obstacles include privacy issues, consumer resistance, tag cost,

perception of low return of investment, lack of skilled labor, competing technologies

and broadcast regulation.

While some of these factors can be solved through advancement of technology,

consumer acceptance may be the most vital factor in RFID ubiquity. A possible

catalyst to consumer acceptance is the creation of added-value applications for end

users. This will encourage the consumers to retain the RFID tags on the purchased

items for their own convenience. Some example applications are explained in Chapter

6.

Nevertheless, most RFID tags only store the unique identification within the chip;

additional information is usually retrieved remotely such as from the Internet. On

the other hand, special software and systems will be required to handle the heavy

data traffic of the RFID network as RFID technology becomes ubiquitous.

64

Page 65: Mobile RFID System for Inventory Automation

7.2 Conclusion

In this project, we ran a simulation of a set of Unmanned Aerial Vehicles performing

inventory in an unfamiliar warehouse. The results of these simulations were then

reported. The performance of the system improves as the number of UAVs increases

even though each UAV employs independent randomized path decision. A grounded

robot was also implemented to test hardware reliability and the viability of a grounded

robot to perform inventory in a three dimensional space.

Due to payload constraint, an actual unmanned aerial vehicle was yet to be built..

Using only off-the-shelf items, the total payload is more than three pounds, three

times more than the DraganFly's payload. Thus, the electronic components may have

to share some circuitry to reduce the total payload. The UAVs can also implement

machine learning such as logistic regression to make better path decision.

65

Page 66: Mobile RFID System for Inventory Automation

66

Page 67: Mobile RFID System for Inventory Automation

Appendix A

Mercury4e Class Library

Table A summarized the library functions and the parameters needed.

67

Page 68: Mobile RFID System for Inventory Automation

Function Description

BootFirmwareO Start RFID reader firmware.

CheckStatus(byte[]) Check the status of the returned replyfrom RFID reader.

ClearCOMPort() Clear the serial port if there are leftover

bytes from previous operations.

ConvertHexBytesToString(byte[]) Utlity function to convert a string to an

array of bytes.

GetFirmwareVersion() Returns current firmware version theRFID reader is running on.

GetHostBaudRateo Checks the host's baud rate(RFIDreader is the target).

GetTagIDBuffer(int) Gets the tags stored in the buffer after

calling ReadTagIDMultiple(int).Theinteger parameter refers to the number

of tag IDs t to retrieve.

ReadTagIDMultiple(int) Search for multiple RFID tags and re-turn the number of tags found. The IDof the tags found are stored in a buffer

within the RFID reader. The IDs can

be retrieved by calling the GetTagID-

Buffer(int) function. The integer pa-

rameter refers to the time out duration

in millisecond.

ReadTagIDSingle(int) Search for a single RFID tag and re-turns the tag ID if found. The integerparameter refers to the time out dura-tion in millisecond.

SendMessage(string) Sends generic message to RFID reader.

SendMessage(byte[]) Sends generic message to RFID reader.

SetBaudRate(Mercury4e.BaudRate) Set the COM port baud rate to ensure

synchronized communication.

SetCurrentProtocol(ProtocolType) Set the RFID Reader protocol such as

UCODE,GEN2.Verifylmage( Verify the firmware image by checking

the checksum bits (CRC).

WriteTagData(int,string,string,string,string) Write data to a tag.

WriteTagID(int,string,string,string) Rewrite RFID tag ID.

Table A.1: RFID reader functions implemented in .NET library.

68

Page 69: Mobile RFID System for Inventory Automation

Bibliography

[1] Omead Amidi. An Autonomous Vision Guided Helicopter. PhD dissertation,

Carnegie Mellon University, Robotics Institute, 1996.

[2] Haeyoung Jun Bradford Parkinson Sam Pullen Tom Lagenstein Changdon Kee,

Doohee Yun. Centimeter-accuracy indoor navigation using gps-like pseudolites.

http://uc.gpsworld.com/gpsuc/article/articleDetail.jsp?id=308333.

[3] Svetlana Domnitcheva. Smart vacuum cleaner - an autonomous location-aware

cleaning device. citeseer.ist.psu.edu/domnitcheva04smart.html.

[4] Jonathan How Ellis King, Mehdi Alighanbari. Experimental demonstration of

coordinated control for multi-vehicle teams. In Proceedings of the 16th IFA C

Symposium on Automatic Control in Aerospace.

[5] S.E. Engels, D.W.; Sarma. The reader collision problem. Systems, Man and

Cybernetics, 2002 IEEE International Conference on, 3, 6-9 Oct. 2002.

[6] RFID Gazette. 16 barriers to rfid ubiquity.

http://www.rfidgazette.org/2007/04/.

[7] Walter Steiner Gerhard Lakemeyer, Dik Schulz and Sebastian Thrun. The inter-

active museum tour-guide robot. In Proc. of the Fifteenth National Conference

on Artificial Intelligence, Madison,Wisconsin, 1998.

[8] Mikko Karkkainen. Increasing efficiency in the supply chain for short shelf life

goods using rfid tagging. International Journal of Retail & Distribution Man-

agement, 31(10):529+, 2003.

69

Page 70: Mobile RFID System for Inventory Automation

[9] Dr. Abel Sanchez. Mit epc net (mentor). http://www.rfidgazette.org/2007/04/.

[10] Michael B. Stroh. A Practical Guide to Transportation and Logistics, chapter 4.

Logistic Network Incorporation Third Edition, 2006.

[113 Jonathan Paxman William Bath. Experimental demonstration of coordinated

control for multi-vehicle teams. In Australasian Conference on Robotics and

Automation 2005.

[12] Ying Tat Leung Young M. Lee, Feng Cheng. Exploring the impact of rfid on

supply chain dynamics. In Proc. of the 2004 Winter Simulation Conference,

2004.

70