Intelligent Bus Alarm using Nokia N95
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
FINAL PROJECT OF AE498MPA, DECEMBER 15, 2007 1
Intelligent Bus Alarm using Nokia N95
Han-Ul Yoon1 , Cesar Corzo1 , and Kyle Smith2
1 Department of Electrical and Computer Engineering
2 Department of Aerospace Engineering
University of Illinois at Urbana–Champaign
e-Mail: {hyoon24, ccorzo2, kjsmith}@uiuc.edu
Abstract— In this paper, we propose the intelligent bus alarm in the view of system resource. Needless to say, it gives
using Nokia N95 smart phone. The goal of this project is numerous information to users, such as time, weather forecast,
to provide a passive application which monitors the status of stock trade, even a scientific calculator (not just as Window’s
particular bus routes and alerts the user when they should leave
for the bus. First, we created data which contains each bus accessory. it is perfect one like Texas Instrument new calcu-
schedule from C-U MTD web and MTD booklet. Second, we lator). Interestingly, Champaign-Urbana MTD provides a nice
allowed a user to input a specific bus station with a corresponding widget, named by STOPwatch.WIDGET, which a user can use
stop identification number and time to get the station. Next, if it with YAHOO widget engine. Figure 1 shows C-U MTD
the time is close to user’s designated departure time, the phone Stopwatch.WIDGET [1]. If a user gives the stopID of bus
sent a text message to MTD bus control station for required
data retrieving. By information from the data retrieval the phone stop, which is unique identification code assigned to every bus
estimates the states of bus schedule using Bayes filter, which are stop, the STOPwatch.WIDGET provides bus number[name]
Delayed, OnTime, and Advanced. Finally, the phone determines and expected time to get the stop by text and background
departure time and sounds alarm to notify the user to leave. color. The red presents that a bus will be at the stop within 3
Index Terms— Intelligent bus alarm, STOPwatch.TEXTMSG, minutes, the yellow shows that a bus will come within 4∼10
stopID, Bayes filter, N95 smart phone. minutes, and the green means that a bus will take 10 or more
minutes to get the designated stop.
The shortcomings of widget application are wireless net-
I. I NTRODUCTION
work accessibility and portability. Let’s assume that a student
T HE cellphone technology has been advanced dramatically
for recent 10 years. In early 90’s, the function of cell-
phone was simply to make/receive a call, and to send/receive
carries his labtop for widget service while he is walking around
campus. Even though the campus area is covered by WiFi
nodes 99 % approximately, most of nodes are protected by
text messages, even though it costed a lot. Compared with NetID and password, or private security WAP codes. One
those aspect, now the cellphone does marvelous things, i.e., solution might be a program application which contains a
taking a picture, play mp3 files, and so on. Remarkably, some method[function] to provide NetID and password automati-
of advanced cellphone can access the Internet via wireless cally. However, if he lose the labtop or someone looks up the
connection, also perform position tracking using integrated code of application, his personal information can be misused
GPS. unfortunately. For portability, the labtop is still heavy device
The intelligent system has a broad range of applications. to carry for a long time even though it is smallest model. In
Not only in academia, but also our real life we can interact this sense, we propose the intelligent bus alarm application
with some intelligent systems. For example, when you search which a user can install on the cellphone which is running on
information on the Internet, a search window automatically Symbian OS. To overcome the problems that were mentioned
complete keyword or URL using Bayes learning, then wait a above, we use STOPwatch.TEXTMSG, which provides bus
user’s decision. With drive navigation system (even though information to cellphone user by sending a text message. The
most people agree that it is not intelligent perfectly), we
can drive more safely without concerning about missing a
designated route. Also, the maintenance reminder system in
your car tells you the time to change engine oil or transmission
liquid, and shows alert lamp when it detects problems in the
part of mechanical system. Generally speaking, now we are
living with the intelligent systems.
Recently, most of computer users now use a Widget as
their personal cyber secretary. Macintosh machine had already
provided the program which is similar to the widget, however
this vogue became more popular with the advent of Microsoft
Window Vista. The strongest aspect of the widget should be
visual attractive and easy to install. It is also a light application Fig. 1. Champaign-Urbana MTD STOPwatch.WIDGET.FINAL PROJECT OF AE498MPA, DECEMBER 15, 2007 2
retrieved information are all bus number[name] and expected • Faculties or students who commute school by C-U MTD
arrival time with given stopID. bus.
The organization of this paper is as follows. In section 2, • User’s cellphone must have Symbian OS and Python
the system design is introduced. In detail, a brief discussion of programmable.
nomenclatures, which are characters and symbols are used in • User whose rate plan provides unlimited data service
this paper, and target user group is presented in section 2.A and ex) unlimited text messages, $15 per month.
2.B respectively. In section 2.C, we show data retrieval and • User who easily forget MTD bus schedule, then miss
the programming flow chart to perform the given tasks. The an important event.
method to infer the state of specific bus schedule is introduced
in section 3. In section 4, project result is presented. Section
5 will be the conclusion of this paper.
C. Data Retrieval and Programming Flow
II. S YSTEM D ESIGN
Figure 2 shows that how to send a text message to get
Here, we introduce the system design of this project. First, a bus schedule data, and what information can be retrieved
we describe the nomenclature of characters and symbols. by sending a text message [2]. This process can be done by
Second, we discuss about target user group we are aiming at. simply typing 35890 in To:, then STOPwatch.TEXTMSG
Last, we explain how to retrieve data, and the flow of program service will send you data as follows:
for the intelligent bus alarm application.
35890: ILLNNNNGNRNGSD - 24
A. Normenclatures SCAMP N now DUE. 22 ILLINI
Table I describes nomenclatures which defines the charac- S in 02 min. 10 GOLD W in 06
ters and symbols in this paper. min. 24 SCAMP N in 06 min.
as of 1:08:38 PM. Other chgs
may apply.
TABLE I
N OMENCLATURES
As you may notice that, data retrieving can be done by
Characters / Symbols Definitions extracting keywords, such as 22, ILLINI, and 02. Here, we
may have a problem: when does phone start to send a text
stop ID a unique identification code that is message from and what intervals? Therefore, to simply the
assigned to every bus stop
task, we restrict a user’s condition as follows:
xt a state of bus schedule at t
xt = {Delayed, OnT ime, Advanced} • User can get the desired stop within 30 minutes
yt a observation for bus running by msg data at t by normal walking.
yt = {slow, normal, f ast} • Time delay between send and receive text message is
negligible.
p(D) a probability of bus schedule will be Delayed
p(xt = Delayed) • It takes less than 5 minutes for user to wrap up the
things that he/she is doing.
p(O) a probability of bus schedule will be OnT ime • If the user should stop by somewhere before getting
p(A) a probability of bus schedule will be Advanced the bus stop, user can set up the expected time to get
there when he/she set up the alarm.
p(D | s) a probability of bus schedule will be Delayed • User do NOT miss the bus on his/her purpose. If the user
given y0 = slow
would like to miss the bus, he/she turn off the alarm or
p(O | s, n) a probability of bus schedule will be OnT ime
given y0 = slow and y1 = normal
p(A | s, n, f ) a probability of bus schedule will be Advanced
given y0 = slow, y1 = normal, y2 = f ast
B. Target User Group
Our application has some constraints, because send/receive
text message costs a money (it depends on mobile service
provider and rate plan. it costs $0.30 average. Also, the usage
of this applicatoin is restricted at the city of Champaing-
Urbana. Lastly, user’s cellphone runs SymbianOS and pro-
grammable in Python. By these facts, we can determine the
target user group as follows. Fig. 2. Sending a text message(Left) and obtained data(Right)FINAL PROJECT OF AE498MPA, DECEMBER 15, 2007 3
set it up again.
X
p(xt | y0 , · · · , yt ) = ηp(yt | xt ) p(xt | xt−1 )p(xt−1 | y0 , · · · , yt−1 )
Those restrictions make the program flow more clear.
xt−1
Figure 3 depicts the total process of intelligent bus alarm. (1)
Note that no bus can follow its schedule perfectly; thus we At initial state, we set up the probabilities as follows:
need to estimate the bus schedule as: Will it be possibly
[delayed][on time][advanced]? If yes, then what amount of
1 1 1
time and what probabilities? The approach to handle these p(D) = p(O) = 3 p(A) =
3 3
questions will be introduced in the next section.
p(s | D) = 0.6 p(s | O) = 0.25 p(s | A) = 0.1 (2)
p(n | D) = 0.3 p(n | O) = 0.5 p(n | A) = 0.3
User Input
stopID, Expected time to get the
p(f | D) = 0.1 p(f | O) = 0.25 p(f | A) = 0.6
stop
For “the bus is running slow”, we can determine the speed of
a bus running by the retrieved data from text message. Figure
4 show how we can determine the bus is running slowly. If a
Timer bus arrived should at the Illini Union 10:10, however the bus
Check the current time should have been at the Illini Union 10:00, we say “the bus is
running slowly.” We also set up ±3 minutes interval for the
normal running.
The state transition probability is presented in Fig. 5. If
the schedule is OnT ime now, it is reasonable to assume that
current time a bus will able to be Delayed or Advanced with probability
bus time < 45?
No 0.2, and still remains OnT ime with probability 0.6. Also,
Delayed to Advanced and Advanced to Delayed should
occur rarely, we assign 0.1 respectively.
Yes
Bus Schedule Estimator
Start to estimate bus schedule
slow normal fast
10:10 10:03 10:00 09:57
Should user Bus should have been at the Illini Union
leave now?
No Bus is at the Illini Union now
Yes Fig. 4. Determine bus running speed y from text message data.
Sound Alarm
0.6
Fig. 3. Intelligent bus alarm programming flow diagram. OnTime
0.2 0.2
0.4 0.4
III. BAYES F ILTER AS B US S CHEDULE E STIMATOR 0.1
Delayed Advanced
Bayes filter should be a good approach to estimate a state
0.1
of bus schedule. The reason is that Bayes filter allows us
to derive the posterior probability, p(xt | y0 , · · · , yt ) with 0.5 0.5
a state transition probability and prior probability, p(xt−1 |
y0 , · · · , yt−1 ) by its recursive relationship [3][4]. Fig. 5. The state transition probability among Delayed, OnT ime, and
For discrete state estimation, the well-known Bayes filter Advanced.
equation isFINAL PROJECT OF AE498MPA, DECEMBER 15, 2007 4
Let’s assume that we have already received 3-messages from Cesar Corzo is a senior in the department of
MTD service. Then we can determine the current state of a electrical and computer engineering of University
of Illinois at Urbana–Champaign. Cesar’s research
specific bus schedule as the result of Table II. interest are: insect locomotion, robotics, and embed-
ded systems.
IV. C ONCLUSION
In this paper, we proposed that intelligent bus alarm for
faculties and students who commute by Champaign-Urbana
MTD bus. We collected and arranged data from MTD web and
guide booklet. To estimates the state of schedule, we applied
Bayes filter under the pre-determined state probability, and
showed the result of estimated probabilities of bus schedule Kyle Smith is a senior in the department of
with assuming 3-text message observation. aerospace engineering of University of Illinois at
To complete the application, we should figure out bugs Urbana–Champaign. Kyle is interested with aero-
dynamics, planning algorithm, application program-
in Python code, especially data processing with a calender ming in Python.. He is also doing his minor in
module. Data retrieval from a text message was not easy part, mathematics department.
more works should be done to clear it. Also, installing an
identified application is really dangerous. It will crash Symbian
OS, so you may have no choice but the hard reset of your
phone. To display the result on desktop side, we tried to use
gnuBOX, which we had expected to help us for Bluetooth
connection. However, we found that gnuBOX did not work
with N95. This information was nowhere, so every student
developer or professional developer should not use it with
N95. Finally, further works should be done to complete the
project.
ACKNOWLEDGMENT
We team Smith greatly thank to Prof. Tim Bretl for giving us
precious teaching and encouraging us to fight with numerous
developing skills of Nokia N95. Also, it was our honor to work
as team smith and took the 1st and 2nd place in the first and
the second class competition. We will never allow ourselves to
forget AE498MPA in Fall 2007 at Urbana-Champaign, sweat
and enthusiasm, and outstanding classmates.
R EFERENCES
[1] STOPwatchWIDGET. How to use STOPwatch.WIDGET. [Online]. Avail-
able at http://www.cumtd.com/stopwatch/Widget.aspx.
[2] STOPwatchTEXTMSG. How to use it. [Online] Available at
http://www.cumtd.com/stopwatch/ShortMsgService.aspx.
[3] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, MIT Press,
2005.
[4] H. Choset, K. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavaraki,
and S. Thrun, Principle of Robot Motion, MIT press, 2005.
Han-Ul Yoon is the 2nd year graduate student in the
department of electrical and computer engineering
of University of Illinois at Urbana–Champaign. Han
is currently pursuing his Ph.D. degree with Prof.
Seth Hutchinson. His research interest are: artificial
intelligence, robot motion planning, and machine
learning.FINAL PROJECT OF AE498MPA, DECEMBER 15, 2007 5
TABLE II
p(xt | y0 , y1 , y2 ) WITH RESPECT TO 3- OBSERVATIONS
p(D|s, s, s) 0.629 Delayed p(D|n, n, f ) 0.079
p(O|s, s, s) 0.328 p(O|n, n, f ) 0.445
p(A|s, s, s) 0.043 p(A|n, n, f ) 0.476 Advanced
p(D|s, s, n) 0.286 p(D|n, f, s) 0.404
p(O|s, s, n) 0.596 OnTime p(O|n, f, s) 0.467 OnTime
p(A|s, s, n) 0.118 p(A|n, f, s) 0.129
p(D|s, s, f ) 0.152 p(D|n, f, n) 0.133
p(O|s, s, f ) 0.473 OnTime p(O|n, f, n) 0.613 OnTime
p(A|s, s, f ) 0.375 p(A|n, f, n) 0.254
p(D|s, n, s) 0.512 Delayed p(D|n, f, f ) 0.052
p(O|s, n, s) 0.419 p(O|n, f, f ) 0.357
p(A|s, n, s) 0.069 p(A|n, f, f ) 0.592 Advanced
p(D|s, n, n) 0.197 p(D|f, s, s) 0.563 Delayed
p(O|s, n, n) 0.645 OnTime p(O|f, s, s) 0.376
p(A|s, n, n) 0.158 p(A|f, s, s) 0.061
p(D|s, n, f ) 0.093 p(D|f, s, n) 0.232
p(O|s, n, f ) 0.457 OnTime p(O|f, s, n) 0.618 OnTime
p(A|s, n, f ) 0.449 p(A|f, s, n) 0.150
p(D|s, f, s) 0.438 p(D|f, s, f ) 0.112
p(O|s, f, s) 0.450 OnTime p(O|f, s, f ) 0.450 OnTime
p(A|s, f, s) 0.112 p(A|f, s, f ) 0.438
p(D|s, f, n) 0.150 p(D|f, n, s) 0.449
p(O|s, f, n) 0.618 OnTime p(O|f, n, s) 0.457 OnTime
p(A|s, f, n) 0.232 p(A|f, n, s) 0.093
p(D|s, f, f ) 0.061 p(D|f, n, n) 0.158
p(O|s, f, f ) 0.376 p(O|f, n, n) 0.645 OnTime
p(A|s, f, f ) 0.563 Advanced p(A|f, n, n) 0.197
p(D|n, s, s) 0.592 Delayed p(D|f, n, f ) 0.069
p(O|n, s, s) 0.357 p(O|f, n, f ) 0.419
p(A|n, s, s) 0.052 p(A|f, n, f ) 0.512 Advanced
p(D|n, s, n) 0.254 p(D|f, f, s) 0.375
p(O|n, s, n) 0.613 OnTime p(O|f, f, s) 0.473 OnTime
p(A|n, s, n) 0.133 p(A|f, f, s) 0.152
p(D|n, s, f ) 0.129 p(D|f, f, n) 0.118
p(O|n, s, f ) 0.467 OnTime p(O|f, f, n) 0.596 OnTime
p(A|n, s, f ) 0.404 p(A|f, f, n) 0.286
p(D|n, n, s) 0.476 Delayed p(D|f, f, f ) 0.043
p(O|n, n, s) 0.445 p(O|f, f, f ) 0.328
p(A|n, n, s) 0.079 p(A|f, f, f ) 0.629 Advanced
p(D|n, n, n) 0.174
p(O|n, n, n) 0.652 OnTime
p(A|n, n, n) 0.174You can also read