Sunteți pe pagina 1din 11

The Application of Indoor Positioning Technology to Track Assets

Ryan Seppel
Seppel 2

Table of Contents

Introduction ..................................................................................... Error! Bookmark not defined.

1. Indoor Asset Tracking Project .................................................................................................... 4

1.1 Defining the Problem ............................................................................................................ 4

1.2 Benefits of a Modern Solution ........................................................................................... 4-5

2. Rapid Prototyping .................................................................................................................... 5-7

2.1 Proof of Concept ................................................................................................................ 5-6

2.2 Minimum Viable Product ...................................................................................................... 7

3. Product Development ................................................................................................................. 7

3.1 Future Proofing ..................................................................................................................... 7

3.2 Web Application............................................................................................................... 8-10

3.2 Asset Application ................................................................................................................ 10

4. Conclusion .................................................................................. 1Error! Bookmark not defined.

4. Bibliography .............................................................................................................................. 12
Seppel 3

Introduction

I am currently employed as a software developer at J Geiger Consulting, Inc.

As a developer for a consulting company, I am often assigned to projects that

involve researching the latest technology in order to offer cutting edge innovation to

our clients. The usual formula that we follow is to create a proof of concept using

any existing technology that we can find to get something in front of someone acting

as an end user. This will then become qualified as a minimum viable product once it

meets the original requirements and an end user has successfully interacted with it.

The next step is to refine this minimum viable product and decide whether to keep

delegating any third-party services that we used in the proof of concept or to build

those services, ourselves.

One of my most recent projects required a solution to track assets inside of a

large and possibly crowded building in order to trigger events when said asset

enters and exits various virtual boundaries. After researching possible technologies

that could accomplish this requirement, we decided to use Bluetooth low energy

beacons in our proof of concept. We later upgraded to ultra-wide band beacons upon

successfully qualifying our proof of concept as a minimum viable product. The

upgrade to ultra-wide band offered many improvements over the Bluetooth low

energy beacons and opened the door for countless other automation possibilities.
Seppel 4

1. Indoor Asset Tracking Solution

1.1 Defining the Problem

The requirement for our indoor asset tracking project was to be able to

track the position of an asset in order to trigger events when an asset enters special

areas. In our specific case, our client wants to start a timer any time an asset enters

an area, and then stop the timer when the asset leaves the area. This timespan will

then be inserted into a database that they use to bill customers. This billing is

based on how long an asset was working with the customers product.

1.2 Benefits of a Modern Solution

The current solution that our client has requires the driver of an asset

to stop and sign in when entering these areas and then to stop and sign out when

they leave. The time spent signing in and out was estimated to be around 15

minutes per order. Using an ideal solution, the driver never has to stop and would

therefore be saving 15 minutes per order. To put those savings into perspective, let’s

assume a client has 100 drivers. Each driver takes 20 orders a day at a time of 30

minutes per order, with 15 minutes being spent signing in and out, to arrive at

about a 10-hour workday. That means that for the client’s entire company, there are

2000 orders being completed each day. If 15 minutes are spent per order on signing

in, then that is 500 hours per day. If you are paying your asset driver the standard
Seppel 5

of $15 an hour then you are paying $7500 a day, or a staggering $2,737,500 a year.

Now if our client has a better solution that can remove those 15 minutes spent on

signing in and out then at face value, they are saving $2,737,500 a year. Now I say

at face value because when we originally defined the problem, we said that the

drivers are spending 15 out of 30 minutes on wasted activity, so by getting rid of

that 15 minutes of wasted activity, the driver can now do 15 more minutes of

billable work, which is a 100% increase in the amount of billable work that they

were originally doing. Therefore, the actual benefit of a solution that could remove

the time spent on this wasted activity is about $2,737,500 a year plus up to a 100%

increase in the original annual profit. The actual numbers for my client are

confidential but this scenario emphasizes the demand for a better solution.

2. Rapid Prototyping

2.1 Proof of Concept

Rapid prototyping is a specialty of mine and I am usually able to put something in the

hands of a mock end-user with a week or two. To quickly develop a proof of concept for this

project, we started by targeting the capabilities of Bluetooth low energy beacons. The design

involves anchoring these Bluetooth low energy beacons to these areas that we want to track. I

then created a .net core console application and used a Bluetooth library to pick up nearby

Bluetooth signals. By running this application on an asset’s computer, I can measure how close

the asset is to the special areas based on the signal strength of the Bluetooth low energy
Seppel 6

beacons that are anchored in the area. This gives an approximation of the asset’s location

within a radius of the beacon. To make this approximation more robust, I experimented with

triangulation by taking multiple measurements from multiple beacon anchors. This helped to

localize which side of the beacon the asset was on.

Now that the application can determine a distance, I then started tracking the distance

measurements when an asset is within a certain range of an anchor. Now when each

measurement comes in, it is compared to the previous measurement and when the previous

measurement is further than the current measurement, we can determine that you are moving

towards the beacon. The opposite scenario is true for determining when an asset is moving

away from a beacon. So now logic can be created that mimics the following pseudo-code:

1. If (asset is moving towards beacon & it is within a very close distance) { insideArea=true;

startTime = datetime.now;}

2. If(insideArea=true){

If(asset is moving away from beacon & it is outside of the areas radius){ insideArea =

false; endTime = datetime.now;

insertIntoClientDB(assetId, startTime, endTime); }

In this way, we have developed a cheap, lightweight solution to track assets entering and

exiting areas.
Seppel 7

2.1 Minimum Viable Product

Although the proof of concept satisfies our project requirements, it must be qualified by

an end user to be considered a true minimum viable product. Once the proof of concept was

completed, a demonstration was scheduled with our clients. We setup a few Bluetooth low

energy beacons about 20 feet apart to simulate a few of the areas that we wanted to track. We

then installed the .net core application onto a few of their laptops and had them simulate an

‘asset in a production environment’ by walking in and out of the areas. During this, the end

users were watching the console output with each event in the logic chain:

1. When entering an area, the console read: -> “Entered {area-id} at {startTime}”

2. When leaving the area, the console read: -> “Exited {area-id} at {endTime}”

-> “Successfully Inserted into Database”

Following this, we show cased a web app that displayed some analytics as well as the entries in

our development database. Since our proof of concept was successfully used by an end user, it

is fully qualified as a minimum viable product.

3. Product Development

3.1 Future Proofing

Bluetooth low energy beacons worked well for a proof of concept since they were cheap

and easy to interact with. However, there are some major flaws with the technology that just

didn’t make them reliable enough for us to stand behind. The biggest flaw that I will mention is
Seppel 8

that Bluetooth low energy beacons can only give you a distance approximation within 1-3

meters, or roughly 3-10 feet. After doing some testing and research, we decided against using

this technology as the inaccuracy would limit the applications for it in the future. We strongly

believe in future proofing our products so that they maintain relevancy and the ability to be

adapted with new technologies.

During our research for newer technology, we decided on using ultra-wide band

beacons. They can provide real-time indoor positioning down to 10 centimeters. This increased

accuracy will allow many obvious integrations in the future and the possibilities for automation

are endless.

The structure for using UWB beacons involves placing an anchor beacon about 50ft

apart in a boundary around the area that you wish to track. A tag beacon is then connected to

the device you wish to track. The anchors communicate distances with the tag in order to

triangulate the tags position. This design allows us to get an assets location in x y z coordinates

versus simply getting distances like with the Bluetooth low energy solution. While this may

seem trivial at first, it allows for a much more robust way of determining if an asset is inside of

a location since we can now just define geofences using coordinates.

3.2 Web Application

With the technology decided on, I created a .net core web application that consisted of

a user management portal, an asynchronous processing application, and third-party service for

our web API. A user can use the management portal to upload a floor plan and drag and drop
Seppel 9

anchors onto it. They can then add geofences to the floor plan. Once they are finished

configuring a location, they can save the anchors and geofences coordinates to the database.

They can then view a real time floor plan that shows the assets moving around inside of the

location.

The processing application runs whenever telemetry is sent from an asset to the

database and its job is to run that telemetry data through a set of logic to determine if it is

inside of a geofence or not. The logic that I have chosen for determining if the asset is inside of

an area simply involves creating a line off of that assets coordinates and determining how many

walls of the geofence it hits, if it hits an even number then we know that the object is outside of

the area, if it is an odd number then we know that the object is inside of the area. This logic is

simple but effective and allows me to keep the processing demand to a minimum since I am

just plugging the coordinates into some basic formulas versus creating a simulation.

Once the processing application determines that a piece of telemetry is inside of a

geofence, it updates that row in the Telemetry table and appends the Location column with the

geofence id. If an asset is not inside of any geofence, it gets the Location value of the branch of

the building that it is in. This means that when an assets telemetry Location value goes from

{geofenceId} to {branchId}, then the asset has left the geofence, and so this moment becomes

the end time. The timestamp from the first row where Location value = {geofenceId} is the start

time. Once these are obtained, the data gets inserted into the software that our client uses for

billing.

I originally built a basic web API using .net core and entity framework and it was fine for

early development. However, in production, our product will need to support high frequency
Seppel 10

data transmission and must be robust enough to handle errors that otherwise could affect our

client’s own production environments. The web API for this product was delegated to a third-

party service. The service we decided on allowed us to easily integrate the security and

authentication into our web application.

3.2 Asset Application

The asset application simply allows us to get the telemetry data from the tag as well as

the asset’s ID, model, IP, and other identifiers that we needed to integrate with our clients

supply chain management software and ERP. It is a .net core console application that runs on

startup of the machine as a background process. Upon startup, it searches the com ports for a

USB connection with our tags brand name and then establishes a serial port connection. It then

enters the command to stream its position data and inserts that data into our database via an

API call. Everything is contained with try-catches, while loops, and error handling logic so that it

runs without crashing and will send alerts if something happens. For instance, if the USB

becomes unplugged then it will send an alert to plug it back in, pause the order with our clients

supply chain management software, and automatically reconnect/un-pause the order when the

driver plugs it back in.


Seppel 11

4. Conclusion

In conclusion, there was a need for an indoor tracking solution that can allow a user to

track when an asset enters and exits predefined areas. We researched possible technology to

create a proof of concept of a solution and used Bluetooth low energy beacons. The proof of

concept was qualified by the end user and became a minimum viable product. Upon obtaining a

minimum viable product, more research was done on how to expand on it and make it better.

Ultra-wide band beacons were experimented with and we agreed that they would provide us

the most future-proof foundation moving forward. I then created software to stream the

position data from an asset as well as software that lets the user create and view floorplans and

configure their geofences. The final solution accomplishes the original product requirements

and can easily be integrated with other devices in the future.

S-ar putea să vă placă și