Sensors: Beacons and BIM Models For Indoor Guidance and Location
Sensors: Beacons and BIM Models For Indoor Guidance and Location
Sensors: Beacons and BIM Models For Indoor Guidance and Location
Article
Beacons and BIM Models for Indoor Guidance
and Location
Joao C. Ferreira * , Ricardo Resende and Stuart Martinho
ISTAR-IUL, Instituto Universitário de Lisboa (ISCTE-IUL), Lisboa 1649-026, Portugal;
[email protected] (R.R.); [email protected] (S.M.)
* Correspondence: [email protected] or [email protected]; Tel.: +351-210-464-277
Received: 29 October 2018; Accepted: 7 December 2018; Published: 11 December 2018
Abstract: This research work uses a simplified approach to combine location information from a
beacon’s propagation signal interaction with a mobile device sensor (accelerometer and gyroscope)
with local building information to give real-time location and guidance to a user inside a building.
This is an interactive process with visualisation information that can help user’s orientation inside
unknown buildings and the data stored from different users can provide useful information about
users’ movements inside a public building. Beacons installed on the building at specific pre-defined
positions emit signals that give a geographic position with an associated imprecision, related with
Bluetooth’s range. This uncertainty is handled by building layout and users’ movement in a
developed system that maps users’ position, gives guidance, and stores user movements. This system
is based on an App (Find Me!) for Android OS (Operating System) which captures the Bluetooth
Low Energy (BLE) signal coming from the beacon(s) and shows, through a map, the location of the
user’s smartphone and guide him to the desired destination. Also, the beacons can deliver relevant
context information. The application was tested by a panel of new and habitual campus users against
traditional wayfinding alternatives yielding navigation times about 30% smaller, respectively.
Keywords: indoor location; mobile app; building information models; BLE; Beacon; Path Finding; A*
1. Introduction
Buildings such as hospitals, schools, shopping centers, or transportation interfaces are increasingly
large and complex and therefore hard to navigate efficiently, both for occasional and frequent users.
Even when spatial clarity is built into the design, adaptations introduce entropy and compromise the
initial intention. Since environmental cues such as sunlight are missing, signage-based orientation,
maps, and human-assistance are the traditional methods of orientation. Users usually choose to
wander and explore on their own, then ask for directions and sometimes get lost again. It is of the
interest of building owners to help users. GPS and inertia based mobile apps are today ubiquitous in
outdoor navigation, but GPS is not available indoor. Indoor navigation based on smartphones has been
attempted and provides a number of challenges [1]. This life-problem can be easily solved by an Indoor
Location System (ILS). An Indoor Positioning System usually implemented via Bluetooth, infrared,
magnetic field and/or WIFI, serves the purpose of finding the position of an electronic device-phone,
tablet, watch-and, when the smart device connects with the ILS, the system can store that data and use
it to inform on the building utilization. A second problem is that indoor maps with relevant, usable
information that can be integrated easily in digital apps are usually not available.
This study employs two established technologies to develop a cost-effective solution. A mobile
application that resorts to Bluetooth beacons for indoor user localization and Building Information
Models (BIM) [2] for physical context. Bluetooth beacons broadcast a Bluetooth Low Energy (BLE)
signal in a limited and configurable range. This signal can be interpreted by the mobile device as
the location of the user in the building, without the need of internet connection. BIM models, the
evolution of traditional Computer-Aided Design (CAD) drawings, associate both three-dimensional
geometric and a database of all kinds of information: materials; spaces, or equipment and thus provide
necessary context both for the location and navigation. Since most new construction today is based
on BIM methodology, the effort for the development of a navigation application using the developed
methodology is minimal.
A mobile application—Find Me! App—that integrates Bluetooth beacons and BIM models to show
the user his location and the path to the destination was developed for Android smartphones. The most
important parts of the Find Me! App are the user’s current location (from the nearest beacon) and the
Building Information Model, which holds room, beacon, stair, and elevator locations and navigation
maps and delivers the location of the destination. Beacons are configured with identification data
and are placed based on automatic analysis of the building geometry. Having origin and destination,
a Path Finding Algorithm (A* Search Algorithm [3,4]) calculates the shortest path between these points
and draws it on a map to guide the user to his destination. As the user intersects another beacon
region, the new user’s current location and the path are updated.
2. State of Art
There are diverse technologies that can be employed in Indoor Location Systems (ILS), an overview
can be checked at [5,6]. Table 1 outlines the pros and cons of the main ones, adapted from [5].
The following categories are considered: Tracking Accuracy: considers the location precision that the
device can return to the system; Maintenance Effort: describes cost and human effort in maintenance
and updating the equipment; Industry Uptake: refers to how quickly the ILS is acquired by customers
in the global market; Security and Privacy: represents Security and Privacy that this ILS can provide
to the system; and Installation Cost. Comparing all the evaluated categories Beacon technology
presents the best average between Pros and Cons and is chosen as the Indoor Location technology for
this project.
Table 1. Pros and Cons of different Indoor Location System (ILS) devices.
for the Architecture, Engineering, and Construction (AEC) industry. BIM implementation is robust,
in the first stages (design and construction) of the building life-cycle, and weaker in the final stages:
operation and decommissioning [7]. In most new facilities, a BIM model is developed during the
design phase and in some cases updated during construction. In the worst case, this model will hold a
description of the geometry and materials, in the best-case relevant equipment, room names, and a
description may be available.
Autodesk’s Revit [8] is one of the most widely used BIM softwares, and, as like most of them, it is
built over a database. It is accessible with API [9]. NET compatible languages such as VB.NET and
C#, renders it possible to connect the model to external information systems and import and export
building-related information. The Dynamo [10] language gives easier access to Revit’s API through
visual programming. In the case of relatively simple applications that don’t demand high performance,
Dynamo allows for quicker development, although the maintenance cost is higher.
2.2. User Location/Orientation Systems and Mapping Applications Using Similar Technologies
Integration of BIM and sensors installed on buildings is one of the most relevant research topics in
building construction and management, both for the industry [11] and for the academia. This dialogue
meets with several difficulties, the major being the lack of open/common standards for sensor data
exchange [12], and the current incapacity of BIM’s open standard IFC (Industry Foundation Classes)
in handling and storing sensor data [13]. There’s ongoing research focuses on the development of
IFC scheme to include sensor data [14], while discussing alternatives: Alves [15], also discusses
sensor data-BIM integration in detail and proposes languages developed for the purpose: Building
Information Modeling Sensor Language (BIMSL).
Works such as [16] develop a static connection between sensors and BIM model in a university
laboratory, the authors of [17] integrate real-time sensor data used to assess the structural response of
a bridge deck in its BIM model. Bottacioli [18] integrates data from several sources: environmental
sensors (temperature, humidity, and electricity consumption), historical and real-time meteorological
and BIM-based building energy modelling, to assess building expected and real thermal behavior.
University campuses present excellent test-beds because of their centralized management, intensive
utilization, and openness to research activities: the authors of [12] integrate sensors in a campus-wide,
web-based system based on IFC and open messaging standards to gather energy, occupancy, and user
feedback comfort while also providing other services to users such as room booking, location, and
navigation assistance.
Regarding indoor mapping and navigation, Lin and Ho [19] describe a mobile app Indoor Location
System using Beacon technology, applied to doctors and patients on a Hospital environment that
shows patient position/location on a map, but does not employ BIM technology to feed the application.
On the specific topic of this paper, an indoor location associated with BIM [20] employ multimodal
sensors for indoor location and use building geometry extracted from BIM model (restricted to one
building level) to improve location precision. Shayeganfar [21] combines semantic and geometric
information from BIM models and propose a navigation solution to be implemented on Android
smartphones for people with special needs, but do not detail indoor location methods or implement
the solution.
More specific research on the utilization of BIM for detailed navigation around obstacles
(structural, openings, and furniture) with the goal of assisting in autonomous navigation [14,22,23] is
being pursued, but only go so far as to demonstrate that BIM models contain the necessary information
and that information can be extracted and used, but do not actually develop and test a complete
navigation and indoor location system. The authors of [24] implement a hybrid BIM-Bluetooth System
to locate workers and dangerous locations in construction sites.
This work’s novelty and contribution is not the development of a new framework, language,
or platform for BIM + IoT (Internet of Things) integration, but a standalone mobile application
Sensors 2018, 18, x FOR PEER REVIEW 4 of 20
Sensors 2018, 18, 4374 4 of 20
harvests geometric and semantic building information, including installed Beacon location and
configuration from a BIM model.
which harvests geometric and semantic building information, including installed Beacon location and
configuration
3. from a BIM model.
Proposed Approach
The primary
3. Proposed Approachgoal of this project is the development of an indoor guidance app that uses
Bluetooth beacons for location and BIM for physical context information. The secondary goal is to
obtain The primary goal
information of this
about projectutilization
building is the development
patterns, of an indoor
which is notguidance
covered inapp that
the uses Bluetooth
present research
beacons
work. for location and BIM for physical context information. The secondary goal is to obtain
information about building
In the proposed utilization
app, once the user’spatterns,
currentwhich is notiscovered
location obtainedinthrough
the present
the research work.
interception of a
In the proposed app, once the user’s current location is obtained through
beacon region, the user has the option to insert the destination room. The mobile app then calculates the interception
of ashortest
the beacon path
region, the user
between the has
currentthe option
locationtoandinsert
the the destination
destination, usingroom. The
a Path mobile
Finding app then
Algorithm.
calculates the shortest path between the current location and the
The calculated path is shown on the map and is updated step-by-step (when a new beacondestination, using a Path Finding
is
Algorithm. The calculated path is shown on the map and is updated step-by-step
intersected) until the destination room is reached. If the user chooses not to follow the proposed (when a new beacon
path,
is intersected)
the until the destination
App will recalculate the way to the room is reached.
chosen If the user chooses not to follow the proposed
destination.
path,Each
the App will recalculate the way to the chosen destination.
user role has a defined role as described in the list below and in Figure 1.
Each user role has a defined role as described in the list below and in Figure 1.
• End User: any facility user that installed the Find Me! App on an Android smartphone.
•• End User:
System any
and facility user
Database that installedbuilds
Administrator: the Find
or Me!
adaptsApp a on
3D an
BIMAndroid smartphone.
the model of the building;
• System and Database Administrator: builds or adapts a 3D
generates maps and input data to the mobile App, e.g., facility geometry, room, BIM the model of the
andbuilding;
beacon
generatesconfigures
location; maps andand input data the
installs to the mobile
beacons App,
in the e.g., facility geometry, room, and beacon
facility.
• location; configures
Developer: developsand andinstalls
maintainsthe beacons
the mobilein the
App facility.
Find Me! code.
• Developer: develops and maintains the mobile App Find Me! code.
The Find Me! project has three main system modules, represented in Figure 2 and described
below: The Find Me! project has three main system modules, represented in Figure 2 and described below:
•• Beacon
BeaconInstallation
InstallationProcess:
Process:The Theinitial
initialinstallation
installationstarts byby
starts finding
finding thethe
minimum
minimum number
numberof
beacons andand
of beacons theirtheir
location considering
location the facility
considering layout
the facility extracted
layout fromfrom
extracted the BIM model.
the BIM The
model.
beacons mustmust
The beacons be configured, placed
be configured, in theinfacility
placed and inserted
the facility in theinBIM
and inserted model.
the BIM model.
•• Front-end
Front-end Mobile
Mobile App:
App: The The user
user interface
interface (UI)
(UI) side
side where
where thethe user
user inserts
inserts the
the Destination,
Destination,
configures
configures Options and receives dynamic orientation: the Map with the optimized path; Crucial
Options and receives dynamic orientation: the Map with the optimized path; Crucial
Orientation
OrientationPhotos
Photosto toconfirm
confirmthe theuser
userisisin
inthe
theright
rightway.
way.
•• Back-end
Back-end Mobile
Mobile App:App: Contains
Contains aa Local
Local Database
Database that
that stores
stores beacon
beacon and and room
room location,
location,
automatically
automatically extracted from the BIM model. The Beacon Manager scans for beacons beacons
extracted from the BIM model. The Beacon Manager scans for and
and manages
manages
data fromdata
eachfrom each intersected
intersected beacon
beacon signal. Thesignal. The Mapmanages
Map Manager Managerand manages and configures
configures the map(s)
the map(s) returned to the user interface. Beacon, room, stair, and elevator
returned to the user interface. Beacon, room, stair, and elevator location and map images location and mapare
images are generated by the BIM model and stored locally when the app is installed
generated by the BIM model and stored locally when the app is installed on the user’s smartphone. on the user’s
smartphone. The Path
The Path Finding Finding
Algorithm Algorithm
calculates thecalculates the shortest
shortest path betweenpath between
the user thedestination.
and the user and the
destination.
Figure 1. Find
Figure 1. Find Me!
Me! uses
uses aa case
case diagram.
diagram.
Sensors 2018, 18, 4374 5 of 20
Sensors 2018, 18, x FOR PEER REVIEW 5 of 20
Figure
Figure 2.
2. Find
Find Me!
Me! architecture.
architecture.
In the current work, ISCTE-IUL’s facility management office has been developing a BIM model
which is being used used toto feed
feed maps,
maps, room
room listings,
listings, and
and locations,
locations, as
as well
well asas beacon
beacon locations.
locations. This
proves a significant advantage because since the BIM models are based on a database that can be
queried and updated (currently not in real time) with information to and from the app. To build a
visual-based navigation system, easy to read drawings are needed for the UI, and information about
rooms, paths, building entrances, stairs, and elevators are needed for the pathfinding engine. Getting
this information in a format that can can be
be consumed
consumed by by the
the application
application is
is time-consuming.
time-consuming. Building
Information Modelling can significantly facilitate this task. task.
The BIM methodology
methodology depends
depends on common, interoperable formats, but
interoperable formats, but also on the controlled
controlled
information sharing that breaks down information silos. In the current case, a BIM
information sharing that breaks down information silos. In the current case, a BIM model of the campus model of the
campus
is is being developed
being developed by theFacilities
by the campus campusManagement
Facilities Management team
team [25]. This [25]. includes
model This model includes
the complete
the complete geometrical description of the building including all room names. To make
geometrical description of the building including all room names. To make it useful to this application it useful to
this application
more informationmorewas information
added, namely: waselevators
added, namely:
and stairselevators and stairs
were modeled, werewere
beacons modeled,
modeled beacons
with
were modeled
all relevant with all
location andrelevant location
all areas of the and all areas
building wereofparameterized
the building were parameterized
as walkable as walkable
and non-walkable.
and software
The non-walkable. The
used for thesoftware used for
development theBIM
of the development
model wasofAutodesk’s
the BIM model
Revitwas Autodesk’s
version 2019. Revit
version 2019. scripting language was used to extract lists of rooms with their coordinates, name,
Dynamo
floor,Dynamo scripting
and building; language
a list waswith
of beacons usedcoordinates
to extract lists
andofIDrooms with their
information andcoordinates, name,offloor,
the coordinates the
and building;
nearest a list
stair and of beacons
elevator, andwith coordinates
automatically and ID information
generated images of the and the coordinates
walkable regions of
in the
eachnearest
floor.
stair and elevator, and automatically generated images of the walkable regions in each floor.
3.2. Beacon Installation Process
Bluetooth Beacons are the most expensive component of the navigation system, so optimization
of their number, location, and signal configuration are essential. Prior to installation, beacons must
be configured both physically and in the BIM model. Estimote beacons can be setup to follow the
Sensors 2018, 18, 4374 6 of 20
o UBroadcasting power can be set from −40 dBm (minimum) to +4 dBm (maximum)
corresponding to a range between 2 and 70 m if no obstacles are present between Beacon
and receiver.
o Advertising frequency of the transmission packets, which can be configured from 100 ms to
2000 ms. A lower frequency and broadcast increase battery life. We use a parameterization
of 1000 ms.
• Beacon Identification Parameterization:
The protocol is suitable for this project because in each BLE packet three fields are sent thus
providing the ability to have more combinations, create a beacon hierarchy and be more specific when
identifying beacons’ signal origin and provide context information.
Every beacon must be pre-configured before deployment, by creating an account at the Estimote
Cloud website, where the beacons are claimed and configured. Beacon Name follows a nomenclature
was defined: ED + [Building number] + P + [floor number] + [Alphabet letter] to facilitate beacon
identification. An example of a beacon name is ED1P1C: Building 1; Floor 1; third beacon. All beacons
are configured with the same UUID to create a private beacons mesh, which prevents the addition
of external beacon by other users. Major and minor fields differentiate beacons inside the mesh
Parameterization is applied to beacons through the Estimote mobile app. A smartphone using internet
access and Bluetooth connections work as a gateway between the Estimote Cloud and the beacons.
Figure
Figure 3. Location
3. Location
Location of of
thethe
of the two
twotwo signal
signal
signal propagation
propagation
propagation zones
zones
zones in in building
in building
building floor
floor
floor plan
plan
plan in in ISCTE-IUL’s
in ISCTE-IUL’s
ISCTE-IUL’s Building
Building
1 (Left),
1 (Left), thethe perspective
perspective of the
of the mezzanine
mezzanine zone,
zone, marked
marked
marked in green
in green (Middle)
(Middle) andand of the
of the corridor
corridor
corridor zone,
zone,
zone,
marked
marked in blue
in blue (Right).
(Right).
Figure
Figure 4. Signal
4. Signal propagation
propagation testtest locations:
locations: mezzanine
mezzanine (Left)
(Left) andand corridor
corridor (Right).
(Right).
Presented
Presented test
test
test layouts
layouts
layouts andand
and results
results are
areare condensed,
condensed,
condensed, refer
refer
refer to to tofor
[29]
[29] [29]
for afor a complete
complete
a complete description.
description.
description. Figures
Figures
Figures
5–75–7 5–7 displays
displays
displays three
three three
testtest test configurations
configurations
configurations investigatinginvestigating
investigating signal
signal signal superposition
superposition
superposition between
between between
floors
floors floors
(upwards
(upwards
(upwards
andand and downwards),
downwards),
downwards), propagation
propagation propagation
in in open
open areas,in both
areas,open
both areas,
along
along both along
corridors
corridors andandcorridors
in in andbalconies.
mezzanine
mezzanine inbalconies.
mezzanine Also
Also
tested
tested is the
is the installation
installation of aof200
a 200 × 200
× 200 × 2×mm2 mm steel
steel plate
plate between
between thethe beacon
beacon and
and thethe ceiling
ceiling to redirect
to redirect
thethe signal
signal downwards.
downwards.
The
The propagation
propagation tests
tests results
results ledled
to to
thethe following
following conclusions:
conclusions:
• • In In
thethe three-floor
three-floor mezzanine,
mezzanine, thethe signal
signal power
power attenuation
attenuation is is much
much smaller
smaller andandin in some
some testtest
configurations
configurations andand user
user positions
positions (not
(not shown
shown in in Figure
Figure 5) 5)
thethe signal
signal from
from thethe lower
lower floor
floor is is
Sensors 2018, 18, 4374 8 of 20
balconies. Also tested is the installation of a 200 × 200 × 2 mm steel plate between the beacon and the
ceiling to redirect the signal downwards.
The propagation tests results led to the following conclusions:
• In the three-floor mezzanine, the signal power attenuation is much smaller and in some test
configurations and user positions (not shown in Figure 5) the signal from the lower floor is
Sensors 2018, 18, x FORthe
stronger PEER REVIEW 8 of 20
Sensors 2018, 18, xthan
FOR PEER signal
REVIEWfrom the tester’s floor leading to an incorrect user position. 8 of 20
• Tests with beacons vertically aligned on floors separated by 0.3 m thick reinforced concrete floors
• Tests with beacons vertically aligned on floors separated by 0.3 m thick reinforced concrete
• Tests with
(Figure beacons
5) showed vertically
that these doaligned
not block onthe
floors separated
signal by 0.3
entirely, but m thick
attenuate reinforced concrete
it significantly leaving
floors (Figure 5) showed that these do not block the signal entirely, but attenuate it significantly
floors
no doubt(Figure 5) correct
on the showedlocation.
that these do not block
Variations the signal
of tester entirely,
and beacons buttoattenuate
lead it significantly
similar results.
leaving no doubt on the correct location. Variations of tester and beacons lead to similar results.
• leaving
In tests no doubt
along theon theofcorrect
axis location.
a corridor Variations
(Figure 6) onlyofthe
tester and beacons
nearest-same leadastoasimilar
floor results.
tester-beacon
• In tests along the axis of a corridor (Figure 6) only the nearest-same floor as a tester-beacon was
• In tests
was along the axis of a corridor (Figure 6) only the nearest-same floor as a tester-beacon was
received.
received.
received.
•• Tests
Testswith
withaa200 200mmmm×× 200
200 mm mm × × 55 mm
mm steel
steel plate
plate (Figure
(Figure 7)7) installed
installed between
between thethe beacon
beacon and
and
• Tests
the with showed
ceiling a 200 mm × 200
that it mm × 5 mm
successfully steel the
blocks plate (Figure
BLE signal 7)from
installed between
propagating the beacon and
upwards.
the ceiling showed that it successfully blocks the BLE signal from propagating upwards.
the ceiling showed that it successfully blocks the BLE signal from propagating upwards.
Figure 5. Test configuration in mezzanine (a green region in Figure 3) and a screen print of the
Figure 5.
Figure 5. Test
Test configuration
configuration in
in mezzanine
mezzanine (a
(a green
green region
region in
in Figure
Figure 3)
3) and
and aa screen
screen print
print of
of the
the
corresponding NearestBeacons App.
corresponding NearestBeacons
corresponding NearestBeacons App.
App.
Figure 6.
6. Test ininthe
Testin corridor
the corridor (a (a
green region
green in Figure
region 3): interference
in Figure between
3): interference floors with axis
between placed
Figure
Figure 6. Test the corridor (a green region in Figure 3): interference between floors floors with
with axis axis
placed
on theon
placed same vertical alignment (Left); interference between beacons placed along the axis the
on the same vertical alignment (Left); interference between beacons placed along the axis of the
the same vertical alignment (Left); interference between beacons placed along the axis of the
corridor
corridor (Right).
corridor (Right).
(Right).
With
With these
these simple
simple tests,
tests, the
the mechanics
mechanics of of BLE
BLE signal
signal propagation
propagation on on the
the pilot
pilot building
building was
was
With these simple tests, the mechanics of BLE signal propagation on the pilot building was
gathered.
gathered. Other
Other tests
tests on
on the
the same
same building
building could
could provide
provide further
further insights
insights into
into the
the influence
influence of
of light
light
gathered. Other tests on the same building could provide further insights into the influence of light
walls
walls with
with steel
steel structure,
structure, false
false ceilings
ceilings or
or cable
cable trays,
trays, but
but these
these were
were not
not determinant
determinant on our pilot.
walls with steel structure, false ceilings or cable trays, but these were not determinant on our pilot.
The
Thefollowing
followinglistlistcontains
containsthethemajor
majorconclusions
conclusionsof ofthe
thetests:
tests:
The following list contains the major conclusions of the tests:
••• In In areas with
In areas
with vertical communication
areas with vertical
communication such as
vertical communication such
as stairs and
such as stairs
and mezzanines signal
stairs and mezzanines
signal strength must
mezzanines signal strength
must be
strength must be be
decreasedto
decreased toobtain
obtainaasmaller
smallerrange;
range;
decreased to obtain a smaller range;
••• In In verticalalignments
In vertical
alignments separatedby
vertical alignments separated
by a concretefloor,
separated by aa concrete
floor, a beaconper
concrete floor,aabeacon
per floorisisnecessary,
beacon perfloor
necessary,
floor is necessary,
• In long (15–20 m) corridors there is no risk of signal interference, and a beacon may be placed at
• In long (15–20 m) corridors there is no risk of signal interference, and a beacon may be placed at
each end of the corridor;
each end of the corridor;
It should be noted that in buildings with other structures and construction systems different
It should be noted that in buildings with other structures and construction systems different
tests might be necessary.
tests might be necessary.
Sensors 2018, 18, 4374 9 of 20
• In long (15–20 m) corridors there is no risk of signal interference, and a beacon may be placed at
each end of the corridor;
It should be noted that in buildings with other structures and construction systems different tests
might be necessary.
Sensors 2018, 18, x FOR PEER REVIEW 9 of 20
Test of
Figure 7. Test of signal
signal blocking
blockingwith
withaa2020mm
mm×× 200 mm × × 22 mm
mm steel
steel plate
plate between the beacon and
3): beacon installation (b) and NearestBeacons App
the ceiling in a corridor (a green region in Figure 3):
results showing no no received
received signal
signal (c).
(c).
AA systematic
systematic approach
approach was was applied
applied to to extract
extract information
information regarding
regardingentry/exits
entry/exits points
points from BIM
from BIM
models. At
models. At points
points where
where user presence is
user presence is to
to bebe collected,
collected, aa beacon
beacon is is placed.
placed. SoSo building
building geometry
geometry
information extracted from the BIM model is used to set a list of locations
information extracted from the BIM model is used to set a list of locations for the beacon placement as for the beacon placement
as illustrated
illustrated in in Figure
Figure 8. 8. Basically
Basically it it extracts
extracts entry/exitpoints
entry/exit pointsand andplaces
placeswhere
where decisions
decisions have
have to
to be
be
made and
made and calculates
calculates distances
distances for for beacons
beacons powerpower output
output configuration,
configuration, following
following rules
rules in
in Figure
Figure 8.
8.
After locations are determined, they are inserted in the BIM model. Then,
After locations are determined, they are inserted in the BIM model. Then, distances between beacons distances between beacons
are extracted
are extracted from
from the
the BIM
BIM model,
model, and and the
the beacon
beacon signal
signal strength
strength is is configured.
configured. BLE BLE signal
signal overlap
overlap
between beacons
between beaconsisispossible
possibleininsome some situations,
situations, butbut
thethe FindMe!
FindMe! App Appusesuses
the the NearestBeacons
NearestBeacons AppApp
sort
sort function to rank highest to lowest RSSI values, in cases where more than
function to rank highest to lowest RSSI values, in cases where more than one signal is intercepted. This, one signal is intercepted.
This, conjugated
conjugated with thewith the presented
presented heuristic heuristic
assures assures
to a hightodegree
a highthat degree that the
the correct correctislocation
location is
indicated.
indicated.
The oldest building of the ISCTE-IUL campus was chosen as a test-bed. Building Sedas Nunes has
threeThe oldest building
above-ground floors,offour
the ISCTE-IUL campus was
main entrances/exits, chosen
four stairsasserving
a test-bed. Building
all three floorsSedas Nunes
and around
has rooms.
300 three above-ground
It has the shape floors,
of anfour
80 mmainlongentrances/exits,
square with a 20four stairs
m long serving
interior all three Rooms
courtyard. floors and
are
around 300 rooms. It has the shape of an 80 m long square with a 20
named following the nomenclature of [floor number] + [cardinal point orientation of the wing] m long interior courtyard. Rooms +
are named following
[incremental number of thethe
nomenclature of [floor room,
room]. For example number] 2E10 + [cardinal
is locatedpoint
on theorientation
second floorof the wing]
on the East+
[incremental
aisle numberand
of the building of the room]. Forisexample
sequentially the fifth room,
on the 2E10 is located
left side on the second floor on the East
of the corridor.
aisle Given
of the building and sequentially is the fifth on the left
the layout of the pilot building, with similar plans in all floors, side of the corridor.circular circulation and
Given
vertical the layout ofinthe
communication thepilot building,
corners, with similar
application of these plans
rulesinled
all to
floors, circular circulation
the following and
configuration:
vertical communication in the corners, application of these rules led
eight beacons for each floor, in the corners and middle of the corridors, a total of 24 beacons. to the following configuration:
eight beacons for each floor, in the corners and middle of the corridors, a total of 24 beacons. Based
on performed tests App always catch beacon signal and since we use a metal plate to cut propagation
to upper flow there is no wrong information. We arrived at 100% accuracy process and based on the
received strength signal using beacon location information the location precision has always below
0.5 m.
Sensors 2018, 18, 4374 10 of 20
Based on performed tests App always catch beacon signal and since we use a metal plate to cut
propagation to upper flow there is no wrong information. We arrived at 100% accuracy process and
based on the received strength signal using beacon location information the location precision has
Sensors 2018, 18, x FOR PEER REVIEW 10 of 20
always below 0.5 m.
Figure 8. Beacon placement rules diagram (Left) and beacon signal power rules
rules diagram
diagram (Right).
(Right).
3.4.
3.4. Building
Building Information
Information Extraction
Extraction
Due
Due to to increasing
increasing BIM BIM penetration
penetration in in the
the construction
construction industry,
industry, most
most new
new building
building designs
designs are
are
designed
designed using the BIM methodology. Due to low building owners’ awareness of the potential of
using the BIM methodology. Due to low building owners’ awareness of the potential of
BIM in building management, this model is seldom transferred to
BIM in building management, this model is seldom transferred to the owner. However, Facility the owner. However, Facility
Managers
Managers are are growing
growing aware
aware of of the
the relevance
relevance and and develop
develop the the model
model from
from existing
existing 2D2D blueprints,
blueprints,
which
which is the case of ISCTE-IUL which has transferred its blueprints to digital, 3D BIM format.
is the case of ISCTE-IUL which has transferred its blueprints to digital, 3D BIM format. This
This
model is linked to the IT systems for room occupation and characteristics
model is linked to the IT systems for room occupation and characteristics update via a unique room update via a unique room
identifier
identifier key.
key. AllAll building-related
building-related data data that
that provides
provides the the FindMe!
FindMe! App App with
with physical
physical context
context isis
extracted
extracted fromfrom thethe pilot
pilot building
building BIM BIM file,
file, modeled
modeled in in the
the Autodesk
Autodesk Revit
Revit format.
format. TheThe model
model was
was
upgraded
upgraded to to Revit
Revit version
version 2019,
2019, and
and aa few
few adaptations
adaptations werewere made
made toto the
the geometry,
geometry, namely
namely correction
correction
and
and reparameterization of stairs and elevators and insertion of missing doors. Classroom and office
reparameterization of stairs and elevators and insertion of missing doors. Classroom and office
information
information (occupants,
(occupants, department,
department, and and school)
school) was was imported
imported intointo the
the model
model from
from thethe university’s
university’s
academic
academic management
managementsystem system using dedicated
using Dynamo
dedicated scripts,scripts,
Dynamo and parameterization of all remaining
and parameterization of all
areas, such as circulation hall, elevator, stair, and technical non-access areas,
remaining areas, such as circulation hall, elevator, stair, and technical non-access areas, was manuallywas manually added to
the
addedmodel.
to theAmodel.
Dynamo routine that
A Dynamo scans
routine each
that scansdoor
eachin door
the model
in the retrieves the identification
model retrieves of the
the identification
room the door serves (i.e., opens to) and writes that id in the door “Mark”
of the room the door serves (i.e., opens to) and writes that id in the door “Mark” parameter was parameter was developed
and appliedand
developed to the model.
applied to theThis way navigation
model. is facilitated
This way navigation since when
is facilitated a user
since wishes
when a usertowishes
navigateto
to a room he is led not to the center of the room but to one of its doors. Finally,
navigate to a room he is led not to the center of the room but to one of its doors. Finally, a Revit family a Revit family with
identification
with identificationand broadcast parameters
and broadcast was created
parameters for the beacons,
was created which were
for the beacons, whichindividually inserted
were individually
into the model,
inserted into the along withalong
model, their alphanumeric information.information.
with their alphanumeric These modeling Thesetasks were performed
modeling tasks wereby
aperformed
trained BIM modeler in about two days, not counting with Dynamo
by a trained BIM modeler in about two days, not counting with Dynamo routines routines development.
development.
The next step is then to integrate beacons, doors, stairs, elevators locations, and their
interrelationships into the FindMe app, and create two kinds of floor plans: one for user visualization
and another for internal app navigation. This analysis and export are performed by a set of Dynamo
routines that analyze the model and generate two Comma-Separated Values (CSV) files for the
Sensors 2018, 18, 4374 11 of 20
The next step is then to integrate beacons, doors, stairs, elevators locations, and their
interrelationships into the FindMe app, and create two kinds of floor plans: one for user visualization
and another for internal app navigation. This analysis and export are performed by a set of Dynamo
routines
Sensors
Sensors 2018,
that
2018, 18,analyze
18, xx FOR
FOR PEERtheREVIEW
PEER model and generate two Comma-Separated Values (CSV) files for the building
REVIEW 11 of
11 of 20
20
and two 2D Portable Network Graphics (PNG) files per floor.
The Main
The Main Dynamo
MainDynamo script
Dynamoscript for
scriptfor forbeacon
beacon
beacon and
andanddoor/room
door/room
door/room tables
tables production
tables production
production can be
can be
can downloaded
be downloaded
downloaded from
from
[29,30],
from and
[29,30], displays
and two
displays examples
two of
examples1000 ×
of 1000
1000 pixel
× 1000 2D PNG
pixel
[29,30], and displays two examples of 1000 × 1000 pixel 2D PNG files. All information is generatedfiles.
2D PNGAll information
files. All is generated
information is
directly
generated
directly from
from the
directly BIM
the BIM model,
frommodel,
the BIM including room
model, including
including identification. In
room identification.
room identification. the navigation plan,
In the navigation
In the navigation the
plan, the plan,red area
red area the
indicates
red area zones
indicates where
zones navigation
where is allowed.
navigation is The allowed
allowed. The areas
allowed
indicates zones where navigation is allowed. The allowed areas correspond to “rooms” in the BIM correspond
areas to
correspond “rooms” to in the
“rooms” BIM in
model
the BIM that are
model tagged
that are as walkable,
tagged as depending
walkable, on their
depending classification,
on their as previously.
classification,
model that are tagged as walkable, depending on their classification, as previously. A first Dynamo as A first
previously. Dynamo
A first
script
Dynamo
script extracts
extracts stair
scriptstair and stair
extracts
and elevator location
and location
elevator (coordinates
elevator (coordinates and building
location (coordinates
and building floor) and
and building
floor) and the floors
floor)
the floors
and the each of them
floors
each of them
each
serves.
of them Then
serves. two
Thenother
two scripts,
other shown
scripts, in
shown [29,30]
in extract
[29,30] beacon
extract
serves. Then two other scripts, shown in [29,30] extract beacon and door location and internalbeacon andand door
door location
location and
and internal
internal
parameters and
parameters and determines
determines
determines the the stair
stair and
and elevator
elevator closer
closer to to each
each beacon
beacon and and door
door and and generate
generate the the
CSV files.
CSV files. All
All coordinates
coordinates are converted from
are converted
converted from meters
from meters to
meters to aaa 1000
to 1000 ×
1000 ×× 1000
1000 pixel
1000 pixel grid.
pixel grid.
grid. In In the
Inthe pilot
thepilot building,
pilotbuilding,
building,
this corresponds to approximately 10 pixel/meter,
pixel/meter, which
which is
is a
this corresponds to approximately 10 pixel/meter, which is a good compromise between location good compromise between location
precision/image
precision/image quality
precision/image quality and
quality and file
and file size.
file size. The
size. The origin
The origin of
origin of the
of the grid
the grid
grid is is coordinated
is coordinated
coordinated with with
with the the PNGPNG files
files view
view of of
the floor
the floor plans.
plans.
Figures 99 and
Figures and 1010 display
display CSV CSV files
files containing
containing room room and and beacon
beacon information.
information. In In both
both files,
files, each
each
entity is identified, in the case of rooms through its number, in the
entity is identified, in the case of rooms through its number, in the case of beacons through: Name; case of beacons through: Name;
Name;
unique UUID; Major integer (which
(which identifies
identifies the
unique UUID; Major integer (which identifies the building number, in this building
building number, in this case always 1); Minor
Minor
integer (which identifies
integer (which identifies the beaconthe beacon
beacon insideinside the
inside the building,
the building, starting
building, starting
starting at at 1).
at 1). Then, the room/beacon
1). Then, the room/beacon location location
location
coordinates; building
coordinates; buildingnumber;
building number;
number; floor floor
number;
floor number; closest
closestclosest
number; stairs coordinates;
stairs coordinates;
stairs coordinates;
and closest and
and closest
elevator
closest elevator
coordinates
elevator
coordinates
are provided.
coordinates are provided.
are provided.
Figure
Figure 9. CSV
Figure 9. CSV file
CSV file containing
file containing room information.
containing room information.
Figure 10.
Figure CSV file
10. CSV
CSV file is
file is containing
containing beacon
beacon information.
information.
4. Find
4. Find Me!
Me! Mobile
Mobile App
App
4. Find Me! Mobile App
The application
The applicationcomprises
comprisesseveral modules
several moduleswhich are are
which summarized in Figure
summarized 2 and2described
in Figure
Figure below.
and described
described
The application comprises several modules which are summarized in 2 and
below.
below.
The Beacon
The Beacon Manager
Manager handles
handles aa beacon
beacon signal
signal that
that is
is intersected
intersected while
while the
the user
user is
is moving
moving in
in the
the
building. Estimote’s Software Development Kit (SDK) includes an API to handle the BLE
building. Estimote’s Software Development Kit (SDK) includes an API to handle the BLE connection connection
to all
to all intersected
intersected beacon
beacon signals
signals and
and processes
processes the
the data
data packets.
packets. This
This SDK
SDK isis added
added asas aa dependency
dependency
of the Android Studio project and version 1.4. was used. After adding the dependency, the Android
Sensors 2018, 18, 4374 12 of 20
The Beacon Manager handles a beacon signal that is intersected while the user is moving in the
building. Estimote’s Software Development Kit (SDK) includes an API to handle the BLE connection
to all intersected beacon signals and processes the data packets. This SDK is added as a dependency
of the Android Studio project and version 1.4. was used. After adding the dependency, the Android
Studio compiler automatically synchronizes the gradle, and the Estimote API is ready to use in the
code. To start beacon monitoring, the connect() method is called to switch on the smartphone BLE
receiver. Besides that, in this method it’s possible to filter which kind of beacons to intersect, creating a
private Beacon Region instance.
The Beacon Configuration checks the intersected beacon’s UUID value with the app-recorded
one: 7AE702E0-E1A7-EEA9-E127-4C304EC7D4DF. It’s intended to get all beacons in this mesh, so the
third and fourth arguments are set to null to intersect beacons with different major and minor values.
After calling the connect() method, the app is able to receive BLE packets by calling the
BeaconMonotoringListener() method. This method can be triggered in two cases: when entering and
leaving a beacon region. The onEnteredRegion method is triggered when more than one BLE packet is
received. After that, it’s assumed that the user is in a beacon region if BLE packets are received. This
method also gives access to an intersected beacons list (ordered by the closest beacon to the farthest,
the RSSI value). For each beacon, the UUID, Major and Minor values are received. In the current
implementation, these values are sent to the app database as a query, to identify the coordinates of the
beacon and the user. If the receptor, the smartphone, stops receiving that kind of packets it will trigger
the onExitedRegion, and it’s assumed that the Beacon Region is abandoned. The Beacon Manager, when
initialized, runs as a background thread that always looks for BLE packets from the moment the user
runs the App until he/she closes it. This feature allows the update of the path during utilization.
A Local Database was implemented to allow the app to run without internet access which could
compromise the main objective of this project. A full local database was chosen over an external
database. Floor maps, rooms, and beacon data from the BIM Model, as shown in Figures 9 and 10, are
stored locally.
The Maps Manager entity is responsible for managing all the map floors (PNG files) that need to
be returned to the Path Finding Algorithm, according to the current location and destination of the
user. The Map Manager extracts, from the returned query (getCurrentLocation and getDestination) in
the Local Database, the building and the floor number of each Location. After that, a string is created
with the extracted values, and the final format is going to be: “edificio” + [building number] + “piso”
+ [floor number]-example: edificio1piso1. Having created both strings (one for origin and the other
for destination), this entity validates if both strings are equal. The Map Manager follows a rule to
make sure that the returned map floor is the correct one. This rule is based on two critical aspects:
both strings hold the same value: it means that the user is in the same building and floor than the
destination, so the Map Manager just needs to return one floor map. If string values are different:
the destination is on a different floor of the current Location of the user. Considering that every floor
is connected by stairs or elevators, this entity returns two map floors.
The Path Finding entity goal is to calculate the shortest path between two locations. This algorithm
receives, as input, a map floor, current location and destination of the user. BIM model provides
information on entry/exit points and internal path intersections and a graph with dependencies
is created. In spite of relative building complexity for human users, the numbers of nodes of this
graph network are much smaller than a city street map. In the university pilot case, graph nodes
where around 100 for the complete campus and the algorithm applied in the mobile device provides
a response in few milliseconds. After evaluating each combination of pixel colour of the map floor,
which is converted into a pixel matrix, it returns the optimized path, a pixel array. The first step of this
algorithm is to map which areas/paths are walkable (in order to avoid forbidden areas, walls, voids,
etc.) and then calculate the shortest path between the two locations. The walkable map floor, which is
an input of the app from the BIM model, has some pixels marked in red (Figure 11) which are converted
into a matrix of pixels. Each red pixel matrix is set as walkable. The A* star algorithm [31], adapted
Sensors 2018, 18, 4374 13 of 20
in [32] tries to find all possible options to reach the destination taking into account the coordinates of
the current location and of the destination into the pixels matrix, validates all the paths from the start
pixel to the final pixel, thought the walkable paths already set on the first step. After this, it picks up
the path that holds the lowest cost [32], which means that is also the shortest path between current
location and
Sensors 2018, 18,destination. In the end, the lowest cost path is returned to Map View entity to be painted
x FOR PEER REVIEW 13 of 20
above the map floor to show the user the path that he/she needs to run on that floor to reach the
run on that floor
destination. to reach
In case the destination.
the Path In case the
Finding Algorithm Path Finding
returns Algorithm
no pixels returns
array, it is no pixels
not possible to array,
reach
it is not possible
the destination. to reach the destination.
Users’ movementisischecked
Users’ movement checkedatat beacons
beacons position
position range
range (with
(with an average
an average error error
of lessofthan
less0.5
thanm)
0.5 m) based on beacon position and received signal power. Between two beacon
based on beacon position and received signal power. Between two beacon signal interception, signal interception,
information
information fromfrom mobile
mobile device
device accelerometer
accelerometer (speed
(speed and
and direction)
direction) and
and gyroscope
gyroscope (mobile
(mobile device
device
orientation) are used, as described in previous authors’ work on mobile devices [33].
orientation) are used, as described in previous authors’ work on mobile devices [33]. Based on the Based on
the internal sensors orientation and movements provide a real-time user position
internal sensors orientation and movements provide a real-time user position using algorithms using algorithms
developed
developed [34]
[34] for
for Android
Android mobile
mobile devices.
devices. InIn our
our case, taking into
case, taking into account
account average
average beacons
beacons distance
distance
(30 m), the tested cases show average position precision below 1 m with a maximum
(30 m), the tested cases show average position precision below 1 m with a maximum value of value of 22 m.
m.
These measurements were performed in a control test environment measuring App
These measurements were performed in a control test environment measuring App location against location against
real
real user
user location. Movement detection
location. Movement detection between
between beacon
beacon signal
signal depends
depends onon mobile
mobile device
device sensors
sensors andand
distance because of dead reckoning known limitations
distance because of dead reckoning known limitations [34]. [34].
5.
5. Mobile
Mobile App
App Front
Front End
End
The
The app’s
app’s Front
Front End
End comprises
comprises several
several views,
views, described
described below.
below.
In
In the Orientation View all the orientations are provided
the Orientation View all the orientations are provided toto the
the user.
user. These
These orientations
orientations are
are
dynamic, so every time the user’s smartphone intersects a beacon, it is updated with
dynamic, so every time the user’s smartphone intersects a beacon, it is updated with new orientation.new orientation.
The
The screen
screen shown
shown to to the
the user
user can
can be
be observed
observed in
in Figure
Figure 12.
12. The
The option
option in in the
the figure
figure are
are described
described
below 0.
below 0.
Home
Home (1): This button
(1): This button goes
goes back
back toto the
the start
start screen,
screen, where
where it it is
is possible
possible to to change
change thethe
inserted/chosen destination.
inserted/chosen destination.
Map
Map View
View (2):
(2): It’s an Image
It’s an Image View
View element that shows
element that shows the
the user
user the
the path
path to
to reach
reach the
the destination.
destination.
This
This entity
entity receives
receives aa PNG
PNG image
image from
from Map
Map Manager
Manager andand anan array
array of of pixels
pixels from
from Path
Path Finding
Finding
Algorithm
Algorithm that corresponds to the calculated shortest path. The PNG image it’s converted to
that corresponds to the calculated shortest path. The PNG image it’s converted to aa BitMap
BitMap
and a method from Orientation’s View code is called to match the array of pixels and paints them
over the map, creating a new PNG image that is set on the Image View element, as seen in Figure 13.
Change Floor Arrows (3): this button group will only appear when the user’s floor is different
from that of the destination: selecting the right arrow button requests Map Manager to show the map
floor image that corresponds to the destination floor. When left arrow is selected, it goes back to
Sensors 2018, 18, x FOR PEER REVIEW 14 of 20
Elevator and Stairs (5): this button group will only appear when the user’s floor is different from
that of the destination: this feature enables the user to choose between using the elevator or the stairs
from the current location floor to the destination floor. The default is the stairs, changing to elevator
Sensors 2018, 18, 4374 14 of 20
makes a request to Path Finding Algorithm to calculate the path using the nearest elevator.
Find Photos (6): This horizontal image scroll view displays photos of the path in a way that the
user
and acan confirm
method fromhe/she is on theView
Orientation’s right code
path istocalled
the destination.
to match the There
arrayisofa group
pixels andof photos
paintsassociated
them over
to
thethe locations
map, creating theauser
newneeds
PNG to go through.
image that is set Toonpopulate
the Imagethe View
Find Photos
element, element,
as seenthe getImagesScroll
in Figure 13.
method is called
Change Floorto check
Arrows if there are button
(3): this photos group
intersecting the path
will only appeararray
whenof pixels. This method
the user’s receives
floor is different
LinearLayout
from that of (to therender this element),
destination: selectinga string format
the right arrowwhich confirms
button requestsin each
Mapbuilding,
Managerand floor, the
to show
array of pixels,
map floor imagean Integer
that list to manage
corresponds the id’s of floor.
to the destination each image,
When leftthearrow
activity where it it
is selected, is goes
going to be
back to
rendered
preview the andcurrent
the listener
Locationthatmap.
will be aggregated to each image.
The
Rotate User
(4):Interface
Rotates the entity
MapisView
responsible
(2) element 90◦ degrees
for asking the user for the
to help the user
room getthat he/she
a better wants to
perspective
reach
of the into
map.the building—the destination. The user picks one of two options to choose a destination:
selecting a “Fast
Elevator andRoom” or manually
Stairs (5): this button write
group a destination.
will only appearThe FINDFAST
when the user’s option offers
floor the ability
is different to
from
choose common
that of the destinations
destination: suchenables
this feature as Water theCloset
user to(WC),
chooserestaurants,
between using Automated
the elevator Teller Machine
or the stairs
(ATM),
from theacademic servicesfloor
current location and security station spots.
to the destination These
floor. The destinations
default is thecan be parameterized
stairs, changing to elevator in the
BIM
makes model.
a request to Path Finding Algorithm to calculate the path using the nearest elevator.
Figure
Find Photos14 shows howhorizontal
(6): This the different
image entities communicate
scroll view with each
displays photos of theother
pathto in give
a waythe thatright
the
orientations
user can confirm to thehe/she
user, inisaon sequence
the rightdiagram.
path to the Note that the BIM
destination. model
There is a component
group of photos isn’t implicit
associated in
this
to thediagram,
locationsbecause
the userthis needs entity
to goisthrough.
only needed when there
To populate the FindarePhotos
changes in the the
element, building data or
getImagesScroll
beacons.
method is called to check if there are photos intersecting the path array of pixels. This method receives
When the
LinearLayout (toFind
render Me! App
this runs, ita automatically
element), string format which scans for a beacon.
confirms in eachIf abuilding,
beacon isand intersected,
floor, the
Beacon
array ofManager
pixels, anEntity
Integer returns
list tothe intersected
manage the id’sbeacon data
of each (UUID,
image, theMajor,
activity and Minor
where values)—that
it is going to be
will be converted
rendered after as that
and the listener the current location of the
will be aggregated userimage.
to each and triggers the next activity/screen of the
mobileThe App:
User Insert Destination.
Interface entity isThe user enters
responsible forthe intended
asking roomfor
the user and
thea room
querythat runshe/she
on the database
wants to
returning the current and destination locations. The Map Manager is called
reach into the building—the destination. The user picks one of two options to choose a destination: in order to provide the
floor maps
selecting of each
a “Fast location
Room” or or just onewrite
manually map aif destination.
origin and destination
The FINDFAST are onoption
the same offersfloor.
theThe A*
ability
algorithm runs and destinations
to choose common returns the shortest
such aspath,
Waterand the Orientation
Closet View renders
(WC), restaurants, Automated it on the map.
Teller While
Machine
the useracademic
(ATM), is moving, the App
services andkeeps scanning
security stationfor otherThese
spots. beacons with the can
destinations goalbeofparameterized
getting an updated in the
current
BIM model.location.
Floor Map
Figure 12. Floor Map view
view screen
screen description
description (Left),
(Left), Choose
Choose Destination
Destination options
options (Center)
(Center) and
FINDROOM option (Right).
Figure 14 shows how the different entities communicate with each other to give the right
orientations to the user, in a sequence diagram. Note that the BIM model component isn’t implicit in
this diagram, because this entity is only needed when there are changes in the building data or beacons.
Sensors 2018, 18, 4374 15 of 20
When the Find Me! App runs, it automatically scans for a beacon. If a beacon is intersected,
Beacon Manager Entity returns the intersected beacon data (UUID, Major, and Minor values)—that
will be converted after as the current location of the user and triggers the next activity/screen of the
mobile App: Insert Destination. The user enters the intended room and a query runs on the database
returning the current and destination locations. The Map Manager is called in order to provide the
floor maps of each location or just one map if origin and destination are on the same floor. The A*
algorithm runs and returns the shortest path, and the Orientation View renders it on the map. While
the user is 18,
moving, the App keeps scanning for other beacons with the goal of getting an updated
SensorsSensors 2018,
2018, 18, x FOR x FORREVIEW
PEER PEER REVIEW 15 of 20
15 of 20
current location.
FigureFigure
Figure 13. Floor
Floor Image
13. Image
13. Floor Image View
View
View set set
set process.
process.
process.
without the usage of the App. On average, the 50 tests cases show a 30%reduction of time to arrive
at the room. Real tests are planned for the start of the next year, where around two thousand new
students will arrive on campus and need guidance towards administration, classrooms, etc. At the
campus, QR codes will alert the students for App download, and the App will also be used to send
context information to the new students.
It was decided to split the tests into three scenarios: in the first, the origin and destination are on
the same floor, in the second one, they are on different floors, in the third the origin is in a place not
covered by a beacon region.
In Test 1 the current location floor is the same as the destination floor, so there is no need to use
stairs or elevator and the App is expected to render one map floor. The user starts on the Southwest
Sensors 2018, 18, x FOR PEER REVIEW 16 of 20
corner and chooses room 1E02, on the East wing, as shown in Figure 15. This case was tested with
18 subjects
subjects and and results
results showed
showed 100%
100% guidanceand
guidance andusers
usersdid
didnot
notreport
reporterrors.
errors. Beacons
Beacons were
were always
always
intercepted by mobile devices and correct guidance performed.
intercepted by mobile devices and correct guidance performed.
Figure
Figure 15.
15. Test
Test 1—yellow
1—yellow point
point marks
marks the
the start,
start, the
the red
red point
point marks
marks the
the destination
destination (Left);
(Left); path
path taking
taking
into
into account two path options with beacon signal information (Center); an example of a screen App
account two path options with beacon signal information (Center); an example of a screen App
with map
with map path
path and
and the
the possibility
possibility of
of displaying
displaying photos
photos (Right).
(Right).
Test 2 was
was performed
performed to evaluate
evaluate the performance
performance of Find Me! App when there is the need to
change floors. This can be done by stairs or elevator. The test was split into two subtests, one for each
option. In both
both subtests,
subtests, the
the start
start location
location is
is West
West wing side, first, and the destination
destination is
is room 2N05,
2N05,
in the North wind,
wind, second
second floor.
floor. Several
Several path
path configurations
configurations can be performed using an elevator or
stairs. Both
Both tests
testsrun
runsuccessfully
successfullyandand
thethe
testtest using
using the stairs
the stairs is shown
is shown in Figure
in Figure 16. We 16.
hadWe had 23
23 subjects
subjects in ourwith
in our testing testing with
100% 100%correct
beacon beaconlocation
correct location acquisition
acquisition andApp
and correct correct App guidance
guidance in all
in all cases to
cases to the
the right right
room, room,
with with associated
associated images. images.
Test 3 was planned to evaluate the Find Me! App behavior when the start point is in a building
area not covered by a beacon. The origin floor was floor 1, and the destination room was 1E02.
The users ran the App, and the Find Me! stayed locked in the Insertion Mode options screen, showing
the message: “BLE NOT FOUND”, as shown Figure 17. The user started walking north and after a
few meters he intersected the beacon ED1P1H. Having received the BLE signal, the Insertion Mode
options screen unlocked the available options, the user typed the room destination and navigation
started. Having a beacon in each intersection and middle of the corridors worked well in this case. We
had nine subjects in our testing with 100% beacon correct location acquisition and App guide all cases
to the right room, with associated images.
Figure 16. Test 2—Origin and destination (Left), paths using the stairs with beacons intersection
signal (Center) and App screens (Right).
Test 3 was planned to evaluate the Find Me! App behavior when the start point is in a building
area not covered by a beacon. The origin floor was floor 1, and the destination room was 1E02. The
users ran the App, and the Find Me! stayed locked in the Insertion Mode options screen, showing the
message: “BLE NOT FOUND”, as shown Figure 17. The user started walking north and after a few
meters he intersected the beaconBeacon ED1P1H.signal intersection
Having received the BLE signal, the Insertion Mode
End point in floor 2 App screen at theand
endpoint
options screen unlocked the available options, thefloor)
(destination user typed the room destination navigation
with floor path
started. Having a beacon in each intersection and middle of the corridors worked well in this case.
We had nine
Figure subjects
16. Test in our
2—Origin andtesting with(Left),
destination 100%paths
beacon correct
using location
the stairs acquisition
with beacons and App
intersection guide all
signal
cases to the
(Center) andright
Approom, with
screens associated images.
(Right).
Figure
Figure 17. 17.
TestTest
3—at3—at
thethe starting
starting point
point with
with no no beacon
beacon signal
signal (Left)
(Left) andand when
when a beacon
a beacon is intersected,
is intersected,
location
location is acquired,
is acquired, andand guidance
guidance process
process starts.
starts.
7. Conclusions
An implementation of a Bluetooth Beacon indoor location and pathfinding solution that can
be customized and applied to any type of building, with the condition that a 3D BIM model of the
building is available, is described in this work. The solution is developed as an Android mobile app
which can be delivered in a smartphone or a tablet/kiosk.
The application was tested in a university campus building with a circular geometry which is
frequently challenging to newcomers.
The major innovations on this work are the process of Bluetooth Beacon placement planning
using the geometry of the building which is described by a BIM model, the combination of beacon
location information with available buildings maps and information, reducing the tedious task of
gathering room information and location. Another contribution of this research work is that user
movement can be registered passively (without user identification). This critical information can be
analysed to extract knowledge about users’ movements inside public buildings. Also, this approach
allows a simplified implementation process for indoor location and guidance, where location precision
is based on beacon configured propagation radius and location uncertainty (zones without beacons
coverage) is handled by building geometry using information of entry and exit points. Between two
beacon signal zones, the solution assumes a regular walk based on pre-defined velocity or based on
previous user walking velocity.
This approach can be easily replicated in other buildings with the introduction of new maps and
calibration of beacons signal range to account to different propagation conditions. Also, there is the
possibility of association of information services through the beacons, e.g., beacons near the library
may advertise events, canteen menus, available administrative services, or evacuation guidance for
emergency situations. Building changes and constraints (areas under maintenance, room changes,
closed exits, etc.) can be quickly generated from the BIM model and sent as an update to the app.
8. Future Work
One recurring difficulty in the utilisation of the app is when the user is in a location outside the
range of a beacon. One of two options can improve this situation: incrementing the number of beacons
(which will increase the project budget) or returning, in mobile App, information messages for the
user to move along until he intersects a beacon region. On the next release, we expect to analyse
the placement of Near-Field Communication (NFC) tags in room doors, where the user can pass the
smartphone to receive their content and send it to the Find Me! App.
Another future development is the generation of reports that are working anonymously, gather
information such as most searched rooms, building areas where users get lost, stairs/elevator
preference, least searched rooms. This information can then be used not only to manage the building
better but also to influence users into more sustainable and healthy options such as using stairs over
elevators for short paths.
The application can also be used outside the building to preview a path without the need to be
physically present. In this case, the initial room must be inserted, or the location must be selected on
a map or 3D model. The flux will be like the described with the exception that the beacons will not
update the path.
BIM models can also be used for beacon signal propagation if the wall and floor material properties
are characterized, thus reducing or eliminating the need for signal propagation testing.
Finally, in this study, only one building was tested. If several buildings are included in the
application, they can be modelled in one common BIM model or an interface between them must be
designed in the data structure.
Sensors 2018, 18, 4374 19 of 20
Author Contributions: S.M. is a Master student that performed all development work. J.C.F. is thesis supervisor
and organized all work in the computer science subject, and R.R. is thesis co-supervisor and performed all BIM
related work.
Funding: This research was funded by Foundation for Science and Technology (FCT) through ISTAR-IUL’s project
UID/MULTI/4466/2016.
Acknowledgments: The authors thank ISCTE-IUL’s Facility Management for providing the buildings’ BIM model.
Conflicts of Interest: There are no conflicts of interest to declare.
References
1. Jain, M.; Rahul, R.C.P.; Tolety, S. A study on Indoor navigation techniques using smartphones. In Proceedings
of the 2013 International Conference on Advances in Computing, Communications and Informatics (ICACCI),
Mysore, India, 22–25 August 2013; pp. 1113–1118. [CrossRef]
2. Eastman, C.; Teicholz, P.; Sacks, R.; Liston, K. BIM Handbook: A Guide to Building Information Modeling for Owners,
Managers, Designers, Engineers and Contractors; John Wiley & Sons: Hoboken, NJ, USA, 2011; Volume 2.
3. Belwariar, R. A* Algorithm. 2017. Available online: https://www.geeksforgeeks.org/a-search-algorithm/
(accessed on 8 October 2018).
4. Looker, C. Free Software License A*. Available online: http://www.codelooker.com/id/215/1123818.html
(accessed on 9 August 2018).
5. L. I. Inc. Indoor Location Technologies Compared. 2017. Available online: https://lighthouse.io/indoor-
location-technologies-compared/ (accessed on 28 October 2018).
6. Available online:. Available online: http://it-jim.com/2017/08/15/overview-of-indoor-navigation-
technologies/ (accessed on 6 December 2018).
7. World Economic Forum. Shaping the Future of Construction–Inspiring Innovators to Redefine the Industry; World
Economic Forum: Cologny, Switzerland, 2017.
8. Revit Web Site. Available online: https://www.autodesk.com/products/revit/overview (accessed on
28 October 2018).
9. API Developers. Available online: https://help.autodesk.com/view/RVT/2019/ENU/?guid=Revit_API_
Revit_API_Developers_Guide_html (accessed on 28 October 2018).
10. Dynamo. Dynamo BIM. Available online: http://dynamobim.org/ (accessed on 8 August 2018).
11. Web Page. Available online: http://www.autodeskresearch.com/projects/dasher (accessed on 8 August 2018).
12. Dave, B.; Buda, A.; Nurminen, A.; Främling, K. A framework for integrating BIM and IoT through open
standards. Autom. Constr. 2018, 95, 35–45. [CrossRef]
13. Lin, Y.; Liu, Y.; Gao, G.; Han, X.; Lai, C.; Gu, M. The IFC-based path planning for 3D indoor spaces.
Adv. Eng. Inform. 2013, 27, 189–205. [CrossRef]
14. Motamedi, A.; Soltani, M.M.; Setayeshgar, S.; Hammad, A. Extending IFC to incorporate information of
RFID tags attached to building elements. Adv. Eng. Inform. 2016, 30, 39–53. [CrossRef]
15. Scheffer, M.; Konig, M.; Engelmann, T.; Tagliabue, L.C.; Ciribini, A.L.C.; Rinaldi, S.; Pasetti, M. Evaluation
of Open Data Models for the Exchange of Sensor Data in Cognitive Building. In Proceedings of the 2018
Workshop on Metrology for Industry 4.0 and IoT, Brescia, Italy, 16–18 April 2018; pp. 151–156. [CrossRef]
16. Chen, J.; Tanyel, B.; John, T.; Guney, O. A Case Study of Embedding Real-time Infrastructure Sensor Data to
BIM. In Proceedings of the Construction Research Congress, Atlanta, GA, USA, 19–21 May 2014; pp. 269–278.
[CrossRef]
17. Alves, M.; Carreira, P.; Costa, A.A. BIMSL: A generic approach to the integration of building information
models with real-time sensor data. Autom. Constr. 2017, 84, 304–314. [CrossRef]
18. Bottaccioli, L. Building Energy Modelling and Monitoring by Integration of IoT Devices and Building
Information Models. In Proceedings of the 2017 IEEE 41st Annual Computer Software and Applications
Conference (COMPSAC), Turin, Italy, 4–8 July 2017; pp. 914–922.
19. Lin, X.Y.; Ho, T.W.; Fang, C.C.; Yen, Z.S.; Yang, B.J.; Lai, F. A mobile indoor positioning system based on
iBeacon technology. In Proceedings of the Annual International Conference of the IEEE Engineering in
Medicine and Biology Society (EMBC), Milan, Italy, 25–29 August 2015; pp. 4970–4973.
Sensors 2018, 18, 4374 20 of 20
20. Park, J.; Cho, Y.; Ahn, C. A Wireless Tracking System Integrated with BIM for Indoor Construction
Applications. In Proceedings of the Construction Research Congress, San Juan, Puerto Rico, 31 May–2
June 2016; pp. 2660–2668. [CrossRef]
21. Shayeganfar, F.; Anjomshoaa, A.; Tjoa, A.M.; Anjomshoaa, A.; Tjoa, A.M. A Smart Indoor Navigation
Solution Based on Building Information Model and Google Android. In Computers Helping People with Special
Needs; Miesenberger, K., Klaus, J., Zagler, W., Karshmer, A., Eds.; Springer: Berlin/Heidelberg, Germany,
2008; Volume 5105.
22. Xu, M.; Wei, S.; Zlatanova, S.; Zhang, R. Bim-based indoor path planning considering obstacles. ISPRS Ann.
Photogramm. Remote Sens. Spat. Inf. Sci. 2017, IV-2/W4, 417–423. [CrossRef]
23. Taneja, S.; Akinci, B.; Garrett, J.H.; Soibelman, L. Algorithms for automated generation of navigation models
from building information models to support indoor map-matching. Autom. Constr. 2016, 61, 24–41.
[CrossRef]
24. Park, J.; Kim, K.; Cho, Y. Framework of Automated Construction-Safety Monitoring Using Cloud-Enabled
BIM and BLE Mobile Tracking Sensors. J. Constr. Eng. Manag. 2016, 143, 05016019. [CrossRef]
25. Resende, R.; Coroado, L.; Lopes, A.L.; Sacadura, R.; Teixeira, M.H.; Eloy, S.; Dias, J. Plataforma Web-BIM
para Gestão de Instalações de um Campus Universitário. In 1◦ Congresso Português de Building Information
Modelling; Azenha, M., Martins, J.P., Costa, A.A., Lacerda, N., Bastos, F.T., Eds.; Universidade do Minho:
Guimarães, Portugal, 2016.
26. E. Inc. IBeacon Protocol. 2016. Available online: http://developer.estimote.com/ibeacon/ (accessed on
1 November 2018).
27. E. Inc. Estimote Monotoring API. Available online: https://developer.estimote.com/android/tutorial/part-
2-background-monitoring/ (accessed on 8 August 2018).
28. E. Inc. Beacon Signal carachteristics. Available online: https://community.estimote.com/hc/en-us/articles/
201636913-What-are-Broadcasting-Power-RSSI-and-other-characteristics-of-a-beacon-s-signal- (accessed on
8 August 2018).
29. Martinho, S. Find Me!: IoT Indoor guidance System Master in Computer Science Engineering at ISCTE-IUL;
ISCTE-IUL: Lisbon, Portugal, 2018.
30. Resende, R. Main Dynamo Script for Beacon and Door/Room Tables Production. Available online:
http://istar.iscte-iul.pt/wp-content/uploads/2018/11/2018_ferreira_resende_martinho_dynamoscript_
image_1mb.png (accessed on 8 November 2018).
31. Pawelc. A* Code Author. Available online: http://www.codelooker.com/blog/index.asp?username=pawelc
(accessed on 9 August 2018).
32. Loong, W.Y.; Long, L.Z.; Hun, L.C. A Star Path Following Mobile Robot Wong. In Proceedings of the 4th
International Conference on Mechatronics, Lumpur, Malaysia, 17–19 May 2011; pp. 17–19.
33. Baeta, N.; Fernandes, A.; Ferreira, J.C. Mining users mobility at public transportation. Intel. Artif. 2017,
20, 32–41.
34. Ferreira, J.C.; Monteiro, V.; Afonso, J.A.; Afonso, J.L. Methodology for knowledge extraction from mobility big
data. In Distributed Computing and Artificial Intelligence, 13th International Conference; Omatu, S., Semalat, A.,
Bocewicz, G., Sitek, P., Nielsen, I.E., García García, J.A., Bajo, J., Eds.; Springer: Sevilla, Spain, 2016; pp. 97–105.
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).