**4. Alternative designs**

The three designs of object locator are called Room-level Agents, Interrogator and Tags (RAIT) locator, Desk-level Agents, Interrogator and Tags (DAIT) locator and Desk-level and Roomlevel Agents, Interrogator and Tags (DRAIT) locator. As their names imply, each of the locator consists of tags, agents and at least one interrogator. The adjectives room-level and desk-level describe the ranges of RFID readers used by the designs. The ranges of room-level readers and desk-level readers are sufficiently large to cover a typical-size room or desk, respectively.

The term tag refers specifically to RFID tags. Each tag has a unique id, hereafter called *TID*. One of the designs uses only passive tags. The other designs call for tags that can beep upon receiving query messages containing their TIDs. It is possible to implement such tags using semi-passive RFID tags since the battery in such a tag can be used not only to improve read range but also to drive a beeper.

Obviously, the agents must be set up before a RAIT locator can be used. Figure 7 lists the steps carried out by the user and work done by the system during the set up process. The goal of Steps 3-5 is to make sure that there is no blind region. A *blind region* is an area where tags cannot be read by any agent. The corners of a room are the most likely to be blind re‐ gions. This is the rationale behind Step 3. When the *TEST READ RANGE* switch of an agent is on, the agent repeatedly broadcasts non-address mode read messages. In this way, the agent enables the user to determine whether any of the corners is a blind region in Step 3.

Design and Implementation of RFID-Based Object Locators

http://dx.doi.org/10.5772/53576

207

1. Choose a location near middle of a room and temporarily attach an agent to the

3. Pick up a tag and check whether the tag beeps at each corner of the room. 4. If no, adjust the location of the agent or add one more agent at another location in the room and turn on *TEST READ RANGE* switch on the additional agent. Then

5. Securely attach the agents tested in Steps 2-4 at their respective locations. 6. Put the interrogator near the agent and execute *Register Agent operation*. 7. Repeat step 1 to 6 until all agents covering the house are registered.

The Register Agent operation in Step 6 is similar to Add operation described in Section 3. Its goal is to assign a human-readable location name to an agent, so that the interrogator can later generate query results illustrated by the example in Figure 5(c). During the operation, the interrogator prompts the user to provide a unique name for the location of each agent. For example, if the living room needs two agents, Living Room R(ight) and Living Room

The interrogator also assigns a unique network address to the agent being registered. The id of the tag in an agent is the product serial number of the agent. The interrogator uses the id to distinguish the agent from previously registered agents. By assigning successive network addresses to agents as they are registered and initialized one by one, successive Register Agent operations enable each initialized agent to join the WLAN and later compute the ad‐

Figure 8 depicts the format of messages in a RAIT locator. This format supports multiple in‐ terrogators: The src\_addr allows agents to identify the interrogator issuing the query mes‐ sage. The dest\_addr allows them to address their responses to a specified interrogator. Data field allows interrogators to synchronize their databases created by Add and Register Agent

dresses of other agents by adding or substituting some number from its own address.

operations. We will discuss how the other fields are used shortly.

go back to Step 3. If yes, turn off *TEST READ RANGE* switch.

ceiling or furniture at the location.

**Figure 7.** Agent set-up process

L(eft) are good names for them.

2. Turn on *TEST READ RANGE* switch on the agent.

An *agent* is a device that aids the interrogator in locating the queried object (i.e., the queried tag). Each agent has a RF transceiver, together with a programmable network address, a RFID reader, and a RFID tag. The RFID reader in the agent enables the agent to search for the tags within its coverage area. As stated in Section III, the interrogator also has a RF transceiver with a network address. This allows the interrogator and all agents to form a wireless local area net‐ work (WLAN). The network address of the interrogator (or each interrogator in a multiple-in‐ terrogator system) is unique and so is the network address of each agent. The interrogator requests assistance from an agent by sending the TID of the queried tag to the agent via the WLAN. We assume that the network provides reliable communication. We do not mention other aspects of the WLAN because they are not relevant to our discussion.

#### **4.1. RAIT locator**

A disadvantage of the existing locator is that a user needs to walk around the house when search‐ ing an object and the interrogator needs to repeatedly send the query signal until the user hears the queried tag or gives up the search. RAIT locator is designed to eliminate this disadvantage.

RAIT locator uses one or more agents to cover each room, and the house is fully covered by agents as shown in Figure 6. When the user invokes a Query operation, the interrogator sends a query message containing the TID of the queried tag to agents and thus requests the agents to search the queried tag on its behalf. Each agent broadcasts an addressed mode read request with the TID retrieved from the query message to read the tags within range. The tag with id matching the TID beeps upon receiving a read request, in addition to responding to the agent. The agent finding the queried tag reports its network address to the interrogator. This informa‐ tion enables the interrogator to display the results illustrated by Figure 5(c), telling the user to go to the specified room where the queried object has been found.

**Figure 6.** Configuration of RAIT locator

Obviously, the agents must be set up before a RAIT locator can be used. Figure 7 lists the steps carried out by the user and work done by the system during the set up process. The goal of Steps 3-5 is to make sure that there is no blind region. A *blind region* is an area where tags cannot be read by any agent. The corners of a room are the most likely to be blind re‐ gions. This is the rationale behind Step 3. When the *TEST READ RANGE* switch of an agent is on, the agent repeatedly broadcasts non-address mode read messages. In this way, the agent enables the user to determine whether any of the corners is a blind region in Step 3.


#### **Figure 7.** Agent set-up process

receiving query messages containing their TIDs. It is possible to implement such tags using semi-passive RFID tags since the battery in such a tag can be used not only to improve read

An *agent* is a device that aids the interrogator in locating the queried object (i.e., the queried tag). Each agent has a RF transceiver, together with a programmable network address, a RFID reader, and a RFID tag. The RFID reader in the agent enables the agent to search for the tags within its coverage area. As stated in Section III, the interrogator also has a RF transceiver with a network address. This allows the interrogator and all agents to form a wireless local area net‐ work (WLAN). The network address of the interrogator (or each interrogator in a multiple-in‐ terrogator system) is unique and so is the network address of each agent. The interrogator requests assistance from an agent by sending the TID of the queried tag to the agent via the WLAN. We assume that the network provides reliable communication. We do not mention

A disadvantage of the existing locator is that a user needs to walk around the house when search‐ ing an object and the interrogator needs to repeatedly send the query signal until the user hears the queried tag or gives up the search. RAIT locator is designed to eliminate this disadvantage.

RAIT locator uses one or more agents to cover each room, and the house is fully covered by agents as shown in Figure 6. When the user invokes a Query operation, the interrogator sends a query message containing the TID of the queried tag to agents and thus requests the agents to search the queried tag on its behalf. Each agent broadcasts an addressed mode read request with the TID retrieved from the query message to read the tags within range. The tag with id matching the TID beeps upon receiving a read request, in addition to responding to the agent. The agent finding the queried tag reports its network address to the interrogator. This informa‐ tion enables the interrogator to display the results illustrated by Figure 5(c), telling the user to

**Bedroom B**

Beeper

Agents

Interrogator

Queried tag

**Bedroom C**

**Bathroom B**

other aspects of the WLAN because they are not relevant to our discussion.

go to the specified room where the queried object has been found.

**Living room 2**

**Bedroom A-2**

**Bathroom A**

**Kitchen 1**

**Kitchen 2**

**Living room 1**

**Bedroom A-1**

**Figure 6.** Configuration of RAIT locator

range but also to drive a beeper.

206 Radio Frequency Identification from System to Applications

**4.1. RAIT locator**

The Register Agent operation in Step 6 is similar to Add operation described in Section 3. Its goal is to assign a human-readable location name to an agent, so that the interrogator can later generate query results illustrated by the example in Figure 5(c). During the operation, the interrogator prompts the user to provide a unique name for the location of each agent. For example, if the living room needs two agents, Living Room R(ight) and Living Room L(eft) are good names for them.

The interrogator also assigns a unique network address to the agent being registered. The id of the tag in an agent is the product serial number of the agent. The interrogator uses the id to distinguish the agent from previously registered agents. By assigning successive network addresses to agents as they are registered and initialized one by one, successive Register Agent operations enable each initialized agent to join the WLAN and later compute the ad‐ dresses of other agents by adding or substituting some number from its own address.

Figure 8 depicts the format of messages in a RAIT locator. This format supports multiple in‐ terrogators: The src\_addr allows agents to identify the interrogator issuing the query mes‐ sage. The dest\_addr allows them to address their responses to a specified interrogator. Data field allows interrogators to synchronize their databases created by Add and Register Agent operations. We will discuss how the other fields are used shortly.

level agents to search first. The interrogator asks room-level agents only when no desk-level agent finds the queried object. We set up desk-level agents on furniture in addition to set‐ ting up room-level agents as described above. Because misplaced objects are often on furni‐ ture or in vicinities of them, the queried object can often be found by a desk-level agent, and

Design and Implementation of RFID-Based Object Locators

http://dx.doi.org/10.5772/53576

209

A queried object can be searched in three ways: broadcast, relay and polling. The *broadcast scheme* is the most straightforward. The interrogator broadcasts a query message with the tag\_id field filled with TID of the queried tag. The agents finding the queried tag report

The knowledge on the agent network addresses and the number of agents enables an inter‐ rogator to request assistance from agents one at a time using the *relay scheme*: To search for a queried tag, the interrogator sends a query message containing its own address in intr\_addr field, the number of agents to be queried in n\_hops and the TID of the queried tag in tag\_id to the first agent: The simplest choice is the agent with the smallest address. In response to a query, each agent searches for the tag with the TID in its own cover area. The agent reports its own address to the interrogator if it finds the tag; otherwise it decreases n\_hops by one, increments its own network address by one to get the address of the next agent and then

According to the *polling scheme*, the interrogator also sends a query message to the first agent in its polling list, provides the agent with the TID of the queried tag and waits for response from the agent. The agent replies to the interrogator no matter whether it finds the tag or not. If the response from an agent is negative, the interrogator sends the query message to the next agent in its polling list. Advantage of the polling scheme over the relay scheme is

We implemented a proof-of-concept prototype of DAIT locator, the design that does not re‐ quire customized semi-passive tags. Indeed, all components used in our prototype are readi‐ ly available today. Parts (a) and (b) of Figure 10 show an agent and the portable interrogator of our prototype, respectively. The agent is composed of a microcontroller, a RF transmitter, a RF receiver and a RFID reader module. The microcontroller is ATMEL ATmega128. It runs at 8MHz and has 128k bytes flash / 4k bytes EPPROM. The RF transmitters and receivers interconnecting interrogator(s) and agents are LINX TXM(RXM)-433-LR, which use 433MHz ASK. RFID reader modules are MELEXIS EVB90121, which is ISO15693-compliant and uses a directional antenna. We use TI OMAP5912 and NEC Q-VGA to implement the portable interrogator. The current version of our prototype supports the three operations described

their agent ids to the interrogator and the others do not reply.

that the interrogator can dynamically alter the search sequence.

forwards the query message to the next agent.

**5. Prototype implementation**

in Section II and uses the polling search scheme.

the tag on it does not need to beep.

**4.3. Search schemes**

**Figure 8.** RAIT locator message format

#### **4.2. DAIT and DRAIT locators**

DAIT locator, shown in Figure 9, is an extension of RAIT locator. The designs are similar in how the Query operation is handled by the interrogator and agents. DAIT differs from RAIT primarily in the required read ranges of agents. The read range of agents used in a DAIT locator is less than one meter. Agents with such a small range offer higher accuracy in loca‐ tions of queried tags. Information on the agent that finds the queried tag tells the user the location of the searched object within a small vicinity of the agent. Tags in DAIT locators are passive; they do not beep because a user can easily find the misplaced object even though the tag does not beep. Because tags do not need to beep, they can be battery free. This is a major advantage of DAIT locator.

**Figure 9.** Configuration of DAIT locator

thread. By doing so, blind regions never occur.

However, it is significantly more complicated to set up desk-level agents. Blind regions of RAIT locator are easy to detect and eliminate because a blind region is typically created by walls and is near the read boundary of an agent. In the case of DAIT locator, a room cannot be fully covered by one or two agents. Any three adjacent agents may create a blind region. Our solution is to give a user a circular thread whose circumference is less than 3 3 (i.e., the circumference of a regular triangle whose center is one unit away from its corners) times their read range and instruct a user to set any three adjacent agents within the circular

DRAIT locator has a hybrid design that aims to extend the lifetime of semi-passive tags. A DRAIT locator contains both room-level and desk-level agents. Its interrogator asks desklevel agents to search first. The interrogator asks room-level agents only when no desk-level agent finds the queried object. We set up desk-level agents on furniture in addition to set‐ ting up room-level agents as described above. Because misplaced objects are often on furni‐ ture or in vicinities of them, the queried object can often be found by a desk-level agent, and the tag on it does not need to beep.

#### **4.3. Search schemes**

CMD tag\_id

<sup>0</sup> data

offset

1

intr\_addr

*m n*

Interrogator

Queried tag

Agents

dest\_addr src\_addr Object Locator Data Unit

1

34 7

DAIT locator, shown in Figure 9, is an extension of RAIT locator. The designs are similar in how the Query operation is handled by the interrogator and agents. DAIT differs from RAIT primarily in the required read ranges of agents. The read range of agents used in a DAIT locator is less than one meter. Agents with such a small range offer higher accuracy in loca‐ tions of queried tags. Information on the agent that finds the queried tag tells the user the location of the searched object within a small vicinity of the agent. Tags in DAIT locators are passive; they do not beep because a user can easily find the misplaced object even though the tag does not beep. Because tags do not need to beep, they can be battery free. This is a

However, it is significantly more complicated to set up desk-level agents. Blind regions of RAIT locator are easy to detect and eliminate because a blind region is typically created by walls and is near the read boundary of an agent. In the case of DAIT locator, a room cannot be fully covered by one or two agents. Any three adjacent agents may create a blind region. Our solution is to give a user a circular thread whose circumference is less than 3 3 (i.e., the circumference of a regular triangle whose center is one unit away from its corners) times their read range and instruct a user to set any three adjacent agents within the circular

DRAIT locator has a hybrid design that aims to extend the lifetime of semi-passive tags. A DRAIT locator contains both room-level and desk-level agents. Its interrogator asks desk-

*m m* cflag n\_hops

**Figure 8.** RAIT locator message format

208 Radio Frequency Identification from System to Applications

**4.2. DAIT and DRAIT locators**

major advantage of DAIT locator.

**Figure 9.** Configuration of DAIT locator

thread. By doing so, blind regions never occur.

A queried object can be searched in three ways: broadcast, relay and polling. The *broadcast scheme* is the most straightforward. The interrogator broadcasts a query message with the tag\_id field filled with TID of the queried tag. The agents finding the queried tag report their agent ids to the interrogator and the others do not reply.

The knowledge on the agent network addresses and the number of agents enables an inter‐ rogator to request assistance from agents one at a time using the *relay scheme*: To search for a queried tag, the interrogator sends a query message containing its own address in intr\_addr field, the number of agents to be queried in n\_hops and the TID of the queried tag in tag\_id to the first agent: The simplest choice is the agent with the smallest address. In response to a query, each agent searches for the tag with the TID in its own cover area. The agent reports its own address to the interrogator if it finds the tag; otherwise it decreases n\_hops by one, increments its own network address by one to get the address of the next agent and then forwards the query message to the next agent.

According to the *polling scheme*, the interrogator also sends a query message to the first agent in its polling list, provides the agent with the TID of the queried tag and waits for response from the agent. The agent replies to the interrogator no matter whether it finds the tag or not. If the response from an agent is negative, the interrogator sends the query message to the next agent in its polling list. Advantage of the polling scheme over the relay scheme is that the interrogator can dynamically alter the search sequence.
