Quantcast
Channel: Reality matters
Viewing all articles
Browse latest Browse all 184

Super simple and accurate indoor positioning with the updated Estimote Indoor Location SDK

$
0
0

Employing beacon technology to deliver indoor location solutions requires a deep understanding of the physics behind Bluetooth and beacons. We firmly believe that’s a challenge with which you shouldn’t have to be concerned. Our goal at Estimote is to abstract away the difficulty of building context-rich mobile apps by providing best-in-class developer tools. Indoor location is a particularly hairy challenge, but one that our engineering team is especially excited to tackle. We’ve taken a very hands-on approach to improving our Indoor Location SDK by constantly walking around our office to test the accuracy and stability of the product – in fact, we’ve traversed a length equivalent to several marathons!

Today we’re releasing a substantial update to the Estimote Indoor Location SDK that delivers increased precision, responsiveness and stability, along with a set of features that make it much more extensible for larger real-world environments.

Download the updated SDK from GitHub. Estimote Indoor Location is now also integrated with Estimote Cloud, so you can manage changes and share locations more easily. Read more to learn the details.

enter image description here

The crawl, walk, run approach to iterating Estimote Indoor Location

The very first release of our Indoor Location SDK allowed for navigation with accuracy of about 1.5 meters in small locations. Though the accuracy and stability wasn’t always perfect, we felt it really important to focus on refining the tech in smaller rectangular spaces first. Doing so has allowed us to gather tons of feedback from our developer community and continually refine the SDK in our own tests, particularly with an eye toward making it suitable for larger, more irregularly-shaped spaces. Today’s release is a culmination of tons of improvements over the past half year.

A major component of our work on this SDK release was improving positioning stability, a notoriously hard problem to solve. Compared to previous versions, user movement is now noticeably smoother and less prone to drifting in the wrong direction or failures caused by sudden movements (e.g., shaking or dropping the phone).

The updated SDK also enables better UI display of positioning accuracy, represented by a circle drawn around the avatar, just as in popular GPS navigation services. In addition, if the SDK loses the user’s position, we can now recover it much faster when the user is close to a beacon.

In its first iteration, our Indoor Location SDK was limited to small locations. As we gather more data and improve our algorithms, we continue to optimize it for use in much larger spaces. The current release was tested in a 600 square meter building and we achieved accuracy of less than 4 meters on average (again, with much more stable readings than before, which requires a tradeoff on responsiveness).

On top of that, Estimote Indoor Location is now much better at recognizing when a user has left a given location. Previously it would require the phone to leave the range of all beacons. We designed it this way to avoid false positives, but because we now know the position with more confidence, we can log leaving a room just a few seconds after you cross the border.

Mapping calibrated locations to Estimote Cloud

If you have created any locations using our Indoor Location app, you can now access them in Estimote Cloud. After you log into your Estimote Account you’ll notice a new tab in the web dashboard: Locations. There you can look up a map along with orientation and dimensions plus information about the beacons that are set up in that space. Managing locations in the cloud is now also possible through the SDK. ESTIndoorLocationManager allows you to add, remove, and fetch locations. And because we’ve added geotagging to beacons, soon you’ll be able to tie locations with particular addresses in the Locations view.

Here’s how to fetch one of your locations from the Estimote Cloud and use it in your own app with the Indoor SDK:

ESTConfig.setupAppID("", andAppToken: "")

locationManager.fetchUserLocationsWithSuccess({ (response) in
let locations = response as! [ESTLocation]
if let kitchen = locations.filter({ $0.identifier == "my-kitchen" }).first {
    self.location = kitchen
    self.locationView.drawLocation(self.location)
} else {
    println("location not found")
}
}, failure: { (error) in
    println("error when fetching locations: \(error)")
})

One more thing…

The updates don’t stop there. You can now see how many people are in a mapped location and see their movement in real time!

enter image description here

Simply mark a location as public during setup to allow Indoor Location app users to see it listed among Public Locations if they’re nearby and navigate around the space. The UI supports multiple people at once and allows you to see how they’re moving in real time. If you’re concerned about user privacy, don’t be: we value it a lot. Avatars visible in the Estimote Cloud interface are anonymized, so it’s not possible to identify a person with this feature.

Managing public locations is still in early phases of development, so detecting them is currently only available via the Indoor Location app. In the coming weeks we will also add it to the SDK, so developers can integrate the feature with their own applications. And because beacon networks can allow one venue to enable multiple apps, you can already start thinking of ways to combine public locations with infrastructure sharing.

We’re excited for these new features and all the improvements yet to come. Play with public locations and the other updates and let us know your thoughts. There’s a whole section on our Forums to discuss the Indoor Location SDK, and we’re always reading your emails and tweets. Your feedback is invaluable to us!

Agnieszka Kaczmarczyk, Data Scientist at Estimote

Wojtek Borowicz, Community Evangelist at Estimote


Viewing all articles
Browse latest Browse all 184

Trending Articles