SCS-UT–2014-DATASET: Location-based Game Results for Wireless Indoor Localization Deployment

This is a dataset that is collected on a location-based game for deploying Wireless Indoor Localization. Our main aim of the experiment is the evaluation of effectiveness of controlling game elements with the iterative data-driven feedback. This dataset includes not only training data for localization but also the game data such as how to control users and how users behaved.

This experiments was conducted on six floors with about 60 meters by 70 meters in the University of Tokyo. We recruited 18 students as participants five weeks. The more details of the experiment are in our paper [1].

Please feel free to send any questions or comments to us scs-ut-2014-dataset@ics.t.u-tokyo.ac.jp.

[1] Ryoma Kawajiri, Masamichi Shimosaka, Hisashi Kashima.
Steered Crowdsensing: Incentive Design towards Quality-Oriented Place-Centric Crowdsensing.
In Proceedings of 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing, pp. 691–701, Seattle, Washington, USA, September 2014.

Copyright and licence

Documentation and dataset copyright 2014–2014 Intelligent Cooperative Systems Lab., The University of Tokyo. This dataset is made available under the Public Domain Dedication and License v1.0 whose full text can be found at: http://opendatacommons.org/licenses/odbl/1.0/.

Authors

Directory Structure

Directory structure is below. The each directories are separately detailed.

./
 ├─ EXP201312/  # DataSet
 ├─ TESTDATA/ # Test Data
 ├─ eng2/       # Building information (floor plans, latitude, longitude, size)
 └─ README.html

File Format

All files are output by json format. Each json files are explained with examples and comments. Actual json files are not able to be written comments.

About json format:

EXP201312/: Experiment Dataset

“Stamp Rally” is one of game style, which is popular in Japan.

EXP201312/
 ├─ StampRally/  # Directory related to all users
 │   ├─ Goals/  # Points of posters
 │   │   ├─ Users/  # Correspondence users and point calculation algorithm
 │   │   │   ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Files per 15 minutes
 │   │   │   ├─ ...
 │   │   │
 │   │   └─ Goals_${ALGORITHM}/  # Results of poster points calculation
 │   │       ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Result files per 15 minutes
 │   │       ├─ ...
 │   │
 │   ├─ Scores/  # Scores users got
 │   │   ├─ ${UNIXTIME}.json  # Files per 15 minutes
 │   │   ├─ ...
 │   │
 │   ├─ config.json  # Configurations for timing.
 │   └─ goallist.json  # Location information of smart posters
 │
 ├─ StampRally_${USER_ID}/  # Directorys of each users. IDs of students at Mechanical Engineering start from 'm', one of Electrical Engineering start from 'e'.
 │   └─ Uploads/  # Directory for store files uploaded by the user.
 │       ├─ TrainData/  # Train Data for localization
 │       │   ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Files per 15 minutes
 │       │   ├─ ... 
 │       │
 │       ├─ Views/  # Display information users view. (Activity called in Android) 
 │       │   ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Files per 15 minutes
 │       │   ├─ ...
 │       │ 
 │       └─ dev.json  # Device information
 │
 ├─ ...

Common Explanation

This section shows Common explanations for multiple files.

User ID

9 person at the Mechanical Engineering have IDs from m0 to m8, 9 person at the Electrical Engineering have IDs from e0 to e8. There are 18 person in total.

Location Information Format

{"latitude": 35.71440893673767,   // Unit: degree
 "accuracy": 0.5,                 // Accuracy. But, actually not used on this experiment.
 "longitude": 139.7619630396366,  // Unit: degree
 "floor": "5F"}                   // Floor name

File names

file name for data collected while long-term shows time. The files are created every 15 minutes, if they have data. The name format is ${UNIXTIME}.json and ${YYYY-MM-DD_HH-MM-SS}.json.

StampRally/ Directory related to all users

Users/${YYYY-MM-DD_HH-MM-SS}.json Correspondence users and point calculation algorithm

The format of file name is ${YYYY-MM-DD_HH-MM-SS}.json. Actually, the algorithms of all users are always same.

 {"e8": "constant",  # User ID and Algorithm
  "m8": "constant",
  "m5": "constant",
  ...
  "e3": "constant",
  "e2": "constant"}

Goals_${ALGORITHM}/${YYYY-MM-DD_HH-MM-SS}.json Results of poster points calculation

There are three algorithms: constantrandom, and proposed.

The format of file name is ${YYYY-MM-DD_HH-MM-SS}.json.

[{"priority": 10,  // Poster points 
  "location": {"latitude": 35.71440893673767,
               "accuracy": 0.5,
               "longitude": 139.7619630396366,
               "floor": "5F"}},
  ...
 {"priority": 10,
  "location": {"latitude": 35.71440893673767,
               "accuracy": 0.5,
               "longitude": 139.7619630396366,
               "floor": "5F"}}]

Scores/${UNIXTIME}.json Scores users got

The format of file name is ${UNIXTIME}.json for only these files.

[{"score": 30,  // Scores users got
  "user_id": "e3"},  // User ID
 {"score": 30,
  "user_id": "m2"},
 ...
 {"score": 30,
  "user_id": "e2"}]

goallist.json List of poster locations

[{"latitude": 35.71440893673767,
  "accuracy": 0.5,
  "longitude": 139.7619630396366,
  "floor": "5F"},
 ...
 {"latitude": 35.71440893673767,
  "accuracy": 0.5,
  "longitude": 139.7619630396366,
  "floor": "5F"}]

StampRally_${USER_ID}/ Directorys of each users

TrainData/${YYYY-MM-DD_HH-MM-SS}.json Directory for store files uploaded by the user

Training data for indoor localizations. Pair of fingerprints (Wi-Fi, pressure, timing, acceleration) and location information. The format of file name is ${YYYY-MM-DD_HH-MM-SS}.json.

[{"fingerprint":{"pressure":-1.0,  // Unit: hPa or mBar. Depends on devices. If not have barometers, -1.0.
                 "wifi":{"2c:36:f8:60:08:02":  // ** MAC Address **
                            {"SSID":"utroam",
                             "capabilities":"[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]",
                             "timestamp":494772539961,
                             "level":-84,  // Unit: dBm ** RSSI **
                             "frequency":2462},  // Units: kHz Some devices do not sense 5GHz.
                         ...
                         "2c:36:f8:0f:ce:33":
                            {"SSID":"utroam-1x",
                             "capabilities":"[WPA2-EAP-CCMP][ESS]",
                             "timestamp":494772539991,
                             "level":-65,"frequency":2462}},
                 "magnetic":{"x":21.365026,  // Unit: μT
                             "y":6.39893,
                             "z":-4.9996953},
                 "gravity":{"x":0.8168717,  // Unit: m/s^2
                            "y":5.544971,
                            "z":8.046912}},
  "location":{"floor":"8F",
              "accuracy":0.5,
              "latitude":35.714432347913,
              "longitude":139.76158618927002}},
 {"fingerprint":{"pressure":-1.0,
                 ... 
 ...
  ]

For details of sensors on Androids, see below.

Views/${YYYY-MM-DD_HH-MM-SS}.json Display information users view. (Activity called in Android)

The format of file name is ${YYYY-MM-DD_HH-MM-SS}.json.

[{"name":"DropboxLinkActivity",  # The name of activity.
  "time":1389829259070},  # Time the activity opened
  ...
  {"name":"DropboxLinkActivity",
  "time":1389846587507}]

dev_${MAC_ADDRESS_OR_NULL}.json Device information

The format of the file name is dev.json.

{"BOARD":"SH-01F",
 "BOOTLOADER":"unknown",
 "BRAND":"DOCOMO","CPU_ABI":
 "armeabi-v7a",
 "CPU_ABI2":"armeabi",
 "DEVICE":"SH-01F",
 "DISPLAY":"01.00.01",
 "FINGERPRINT":"DOCOMO/SH-01F/SH-01F:4.2.2/SA190/01.00.01:user/release-keys",
 "HARDWARE":"qcom",
 "HOST":"Sharp",
 "ID":"SA190",
 "MANUFACTURER":"SHARP",
 "MODEL":"SH-01F",
 "PRODUCT":"SH-01F",
 "SERIAL":"Anonymous",
 "TAGS":"release-keys",
 "TYPE":"user",
 "USER":"build",
 "TIME":1382123965000}

For details of each item, see the Android Manual. http://developer.android.com/intl/ja/reference/android/os/Build.html

TESTDATA Data for Validation and Test the localization accuracy on controlled environment

TESTDATA/
 ├─ StampRally_icskawa/
 │   ├─ ValidationData/ # Data for validation and test localization
 |   |   ├─ ${YYYY-MM-DD_HH-MM-SS}.json # Time data collection started
 |   |   ├─ ...
 |   |
 │   └─ Uploads/  # Directory for store files uploaded by the user. these data are collected on controlled experiment. The formats are same as `EXP201312`
 │       ├─ TrainData/  # Train Data for localization
 │       │   ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Files per 15 minutes
 │       │   ├─ ... 
 │       │
 │       ├─ Views/  # Display information users view. (Activity called in Android) 
 │       │   ├─ ${YYYY-MM-DD_HH-MM-SS}.json  # Files per 15 minutes
 │       │   ├─ ...
 │       │ 
 │       └─ dev.json  # Device information
 │
 └─ StampRally_kawajiri/
     ├─ ...

ValidationData

Data for validation and test localization. The format of file name is ${YYYY-MM-DD_HH-MM-SS}.json.

 [{"fingerprint": {"2c:36:f8:60:08:02":  // ** MAC Address **,
                   ...},
   "location": {"latitude": 35.71440893673767,
                "accuracy": 0.5,
                 "longitude": 139.7619630396366,
                 "floor": "5F"}},
   ...
   ]

eng2/ Map Data

Data for drawing maps.

eng2/
 ├─ config.json  # Map information (latitude, longitude, bearing, size, ...)
 ├─ 1F.png  # Map of first floor
 ├─ ...
 └─ 12F.png  # Map of 12 floor

config.json Map information (latitude, longitude, bearing, size, …)

This file is also used in Android Apps. Therefore, there are some redundancies.

{"latitude": 35.714295,  // default information
 "longitude": 139.761845,
 "width": 60,  // units: meter
 "height": 60,  // unites: meter
 "bearing": -12.5,  // degree
 "defaultFloor": 11,
 "floorMaps": {  // Floor maps
    "12F": {"imagePath" : "12F.png",  // Name of image file
            "zIndex" : 12,
            "positions" : {},  // Do not write anything when it is same with defaults.
            "buttonIndex" : 0,
            "buttonText": "12F"},
    ...
    "5F": {"imagePath" : "5F.png",
           "zIndex" : 5,
           "positions" : {   // Write information when it is different from defaults.
              "height": 67.5,
              "latitude":   35.71426,
              "longitude": 139.761860},
           "buttonIndex" : 7,
           "buttonText": "5F"},
    ...
    "1F": {"imagePath" : "1F.png",
           "zIndex" : 1,
           "positions" : {   // Write information when it is different from defaults.
              "width": 68,
              "height": 73,
              "latitude":   35.71427,
              "longitude": 139.76185},
           "buttonIndex" : 11,
           "buttonText": "1F"}}}