I will be rolling my own custom engine.
Needs
* Search, routing
* Free-form navigation
* 3D audio output
* 2D mapping output
* GPS recognition
Implementation
* Java
* CityGML4J
* Android Platform
* Possibly C++
* MongoDB
Challenges
* Good 3D audio with effects (requires C++)
* Fast routing
* Variety of searches and ways to handle data
* Reasonably handling huge GML files
* Splitting up landscape
* Interface: supplying info to user (semantic and physical) purely through audio.
* Interface: Touch-screen that is blind friendly
* (These interface problems are partly addressed by my prototype)
Tuesday, February 25, 2014
User Study Continued
Optimal User Study
* Large volume of visually impaired persons
* App automatically converts model based on real-world version
* One group uses app to practice new space; control group does not
* Both groups navigate new space: Previously explained & surprise routes
* Study intends to show that automated conversion produces a map which does assist in real-world navigation.
Compromises:
* Sighted individuals
* Questionaire instead of real-world navigation
* Model is based on hypothetical building
* Large volume of visually impaired persons
* App automatically converts model based on real-world version
* One group uses app to practice new space; control group does not
* Both groups navigate new space: Previously explained & surprise routes
* Study intends to show that automated conversion produces a map which does assist in real-world navigation.
Compromises:
* Sighted individuals
* Questionaire instead of real-world navigation
* Model is based on hypothetical building
Monday, February 24, 2014
User Study: Permission to use Human Subjects
Instructions are here:
https://www.wm.edu/offices/sponsoredprograms/preaward/policies/compliancereqs/humansubjects/instructions/index.php
"
A properly completed protocol will include a brief rationale for the study, full procedures, description of the participants, copy of all tests, questionnaires, all interview questions, the informed consent form, and other pertinent information.
Please allow sufficient time (3-4 weeks) for review
"
https://www.wm.edu/offices/sponsoredprograms/preaward/policies/compliancereqs/humansubjects/instructions/index.php
"
A properly completed protocol will include a brief rationale for the study, full procedures, description of the participants, copy of all tests, questionnaires, all interview questions, the informed consent form, and other pertinent information.
Please allow sufficient time (3-4 weeks) for review
"
Tuesday, February 18, 2014
How does CityGML handle it?
(see posted CityGML tutorial).
* Stores geometric and semantic info.
* xml-based
* Geometric "bounding boxes"
* Has a tree structure
But we are concerned not only with membership (a window is a member of a
wall, a pc terminal is a member of a room) but also with proximity! We might
have a closer, more desirable match in a different room, within a different sub-tree.
Model Obligations
Model Obligations / Functions
* user can "bookmark" spaces; important spaces are
labelled--two-way searches (by location, by place-name) (e.g. "nearest
rooms" or "(nearest) bathroom."
* simple, step-by-step traversal (user navigation; primary function)
"Common case" (make common case fast)
* Model needs to understand function of elevators, stairs and doors.
Is speed important?
Not right now, but:
* Large scale representations--campus, town or even huge building -size --
could cause problems. We can't have n^2 or n^3 searches. Searches for
unhashed/untabled spaces could be disastrous. So hash everything? could look up
all "classrooms" in a table, find the nearest one.
* Also, CityGML files can get really big – there’s a lot of info here.
* Need reasonable "nearest" searches. Distance may be so great
that non-verbal aural feedback is useless; we still want to provide information
like "the closest comuter terminal is one floor up, 100 yards south"
* Routing -- we will often want to be able to quickly provide a route for
these places. Long-distance routing, too.
Free v. Gridded Movement
The prototype, which is essentially a 2D floorplan (although it does use
standard heights to generate trully 3D sound), operates as a grid. The
floorplan is split up into step-size squares that form a grid. Is this
appropriate for a final product—could we have step-size “cubes”? Should we have
finer detail? This also connects to the question of how the user should move
through the space. There are pros and cons to both free-movement and gridded
movement.
Free Movement
- Pro: More like real life. More fluid. More user freedom.
- Con: More difficult to represent & implement programmatically. More difficult for user to track routing & orientation. Lose some “step-counting” functionality. Steeper learning curve for user.
3D Space
How to represent 3D space?
What data structure(s) ?
Need both metadata (semantic info) & 3D geometry (this is why CityGML
is a good fit).
(Why do we need 3D space?)
* need to provide spatial information via audio cues (how big a space is,
reflected sounds, echos) -- requires coarse but variable height
* need to represent multiple stories/floors -- doesn't require variable
height; floors could be separate entities.
For the coming user study, we don't need "true 3D," because we
may not emulate advanced aural feedback--it is likely that our study will be
with sighted persons, who probably can't take advantage of this. We will use
OpenAL to generate basic 3D sound, neglecting echos, etc. This is to
save time.
However, we have to parse the CityGML anyway, and we might as well store
all the information; if we don't use it now, we'll want it later.
So how do we concisely and simply represent our 3D space? Most
relevant studies are concerned with 2D floorplans.
Subscribe to:
Posts (Atom)