Overview - Department of Computer Science | Western Michigan

De
evelo
opment Env
viron
nmen
nt
Settup and
a
Use
er Manua
al
f
for
AG
GOR
RA
Version
n 1.1
A Versatille Environment fo
or the Dev
velopmen
nt of IntellliDrive
App
plications
s
(Visuall … Exten
nsible … Rule-Bas
sed)
Departm
ment of Computer Science,, Western
n Michiga
an Univerrsity
Development Environment Setup and User Manual for AGORA
Table of Contents
Table of Contents .......................................................................................................................... ii Revision History ............................................................................................................................ ii 1. Introduction ..............................................................................................................................1 1.1 1.2 1.3 Purpose ........................................................................................................................................ 1 Intended Audience ....................................................................................................................... 1 References ................................................................................................................................... 1 2. Installation Procedure .............................................................................................................1 2.1 VIS/A3/Gov 2.0 ........................................................................................................................... 1 2.2 TMC ............................................................................................................................................ 6 3. User Manual .............................................................................................................................9 3.1 Gov 2.0 ........................................................................................................................................ 9 3.2 A3 .............................................................................................................................................. 11 3.3 Carbon Emissions Tracker......................................................................................................... 11 3.4 Smart Cone ................................................................................................................................ 13 3.5 Course/Fine Context .................................................................................................................. 14 3.6 VOIP Call .................................................................................................................................. 15 3.7 Police Car/Ambulance/Fire Truck Alert.................................................................................... 16 3.8 Tow Truck Alert ........................................................................................................................ 18 3.9 Sphinx ........................................................................................................................................ 19 Appendix A: Glossary .................................................................................................................20 Revision History
Name
Date
Reason For Changes
Version
Vinay B
Gavirangaswamy
01/24/2010
Initial Draft
1.0
Vinay B
Gavirangaswamy
02/16/2010
Changed project name from VII to AGORA, changed
paragraph formatting, and reformatted cover page.
1.1
ii
Development Environment Setup and User Manual for AGORA
1. Introduction
1.1 Purpose
AGORA refers to a set of application and infrastructure which constitutes intellidrive environment
that is being developed at Computer Science Department, Western Michigan University. This
project consists of several software applications and hardware components. This infrastructure
consists of On-Board Equipment (OBE), Road Side Equipment (RSE), and Traffic Management
Centers (TMC), which work together to increase the safety and efficiency of the transportation
network.
This document is intended to help internal and external team member to get up to speed with the
development environment, installation procedures and user manual for the different systems that
are being developed.
1.2 Intended Audience
Document is primarily intended for members of MDOT team which consists of graduate students
working under the guidance of Dr. Ala Al-Fuqaha and Dr. Dionysios Kountanis.
1.3 References
•
•
•
•
•
•
•
http://www.oracle.com/us/technologies/java/index.htm
http://netbeans.org/
http://www.mysql.com/
http://www.eclipse.org/
http://javafx.com/
http://www8.garmin.com/support
https://glassfish.dev.java.net/
2. Installation Procedure
2.1 VIS/A3/Gov 2.0
Operating System: Microsoft Windows XP Professional Service Pack 3
Install JDK 6 Update 17 with NetBeans 6.8
1.
Download from http://java.sun.com/javase/downloads/widget/jdk_netbeans.jsp
2.
Run installer (accept all defaults).
Install JAVAFX Plugin for NetBeans
1.
Open NetBeans.
2.
Open Plugins Manager Tools > Plugins
3.
Switch to Available Plugin tab and type javafx in the search box.
4.
Check JavaFX Kit box.
5.
Click Install (accept all defaults).
1
D
Development
E
Environment
S
Setup
and Userr Manual for AGORA
A
Install Spa
anner (used for accessin
ng Garmin GPS)
G
1.
Do
ownload from
m http://www
w8.garmin.co
om/support/d
download_de
etails.jsp?id=
=1627
2.
Unzip to desire
ed folder (de
efault: C:\garrmin).
3.
Run SpannerS
Setup (accep
pt all defaultss).
Add Spann
ner as a Sta
artup Program
m
1.
Co
opy Spanner program
Start > All Programs > Garmin > Spanner
S
> Right-click
R
> Copy
C
2.
Paste to Startu
up Folder
C:\Docume
ents and Se
ettings\All Ussers\Start Me
enu\Program
ms\Startup > Right-click > Paste
Test GPS Connectivity
y
1.
Attach the GPS
S device to an
a available USB port.
2.
Run the Spann
ner program.
3.
Select the GPS
S from the drop down bo
ox.
4.
Clicck the Start button.
2
D
Development
E
Environment
S
Setup
and Userr Manual for AGORA
A
5.
Op
pen HyperTerminal
Start > All Programs > Accessories > Commun
nications > HyperTermin
H
nal
6.
Typ
pe gps in the
e Name box.
7.
Clicck OK.
8.
Co
onnect using: COM1
9.
Clicck OK.
10.
Change Bits pe
er second to
o 9600.
11.
Clicck OK.
*If a conne
ection to the GPS is mad
de, data sho
ould be displayed similarr the image below.
b
Install Java
a Media Fra
amework (JM
MF) 2.1.1e
1.
Do
ownload
http://java..sun.com/jav
vase/technologies/deskttop/media/jm
mf/2.1.1/download.html
from
3
D
Development
E
Environment
S
Setup
and Userr Manual for AGORA
A
2.
Run installer (a
accept all de
efaults).
Add OBDII Library:
1.
Co
opy rxtxSeria
al.dll to C:\Do
ocuments an
nd Settings\S
Student\.nettbeans\6.8\ja
avafxsdk\lib\dessktop
Setup MDO
OT Project in NetBeans
1.
Co
opy MDOT filles/folders to
o desired loccation.
(Default: C:\Document
C
ts and Settin
ngs\Student\\Desktop\Re
esearch)
2.
Op
pen NetBean
ns.
3.
Add new project.
File > Ope
en Project > (browse to mdot
m
folder)//PathAnimattionNew > Open
O
Projectt
4.
Cre
eate LibraryJ
JAVAFX
Expand Pa
athAnimation
n in Projectss Tab
Right-Clickk Libraries > Add Libraryy > Manage Libraries > New
N
Library
Library Na
ame: LibraryJ
JAVAFX
Library Typ
pe: Class Lib
braries
Click OK.
Add JAR/F
Folder > (bro
owse to MDO
OT directoryy)/lib
Select: jce
e.jar
JFX
Xtras-0.5.jar
swing-layout-1.0.3.jar
Add JAR/Folder
Click OK.
Select LibrraryJAVAFX
X from Add Library windo
ow > Add Lib
brary
5.
Change path in
n Application
n Settings Fiile.
Click on th
he Files tab.
4
D
Development
E
Environment
S
Setup
and Userr Manual for AGORA
A
Expand Pa
athAnimation
n.
Double clicck Applicatio
onSettings.p
properties file
e.
Change pa
ath of RULE
ES, SUPERN
NODES, ROA
ADSIGNS to
o point to co
orresponding
g xml files.
(example2
2.xml, supern
node.xml, xm
mlOutput.xm
ml - found in MDOT folde
er)
Change Pa
ath/Settings in VOIP con
nfig file:
1.
Cre
eate a folderr named log in the Rese
earch folder.
2.
Edit .cfg file (in
n Research folder)
f
that corresponds
c
to a VOIP user
u
(a.cfg or b.cfg)
contacts_ffile="C:\Docu
uments and Settings\Stu
udent\Deskto
op\Research
h\contacts.lsst"
Note: If building
b
and running the NetBeans project,
p
you get
g the errorr message:
5
Development Environment Setup and User Manual for AGORA
Unable to start java.exe: The system cannot find the file specified.
Java did not get installed on the system (even though it should be in the NetBeans bundle).
Download and install Java 6 Update 18 from http://www.java.com/en/download/manual.jsp
2.2 TMC
Download and install
Glassfish
Version: 2.1.1
URL: https://glassfish.dev.java.net/public/downloadsindex.html
Install location: c:\glassfish
Install instruction: Please refer to glassfish web site for install instructions
Environment variables:
Please setup following system environment variable as shown below
Variable Name
AS_ADMIN_USER
AS_HOME
JAVA_HOME
Value
admin
C:\glassfish
<your system java install directory>
6
Development Environment Setup and User Manual for AGORA
Eclipse Java EE IDE for Web Developers
Version: any
URL: http://www.eclipse.org/downloads/
Install location: c:\eclipse
Install instruction: unzip downloaded archive to above specified directory
TMC Application Setup:
Copy TMC.zip to a directory called c:\mdot_workspace
Upzip archieve
Open eclipse and select c:\mdot_workspace as your workspace
Goto file->new->other
7
Development Environment Setup and User Manual for AGORA
And enter following information in the next screen
8
Development Environment Setup and User Manual for AGORA
Accept default options for the rest and click Finish.
Build and deploy Instructions:
Run ant script under TMC\build\build.xml. This will create a war archived file under TMC\bin\war.
Deploy this war file in glassfish application server.
Note: To read on how to deploy application on glassfish server please refer to appropriate section
of glassfish application sever documentation.
3. User Manual
3.1 Gov 2.0
3.1.1 Navigation Instructions
9
Development Environment Setup and User Manual for AGORA
Application Icon →Gov 2.0 Icon
3.1.2 Screen Shots
Application Selection Screen:
Figure 1: Gov 2.0 selection in VIS
Description:
The above picture shows the applications currently available in VIS, where the exclamation sign
icon opens the Advisory Alert application (A3) and the speaker icon opens the Gov 2.0 application.
Gov 2.0 Application Screen:
Figure 2: Gov 2.0
10
Development Environment Setup and User Manual for AGORA
Description:
The above picture shows the Gov 2.0 application. This application displays all the hazards, as
icons, a user can encounter in the transportation system. The application interface is kept simple
for ease of use with icons showing the available hazards. On encountering a hazard, a user can
click (touch) the corresponding icon, which is then sent to and registered with TMC. Now, based on
the frequency of a certain hazard being reported (at a particular location), the transportation
authority can prioritize these hazards and take measures accordingly. This information is also
conveyed to the users of VIS through the on-demand A3 application (or dynamic signs/alerts).
3.2 A3
3.2.1 Navigation Instructions
Application Icon →A3 Icon
A3 Application Screen:
Figure 3: A3
Description:
The above picture shows the Advisory Alert application (A3). This application displays a list of
hazards based on the current location of the vehicle, retrieved from TMC. The application interface
is divided into two parts, the alert icon and the alert description. In the above picture of A3, the left
column shows the hazard icons for quick visual feedback to the user. On the right column is the
description of the corresponding hazard. For example, the snap-shot above shows a pothole, an
icy condition and a dead animal hazard.
3.3 Carbon Emissions Tracker
3.3.1 Navigation Instructions
Application Icon →Car Emissions Tracker Icon
11
D
Development
E
Environment
S
Setup
and Userr Manual for AGORA
A
Carbon Emissions Tracker Application Scrreen:
Figure 4: Carbon
C
Emissiions Tracker
Descriptio
on:
With the increasing
i
threat
t
of glo
obal warmin
ng, individua
als are beco
oming more
e conscious about
the
eir impact on
n the environ
nment. The Carbon Emissions Traccker allows individuals to
o track
the
am
mount of carb
bon their vehicle puts in
nto the atmo
osphere each time they turn the carr on by
simply disp
playing it on the screen in a trip-by-ttrip format.
How It Wo
orks:
The Carbo
on Emission
ns Tracker calculates
c
th
he miles travveled, fuel used
u
and ca
arbon foot print for
each “trip”” which is de
efined to be the time fro
om which the
e engine is started, to the time it sh
hut off.
The numb
ber of miles traveled
t
is calculated
c
ussing the GPS
S device wh
hich is attach
hed to the system.
Every 10 seconds,
s
the
e GPS is polled for the new
n
location of the car. The
T distance
e between th
he new
latitude an
nd longitude
e location an
nd the old la
atitude and longitude lo
ocation is then calculate
ed and
added to the running distance
d
tota
al.
The Carbo
on Emission
ns Tracker iss able to calculate the amount
a
of fu
uel consume
ed during a trip by
using data read from
m the OBD
D (On-Boarrd Diagnosttics) System
m that is standard
s
on
n cars
ured starting in 1996.
manufactu
The values of mass air
a flow and speed are requested from
f
the OB
BD and then
n plugged in
nto the
e
whiich returns th
he instantan
neous miles per gallon (M
MPG) of the vehicle.
following equation
Instantane
eous MPG = (14.7 * 6.17
7 * 454 * SPEED) / (3600 * MASS AIR
A FLOW)
•
14..7 grams of air to 1 gram
m of gasoline
e - ideal air/ffuel ratio
•
6.17 pounds pe
er gallon - density of gassoline
•
454
4 grams perr pound - con
nversion
•
360
00 seconds per hour conversion
12
Development Environment Setup and User Manual for AGORA
To find the average MPG during a trip, the instantaneous rate is averaged over time.
The carbon footprint during a trip requires a few calculated values. First, to calculate the CO2
emissions from a gallon of fuel, the carbon emissions are multiplied by the ratio of the molecular
weight of CO2 (m.w. 44) to the molecular weight of carbon (m.w.12): 44/12.
CO2 emissions from a gallon of gasoline
= 2,421 grams x 0.99 x (44/12)
= 8,788 grams
= 8.8 kg/gallon
= 19.4 pounds/gallon
Note: If C02 for emissions for diesel is need, substitute 2421 grams with 2778 grams.
Next, number of gallons used is calculated by dividing miles traveled by the average MPG. Finally
the C02 emissions constant (19.4)is multiplied by the gallons which results in the carbon footprint.
The values of all the calculated variables for a trip are written to an XML file (carbon.xml) for easy
storage and retrieval. The values automatically populate the grid when the application starts, so no
interaction is needed by the driver.
3.4 Smart Cone
3.4.1 Navigation Instructions
Application Icon →Smart Cone Icon
Smart Cone Application Screen:
Figure 5: Smart Cone Application
Description:
Construction zones can quickly produce hazardous conditions for both drivers and construction
workers. The goal of the Smart Cone application is to quickly create an “alert” area warns the driver
that they are in a construction zone and should be on the lookout and slow down. With the Smart
13
Development Environment Setup and User Manual for AGORA
Cone application, and the click of a button, a construction zone can be communicated rapidly, and
removed just as quickly.
How It Works:
The Smart Cone application is simply a way of changing a vehicle “type” from a standard vehicle
type to a “Smart Cone” type. When the green go button is clicked in the application, the type value
in the vehicle's hash table is update to be the Smart Cone type. This information is then
propagated in the vehicle's hash table to the neighboring vehicles via the process described in
section 2.3. Neighboring vehicles look through their context in search of the “Smart Cone”, and if it
is found, displays the construction cone icon in their alert area.
Similarly, when the application's stop button is clicked, the vehicle type is changed back to that of a
standard vehicle, and the propagation process through the hash table is again followed.
3.5 Course/Fine Context
3.5.1 Navigation Instructions
Application Icon →Course/Fine Context Icon
Course/Fine Application Screen:
14
Development Environment Setup and User Manual for AGORA
Description:
With the ever increasing volume of traffic, it is important for a driver to know his/her location with
respect to other vehicles. This becomes increasingly important during hazardous weather
conditions and rush hour. The Course/Fine Context applications allow for visual representation of
the car's context; where there are in relation to other cars on the road; with a series of red flashing
squares representing neighboring vehicles.
How It Works:
The Course/Fine Context applications get information from the core services of the system. When
a car receives data from a neighboring vehicle, it compares the latitude and longitude locations and
"decides" where the vehicle is in relation to itself. The car then places this information into that
car's local hash table. Every 500ms, the GUI thread checks all the vehicles in the local hash
context for this location information. It then generates a list of squares that should be turned red,
and proceeds to do so. The same process repeats indefinitely.
The only difference between the Course and Fine Context applications is the number of squares.
The Course Context has 8 locations, while the Fine Context has 48. Since the Fine Context
squares are smaller, it is able to represent vehicles that are farther away.
3.6 VOIP Call
3.6.1 Navigation Instructions
Application Icon →VOIP Call Icon
VOIP Call Application Screen:
15
Development Environment Setup and User Manual for AGORA
Description:
In the case of an emergency, having a way to call for help is essential. The VOIP Call application
allows the system to send and receive calls to registered IP addresses which could for example be
that of a dispatch center.
How It Works:
When the user clicks the "call" button on the application, the system uses MjSip (open source javabased implementation of a SIP stack available at www.mjsip.org) to initiate a connection between
the caller and the callee. Once the connection is established, the voice data is processed with Java
Media Framework (JMF).
3.7 Police Car/Ambulance/Fire Truck Alert
3.7.1 Navigation Instructions
Application Icon →Police Car/Ambulance/Fire Truck Alert Icon
Police Car/Ambulance/Fire Truck Alert Application Screen:
Police:
Ambulance:
16
Development Environment Setup and User Manual for AGORA
Fire:
Description:
When there is an accident, fire, or any other event that requires emergency personnel, response
time is critical as seconds can save lives. The purpose of the Police Car, Ambulance, and Fire
Truck Alert applications is to alert the driver that one of these vehicles is approaching and proper
protocol should be followed as is the law of the state. In Michigan for example, the driver should
slow down, pull over and stop while these vehicles pass.
How It Works:
17
Development Environment Setup and User Manual for AGORA
The Police Car/Ambulance/Fire Truck Alert applications are very similar to the Smart Cone and
School Bus Applications in that when the green go button is pushed, the vehicle type is changed
from a standard vehicle to a police car, ambulance or fire truck. This information is propagated to
the vehicle's neighbors via the process described in section 2.3. The vehicle type remains the
specified type until the stop button on the application is pressed. When the application is running,
neighbors will see a vehicle of type police car, ambulance or fire truck in their context and display
the associated icon in the alert area.
3.8 Tow Truck Alert
3.8.1 Navigation Instructions
Application Icon → Tow Truck Alert Icon
Tow Truck Alert Application Screen:
Description:
When a Tow Truck is called to the scene of an accident or other related event, it is often the case
that a partial lane blockage will follow while the truck maneuvers the disabled vehicle into proper
position. These lane blockages can be hazardous to other drivers, especially during times of high
traffic or sharp and windy roads. The sooner that other driver can know about the Tow Truck, the
more time they have to react and reduce speed or change lanes. The Tow Truck application is
used to alert drivers to the above mentioned situations.
How It Works:
The Tow Truck application is very similar to the Police Car/Ambulance/Fire Truck Alert in that when
the green go button is pushed, the vehicle type is changed from a standard vehicle to a tow truck.
This information is propagated to the vehicle's neighbors via the process described in section 2.3.
The vehicle type remains “tow truck” until the stop button on the application is pressed. When the
application is running, neighbors will see a vehicle of type tow truck in their context and display the
associated icon in the alert area.
18
Development Environment Setup and User Manual for AGORA
3.9 Sphinx
3.9.1 Navigation Instructions
Application Icon → Sphinx Icon
Sphinx Application Screen:
Description:
Hands free operation is critical when it comes to software running in vehicles. The fewer things that
a driver has to control create a safer environment for everyone. The integration of Sphinx, a
speech recognizer developed by the Sphinx group at Carnegie Mellon University, allows the driver
to switch between screens using simple single word voice commands.
How It Works:
When the user clicks the start button on the application, the system activates Sphinx4 and waits for
the user to speak one of the recognized words. When the system hears a word that it knows, the
main screen is changed to screen associated with that word. Sphinx continues to operate until the
user clicks the stop button. Currently, the system uses the following words to change between the
main application screens:
Words
Screen
application Application
course
Course Context
fine
Fine Context
call
VOIP Call
19
Development Environment Setup and User Manual for AGORA
voice
Sphinx
Appendix A: Glossary
MDOT – Michigan Department of Transportation
OBE – On-Board Equipment
RSE – Road-Side Equipment
TMC – Traffic Management Centers
A3– Advisory Alert Application
LSA – Life Safety Application
VIS – Vehicle Integrated Software
OSIL- Operating System Isolation Layer
OS- Operation System
CAL- Communication Abstraction Layer
DSRC- Dedicated short range communications
20