Mobile RFID System for Inventory Automation

Mobile RFID System for Inventory Automation
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.
................... ............
Author .. .......... . .
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
13
2008
I
No
L\Bs1RARIES
BARKER
Mobile RFID System for Inventory Automation
by
JinHock Ong
Submitted to the Department of Electrical Engineering and Computer Science
on 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 applications
employing RFID technology are being created. One main application is inventory
tracking where RFID technology is used to create a visibility of goods flowing through
the supply chain.
This thesis discusses the high-level design considerations and implementation challenges of a mobile RFID system to aid inventory automation in an enclosed environment such as a warehouse.
Multiple simulations, employing probabilistic-like algorithm for navigation decision, was also conducted to visualize the feasibility of the system.
An autonomous vehicle carrying an RFID reader is also implemented to test hardware reliability and the feasibility of a grounded robot to perform inventory in a three
dimensional space.
Thesis Supervisor: John Williams
Title: Associate Professor
Thesis Supervisor: Abel Sanchez
Title: Research Scientist
3
4
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, Christian 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 tremendously to my being today. They have not only given me advice and love, but also the
freedom to pursue my dreams.
5
6
Contents
1
2
Introduction
15
1.1
Mobile RFID System . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.2
Organization
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Related Work
RFID Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.1.1
RFID Software Stack . . . . . . . . . . . . . . . . . . . . . . .
20
2.2
Unmanned-Aerial-Vehicle . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.3
Existing Location Sensing Technology . . . . . . . . . . . . . . . . . .
22
2.1
3
High Level Design
3.1
3.2
3.3
4
19
General Issues . ..
25
. . . . . . . . . . .
. . . . . ...
25
3.1.1
Measuring Performance and Determining Task Completion
25
3.1.2
Task Distribution . . . . . . . . . . . . . . . .
26
3.1.3
Localization and Navigation Reference
. . . .
27
Hardware Challenges . . . . . . . . . . . . . . . . . .
28
3.2.1
Helicopter Payload and Power Consumption .
28
3.2.2
Navigation Sensors . . . . . . . . . . . . . . .
28
3.2.3
RFID-Reader Constraints
. . . . . . . . . . .
29
Software Challenges . . . . . . . . . . . . . . . . . . .
30
3.3.1
30
Machine Learning and Artificial Intelligence
Initial Simulation
33
7
5
6
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
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
Other Applications
6.1
6.2
7
. . . . . . . . . . . . . . . . . . . . . . . .
RFID at Home
55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.1.1
Inventory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.1.2
RFID Locator . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
6.1.3
Smart Appliances . . . . . . . . . . . . . . . . . . . . . . . . .
58
Automated Tour Guide using RFID local knowledge . . . . . . . . . .
60
Discussion and Conclusion
63
7.1
D iscussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
7.2
C onclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
8
67
A Mercury4e Class Library
9
10
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. . . . . . . . . . . . . . . . . . . . . . . . .
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
vides longer read range.
analog sensors.
5-6
5-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
Phidgets Servo Controller- intermediary circuit board to control the
steering motor and the digital motors by generating PWM signals.
.
48
Triangulation detection mechanism of Sharp GP2D12 IR sensor.
.
49
11
.
5-8
Mercury4e class library class diagram.
5-9
HTTP Post client to communicate with ROl through the Internet.
6-1
A rotating RFID reader antenna will allow the autonomous vehicle to
. . . . . . . . . . . . . . . . .
redirect the electro-magnetic waves in all direction.
6-2
.
.
. . . . . . . . . .
53
56
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-3
52
58
Navigating using RFID track: when the robot encounters tag corresponding 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. ........
..............................
12
60
List of Tables
5.1
Selected Operating System Components in R01 implementation.
5.2
Analog Devices gyroscope's electrical characteristic.
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
.
44
.
. . . . . . . . . .
.
. . . . . . . . .
50
14
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 allow 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
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
Pr(ie) = Pr(rd)* Pr(sd) * Pr(sa)
(1.1)
Pr(ie) represents the probability of inventory error, Pr(rd) represents the probability 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
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 simulation 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
Chapter 2
Related Work
Previous work in the field of autonomous flight control, artificial intelligence, selflocalization, 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 RFIDReader behavior and determining simulation parameters when modeling a RFIDreader apart from solving the RFID reader collision problem.
19
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 RFIDtagged 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
Pedigree
Discovery
Who touched the tag
Who touched the tag and their APIs
0
z
ONS
Who owns the tag
0)
0Z
Cw
EPCIS
ALE
Share/capture tag data
See the tag
Tag
Dr. Abel Sanchez
Figure 2-1: MIT Auto-ID Labs' stack of open source software. The diagram is provided by Dr Abel Sanchez.
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 Engineering 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
2.3
Existing Location Sensing Technology
Location Sensing Technology is often used to track expensive items such as vehicles and computers.
Industries using Real-Time Location System include health
care, transportation and distribution, shipping, manufacturing, mining and chemicals.
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 management 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 technology. 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 installation 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
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
24
Chapter 3
High Level Design
3.1
3.1.1
General Issues
Measuring Performance and Determining Task Completion
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
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 probabilistic 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 instance, 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
Ur7-
U
Swarm
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 selflocalization.
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 reference.
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
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 determining 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 balancing and determining velocity.
28
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).
D
s
Sz
distance between shelves
N
Figure 3-2: Asymmetrical RFID reader placement are more beneficial since it provides
longer read range.
The distance between shelves in a warehouse typically ranges from 6 feet to 10 feet
29
[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
3.3.1
Software Challenges
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 obstacles. 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 allocation. 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
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 RFIDreads 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
32
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 centimeters. Thus, a 60 x 60 x 60 unit box in the simulation would correspond to a 1.17
33
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
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
~
V
5q4Dtt~tI~
Mo~*~a~wm~
j
j
/
k,'-
Rota"
......
----------..............
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 RFIDreader 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.
'_F
I. I
.........
X
....
. .....
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
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.
Completion vs Time
100
80
S60
60
0-Seriesl
40
Seres2
20
-
-Series3
-
0
d
Series4
o
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 twelveminute 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
100
-
-
60
40
20
-4-Serhe s
-
--
--
--
--
--
__
-
Series3
Log. (Series3)
-20
0 0
QC0
_F
O
IeO
* O
rro
r'
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 accounting all other simulation variables such as signal drift and RFID reader's fail-to-read
probability.
38
100
90
70
60
E
-
50
-
-Average
30
20
.
minut s
10
0
1
2
4
3
5
Numberof UAVs
Figure 4-6: Average completion versus number of UAVs.
-4000
0
-2000
4000
6000
29
Figure 4-7: Two-dimensional trajectory of one of the monitored UAVs.
39
40
Chapter 5
Hardware Platform
To test hardware and software reliability, a grounded autonomous vehicle was assembled. 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 manual 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 Phidgets 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
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 SystemOn-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
eMax Monster Truck
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
Catalog Item
Vortex86Audio
Vortex86-Display
Cab
File
Installer/Uninstaller
USB Storage Class Driver
.NET Compact Framework
Function
Audio Drivers
Display Drivers
Provides application installation and removal.
Support for hot pluggable USB storage device, supporting most USB flash drive and external mass storage device.
Support managed code application.
2.0
OS Dependencies for .NET
Compact Framework 2.0
ConMax-X86 Files Component
RAM and ROM file system
Hive-based registry
VNT
VNWLC6
Wireless
Support managed code application
Adds CoreCon files to the final image; needed for establishing connection between eBox-2300 and VS2005
development machine.
Needed to support hive-based registry implementation.
Needed to support hive-based registry implementation.
Hive-based registry is used to store and save registry
entries changed between power reset.
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 deployment. The class diagram is shown in Figure 5-3. The autonomous vehicle's main
operation is defined in the StateMachine 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 ActuatorControllerclass 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
SensorChangeEvent is triggered. When the autonomous vehicle receives a command
or request from a remote client, the ServerHitEvent is triggered. The command will
44
Actuatoto
Class
CI
UAonArgs
ller
4
I Static Class
NewTagFoundAr...
rver
Class
4ass
4 Evenk Args
EventArgs
sensorrnputs
1
class
o
Cass
StateMachine
hangeArgs
Args
TrackLocation
NewTagFoundliandler
5
SewertritHandler
EHandler
r:
(
Delgate
Delegate
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
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
Figure 5-5: Phidgets Interface Kit- intermediary circuit board to host digital and
analog sensors.
Digital sensors such as switches and bump sensors can be connected to the digital inputs while the digital outputs can be used to generate PWM (pulse-widthmodulation) 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 software 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
Figure 5-6: Phidgets Servo Controller- intermediary circuit board to control the steering 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-WidthModulation) 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
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 relying 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
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 characteristics are summarized in Table 5.2:
Parameter (at Vdd = 5V)
Angular velocity measuring range
Output voltage with no rotation (reference voltage)
Voltage increment per 10/s increase in
velocity
Maximum output voltage
Power supply voltage
Typical Value
±3000/s
2.50 V
5.00 mV
4.00 V
5.00 V
Table 5.2: Analog Devices gyroscope's electrical characteristic.
5.7.3
Accelerometer - Analog Devices Dual-Axis Accelerometer 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
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.
(5.2)
t = E>At,
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.
v(t')dt'
s(t) =
(5.4)
The accelerometer's main characteristics are summarized in Table 5.3.:
Parameter (at Vdd= 5V)
Acceleration measuring range
Output voltage at Og (reference voltage)
Voltage increment per Ig increase in acceleration
Maximum output voltage
Power supply voltage
Typical Value
+2g
2.5 V
312 mV
3.62 V
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
RFIDReader
MsgObj
MyCr 16
struct
8J Fields
0-Fields
6 Methods
'* BootFirmware
:4 CheckStatus
4 earCOMPort
8 Properties
8
Data
DataLength
Opcode
44
4
Methods
-4 ConvertHexToByte
:4 ConvertHexToBytes
44 CRC calcCrc8
4 GetMessageBytes
34 MSGcalcCrcToDsp
ConvertHexByteToString
GetFirmwareVersion
24 GetHostBaudRate
24 GetTaglDbuffer
4 ReadTagIDMultiple
4 ReadTaglDSingle
44
44
4
-4
-4
4
4
Enuin
B.9600
8_19200
44
s. port
# data
a datalen
/ opcode
2
]
2
1 3 Methods
34
ReceiveMessage {+ 1 overload)
RetumReadTagIDSingle
RFIDReader
SendMessage (+ 1 overload)
SetBaudRate
SetCurrentProtocol
Verifylmage
WriteTagData
WriteTagiD
V
CRC calcCrc8
S MSG-calcCrcTo
prtocfype
f
None
EPC0
EPC1
IS018000
Impinj
GEN2
LICODE
038400
B_57600
B_115200
B_230400
B460800
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
Framework and provides httpget and httppost services.
.......
Akeer
4,'t~r*t 1N 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. Commands implemented include Start and Stop for autonomous operations and Forward,
Left, Right, Reverse and Stop for manual operations.
53
54
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
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 to
redirect 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 orientation of the RFID tags may prevent the RFID reader from detecting it due to the
56
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 perpendicular 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
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
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 expiring 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
6.2
Automated Tour Guide using RFID local knowledge
Carnegie Mellon University has been known to deploy robots as tour guides in museums 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 corresponding 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
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
62
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 deployment. 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 significant 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 drawbacks. 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
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
Metal Proximity
Liquid Proximity
Read rate
RFID
Causes interference
Causes interference
Faster than RuBee
RuBee
No interference
No interference
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
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
66
Appendix A
Mercury4e Class Library
Table A summarized the library functions and the parameters needed.
67
Description
Start RFID reader firmware.
Check the status of the returned reply
from RFID reader.
Clear the serial port if there are leftover
bytes from previous operations.
Utlity function to convert a string to an
array of bytes.
Returns current firmware version the
RFID reader is running on.
Checks the host's baud rate(RFID
reader is the target).
Gets the tags stored in the buffer after
Function
BootFirmwareO
CheckStatus(byte[])
ClearCOMPort()
ConvertHexBytesToString(byte[])
GetFirmwareVersion()
GetHostBaudRateo
GetTagIDBuffer(int)
calling
ReadTagIDMultiple(int).The
integer parameter refers to the number
of tag IDs t to retrieve.
Search for multiple RFID tags and re-
ReadTagIDMultiple(int)
turn the number of tags found. The ID
of the tags found are stored in a buffer
within the RFID reader. The IDs can
be retrieved by calling the GetTagIDBuffer(int) function. The integer parameter refers to the time out duration
in millisecond.
Search for a single RFID tag and re-
ReadTagIDSingle(int)
turns the tag ID if found. The integer
parameter refers to the time out duration in millisecond.
Sends generic message to RFID reader.
Sends generic message to RFID reader.
Set the COM port baud rate to ensure
synchronized communication.
Set the RFID Reader protocol such as
SendMessage(string)
SendMessage(byte[])
SetBaudRate(Mercury4e.BaudRate)
SetCurrentProtocol(ProtocolType)
UCODE,GEN2.
Verifylmage(
WriteTagData(int,string,string,string,string)
WriteTagID(int,string,string,string)
Verify the firmware image by checking
the checksum bits (CRC).
Write data to a tag.
Rewrite RFID tag ID.
Table A.1: RFID reader functions implemented in .NET library.
68
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.
barriers
16
to
rfid
ubiquity.
http://www.rfidgazette.org/2007/04/.
[7] Walter Steiner Gerhard Lakemeyer, Dik Schulz and Sebastian Thrun. The interactive 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 Management, 31(10):529+, 2003.
69
[9] Dr. Abel Sanchez. Mit epc net (mentor). http://www.rfidgazette.org/2007/04/.
[10] Michael B. Stroh. A PracticalGuide to Transportationand 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