A bluetooth-based real-time navigation system running across multiple devices and wearables.
This R&D project proposed new methods involving the integration of multiple devices and investigates how it can enhance portable navigation. The proposed methods have a computational demand sufficient to meet battery life constraintsfor portable devices. In addition, the integrated solution can scale to any number of devices at any point of time. Moreover, the method does not assume any predefined configurations of the devices or relative orientations among them and with respect to each other.
M. Omr, J. Georgy, W. Abdelfatah, D. Auld and Z. Shen, Trusted Positioning Inc., Canada
T-PN ME: An Enhanced Real-Time Indoor/Outdoor Navigation System Using Multiple Portable/Wearable Devices, Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, FL
Development of TPN-ME was a significant challenge on the Android platform, as I would try to emulate a real-time system on a non-real-time OS. Device limitations, primarily on the wearables, watches and glasses provided serious difficulties. Additionally the Android Bluetooth API is quite limited and as I learned does not perform as you would expect. In order to mitigate most of these issues I built coping mechanisms for delays and out of order data.
Beyond the challenge of building a multi-threaded bluetooth server for the master device, their were numerous other problems in development. Debugging a multi-client bluetooth system (typically with up to 4 or 5 devices) streaming data to one another between 5-20Hz cannot be done on any of the devices as the Android OS bluetooth stack will buffer in and outgoing data. You must use an external device such as a Wireshark to fully understand the system.