From 596df919e94236f23bdc1b39e55b6c810070d1fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Kr=C3=BCger?= <116820352+projectuniverse@users.noreply.github.com> Date: Mon, 2 Dec 2024 22:32:04 +0100 Subject: [PATCH] docs: update README --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ec7a88b..7eacd84 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # UWB Indoor Positioning -## An app that provides ranging and indoor positioning of UWB-capable Android devices +## An app that provides ranging and indoor positioning for UWB-capable Android devices This project is an Android app that uses Android's new UWB API to demonstrate how Ultra-Wideband can be used to track the location of other Android devices. This is especially relevant for indoor locations, where GPS might not provide enough location accuracy. While GPS on smartphones is usually accurate to within a radius of 4.9 meters under ideal conditions, the accuracy can decrease significantly inside of buildings, potentially dropping to only 10-20 meters. This app differs from most UWB tracking systems, because instead of requiring three UWB anchors, this app requires just one. In total, the app needs at least two UWB-capable Android devices in order to work, one acting as a UWB responder and the other one as a UWB anchor. Anchors are stationary Android devices that broadcast their position to moving Android devices, so-called responders. Using an anchor's fixed position, this app can calculate the coordinates of responders within the anchor's range, allowing for significantly more accurate coordinates compared to GPS. This is done by using the distance and azimuth between the anchor and responder and calculating the offset relative to the anchor's location. Using this method, the accuracy of the app's calculated coordinates is within a few centimeters. -Responders are able to see their distance, azimuth and elevation relative to the anchor, as well as an arrow pointing in the direction of the anchor. Additionally, responders can view their precise coordinates and compare them to GPS coordinates on Google Maps. +Responders are able to see their distance, azimuth and elevation relative to the anchor, along with an arrow pointing in the direction of the anchor. Additionally, responders can view their precise coordinates and compare them to GPS coordinates on Google Maps. > [!IMPORTANT] > For this app to work properly, the following requirements must be met: @@ -57,6 +57,4 @@ Responders are able to see their distance, azimuth and elevation relative to the 6. Install the APK on your Android device ## Known issues -The azimuth provided by Android is in the range (-90, 90] and is affected by the responder's compass bearing. If the responder has a different compass bearing than the anchor, the azimuth either decreases or increases. This is an issue, because the azimuth is needed to determine the responder's location relative to the anchor. Thus, having a different compass bearing than the anchor can distort the coordinate calculation. Sadly, there is no way to circumvent this, because the azimuth's values are limited to the range (-90, 90], making it difficult to distinguish between the responder's compass bearing and the actual angle between the two devices. For example, picture an anchor with a compass bearing of 0°. Now picture two responders with a compass bearing of 270°, one in front of the anchor, the other one to the left of the anchor. Both responders will receive an azimuth of 90° and there is no way to distinguish their actual angles relative to the anchor. - - +The azimuth provided by Android is in the range (-90, 90] and is affected by the responder's compass bearing. If the responder has a different compass bearing than the anchor, the azimuth either decreases or increases. This is an issue, because the azimuth is needed to determine the responder's location relative to the anchor. Thus, having a different compass bearing than the anchor can distort the coordinate calculation. Sadly, there is no way to circumvent this, because the azimuth's values are limited to the range (-90, 90], making it difficult to distinguish between the responder's compass bearing and the actual angle between the two devices. For example, picture an anchor with a compass bearing of 0°. Now picture two responders with a compass bearing of 270°, one in front of the anchor, the other one to the left of the anchor. Both responders will receive an azimuth of 90°, and there is no way to distinguish their actual angles relative to the anchor.