Object Tracking for

2 downloads 0 Views 276KB Size Report
and then discusses the details of real-time indoor tracking. .... cricket tracking system [18] handles the scheduling problem using a naive approach based on ...
Real-Time Indoor Human/Object Tracking for Inexpensive Technology-Based Assisted Living∗ Min-Young Nam, Mhd Zaher Al-Sabbagh, Chang-Gun Lee Department of Electrical and Computer Engineering, The Ohio State University, Columbus, OH 43210 {namm, als, cglee}@ece.osu.edu

Abstract As the elderly population increases, the elderly care using inexpensive technological means becomes critical. This paper proposes novel scheduling algorithms for real-time indoor tracking of elderly residences, which is essential to assist and secure their independent living. For this, we use inexpensive technological means, specifically, ultrasonic based distance sensing and RF-based wireless communication. Since these sensing and communications signals are active signals, they need to be orchestrated in a collision-free way. Our collision-free scheduling algorithms have three important features. First, we consider the combined aspect of sensing and communication to improve the overall effective sampling rate for high quality real-time tracking. Second, we leverage on the target location awareness to more accurately identify collisions and thus build a better schedule. Third, we adaptively control the sampling rate depending on the user mobility to save the energy consumption of mobile devices without compromising the track accuracy. We performed extensive experiments through both simulation and actual implementation. Our experimental result says that we can improve the real-time tracking accuracy up to 125% (45 cm error vs. 20 cm error) in the typical range of residence mobility. ∗

This work is supported in part by NSF-CSR 0509175.

1

1

Introduction

As the baby boomer generation ages, the elderly care has become a social and economical challenge worldwide. Therefore, it is very important to assist the elderly living by inexpensive technological means in order to enable the reasonably healthy elderly to independently live at their own home instead of expensive nursing home facilities, which can dramatically save the elderly care cost 1 . This paper first overviews our project for prototyping a technology-based assisted living environment and then discusses the details of real-time indoor tracking. The real-time indoor tracking of humans and objects is an important baseline service for realizing many useful high-level services such as finding objects for “where is” type inquiries, reminding necessary actions like taking medicine, and detecting emergency situations. For real-time indoor tracking, we need a physical sensing mechanism to measure the positions of humans and objects. The visual sensing is not attractive because it requires expensive image processing and also it costs too high to cover the entire home. Fortunately, to measure the object positions in a non-intrusive way, the sensor community have developed many active probing techniques, including IR (infrared) [6], UWB (ultra-wide-band) [23, 10], US (ultrasonic) [5, 18], RF (radio frequency) [8, 1], and RFID (radio frequency identification) [12, 17]. However, none of existing location systems using the above sensing technologies can provide high-fidelity real-time tracking due to lack of sound scheduling algorithm for active probing signals. Due to economic reasons and also measurement accuracy reasons, our prototype system uses a combination of ultrasonic and RFID technologies as the underlying sensing mechanism. The system consists of (1) a number of inexpensive ultrasonic transmitters called beacons (less than U.S. $10 for each) mounted on the ceiling, (2) a number of small RFID tags (less than few cents for each) attached to objects, and (3) a wristband with a small ultrasonic listener and RFID reader carried by each elderly residence. Each beacon on the ceiling occasionally transmits an RF message and ultrasonic pulse at the same time. Due to the speed difference of RF message (speed of light) and ultrasonic signal (speed of sound), there should be a gap between their arrival times at the wristband listener. Using the arrival time gap, we can infer the distance between the beacon and listener. If we collect distance measurements from more than three beacons, we can calculate the listener’s location or human location using a triangulation method. At the same time, the RFID reader attached to the wristband can read RFID tags of objects 1

The current average for a semi-private room in a nursing home is $70,000 annually and is expected to increase to

$190,000 by 2030 [16].

2

within 10 ∼ 15cm proximity. Thus, we can localize the objects as well, whenever the user touches them. With this underlying sensing mechanism, one challenge is how to schedule ultrasonic signals and RF messages to ensure high-fidelity real-time tracking. Since beacons use active probing signals, i.e., ultrasonic pulse and RF message, if two beacons within the interference range transmit the active signals at the same time, they collide. The state of the art ultrasonic based location system, Cricket [18], addresses the collision problem based on carrier sensing and random arbitration. It works for a low sampling frequency but increasing the sampling frequency to improve the real-time tracking performance actually adversely affects the performance due to increased collision probability. To the best of our knowledge, there is no sound study on such scheduling problem of active sensing signals. This paper proposes collision-free combined sensing and communication scheduling algorithms adopting the following ideas: • Harmonizing sensing and communication: The system should scheduling active ultrasonic signals while exchanging various RF messages among beacons, listeners, and the host computer. We maximally overlap the duration of ultrasonic signal and RF messages to save the total schedule time and hence allow the higher sampling rate while ensuring no-collision. • Location-aware scheduling: The two beacons may or may not collide depending on listener’s location. We form a feedback loop between the scheduler and tracking tasks and utilize listener location information given by tracking tasks so that the scheduler can build a better schedule. • Mobility-aware scheduling: We adaptively control the sampling frequencies of beacons depending on the mobility of users—low rate for low mobility and high rate for high mobility. This way we can significantly save the energy consumption without compromising the tracking accuracy. Although the algorithms are designed based on our ultrasonic sensing mechanism, they will be useful for other types of sensing mechanisms based on active probing techniques. The rest of this paper is organized as follows: The next section briefly survey the related work. In Section 3, we present a system overview and then more formally describe the scheduling problem for real-time indoor tracking. Section 4 proposes our novel scheduling algorithms for orchestrating both ultrasonic and RF signals. Section 5 presents the experimental results through both simulations and actual implementation. Finally, Section 6 concludes this paper.

3

2

Related Work

Researchers have developed a large number of indoor location systems under different contexts. A typical example is visual tracking [15, 20]. Although it can provide a acute tracking of human faces and motions, it requires complex image processing for feature extraction and matching, and it also costs too high to cover the whole assisted living environment. One the other hand, other location systems use active probing based sensing technologies to avoid complex signal processing but still provide acceptable localization quality.For example, the Active Badge system [6] system uses a badge that emits IR (Infra Red) signals. The IR signals can be received by a IR receiver located in each room. Thus, the system can localize the badge in a room scale. Microsoft RADAR [1] and SpotON [8] use active RF signal strength for the localization. However, its accuracy is in the order of few meters, which is too rough for our assisted living environment. Intel and Univ. of Washington [17] and Utah State Univ. [12] place RFID tags on reference points of a building so that a user carrying RFID reader can be guided to find the desired route. However, due to inherent limitation of RFID technology, their location accuracy is several meters at best. For our assisted living environment, one option that gives an acceptable localization accuracy is an UWB (Ultra Wide Band) location system. For example, the Ubisense system [23] and Multispectral Solution Inc.’s PAL650 system use active UWB pulses. Those systems can provide location accuracy of tens of centimeters using UWB pulse’s arrival times and arrival angles. However, their current unit price is more than 10,000 USD, which counters one of our important objective—inexpensive deployment of our assisted living system. Ultrasonic signals can be an inexpensive alternative. In the Active Bat [5] system, a mobile user carries an active ultrasonic transmitter called an active bat. The active bat transmits an ultrasonic pulse triggered by a short RF message from the base station. This pulse is received by multiple listeners on the ceiling. Each listener uses the arrival time of the ultrasonic pulse to infer the distance between the active bat and itself. This distance information is forwarded to the host computer and then the host computer can localize the active bat with approximately 10 centimeters accuracy. The Cricket system [18] also uses the same ultrasonic sensing technology but employs an opposite configuration, i.e., transmitters on the ceiling and a listener on the user. The main motivation of such configuration change is user privacy—in the Cricket configuration, the user device can locally calculate its location information, whereas the Active Bat configuration reveals user location information to the central

4

computer. In our assisted living context, the user privacy is not an issue as long as we can make sure that the user position information is contained within the home environment. Nevertheless, we still prefer the cricket configuration because of the energy issue of the user device—we do not want to make the battery operated user device actively generate ultrasonic pulses. This ultrasonic based location sensing is also attractive pricewise—each cricket device (both transmitter and listener) costs less than U.S. $10 [18]. In terms of spatial accuracy, both UWB-based and ultrasonic-based technologies are acceptable for our assisted living prototype. However, for real-time tracking, multiple devices should frequently send out the active probing signals and hence their scheduling to avoid collisions becomes an essential issue. There has been no sound scheduling method reported for UWB active signals. Even the state-of-the-art cricket tracking system [18] handles the scheduling problem using a naive approach based on carriersensing and random back-off. Although such mechanism works for applications where a low position sampling rate is acceptable, it stops working when we do need more frequent sampling for real-time tracking due to the increased probability of collisions. In addition, since it is not a collision-free method, it cannot give a predictable real-time tracking performance. There have been many efforts to use graph coloring approaches to schedule sensor nodes avoiding collisions in the wireless and sensor network area [11, 13, 14, 7]. However, they focus on only the communication aspect, i.e., scheduling RF messages among sensor nodes, without addressing the combined aspect of active sensing and communications.

3

System Overview and Problem Description

Before formally defining the scheduling problem, let us first give a big picture of the entire system configuration of our assisted living prototype. As shown in Figure 1, the system consists of one host computer (i.e., HS), a number of ultrasonic transmitters

2

called beacons (i.e., Bi ) mounted on the

ceiling, a number of wristband devices (i.e., Lj ) carried by residences, and a number of RFID tags attached to all objects in the home including furniture and small stuffs like a teapot, remote controller, and eye-glasses. We use NB to denote the total number of beacons and NL to denote the total number of residences or wristband devices. Each wristband device Lj (1 ≤ j ≤ NL ) as shown in Figure 1 consists 2

For an ultrasonic transmitter, we use a Crossbow cricket mote [4] that has a small processing power, wireless RF

communication capability, and ultrasonic transmission and reception capability.

5

B2

B1

B3

US 3 relay

RF

RFB

1 active probing 2 report RFL

4 broadcast RFHS

L1

L2

PSfrag replacements

beacon coverage beacon interference range

L1

HS

US Listener RFID reader

RFID tag

Figure 1: Overall system configuration of an ultrasonic listener

3

and a RFID reader

4

connected through a serial cable. We will use the same

notation Lj to denote the combined wristband device or to denote its ultrasonic listener only. With this configuration, the scenario for tracking both humans and objects is as follows: Each beacon Bi occasionally transmits a ultrasonic signal together with a short RF message, marked as ➀ in Figure 1. Since a RF message flies much faster with the speed of light than an ultrasonic signal that flies with the speed of sound, the wristband ultrasonic listener Lj will receive the RF message before it hears the ultrasonic signal from the same beacon. Using such time gap, the listener can infer its physical distance from the beacon Bi . At the same time, the RFID reader of Lj activates RFID tags in its proximity if any and reads their IDs. Then, Lj sends a RF message that includes the inferred distance information between Bi and Lj and the most recent RFID information towards the host computer HS via Bi , marked as ➁ and ➂ in Figure 1. The host computer uses the distance together with other recent distance reports for triangulation-based positioning of Lj and give the new position information to the EKF (Extended Kalman Filter) tracking algorithm to get a more accurate position estimation by filtering out the distance measurement noise. Associated with this new location estimate, we can use the RFID reads in the same RF message to localize the RFID tags and their attached objects within the 3 4

The same Crossbow cricket mote can be configured as an ultrasonic listener. We use a Skyetek M1-Mini RFID reader [21].

6

range of RFID reader—less than 10 cm for the short-range RFID reader we are using in the prototype. In order to make such tracking scenario work, the challenge we tackle in the paper is how to schedule ultrasonic signals from multiple beacons and RF messages from multiple beacons and listeners. Since RFID devices works in a separate frequency band, they do not interfere with the RF messages. Also, positioning accuracy of RFID tags (and hence objects) depends on the accuracy of tracking user’s wristband device Lj . Thus, for the simplicity of explanation, we will move out the RFID part from our consideration and focus on tracking user’s wristband device using ultrasonic signals and RF messages. If the ultrasonic signals and RF messages are not properly orchestrated, there are two types of collisions: (1) If the duration of ultrasonic signals from two beacons within the interference range overlap, they become a garbage signal. Thus, a listener cannot use it for distance measurement. (2) If the duration of RF messages from beacons and listeners within the interference range overlap, they cannot successfully received. Thus, our goal is to realize a collision-free scheduling of sensing resource, i.e., ultrasonic band and communication resource, i.e., wireless RF band for the best performance of real-time tracking. With this understanding of ultrasonic and RF scheduling issue, let us formally define our collision-free scheduling problem. For the formal description, we use the following notations and definitions: • U S(Bi ): An ultrasonic signal transmitted from beacon Bi that is used for listener’s distance measurement (mark ➀ in Figure 1). • RFus (Bi ): A short RF message transmitted from beacon Bi together with U S(Bi ) for listener’s distance measurement (mark ➀ in Figure 1). • RF (Lj ): An RF message from a listener Lj that reports the inferred distance and RFID reads (mark ➁ in Figure 1). For each of the above signals, we define two ranges, interference range and reaching range. The interference range is the disk up to which the signal can interfere other signals of the same type. On the other hand, the reaching range is the disk up to which the signal can successfully received. The interference range is usually larger than the reaching range. We can obtain those ranges through actual experiments [19]. For a listener Lj to successfully infer its distance from a beacon Bi , it should receive both U S(Bi ) and RFus (Bi ). In other words, Lj should be within the“minimum” of reaching ranges of U S(Bi ) and RFus (Bi ). If such a condition holds, we define that “the listener Lj is under the coverage of the beacon Bi ”. In Figure 1, L1 is under the coverage of B1 and B2 while L2 is under the coverage

7

of B2 and B3 . We also assume that if a listener Lj is under the coverage of a beacon Bi , the listener’s RF message RF (Lj ) can directly reach its covering beacon Bi . In contrast, the interference range of a beacon Bi is defined by the ”maximum” of interference ranges of U S(Bi ) and RFus (Bi ). In addition to these, there are other high-power RF messages exchanged between the host computer and beacons: • RF (HS, B): An RF message from HS to broadcast the time-synchronization and global schedule update to all the beacons. HS should transmit this message with a high-power so that it can directly reach to all the beacons in the home environment. • RF (Bi , HS): An RF message from Bi to HS to relay a message RF (Lj ) from a listener Lj within its coverage. Note that a listener Lj is a battery operated mobile device and so its RF signal strength is limited. Thus, we cannot assume that listener’s message RF (Lj ) can directly reach the host computer HS. Instead, we always use two-hop delivery, the first low-power message RF (Lj ) from Lj to Bi and then the second high-power message RF (Bi , HS) from Bi directly to HS. Since both of the above two high-power RF messages should directly reach the entire home space, their interference ranges are also larger than the entire home space. Thus, only one instance of the above high-power RF messages can be scheduled at a time. With these notations and definitions, we can now formally define our combined ultrasonic and RF scheduling problem as follows: Problem Description: Find a sequence of times denoted by tk when the above signals can be transmitted, i.e., (1) tk (U S(Bi )) = tk (RFus (Bi )), k = 1, 2, · · ·, for all beacons Bi (1 ≤ i ≤ NB ), (2) tk (RF (Lj )), k = 1, 2, · · ·, for all listeners Lj (1 ≤ j ≤ NL ), (3) tk (RF (Bi , HS)), k = 1, 2, · · ·, for all beacons Bi (1 ≤ i ≤ NB ), and (4) tk (RF (HS, B)), k = 1, 2, · · ·, for the host computer HS, such that no two ultrasonic signals and no two RF messages collide. A naive approach to this problem is to schedule the signals in sequence as shown in Figure 2: B 1 transmits U S(B1 ) and RFus (B1 ), Lj under B1 ’s coverage infers the distance and reads RFID tags and delivers this information to B1 using RF (Lj ), B1 relays the information to HS using high-power RF (B1 , HS), HS broadcasts high-power RF (HS, B) for global time-synchronization and schedule update, and then B2 takes turn. However, this approach is not necessarily good. First, it allows only one

8

Ultrasonic Resource

U S(B1 )

U S(B2 )

RF (B1 , HS)

RF Resource

RF (B2 , HS)

RF (B2 , HS)

RF (HS, B) RFus (B1 )

RF (Lj )

RF (HS, B) RFus (B2 )

RF (Lj )

RF (Lk )

Figure 2: Naive approach beacon to send signals at a time even if two beacons are far away and thus never collide. Second, for the duration while waiting for an ultrasonic pulse propagating and being silenced out, which is much longer than a RF message transmission time, the RF resource is idle. Finally, it may over-sample the listener positions even when the user is moving very slowly or not moving at all, which is just a waste of energy. Understanding these problems, our scheduling algorithm is designed with the following two goals: • Maximize the affordable sampling rate for the case of fast moving users. This goal is achieved by allowing concurrent executions of non-colliding multiple signals and pipelining ultrasonic signals and RF messages. • Minimize the energy consumption without compromising the tracking accuracy. This goal is achieved by adaptively controlling beacon’s sampling rate depending on the user mobility. The next section will explain in greater detail how we can achieve the above two goals .

4

Combined scheduling of Ultrasonic signals and RF messages

In this section, we first explain a static scheduling method that pipelines ultrasonic signals and RF messages to minimize the resource idle duration (Section 4.1). Using the static scheduling as a baseline, we present a location-aware scheduling method that actively uses up-to-date user location information to dynamically build a better schedule (Section 4.2). Finally, we present one more step improvement, i.e., a mobility-conscious scheduling method that adjusts the sampling frequency adapting to the user mobility to save the energy consumption without compromising the tracking accuracy (Section 4.3).

9

4.1

Static pipelined scheduling of Ultrasonic signals and RF messages

In contrast to the sequential scheduling as in Figure 2, the idea of pipelining ultrasonic signals and RF messages is motivated by a long duration of an ultrasonic signal. Once a beacon sends out an ultrasonic pulse, although the pulse itself is short, it lives for a quite long time until it propagates and is silenced out. For this duration, which we call ultrasonic duration and denote by Len(U S), it can confuse another ultrasonic pulse created within the interference range. This ultrasonic duration is determined by physical factors such as the required ultrasonic reaching range, strength of pulse power, and speed of sound. For the cricket mote [4] tuned for 10 m ultrasonic reaching range, Len(U S) is reported to be roughly 50 ms [19]. On the other hand, the duration of RF message is relatively short. Using the cricket mote that works with 19.2 kbps data transmission rate, the time for transmitting a short RF message RFus (Bi ) of 32 bytes is approximately 15 ms. Thus, the left-over time of 35 ms can be used for other RF messages between listeners, beacons, and the host computer. The left-over time will increase as the wireless data transmission rate increases as the technology advances and thus a increasing amount of data can be exchanged using the left-over time. Motivated by this, our scheduling algorithm pipelines the two stages of a single sampling; (1) the sensing stage using U S(Bi ) and RFus (Bi ) and (2) the reporting stage using RF (Lj ) and RF (Bi , HS). Figure 3 shows an example of such pipelining. Each beacon Bi takes turns to transmit its sensing signals, i.e., U S(Bi ) and RFus (Bi ). In the example, B1 first sends out U S(B1 ) and RFus (B1 ) for i-th sensing. At the end of the utrasonic duration of U S(B1 ), a listener Lj under B1 ’s coverage can calculate its distance from B1 . This distance report, called the i-th reporting, can be made in the left-over period of i + 1-th sensing—Lj sends RF (Lj ) with a low-power to B1 and then B1 relay it by sending RF (B1 , HS) with a high-power directly to the host computer. The last part of each left-over period can be reserved for the host computer to broadcast the global synchronization and schedule updates, i.e., RF (HS, B) as needed. This two stage pipelining of sensing and reporting (i.e., communication) can reduce the idle periods of ultrasonic and RF resources as found in the naive sequential schedule of Figure 2. Therefore, beacons can take turns more frequently allowing a higher sampling rate. For this pipelining idea to work, we have to address the following two detail issues: • How to make the order of beacons so that they can take turns? • If multiple listeners hear the sensing signals in the same sensing interval, how their reports can

10

Len(U S)

Sensing Stage

Ultrasonic Resource

i-th sensing

(i + 2)-th sensing

(i + 1)-th sensing

U S(B1 )

U S(B2 )

RFus (B1 ) Reporting Stage

Time

left−over period

RF Resource

U S(B3 )

RFus (B2 )

left−over period

RF (Lj )

RF (B1 , HS)

RF(HS)

RFus (B3 )

U S(B1 )

RF(HS)

(i − 1)-th reporting

i-th reporting

RFus (B1 )

left−over period

RF(HS)

(i + 1)-th reporting

PSfrag replacements

Figure 3: Pipelining sensing and reporting

B1

B2

B5

B8

B6

B9

B4

B3

B1

B5

B7

B10

B2

B11

B6

B8

B9

B4

B3

B7

B10

B11

(b) Conflict graph beacon coverage (= beacon interference range)

(a) Beacon placement

Figure 4: Beacon placement and conflict graph be arbitrated in the next left-over period? For the first question, a simple minded solution is a round-robin where only one beacon is allowed to transmit its sensing signals. Although it guarantees a collision-free schedule of sensing signals, it cannot take advantage of concurrent scheduling of multiple beacons even when they are far away and hence never collide. Figure 4 shows an example. In Figure 4 (a), we use 11 beacons such that all the points of the rectangular space can be covered by at least three beacons. Such beacon placement is well studied in [18, 19, 22, 3] and is beyond the scope of this paper. Also, just for the pictorial simplicity, the figure assumes that the beacon interference range is the same as the beacon coverage. If we use a simple round-robin method, it takes 11 × Len(U S) for a complete cycle of all beacons. However, if we consider the beacon positions and the interference ranges, we can notice that some beacons never collide even if we schedule their signals at the same time. For example, B1 and B4 never collide.

11

B B2

A B1 D B5 F B8

C B3 E B6

G B9

D B4 Beacon Signal Schedule

F B7 A B10

Len(U S)

B B11

Color Code Schedule

B5

B10

B11

B1

B2

B3

B4

B6

B7

B9

A

B

C

D

E

F

G

B8

A

Master Schedule

(a) Coloring

(b) Static schedule of beacon signals

Figure 5: Coloring and static schedule of beacons In order to take advantage of such possible concurrent scheduling, our first step is to draw a conflict graph considering the beacon positions and their interference ranges. The conflict graph CG = (N, E) is formally defined as follows: N is the set of nodes where each node is a beacon B i . E is the set of conflict edges. Each edge between a pair of nodes Bi and Bj represents that their interference ranges overlap. If there is no edge between Bi and Bj , it is safe to schedule both at the same time. Figure 4 (b) shows such a conflict graph for Figure 4 (a). With the conflict graph, the second step is to assign a color code to each beacon such that any two beacons with a conflict edge cannot have the same color. We can use a simple coloring heuristic [2] to find the coloring solution with the minimum number of colors. Figure 5 (a) shows such coloring solution for the example conflict graph in Figure 4 (b). Once we find the coloring solution, we can build a master schedule, which is a complete cycle of different colors. Figure 5 (b) shows the master schedule for the example coloring solution of Figure 5 (a). The duration of each color in the master schedule is equal to the ultrasonic duration Len(U S). The master schedule is repeated. At each color of the master schedule, all beacons with the same color can transmit its sensing signals, U S(Bi ) and RFus (Bi ) without any collision. This way, we can maximize the concurrent scheduling of non-interfering beacons and hence reduce the time for completing a cycle of all beacons. In the example, we can complete the cycle with 7 × Len(U S). Thus, the affordable sampling rate of each beacon, which is the inverse of master schedule length, is 1/(7 × Len(U S)). This is 57% improvement compared to the simple round-robin method. The color codes and master schedule is calculated by the host computer considering the beacon positions and interference ranges. Then, the host computer broadcasts the color code for each beacon and the number of colors. Once such information is given, each beacon Bi can wake-up at the predetermined schedule times as designated by the master schedule and sends out its sensing signals

12

Len(U S)

Sensing Stage

Reporting Stage

Ultrasonic Resource

Time

i-th sensing

(i + 1)-th sensing

U S(B1 )

U S(B2 )

RFus (B1 )

RFus (B2 )

left−over period

slot 1

RF Resource

slot 2

RF (B1 , HS) RF (B1 , HS) RF (L1 ) RF (L2 )

L1

slot K RF (HS, B)

L2

i-th reporting

Figure 6: Deterministic arbitration of multiple listeners U S(Bi )and RFus (Bi ) without any collision with others. Now, the remaining question is how to arbitrate them if multiple listeners hear the sensing signals in the same sensing interval. The worst case scenario is that all NL residences or listeners hear i-th sensing signals and thus all of them have to report their distances and RFID readings (i.e., the i-th reporting) using the left-over time of the i + 1-th sensing interval. For this, we use a simple deterministic method. More specifically, we divide the left-over interval into K regular slots and one special slot for a HS message as shown in Figure 6. Each regular slot is reserved for delivering a report from each listener to the host computer. Thus, the size of a slot should be the twice of a RF message length: one for a message from a listener Lj to a beacon Bi , i.e., RF (Lj ) and the other for relaying the message from Bi to the host computer, i.e., RF (Bi , HS). Using this deterministic slots, each listener knows when it can transmit its report if any. The number of slots, i.e., K, that can be packed into the left-over period is usually large enough compared to the number of elderly residences, i.e., NL , in a home environment, because of a short RF message length compared to the ultrasonic duration. In our prototype implementation, we can pack three slots into the left-over period, which means that our system is applicable to the home environment where three or less elderly residences live. By using more advanced wireless technology, time for transmitting an RF message can be significantly reduced and thus even the above simple method can easily be applicable to a larger scale home environment to a certain extent. Also, if we use wired connections between beacons and the host computer, we can eliminate the RF (B i , HS) part from each slot and thus we can double the number of affordable residences. As a summary note of this section, by pipelining the sensing and reporting stages and also by leveraging the possible concurrent schedule of non-interfering beacons, the proposed collision-free static scheduling method can significantly improve the affordable sampling rate of each beacon, which is essential for

13

PSfrag replacements

Lb RFus (B2 ) B1 RFus (B1 ) U S(B1 ) La

B2

U S(B2 )

beacon interference range

Figure 7: Location-aware conflict relation high-quality real-time tracking.

4.2

Location-aware scheduling

One problem of the aforementioned static scheduling is the conservative definition of the conflict graph. As an example, consider two beacons in Figure 7 whose interference ranges overlap. According to our conservative definition of conflict, the two beacons have a conflict edge and thus cannot be concurrently scheduled. However, if there is no listener in the intersection of the two interference ranges, they do not actually collide. In the figure, even if the two beacons transmit the sensing signals ({U S(B 1 ), RFus (B1 )} from B1 and {U S(B2 ), RFus (B2 )} from B2 ) at the same time, they can be successfully received by La and Lb , respectively—no conflict edge between B1 and B2 . Thus, considering listener locations allows us to build a more accurate conflict graph. Also, using the listener locations, we can selectively turn on only beacons necessary to cover the listener locations, which can reduce the number of nodes in the conflict graph and in turn reduce the master schedule length. Motivated by this observation, our location-aware scheduling approach forms a feedback loop from tracking tasks to the scheduler so that the latter can use the location information from the former to dynamically update the schedule. We update the schedule periodically with period I which is an integer multiple of a sensing interval, i.e., I = m × Len(U S)—update the schedule at every m sensing intervals. For the duration of I, the same schedule will be used. At the beginning of each update period, we use the location information of all listeners, (Loc(L1 ), Loc(L2 ), · · · , Loc(LNL )). Using the location of each listener and maximum stride speed vmax , we can define the area the user can move within the next update period I. The area called a proximity area of a listener L i is denoted by

14

PSfrag replacements

B1

B2

B4

L 2 B3

B1

L1

B2

B4

L 2 B3

L1

B5

B6

B8

B11

B10

B9

B5

B7

B8

beacon coverage (= beacon interference range)

B6

B7

B11

B10

B9

(b) Minimal subset of beacons

(a) Beacons and proximity areas

A

B

A

B1

B2

B3

Beacon Signal Schedule

Color Code Schedule C

B5

B6

D

B3

B3

B1

B2

B5

B6

B1

A

B

C

D

A

Master Schedule

(c) Location−aware conflict graph and coloring

(d) Location−aware schedule

Figure 8: Location-aware conflict graph and schedule A(Li ) and defined as follows: A(Li ) = circle centered at Loc(Li ) with radius of I × vmax . Figure 8 (a) shows the proximity areas (shaded circles) of two listeners L 1 and L2 . Just for pictorial simplicity, Figure 8 shows only one range (dotted circle) for each beacon assuming that the beacon coverage is the same as the beacon interference range. Once we have the proximity areas for all listeners, our next step is to select the minimal subset of beacons such that all proximity areas can be covered by at least three beacons. Our greedy heuristic algorithm to find such minimal subset is as follows: ActiveBeacons: Find a subset of beacons to be activated Input: Coverage of each beacon C(Bi )(1 ≤ i ≤ NB ) and proximity area of each listener A(Lj )(1 ≤ j ≤ NL ) Output: ActiveBeaconSet (subset of beacons to be activated) begin procedure 1. ActiveBeaconSet = ∅ 2. for each listener Lj in {L1 , · · · , LNL } 3. make a preference list of beacons pref erBeaconList 4. repeat

15

5. Take out the first beacon Bi from pref erBeaconList 6. Increase A(Lj ) coverage with C(Bi ) 7. if Bi ∈ / ActiveBeaconSet 8. Add Bi to ActiveBeaconSet 9. end if 10. until the entire area of A(Lj ) is covered by at least three beacons 11. end for 12. return ActiveBeaconSet end procedure The above procedure considers the coverage of each beacon C(B i ) and proximity area of each listener A(Lj ) as inputs and then produces the set of beacons ActiveBeaconSet to be activated as an output. In Line 1, it initialize ActiveBeaconSet as the empty set. Then, the following for loop from Line 2 to Line 11 adds beacons to cover each proximity area A(Lj ). For each A(Lj ), Line 3 makes a preference list of all beacons to cover A(Lj ) with minimum addition of new beacons into ActiveBeaconSet. Our heuristic is to (1) first place all beacons already in ActiveBeaconSet—first try to cover A(L j ) with no addition of new beacons, and (2) then sort all other beacons as the decreasing order of overlap size between A(Lj ) and C(Bi )—cover the remaining part of A(Lj ) with as small as possible number of new beacons. Once we make such preference list, the repeat-until loop from Line 4 to Line 10 incrementally take out beacons from the list until A(Lj ) is covered by at least three beacons. For this three-coverage check, we can use a polynomial time k-coverage test [9]. A new beacon can be added into ActiveBeaconSet in Line 8 only if it is not already there. For the example in Figure 8 (a), the algorithm returns ActiveBeaconSet = {B 1 , B2 , B3 , B5 , B6 } as shown in Figure 8 (b), which means that it is enough to activate only the five beacons to cover every point of A(L1 ) and A(L2 ) with at least three beacons. Note that B2 is reused for covering both A(L1 ) and A(L2 ). With such found beacons in ActiveBeaconSet, we can draw a location-aware conflict graph as in Figure 8 (c) by considering interference ranges. This time, however, we define a less-conservative conflict relation being aware of listener locations as follows:

Definition 1 (Location-aware conflict) Two beacons Bi and Bj are defined to have a conflict relation only if there exists at least one listener La whose proximity area A(La ) overlaps with the intersection of beacon interference ranges of Bi and Bj .

16

If we use this rule for the example in Figure 8 (b), B1 and B3 has no conflict-edge in Figure 8 (c), since there is no listener in the intersection of their interference ranges. In contrast, if we use the previous conservative rule, B1 and B3 should have an edge since their interference ranges overlap. With this location-aware conflict graph, which is significantly simplified one because of our minimal subset finding and less-conservative rule of conflict, we apply the same coloring method to find the master schedule as in Figure 8 (d). Since we use the simplified conflict graph with less number of nodes and edges by leveraging location-awareness, the number of colors can be significantly reduced and hence the master schedule length can as well compared to the static schedule. This allows even higher sampling rate for real-time tracking. The above process computing the location-aware master schedule will be repeated at every schedule update interval I to update the schedule adapting to user location changes. The updated schedule information is broadcasted using the RF message slot reserved for the host computer.

Theorem 1 The location-aware schedule guarantees the collision-free schedule of beacon signals during one schedule update interval I.

Proof: Since the proximity area A(Li ) of each listener Li is defined considering the maximum speed of user during the interval I, the listener cannot move beyond A(Li ) during the interval I. Also, the location-aware conflict graph and corresponding master schedule allows concurrent signal transmissions of two beacons only when their interference range intersection does not overlap with any possible position of users, i.e., A(L1 ) ∪ A(L2 ) · · · ∪ A(LNL ) during the interval I. Thus, collision never happens during the interval I.

Corollary 2 The periodic update of location-aware schedule guarantees the collision-free property.

Proof: Since the schedule is updated only once at every I interval, the proof directly follows Theorem 2.

17

4.3

Mobility-conscious scheduling

By repeating the location-aware master schedule, we can sample listener locations with a high sampling rate. However, it is not always required to sample a listener with such high rate. When a listener is moving slowly or steady, over-sampling the listener just consumes its battery power for triggering the RFID reader and sending out the report messages, without improving the tracking accuracy. In this section, we present how we can adaptively use the master schedule considering the user mobility to save the energy consumption without compromising the tracking accuracy. The idea is to use the property of tracking algorithms to mathematically find the minimum required sampling rate (i.e., the inverse of the maximum tolerable inter-sampling distance M SD) under the tracking accuracy criteria. The tracking accuracy criteria for each listener is given in the following form: Definition 2 (Tracking requirement) The gap between the actual and estimated positions should be less than a given value errth (e.g., 10 cm) with a probability higher than P robth (e.g., 90%). Let us use a simplified KF (Kalman Filter) tracking algorithm to explain how we can find the maximum tolerable inter-sampling distance under the above criteria. The similar idea can be used in the EKF (Extended-Kalman-Filter) tracking algorithm. At each iteration (say k-th iteration) of Kalman filter, the following equations is solved: sˆ(k) = A(t) · s¯(k − 1), state prediction from step k − 1 Pˆ (k) = A(t) · P¯ (k − 1) · A(t)T + Q, state-error covariance prediction from step k − 1 s¯(k) = sˆ(k) + G(k) · (z(k) − H · sˆ(k)), state update, and P¯ (k) = Pˆ (k) − G(k) · S(k) · G(k)T , state-error covariance update.

(1) (2) (3) (4)

The first equation predicts the target state, i.e., sˆ(k) from the previous state estimation s¯(k − 1) using the motion model matrix A(t) where t is the sampling time interval between step k − 1 and k. The second equation similarly predicts the error covariance matrix, i.e., Pˆ (k), which represents the accuracy of predicted state sˆ(k) 5 . Then, the third equation calculates updated state estimation, i.e., s¯(k) by combining the predicted state sˆ(k) and k-th measured state z(k) 6 . Although the equation looks 5

The superscript T represents the transpose operation. Q is process noise covariance matrix, which represents the

correctness of the motion model. 6 In this equation, H is the measurement matrix and G(k) = Pˆ (k) · H T · S(k)−1 is the filter gain, and S(k) = H · Pˆ (k) · H T + R is the covariance of the innovation, and R is the measurement noise covariance.

18

sophisticated, the idea of state update is quite intuitive. The first term sˆ(k) the state prediction if we did not have a measurement. The second term is called the corrector term, and it represents how much to correct the first term due to the measurement. If the measurement noise is much greater than the process noise, the filter gain G(k) will be small (that is, we do not give much credence to the measurement). On the other hand, if the measurement noise is much smaller than the process noise, G(k) will be large (that is, we give a lot of credence to the measurement). Similarly, the final equation updates the predicted error covariance Pˆ (k) to P¯ (k) using the filter gain. This tracking algorithm maintains not only the target state s¯(k) but also its confidence level represented by the error-covariance matrix P¯ (k). A small error-covariance implies a small variation of the estimated state s¯(k) from the actual target state, whereas a large error-covariance implies a large variation. The error-covariance P¯ (k) becomes small when the target is moving slowly or steady while it becomes large when the target starts moving fast and maneuvering. Thus, we can use the error-covariance P¯ (k) as a metric of user mobility and find out the maximum tolerable inter-sampling distance M SD considering the user mobility to meet the tracking criteria. Note that the updated error-covariance P¯ (k) is proportional to the predicted error-covariance Pˆ (k) as in Eq. (4) and in turn the predicted error-covariance Pˆ (k) is proportional to the inter-sampling time distance t as in Eq. (2). Thus, as the inter-sampling distance t becomes longer, the error-covariance P¯ (k) becomes larger. Figure 9 conceptually depicts this with one dimensional state x. As the intersampling distance t increases (t1 , t2 , and t3 in the figure), the error-covariance increases and hence the probability distribution of the actual state x more widely spreads from the estimated position x ¯(k). Since we can calculate the error-covariance P¯ (k) as a function of t by Eqs. (2) and (4), we can also calculate the probability that the actual position x is within [¯ x(k) − errth , x ¯(k) + errth ] as a function of t. Thus, we can find the maximum t such that the calculated probability is less than or equal to the requirement P robth —t2 in Figure 9. Such maximum t is the maximum tolerable inter-sampling distance M SD under the tracking requirement of Definition 2. Once we find the maximum tolerable inter-sampling distance for each listener, we can adaptively use the master schedule by turning on beacons only if necessary. The idea can be best explained with the example in Figure 8 (a). For the simplicity of explanation, let us consider a single schedule update interval I with repeats of the same master schedule. Figure 10 shows the location-aware master schedule for the example of Figure 8 (a) during a schedule update interval I. Suppose that L 1 is moving slowly

19

t prob.

1.0

prob.

99%

−errth +errth x x ¯(k) 0

prob.

90%

1.0

−errth +errth x ¯(k)

50%

1.0

x

t2

t1

x

−errth +errth x ¯(k) t3

inter−sampling distance

maximum tolerable inter-sampling distance M SD when P robth = 90%

Figure 9: Increase of estimation uncertainty according to inter-sampling distance t and thus the maximum tolerable inter-sampling distance M SD1 is 15 units where one unit is Len(U S). Also, suppose that L2 is moving faster and thus the maximum tolerable inter-sampling distance M SD2 is 10 units. For L1 , it is enough to activate the covering beacons, i.e., (B1 , B2 , B5 ) only once at every 3 master schedules. For L2 , we can activate the covering beacons, i.e., (B2 , B3 , B6 ) only once at every 2 master schedules. In general, for a given M SD, the number of master schedules that can be skipped, which we call it a skip factor, is given by M SD − 1. skip factor = Len(M asterSchedule) º

¹

For L1 and L2 of the above example, their skip factors are 2 and 1, respectively. The skip factor for a beacon is defined as the minimum skip factor of all listeners under its coverage. For example, the skip factor for B1 is the same as the skip factor of L1 since L1 is the only listener covered by B1 . Thus, B1 can skip 2 master schedules as shown in Figure 10. Similarly, B5 covering only L1 can also skip 2 master schedules. On the other hand, for B2 covering both L1 and L2 , its skip factor is the minimum skip factor of L1 and L2 , which is one. Thus, B2 can skip only one master schedule as in Figure 10. B3 and B6 covering L2 can also skip one master schedule. As a result, the actual schedule in Figure 10 activates beacons only when necessary, which can significantly save power consumption of listeners. If there is a significant change of error-covariance and hence the maximum tolerable sampling interval due to the change of user mobility, the host computer running all tracking tasks can come up with new skip factors of beacons. Every time new skip factors come up, the next activation times of beacons and their skip factors can be broadcast using RF (HS, B) adapting to the user mobility.

20

PSfrag replacements

Beacon Signal Schedule

Color Code Schedule

B3

B3

B3

B3

B3

B3

B1

B2

B5

B6

B1

B2

B5

B6

B1

B2

B5

B6

B1

B2

B5

B6

B1

B2

B5

B6

B1

B2

B5

B6

A

B

C

D

A

B

C

D

A

B

C

D

A

B

C

D

A

B

C

D

A

B

C

D

Master Schedule

Schedule Update Interval I

M SD of L1 M SD of L2

Figure 10: Mobility-conscious schedule

5

Experiments

This section compares four scheduling methods; (1) the original cricket method based on carrier-sensing and random-arbitration, (2) static pipelined scheduling presented in Section 4.1, (3) location aware scheduling in Section 4.2, and (4) mobility conscious scheduling in Section 4.3. We first present the simulation results and then results of implementation. Table 1 summarizes the parameters used in the simulation study. The parameter values are derived based on parameters of cricket motes [4]. In all simulations, the same EKF tracking algorithm as in [19] is used. Also, we use the same distance measurement noise model as in [19], where the measurement noise increases proportional to the distance. All the simulation results are the average of 20 runs unless specified. Table 1: Simulation parameters parameter

value

radius of beacon coverage

300 cm

radius of beacon interference range

300 cm

time length of U S(Bi )

50 ms

time length of RFus (Bi )

15 ms

time length of RF (Lj )

5 ms

time length of RF (Bi , HS)

5 ms

time length of RF (HS, B)

5 ms

Figure 11 shows the fundamental limitation of the original cricket scheduling method. For easy understanding of the results, we use a simple beacon configuration, i.e., four beacons in a 300 cm by 300 cm room. We simulate a person circulating inside the room with radius 100 cm with three different speed; Low (20 cm/sec), Medium (60cm/sec), and High (100 cm/sec). Figure 11(a) shows the average

21

250

0.35 High Mobility Med Mobility Low Mobility

200

0.3

Collision Probability

Average error (cm)

0.25 150

100

0.2

0.15

0.1 50 0.05

0

0

5

10 Wake−up frequency (1/sec)

15

0

20

(a) average track error

0

5

10 Wake−up frequency (1/sec)

15

20

(b) collision probability

Figure 11: Limitation of the original cricket scheduling

track error as increasing the average wake-up frequency of each beacon. As expected, the error decreases in the beginning but starts increasing again as further increasing the wake-up frequency. This is because of increased collision probability as shown in Figure 11(b) fundamentally caused by the random-nature of the scheduling method 7 . Considering the whole range of frequency, the best possible track errors for medium and high mobility are 50 cm and 80 cm, which are too rough considering the 100 cm radius circular motion. This implies that simply increasing the wake-up frequency of beacons cannot provide an acceptable tracking quality especially when the user moves fast. In order to see how much improvement we can make using the proposed scheduling methods, we use a larger scale room 1400 cm by 1200 cm covered by 61 beacons. We simulate a user circulating the entire area with radius of 500 cm at different speeds ranging from 20 cm/sec to 100 cm/sec. Figure 12 shows the average track error as increasing the user mobility. For the original cricket method, we try four different random wake-up frequencies f1 = 1.0Hz, f2 = 1.5Hz, f3 = 2.0Hz, and f4 = 3.0Hz. When the wake-up frequency is low, say 1.0Hz, the error ranges from 10 cm to 70 cm depending on the user mobility. Increasing the frequency up to 2.0Hz improves the error, but any further increase to 3.0Hz starts degrading the performance. This is because of the fundamental limitation of random-based scheduling method. On the other hand, the static pipeline scheduling can guarantee a higher rate of collision-free sampling for each beacon and thus can further improves the tracking error. For location aware scheduling, we use 1 sec update interval, i.e., I = 1sec, and thus the 7

The collision probability sharply increases in the beginning but it is stabilized at the end because of carrier-sensing

effect.

22

70

5.5 f=1.0 Hz f=1.5 Hz f=2.0 Hz f=3.0 Hz Static pipeline Location−aware

Average error (cm)

50

Static pipeline Location−aware

5 Maximum affordable sampling rate (1/sec)

60

40

30

20

10

4.5 4 3.5 3 2.5 2 1.5 1 0.5

0 10

20

30

40

50 60 70 Mobility (cm/sec)

80

90

100

0

110

0

2

4 6 Number of Listeners

8

10

Figure 12: Tracking error depending on user mo- Figure 13: Maximum affordable sampling frebility

quency

radius of the proximity area of the user A(Lj ) is 100 cm considering the worst-case speed 100 cm/sec. The location aware scheduling can make even more significant improvement. There are two reasons of this significant improvement. First obvious reason is that it ensures a higher sampling rate by building a shorter master schedule leveraging location-awareness. Second reason comes from the fact that the distance measurement noise is proportional to the distance [19]. Due to location-aware beacon selection, our location aware scheduling naturally uses close beacons, rather than noisy measurement data from a far beacons. This significantly improve the final tracking performance compared to the static pipelined scheduling. As a result, it can maintain the tracking error around 20 cm even when the user is moving with the maximum speed 100 cm/sec. Such accuracy allows our assisted living system to provide many meaningful services such as finding objects and reminding un-taken medicines. In order to see the effect of number of users on the location aware scheduling method, we simulate multiple users ranging from 1 to 10. Figure 13 compares the static pipelined scheduling and location aware scheduling in terms of the maximum affordable sampling rate of each beacon. The maximum affordable sampling rate of the static pipeline method is constant since its schedule is built conservatively without considering the user locations. On the other hand, the location aware schedule dynamically changes depending on the user locations and hence depends on the number of users. The solid line of Figure 13 shows the average of the maximum affordable sampling frequency and its 90% confidence interval. The maximum affordable sampling rate is the largest when there is only one user since the master schedule is built based on the simplest location-aware conflict graph. As the number of users increases, it gradually decreases since the location-aware conflict graph becomes more complex because

23

4

70

3

x 10

Mobility−conscious Location−aware

Mobility−conscious Location−aware Num of listener reports per 1000 sec

60

Tracking error (cm)

50

40

30

errth

20

2

1.5

1

0.5

10

0 10

2.5

PSfrag replacements 20

30

40

50 60 70 Mobility (cm/sec)

80

90

100

0 10

110

20

30

40

50 60 70 Mobility (cm/sec)

80

90

100

110

(b) number of listener reports

(a) track error

Figure 14: Listener energy saving by mobility conscious scheduling

it should consider more and more proximity areas. When the number of users is very large, the union of proximity areas will be equal to the entire space, and thus the location aware scheduling will be same as the static pipelined scheduling. Nevertheless, it is worth to note that up to a pretty large number of users, i.e., 10 users, the location aware schedule can ensure a higher sampling frequency (1.5 Hz per beacon) than that of static pipeline scheduling (1.0 Hz per beacon). Figure 14 compares the location-aware scheduling and mobility-conscious scheduling as increasing the user mobility. The tracking accuracy criteria used is errth = 20cm and P robth = 90%. Figure 14(a) shows the average track error and 90% error range. From the figure, we can note that both can meet the tracking criteria up to 76 cm/sec mobility. After that, the mobility aware scheduling shows the same performance as the location aware since the former becomes the latter, that is, skip factor is zero, to catch up the high mobility. However, in terms of total energy consumption of the listener, which can be measured by the number of listener reports, we can see a big difference in Figure 14(b). When the user mobility is low, it is detected by the tracking algorithm and feed to our scheduler. Then, the scheduler can skip a lot of beacons less triggering the listener. Thus, we can save a large amount of power consumption. Depending on the user mobility, the mobility-conscious scheduling can provide only necessary sampling rate avoiding unnecessary over-sampling. This way, we can save power consumption while satisfying tracking accuracy criteria. We also implement the proposed methods using the cricket motes [4] and actually measure the tracking error comparing with the original cricket scheduling method. For the repeatable motion, we use a speedcontrollable train as in Fig. 15 (a). For each speed level, while the speed is not always constant in the

24

Power supply to the rails Speed controller

100 Original Cricket for high speed Original Cricket for medium speed Original Cricket for slow speed

90 80

Average error (cm)

70

Cricket listener on top of the train

60 50

Static pipeline for high speed Collision−free freq. = 5.0 Hz Error = 38.91 cm

40

Static pipeline for medium speed Collision−free freq. = 5.0 Hz Error = 21.31 cm

30 20

Static pipeline for slow speed Collision−free freq. = 5.0 Hz Error = 12.42 cm

10 0

0

1

2

3

4

5

6

7

8

Wake−up frequency (1/sec)

(a) measurement platform

(b) measured track error

Figure 15: Actual measurement

entire railroad—slow in the corner and fast in the straight line, its motion is repeated at every lap. Thus, we record a video of one complete lap, and manually make a time table that records the times when the train passes the marked points. We can use this time table to interpose the real train position at any time instant. For tracking the train, we use four beacons on the ceiling and one listener on the train. We compare the real train position interposed at every 1.0 sec from the table and the estimated position by the tracking algorithm. Up to this point, we have tested only the original cricket method and our static pipeline scheduling method. Location aware scheduling will be the same in the four beacon configuration. Figure 15 (b) shows the measured tracking error of the original cricket method as we increase the random wake-up frequency for three train speeds, i.e., slow = 28 sec lap time, medium = 14 sec lap time, and high = 7 sec lap time. These lap times correspond to the average speeds of 28.5 cm/sec, 57 cm/sec, and 114 cm/sec, respectively, considering the 800 cm length of the rails. We can observe the similar trend as in the simulation study. The measured performance of the original cricket method improves to a certain extent of wake-up frequency but any further increase starts degrading the performance. On the other hand, our static pipeline scheduling can guarantee 5 Hz collision-free sampling for each beacon and hence significantly improve the tracking error for all train speeds 8 .

6

Conclusion

This paper presents our work for prototyping a technology-based inexpensive assisted living environment. Specifically, we focus on the scheduling problem of active sensing and communication signals 8

The video clips are available at http://www.ece.osu.edu/∼cglee/AssistedLiving that show our tracking experiments.

25

for real-time tracking of elderly residences. We first propose a collision-free deterministic scheduling algorithm, called static pipelined scheduling, by considering the combined aspects of sensing and communication. Then, we further improve the deterministic scheduling by dynamically using the location information fed from tracking tasks. Such location aware scheduling ensures a higher collision-free sampling rate and thus significantly improves the real-time tracking accuracy. Finally, we present a way to save the energy consumption by skipping unnecessary sampling depending on the user mobility. Such mobility-conscious scheduling can significantly save the energy consumption while satisfying the required tracking criteria. In the future, we will implement all the proposed methods in addition to the current implementation of static pipelined scheduling. We will also implement the system in a realistic home environment to test its usefulness in the real-life of the elderly. Although the scheduling methods are developed for ultrasonic-based location sensing, from the scheduling point of view, the concept of combined consideration of sensing and communication, locationawareness, and mobility-consciousness will be useful for many other active sensing systems. We plan to apply the concept to an UWB-based location system.

References [1] P. Bahl and V. N. Padmanabhan. RADAR: An In-Building RF-based User Location and Tracking System. In Proceedings of IEEE Infocom, pages 775–784, 2000. [2] D. Brelaz. New Methods to Color Vertices of a Graph. Communications of the ACM, 22(4):251–256, 1979. [3] K. Chakrabarty, S. Iyengar, H. Qi, and E. Cho. Grid Coverage for Serveillance and Target Location in Distributed Sensor Networks. IEEE Transactions on Computers, 51(12):1448–1453, 2002. [4] Crossbow. MCS Cricket Series (MCS410) http://www.xbow.com/products/productsdetails.aspx?sid=116. [5] A. H. et al. The Anatomy of a Context-Aware Application. In Proceedings of the 5th International Conference on Mobile Computing and Networking, pages 59–68, 1999. [6] R. W. et al. The Active Badge Location System. ACM Transactions on Information Systems, pages 91–102, Jan. 1992. [7] S. Gandham, M. Dawande, and R. Prakash. Link scheduling in sensor networks: distributed edge coloring revisited. In IEEE Infocom, 2005. [8] J. Hightower, R. Want, and G. Borriello. SpotON: An Indoor 3D Location Sensing Technology Based on RF Signal Strength. Technical Report UW CSE 00-02-02, University of Washington, Department of Computer Science and Engineering, 2000. [9] C. Huang and Y. Tseng. The Coverage Problem in a Wireless Sensor Network. In Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications, pages 115–121, 2003. [10] M. S. Inc. PAL650 Ultra Wideband Precision Asset Location System Evaluation Kit. [11] K. Jain, J. Padhye, V. N. Padmanabhan, and L. Qiu. Impact of interference on multi-hop wireless network performance. In Proceedings of the 9th annual international conference on Mobile computing and networking, pages 66–80, 2003.

26

[12] V. Kulyukin, C. Gharpure, J. Nicholson, and S. Pavithran. RFID in Robot-Assisted Indoor Navigation for the Visually Impaired. In Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004. [13] H. Li, P. Shenoy, and K. Ramamritham. Scheduling Communication in Real-Time Sensor Applications. In Proceedings of the 10th IEEE Reaal-Time and Embedded Technology and Applications Symposium, pages 10–18, 2004. [14] H. Li, P. Shenoy, and K. Ramamritham. Scheduling Messages with Deadlines in Multi-hop Real-time Sensor Networks. In Proceedings of the 11th IEEE Reaal-Time and Embedded Technology and Applications Symposium, pages 415–425, 2005. [15] J. Lim, D. Ross, R.-S. Lin, and M.-H. Yang. Incremental Learning for Visual Tracking. Advances in Neural Information Processing Systems, 17, 2005. [16] “Nursing Home Cost Hits $70,000 Per Year.” Internet: Consumer Affairs. http://www.consumeraffairs.com/news04/nursing home costs.html. [17] M. Philipose, K. P. Fishkin, D. Fox, D. Hahnel, and W. Burgard. Mapping and Localization with RFID Technology. Technical Report IRS-TR-03-014, Intel Research, 2003. [18] N. Priyantha, A. Chakraborty, and H. Balakrishnan. The Cricket Location-Support System. In Proceedings of the 6th International Conference on Mobile Computing and Networking, pages 32–43, 2000. [19] N. B. Priyantha. The Cricket Indoor Location System. PhD thesis, Massachusetts Institute of Technology, 2005. [20] D. Ross, J. Lim, and M.-H. Yang. Adaptive Probabilistic Visual Tracking with Incremental Subspace Update. In Proceedings of 8th European Conference on Computer Vision, 2004. [21] Skyetek. SkyeModule M1-Mini: 13.56 MHz Self-contained RFID Reader, http://www.skyetek.com/Default.aspx?tabid=84. [22] T. Sun, L. Chen, C. Han, and M. Gerla. Reliable Sensor Networks for Planet Exploration. In IEEE International Conference On Networking, Sensing and Control, 2005. [23] Ubisense. http://www.ubisense.net/.

27