In recent years, the decreasing birthrate and the increasing life expectancy continuously drives the trend of population aging all over the world. In Europe especially, the progress of population aging is the most advanced, and it is expected to have 35% of the population aged 60 years or older in 2050. Advancing age is associated with reduced functioning of many physiological systems, which causes a number of chronic diseases and disability. It not only compromises the elders’ ability to carry out daily activities, but also increase the risk of injuries and admissions to the hospital. This consequently creates huge impacts on the global economy and health care systems and becomes a constant concern globally. The disability and vulnerability are signs of frailty that require long-term care. But frailty develops progressive for the elderly. If early signs of frailty can be timely detected and proper intervention can be given to the elders, it could be possible to delay the aging process, maintain the elders’ health status and their quality of life, and hence reduce the costs to public health. Aiming at this, the MoveCare project was funded by the European Union. It integrates the latest technologies, such as artificial intelligence in domotic system, sensorized smart objects in daily life including smartphones, and computer-mediated communication in virtual community to provide a monitoring and assistive platform to the pre-frail elders and help them to live a healthy independent life in an unobtrusive and transparent way. One of the components in MoveCare project is walking activity monitoring. Walking is chosen because it involves interactions among multiple physiological systems and it is also easy to observe as it is the main physical activity in the elder’s daily life. Monitoring changes in walking can indirectly monitor the functional changes in related physiological systems. Measuring the quantity of walking and the walking speed together can give effective and rapid screen for frailty. A mobile system to monitor outdoor walking ability is being developing at the NearLab of Politecnico di Milano. As being part of the MoveCare project, this system is designed to be unobtrusive and transparent to the user. It comprises a pair of sensorized insoles, a mobile application and a cloud server. The application targets to run in elders’ smartphones and manages the communication with the insoles and the server. Other than this, the app will detect and record the user’s walking activity in the help of built-in sensors, GPS and the insoles. The insoles collect specific gait information when they receive the activation signal from the app and stream these data back to the app. Then the app will process these data, extract the gait parameters and send the summary to the server daily. By the end of March 2017, the communication module of this gait monitoring system was realized by a PhD Student, Stefano Tolomeo, at NearLab. The module was implemented in an app, which was able to retrieve and save data from the insoles. This app is the inspiration and starting point of this project. The objective of this project is to realize the function of walking detection and recording. Since walking is not a continuous daily activity, it can happen many times in a day and can happens at any time of the day. Besides, the indoor walking is usually irregular in direction and speed. So, this app will only record outdoor walking activities, and the recording should include the time, duration, walking distance and walking speed of each discrete walking activities. In the end of the day, the app will process and summarize all the walking activities of the day and generate a report for these data. In order to have long-term monitoring, the app will use a local database to keep the records. The first step of the development was to choose the target operating smartphones and their corresponding operation system. Android phones has the biggest number of users in Europe comparing phones run in other mobile OS, and they are equipped with many accurate sensors along with a large number of powerful API for application developers, they are the primary choice for this project. But the problem of Android system is the diversity of versions and API levels. In the goal of integration with other modules of MoveCare system, this project targets to phones run in Android 5.0 (API level 21) and higher. Yet the higher version of the Android system, the more restrictions it has to the user’s applications, in battery consumption and in application permissions. Being a long-time running app without getting user’s attention for outdoor walking monitoring, it is necessary to set the app running in background and have the access to GPS and other sensors. Unfortunately, started from Android 6.0, background running services was restricted and the access to GPS needs runtime granted permission from the user. From Android 8.0, it even forced all the long-time running apps to show an notification so that the user can be aware of any battery consumption from the apps. This is the biggest challenge to the development and the solution is to build a silent low priority notification and bind it to the life-long running service of the app. As for the step detection, the app took advantage of the Android built-in step counter sensor. This sensor is not a real physical component embedded in Android devices, and it derives data from one or more basic sensors like accelerometer. But most devices have a low-power chip serve to the computation for this sensor and provides number of steps counts to user through Android APIs. By real-time listening to the change of this sensor, that is every second or faster, the app is able to detect continuous step increment and start the recording of walking activities. As for the user’s location detection and tracking, the app used GPS data from the phone to distinguish indoor or outdoor situations and record the track of GPS locations during outdoor walking. GPS sensor receives radio signals from satellites. Each location fix is determined by three or more satellite signals by using the technique named trilateration. And the location accuracy depends on the quality of these satellite signals, expressed as a radius. If the sky is clear, the GPS location in smartphones can have an accuracy in a few meters. By accumulating the distance between sequential GPS locations in a track, the walking distance can be roughly estimated. And for the data storage, the app implemented ROOM library to build a SQLite database. Because SQLite database is efficient and the most widely used rational database in Android system, and ROOM library ensures the persistence of the database and is easy to use. All these components were integrated and managed by a life-long running service in the app. The service listens to step count sensor in an infinite loop. Once the continuous step increment is found, the app starts to search for GPS signal, if the GPS signal is found and the location is outdoor, the app starts a walking session recording. The recording keeps running until the step increment stops or the current location is indoor. Then the walking duration, distance, number of step and walking speed can be derived from the recorded data. To validate the application, three experiments were designed and performed, and four different smartphone models, i.e. Nokia X6, Samsung Galaxy S8, Huawei Enjoy 7 (E7) and Samsung Galaxy Note 4 (N4), were used in the experiments. The first experiment was to validate the step count function. Two tests were performed: short path walking in 100 and 200 steps, and long-path walking in 6-minute walking tests. The step counts collected by the app was compared with manual counting and the data extracted from the insoles it showed a high reliability among all the tested smartphones. The second experiment was to verify the distance calculation in the app. Tests were perform in three different weather condition and two different shape of paths. The walk recording was manually controlled. Results showed that the calculation had a high accuracy > 93% when the weather was clear, and the GPS signal was stable, and lower accuracy when it was cloudy or rainy. Except for S8 which had a dramatic GPS drift, the overall accuracy of the distance calculation was over 80%. The third experiment was to evaluate the unobtrusive walk recording function and the application performance. There was an 11-day observation of the daily walking activity from the same subject carrying four tested smartphones. Results were analyzed in different aspects related to the app functions. In general, the app was able to keep running in all the tested models during the observation period. In terms of daily step counting, all four models showed a consistent result. As for the walking start and stop event detection, X6, S8 and N4 were able to detect most of the events at the same time, but E7 failed because of the aggressive battery management of its customized OS. Then the daily walking distance from the app was compared to the estimation of actual walking distance reported by the testing subject. Results showed that the calculated distance exported from X6 had a gap mostly < 10% to the actual walking distance thanks to its accurate walking detection, while S8 and N4 usually missed about 20% of the distance recording and E7 could barely effectively record walking due to the delay and disability in walking detection, as well as low GPS accuracy. The hypotheses for this result are: first X6 runs in a pure version of Android which make the app less influenced by the extra restrictions; second it was the phone in real daily use, so the network or other installed apps may keep the CPU running without turning on the sleeping mode. Despite the missing distances, except for the E7, the calculation of walking speed is found to be consistent across all smartphones. In conclusion, the application developed in this project is able to provide long term unobtrusive monitoring in daily walking activities, as long as the phone settings were appropriate to the app. It can work as a simple pedometer, as well as an outdoor walking tracking tool. It can be also used for multiple-sensor data acquisition in research of activities and movements.

Negli ultimi anni, la diminuzione della fertilita` e l’incremento della longevita` hanno causato l’invecchiamento della popolazione in tutto il mondo. In Europa, l’invecchiamento della popolazione `e molto avanzato e si prevede che nel 2050 il 35% della popolazione avra` almeno 60 anni. L’eta` avanzata `e associata a un funzionamento ridotto di molti sistemi fisiologici, che causa un certo numero di malattie croniche e disabilit`a. Ci`o, non solo compromette la capacita` degli anziani di svolgere attivit`a quotidiane, ma aumenta anche il rischio di infortuni e ricoveri in ospedale. L’invecchiamento della popolazione ha quindi un enorme impatto sull’economia globale e sui sistemi sanitari e diventa una preoccupazione costante a livello globale. La disabilit`a e la vulnerabilit`a sono segni di fragilita` che chiedono assistenza a lungo termine. Pero` la fragilita` per gli anziani si sviluppa in modo progressivo. Se i primi segni di fragilit`a vengono rilevati in tempo e gli anziani ricevono un intervento adeguato, potrebbero ritardare la degenerazione e quindi ridurre i costi per la salute pubblica. Per questo obiettivo, l’Unione Europea ha iniziato un progetto che si chiama MoveCare. Il progetto integra le ultime tecnologie come: l’intelligenza artificiale nel sistema domotico; oggetti intelligenti sensorizzati nella vita quotidiana, incluso lo smartphone; e comunicazioni mediate dal computer nella comunit`a virtuale. Tutto questo per dare una piattaforma di monitoraggio e di assistenza agli anziani che non siano ancora fragili, e aiutarli a vivere una vita sana e indipendente in modo discreto e trasparente. Uno dei componenti del progetto MoveCare e il monitoraggio della camminata. La camminata `e stata scelta perch`e coinvolge interazione tra molti sistemi fisiologici ed `e inoltre molto facile da osservare in quanto `e la principale attivita` fisica nella vita quotidiana degli anziani. Monitorare i cambiamenti della camminata permette indirettamente di monitorare cambiamenti funzionali nei sistemi fisiologici. Misurare insieme la quantit`a e la velocita` di camminata pu`o indentificare rapidamente la fragilit`a. Dedicato al monitoraggio della camminata, si sta sviluppando un sistema mobile nel NearLab del Politecnico di Milano. Dato che `e una parte del progetto MoveCare, questo sistema `e progettato per essere discreto e trasparente per l’utente. Il sistema comprende un paio di solette sensorizzate, un’applicazione mobile e un server cloud. L’applicazione `e fatta per funzionare negli smartphone degli anziani e si occupa della gestione della comunicazione con le solette e il server. Oltre a questo, l’app rileva e registra la camminata dell’utente grazie ai sensori integrati, GPS e solette. Le solette raccolgono informazioni specifiche dell’andatura quando ricevono il segnale di attivazione dall’app, e trasmettono questi dati all’app. Quindi l’app elaborera` questi dati, estrarra` i parametri dell’andatura e invier`a il riepilogo al server ogni giorno. Alla fine di marzo 2017, il modulo di comunicazione di questo sistema `e stato realizzato da un dottorando, Stefano Tolomeo, nel NearLab. Il modulo era un’applicazione, che `e riuscita a recuperare e salvare i dati dalle solette. Questa app `e l’ispirazione e il punto di partenza di questo progetto. L’obiettivo di questo progetto `e di realizzare le funzioni di rilevare e registrare la camminata. Dato che camminare non `e un’attivita` continua tutto il giorno, e la camminata al chiuso `e solitamente irregolare in direzione e in velocita`, questa app registrer`a solo le camminate all’aperto e le registrazioni dovrebbero includere il tempo, la durata, la distanza e la velocita` di tutte le camminate. Alla fine della giornata, l’app elabora e riassume tutte le sessioni di camminata del giorno e genera un sommario per questi dati. Per avere un monitoraggio a lungo tempo, l’app utilizzera` un database locale per conservare le registrazioni. Il primo passo dello sviluppo `e stato scegliere gli smartphone e i loro sistemi operativi per far funzionare l’app. I telefoni Android hanno il maggior numero di utenti in Europa rispetto ai telefoni con altri sistemi operativi. Hanno molti sensori precisi ed un numero di potenti API per gli sviluppatori. Sono la scelta principale per questo progetto. Ma il problema del sistema Android `e la diversit`a di versioni e livelli di API. Nell’obiettivo di integrazione con gli altri moduli del sistema MoveCare, questo progetto si rivolge ai telefoni con Android 5.0 (livello API 21) e superiori. Purtroppo, nelle versioni piu` avanzate del sistema Android, ci sono piu` restrizioni per le applicazioni dell’utente, nel consumo della batteria e nelle autorizzazioni delle applicazioni. Se si fa girare l’app per lungo tempo senza attirare l’attenzione dell’utente per il monitoraggio del cammino all’aperto, `e necessario impostare l’app in esecuzione sullo sfondo e avere accesso al GPS e ad altri sensori. Sfortunatamente, da Android 6.0 i servizi di sfondo in esecuzione sono stati limitati e l’accesso al GPS necessita dell’autorizzazione dell’utente nel Runtime. Android 8.0 obbliga tutte le app che girano per lungo tempo di mostrare una notifica, per far si che gli utenti siano consapevoli del consumo di batteria dalle app. Questa `e la sfida piu` grande per lo sviluppo. La soluzione `e creare una notifica silenziosa ed a bassa priorit`a, e collegarla al service che gira costantemente sull’app. Riguardo al rilevamento dei passi, l’app ha approfittato del sensore dello step counter di Android. Questo sensore non `e un componente fisico incorporato nei dispositivi Android e ricava i dati da uno o piu` sensori di base come l’accelerometro. Ma la maggior parte dei dispositivi ha un chip a bassa potenza per il calcolo di questo sensore e fornisce un numero di conteggi di passi all’utente tramite le API di Android. Rimanendo in ascolto dello step counter di andorid con una frequenza uguale o superiore a 1 Hz, l’app `e in grado di rilevare l’incremento continuo dei passi e avviare la registrazione delle camminate. Riguardo al rilevamento e inseguimento delle posizioni dell’utente, l’app ha utilizzato i dati GPS dal telefono per distinguere le situazioni al chiuso o all’aperto, e registrare l’inseguimento delle posizioni GPS durante la camminata all’aperto. Il sensore GPS riceve i segnali radio dai satelliti. Ogni localizzazione `e determinata da tre o piu` segnali satellitari utilizzando la tecnica che si chiama trilaterazione. L’accuratezza della posizione dipende dalla qualita` di questi segnali satellitari, espressi come raggio. Quando il cielo `e chiaro, la posizione GPS negli smartphone puo` avere una precisione in pochi metri. Accumulando la distanza tra posizioni GPS sequenziali in una traccia, la distanza della camminata puo` essere approssimativamente stimata. Per il salvataggio dei dati, l’app ha implementato la libreria ROOM per creare un database SQLite, scelto per l’efficienza e perch`e `e il database razionale piu` utilizzato nel sistema Android. Inoltre, la libreria ROOM garantisce la persistenza del database ed `e facile da usare. Tutti questi componenti sono stati integrati e gestiti da un Service che gira continuamente sull’app. Il Service rimane in ascolto del sensore dello step counter in un ciclo infinito. Subito dopo che l’app ha rilevato l’incremento continuo dei passi, inizia a cercare il segnale GPS. Quando viene rilevato il segnale GPS e la posizione `e all’aperto, l’app avvia una registrazione della sessione camminata. La registrazione continua a funzionare fino a quando l’incremento dei passi smette o la posizione corrente `e al chiuso. Poi la durata della camminata, la distanza, il numero di passi e la velocita` della camminata possono essere ricavati dai dati registrati. Per convalidare l’applicazione, sono stati progettati ed eseguiti tre esperimenti. Quattro diversi modelli di smartphone sono stati utilizzati negli esperimenti. Sono Nokia X6, Samsung Galaxy S8, Huawei Enjoy 7 (E7) e Samsung Galaxy Note 4 (N4), Il primo esperimento `e stato la validazione della funzionalit`a di conteggio dei passi. Sono stati effettuati due test: un breve cammino percorrendo 100 e 200 passi, e un lungo cammino di durata sei minuti (6MWT). I conteggi dei passi raccolti dall’app sono stati confrontati con il conteggio manuale e i dati estratti dal software validato delle solette sensorizzate (Moticon). I risultati validano la funzionalita` del contapassi per tutti gli smartphone in esame. Il secondo esperimento `e stato la verifica del calcolo della distanza nell’app. I test sono stati eseguiti in tre diverse condizioni climatiche (soleggiato, nuvoloso e piovoso) durante l’esecuzione di due diversi tratti di cammino. La registrazione della camminata `e stata avviata manualmente dall’applicazione. I risultati hanno dimostrato che il calcolo aveva un’alta precisione > 93 % quando il cielo era sereno e il segnale GPS era stabile; la precisione era minore in caso di nuvole o pioggia. Ad eccezione del’S8 che aveva un drift del GPS enorme, l’accuratezza generale del calcolo della distanza era superiore all’80 percento. Il terzo esperimento consisteva nel valutare la funzionalit`a di registrazione automatica della camminata, e le prestazioni dell’applicazione. E’ stata eseguita un’osservazione di 11 giorni della camminata quotidiana di uno stesso soggetto che trasportava quattro smartphone testati. I risultati sono stati analizzati in diversi aspetti relativi alle funzioni dell’app. In generale, l’app ha funzionato continuamente in tutti gli smartphone testati durante il periodo di osservazione. In termini di conteggio dei passi giornalieri, tutti e quattro gli smartphone hanno dimostrato un risultato coerente. Riguardo al rilevamento degli eventi di avvio e arresto della camminata, l’X6, l’S8 e l’N4 riportano risultati in linea tra loro, a differenza del modello E7 che evidenzia differenze, probabilmente causate dalla gestione della batteria da parte del suo sistema operativo. Le distanze percorse quotidianamente dall’app sono state confrontate con la stima delle reali distanze che sono riportate dal soggetto del test. I risultati hanno mostrato che le distanze calcolate esportate dall’X6 avevano una differenza < 10 % rispetto alle reali distanze percorse, grazie al rilevamento preciso della camminata. L’S8 e l’N4 di solito perdevano circa il 20% della registrazione delle distanze e l’E7 non ha potuto registrare la maggior parte delle distanze a causa del ritardo e della disabilita` nella rilevazione della camminata, e anche della bassa precisione del GPS. Le ipotesi per questo risultato sono: in primo luogo, l’X6 gira in una versione pura di Android che rende l’app meno influenzata dalle restrizioni extra; in secondo luogo, era il telefono usato quotidianamente, quindi la rete o le altre app installate hanno potuto mantenere la CPU in esecuzione senza attivare lo stato di sospensione. Nonostante le distanze mancanti, tranne l’E7, il calcolo della velocita` di camminata `e stato coerente in tutti gli smartphone. In conclusione, l’applicazione sviluppata in questo progetto `e riuscita a monitorare la camminata quotidiana sul lungo periodo quando le impostazioni del telefono erano appropriate per l’app. Oltre a funzionare come un semplice contapassi, l’applicazione in questione puo` essere un valido strumento di monitoraggio del cammino all’aperto. Inoltre, l’app pu`o essere usata anche per l’acquisizione di informazione multi-sensore durante attivita` di ricerca sul movimento.

Design and implementation of an Android application for unobtrusive daily gait monitoring by using Android built-in sensors

LIN, WEI
2017/2018

Abstract

In recent years, the decreasing birthrate and the increasing life expectancy continuously drives the trend of population aging all over the world. In Europe especially, the progress of population aging is the most advanced, and it is expected to have 35% of the population aged 60 years or older in 2050. Advancing age is associated with reduced functioning of many physiological systems, which causes a number of chronic diseases and disability. It not only compromises the elders’ ability to carry out daily activities, but also increase the risk of injuries and admissions to the hospital. This consequently creates huge impacts on the global economy and health care systems and becomes a constant concern globally. The disability and vulnerability are signs of frailty that require long-term care. But frailty develops progressive for the elderly. If early signs of frailty can be timely detected and proper intervention can be given to the elders, it could be possible to delay the aging process, maintain the elders’ health status and their quality of life, and hence reduce the costs to public health. Aiming at this, the MoveCare project was funded by the European Union. It integrates the latest technologies, such as artificial intelligence in domotic system, sensorized smart objects in daily life including smartphones, and computer-mediated communication in virtual community to provide a monitoring and assistive platform to the pre-frail elders and help them to live a healthy independent life in an unobtrusive and transparent way. One of the components in MoveCare project is walking activity monitoring. Walking is chosen because it involves interactions among multiple physiological systems and it is also easy to observe as it is the main physical activity in the elder’s daily life. Monitoring changes in walking can indirectly monitor the functional changes in related physiological systems. Measuring the quantity of walking and the walking speed together can give effective and rapid screen for frailty. A mobile system to monitor outdoor walking ability is being developing at the NearLab of Politecnico di Milano. As being part of the MoveCare project, this system is designed to be unobtrusive and transparent to the user. It comprises a pair of sensorized insoles, a mobile application and a cloud server. The application targets to run in elders’ smartphones and manages the communication with the insoles and the server. Other than this, the app will detect and record the user’s walking activity in the help of built-in sensors, GPS and the insoles. The insoles collect specific gait information when they receive the activation signal from the app and stream these data back to the app. Then the app will process these data, extract the gait parameters and send the summary to the server daily. By the end of March 2017, the communication module of this gait monitoring system was realized by a PhD Student, Stefano Tolomeo, at NearLab. The module was implemented in an app, which was able to retrieve and save data from the insoles. This app is the inspiration and starting point of this project. The objective of this project is to realize the function of walking detection and recording. Since walking is not a continuous daily activity, it can happen many times in a day and can happens at any time of the day. Besides, the indoor walking is usually irregular in direction and speed. So, this app will only record outdoor walking activities, and the recording should include the time, duration, walking distance and walking speed of each discrete walking activities. In the end of the day, the app will process and summarize all the walking activities of the day and generate a report for these data. In order to have long-term monitoring, the app will use a local database to keep the records. The first step of the development was to choose the target operating smartphones and their corresponding operation system. Android phones has the biggest number of users in Europe comparing phones run in other mobile OS, and they are equipped with many accurate sensors along with a large number of powerful API for application developers, they are the primary choice for this project. But the problem of Android system is the diversity of versions and API levels. In the goal of integration with other modules of MoveCare system, this project targets to phones run in Android 5.0 (API level 21) and higher. Yet the higher version of the Android system, the more restrictions it has to the user’s applications, in battery consumption and in application permissions. Being a long-time running app without getting user’s attention for outdoor walking monitoring, it is necessary to set the app running in background and have the access to GPS and other sensors. Unfortunately, started from Android 6.0, background running services was restricted and the access to GPS needs runtime granted permission from the user. From Android 8.0, it even forced all the long-time running apps to show an notification so that the user can be aware of any battery consumption from the apps. This is the biggest challenge to the development and the solution is to build a silent low priority notification and bind it to the life-long running service of the app. As for the step detection, the app took advantage of the Android built-in step counter sensor. This sensor is not a real physical component embedded in Android devices, and it derives data from one or more basic sensors like accelerometer. But most devices have a low-power chip serve to the computation for this sensor and provides number of steps counts to user through Android APIs. By real-time listening to the change of this sensor, that is every second or faster, the app is able to detect continuous step increment and start the recording of walking activities. As for the user’s location detection and tracking, the app used GPS data from the phone to distinguish indoor or outdoor situations and record the track of GPS locations during outdoor walking. GPS sensor receives radio signals from satellites. Each location fix is determined by three or more satellite signals by using the technique named trilateration. And the location accuracy depends on the quality of these satellite signals, expressed as a radius. If the sky is clear, the GPS location in smartphones can have an accuracy in a few meters. By accumulating the distance between sequential GPS locations in a track, the walking distance can be roughly estimated. And for the data storage, the app implemented ROOM library to build a SQLite database. Because SQLite database is efficient and the most widely used rational database in Android system, and ROOM library ensures the persistence of the database and is easy to use. All these components were integrated and managed by a life-long running service in the app. The service listens to step count sensor in an infinite loop. Once the continuous step increment is found, the app starts to search for GPS signal, if the GPS signal is found and the location is outdoor, the app starts a walking session recording. The recording keeps running until the step increment stops or the current location is indoor. Then the walking duration, distance, number of step and walking speed can be derived from the recorded data. To validate the application, three experiments were designed and performed, and four different smartphone models, i.e. Nokia X6, Samsung Galaxy S8, Huawei Enjoy 7 (E7) and Samsung Galaxy Note 4 (N4), were used in the experiments. The first experiment was to validate the step count function. Two tests were performed: short path walking in 100 and 200 steps, and long-path walking in 6-minute walking tests. The step counts collected by the app was compared with manual counting and the data extracted from the insoles it showed a high reliability among all the tested smartphones. The second experiment was to verify the distance calculation in the app. Tests were perform in three different weather condition and two different shape of paths. The walk recording was manually controlled. Results showed that the calculation had a high accuracy > 93% when the weather was clear, and the GPS signal was stable, and lower accuracy when it was cloudy or rainy. Except for S8 which had a dramatic GPS drift, the overall accuracy of the distance calculation was over 80%. The third experiment was to evaluate the unobtrusive walk recording function and the application performance. There was an 11-day observation of the daily walking activity from the same subject carrying four tested smartphones. Results were analyzed in different aspects related to the app functions. In general, the app was able to keep running in all the tested models during the observation period. In terms of daily step counting, all four models showed a consistent result. As for the walking start and stop event detection, X6, S8 and N4 were able to detect most of the events at the same time, but E7 failed because of the aggressive battery management of its customized OS. Then the daily walking distance from the app was compared to the estimation of actual walking distance reported by the testing subject. Results showed that the calculated distance exported from X6 had a gap mostly < 10% to the actual walking distance thanks to its accurate walking detection, while S8 and N4 usually missed about 20% of the distance recording and E7 could barely effectively record walking due to the delay and disability in walking detection, as well as low GPS accuracy. The hypotheses for this result are: first X6 runs in a pure version of Android which make the app less influenced by the extra restrictions; second it was the phone in real daily use, so the network or other installed apps may keep the CPU running without turning on the sleeping mode. Despite the missing distances, except for the E7, the calculation of walking speed is found to be consistent across all smartphones. In conclusion, the application developed in this project is able to provide long term unobtrusive monitoring in daily walking activities, as long as the phone settings were appropriate to the app. It can work as a simple pedometer, as well as an outdoor walking tracking tool. It can be also used for multiple-sensor data acquisition in research of activities and movements.
LUNARDINI, FRANCESCA
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2018
2017/2018
Negli ultimi anni, la diminuzione della fertilita` e l’incremento della longevita` hanno causato l’invecchiamento della popolazione in tutto il mondo. In Europa, l’invecchiamento della popolazione `e molto avanzato e si prevede che nel 2050 il 35% della popolazione avra` almeno 60 anni. L’eta` avanzata `e associata a un funzionamento ridotto di molti sistemi fisiologici, che causa un certo numero di malattie croniche e disabilit`a. Ci`o, non solo compromette la capacita` degli anziani di svolgere attivit`a quotidiane, ma aumenta anche il rischio di infortuni e ricoveri in ospedale. L’invecchiamento della popolazione ha quindi un enorme impatto sull’economia globale e sui sistemi sanitari e diventa una preoccupazione costante a livello globale. La disabilit`a e la vulnerabilit`a sono segni di fragilita` che chiedono assistenza a lungo termine. Pero` la fragilita` per gli anziani si sviluppa in modo progressivo. Se i primi segni di fragilit`a vengono rilevati in tempo e gli anziani ricevono un intervento adeguato, potrebbero ritardare la degenerazione e quindi ridurre i costi per la salute pubblica. Per questo obiettivo, l’Unione Europea ha iniziato un progetto che si chiama MoveCare. Il progetto integra le ultime tecnologie come: l’intelligenza artificiale nel sistema domotico; oggetti intelligenti sensorizzati nella vita quotidiana, incluso lo smartphone; e comunicazioni mediate dal computer nella comunit`a virtuale. Tutto questo per dare una piattaforma di monitoraggio e di assistenza agli anziani che non siano ancora fragili, e aiutarli a vivere una vita sana e indipendente in modo discreto e trasparente. Uno dei componenti del progetto MoveCare e il monitoraggio della camminata. La camminata `e stata scelta perch`e coinvolge interazione tra molti sistemi fisiologici ed `e inoltre molto facile da osservare in quanto `e la principale attivita` fisica nella vita quotidiana degli anziani. Monitorare i cambiamenti della camminata permette indirettamente di monitorare cambiamenti funzionali nei sistemi fisiologici. Misurare insieme la quantit`a e la velocita` di camminata pu`o indentificare rapidamente la fragilit`a. Dedicato al monitoraggio della camminata, si sta sviluppando un sistema mobile nel NearLab del Politecnico di Milano. Dato che `e una parte del progetto MoveCare, questo sistema `e progettato per essere discreto e trasparente per l’utente. Il sistema comprende un paio di solette sensorizzate, un’applicazione mobile e un server cloud. L’applicazione `e fatta per funzionare negli smartphone degli anziani e si occupa della gestione della comunicazione con le solette e il server. Oltre a questo, l’app rileva e registra la camminata dell’utente grazie ai sensori integrati, GPS e solette. Le solette raccolgono informazioni specifiche dell’andatura quando ricevono il segnale di attivazione dall’app, e trasmettono questi dati all’app. Quindi l’app elaborera` questi dati, estrarra` i parametri dell’andatura e invier`a il riepilogo al server ogni giorno. Alla fine di marzo 2017, il modulo di comunicazione di questo sistema `e stato realizzato da un dottorando, Stefano Tolomeo, nel NearLab. Il modulo era un’applicazione, che `e riuscita a recuperare e salvare i dati dalle solette. Questa app `e l’ispirazione e il punto di partenza di questo progetto. L’obiettivo di questo progetto `e di realizzare le funzioni di rilevare e registrare la camminata. Dato che camminare non `e un’attivita` continua tutto il giorno, e la camminata al chiuso `e solitamente irregolare in direzione e in velocita`, questa app registrer`a solo le camminate all’aperto e le registrazioni dovrebbero includere il tempo, la durata, la distanza e la velocita` di tutte le camminate. Alla fine della giornata, l’app elabora e riassume tutte le sessioni di camminata del giorno e genera un sommario per questi dati. Per avere un monitoraggio a lungo tempo, l’app utilizzera` un database locale per conservare le registrazioni. Il primo passo dello sviluppo `e stato scegliere gli smartphone e i loro sistemi operativi per far funzionare l’app. I telefoni Android hanno il maggior numero di utenti in Europa rispetto ai telefoni con altri sistemi operativi. Hanno molti sensori precisi ed un numero di potenti API per gli sviluppatori. Sono la scelta principale per questo progetto. Ma il problema del sistema Android `e la diversit`a di versioni e livelli di API. Nell’obiettivo di integrazione con gli altri moduli del sistema MoveCare, questo progetto si rivolge ai telefoni con Android 5.0 (livello API 21) e superiori. Purtroppo, nelle versioni piu` avanzate del sistema Android, ci sono piu` restrizioni per le applicazioni dell’utente, nel consumo della batteria e nelle autorizzazioni delle applicazioni. Se si fa girare l’app per lungo tempo senza attirare l’attenzione dell’utente per il monitoraggio del cammino all’aperto, `e necessario impostare l’app in esecuzione sullo sfondo e avere accesso al GPS e ad altri sensori. Sfortunatamente, da Android 6.0 i servizi di sfondo in esecuzione sono stati limitati e l’accesso al GPS necessita dell’autorizzazione dell’utente nel Runtime. Android 8.0 obbliga tutte le app che girano per lungo tempo di mostrare una notifica, per far si che gli utenti siano consapevoli del consumo di batteria dalle app. Questa `e la sfida piu` grande per lo sviluppo. La soluzione `e creare una notifica silenziosa ed a bassa priorit`a, e collegarla al service che gira costantemente sull’app. Riguardo al rilevamento dei passi, l’app ha approfittato del sensore dello step counter di Android. Questo sensore non `e un componente fisico incorporato nei dispositivi Android e ricava i dati da uno o piu` sensori di base come l’accelerometro. Ma la maggior parte dei dispositivi ha un chip a bassa potenza per il calcolo di questo sensore e fornisce un numero di conteggi di passi all’utente tramite le API di Android. Rimanendo in ascolto dello step counter di andorid con una frequenza uguale o superiore a 1 Hz, l’app `e in grado di rilevare l’incremento continuo dei passi e avviare la registrazione delle camminate. Riguardo al rilevamento e inseguimento delle posizioni dell’utente, l’app ha utilizzato i dati GPS dal telefono per distinguere le situazioni al chiuso o all’aperto, e registrare l’inseguimento delle posizioni GPS durante la camminata all’aperto. Il sensore GPS riceve i segnali radio dai satelliti. Ogni localizzazione `e determinata da tre o piu` segnali satellitari utilizzando la tecnica che si chiama trilaterazione. L’accuratezza della posizione dipende dalla qualita` di questi segnali satellitari, espressi come raggio. Quando il cielo `e chiaro, la posizione GPS negli smartphone puo` avere una precisione in pochi metri. Accumulando la distanza tra posizioni GPS sequenziali in una traccia, la distanza della camminata puo` essere approssimativamente stimata. Per il salvataggio dei dati, l’app ha implementato la libreria ROOM per creare un database SQLite, scelto per l’efficienza e perch`e `e il database razionale piu` utilizzato nel sistema Android. Inoltre, la libreria ROOM garantisce la persistenza del database ed `e facile da usare. Tutti questi componenti sono stati integrati e gestiti da un Service che gira continuamente sull’app. Il Service rimane in ascolto del sensore dello step counter in un ciclo infinito. Subito dopo che l’app ha rilevato l’incremento continuo dei passi, inizia a cercare il segnale GPS. Quando viene rilevato il segnale GPS e la posizione `e all’aperto, l’app avvia una registrazione della sessione camminata. La registrazione continua a funzionare fino a quando l’incremento dei passi smette o la posizione corrente `e al chiuso. Poi la durata della camminata, la distanza, il numero di passi e la velocita` della camminata possono essere ricavati dai dati registrati. Per convalidare l’applicazione, sono stati progettati ed eseguiti tre esperimenti. Quattro diversi modelli di smartphone sono stati utilizzati negli esperimenti. Sono Nokia X6, Samsung Galaxy S8, Huawei Enjoy 7 (E7) e Samsung Galaxy Note 4 (N4), Il primo esperimento `e stato la validazione della funzionalit`a di conteggio dei passi. Sono stati effettuati due test: un breve cammino percorrendo 100 e 200 passi, e un lungo cammino di durata sei minuti (6MWT). I conteggi dei passi raccolti dall’app sono stati confrontati con il conteggio manuale e i dati estratti dal software validato delle solette sensorizzate (Moticon). I risultati validano la funzionalita` del contapassi per tutti gli smartphone in esame. Il secondo esperimento `e stato la verifica del calcolo della distanza nell’app. I test sono stati eseguiti in tre diverse condizioni climatiche (soleggiato, nuvoloso e piovoso) durante l’esecuzione di due diversi tratti di cammino. La registrazione della camminata `e stata avviata manualmente dall’applicazione. I risultati hanno dimostrato che il calcolo aveva un’alta precisione > 93 % quando il cielo era sereno e il segnale GPS era stabile; la precisione era minore in caso di nuvole o pioggia. Ad eccezione del’S8 che aveva un drift del GPS enorme, l’accuratezza generale del calcolo della distanza era superiore all’80 percento. Il terzo esperimento consisteva nel valutare la funzionalit`a di registrazione automatica della camminata, e le prestazioni dell’applicazione. E’ stata eseguita un’osservazione di 11 giorni della camminata quotidiana di uno stesso soggetto che trasportava quattro smartphone testati. I risultati sono stati analizzati in diversi aspetti relativi alle funzioni dell’app. In generale, l’app ha funzionato continuamente in tutti gli smartphone testati durante il periodo di osservazione. In termini di conteggio dei passi giornalieri, tutti e quattro gli smartphone hanno dimostrato un risultato coerente. Riguardo al rilevamento degli eventi di avvio e arresto della camminata, l’X6, l’S8 e l’N4 riportano risultati in linea tra loro, a differenza del modello E7 che evidenzia differenze, probabilmente causate dalla gestione della batteria da parte del suo sistema operativo. Le distanze percorse quotidianamente dall’app sono state confrontate con la stima delle reali distanze che sono riportate dal soggetto del test. I risultati hanno mostrato che le distanze calcolate esportate dall’X6 avevano una differenza < 10 % rispetto alle reali distanze percorse, grazie al rilevamento preciso della camminata. L’S8 e l’N4 di solito perdevano circa il 20% della registrazione delle distanze e l’E7 non ha potuto registrare la maggior parte delle distanze a causa del ritardo e della disabilita` nella rilevazione della camminata, e anche della bassa precisione del GPS. Le ipotesi per questo risultato sono: in primo luogo, l’X6 gira in una versione pura di Android che rende l’app meno influenzata dalle restrizioni extra; in secondo luogo, era il telefono usato quotidianamente, quindi la rete o le altre app installate hanno potuto mantenere la CPU in esecuzione senza attivare lo stato di sospensione. Nonostante le distanze mancanti, tranne l’E7, il calcolo della velocita` di camminata `e stato coerente in tutti gli smartphone. In conclusione, l’applicazione sviluppata in questo progetto `e riuscita a monitorare la camminata quotidiana sul lungo periodo quando le impostazioni del telefono erano appropriate per l’app. Oltre a funzionare come un semplice contapassi, l’applicazione in questione puo` essere un valido strumento di monitoraggio del cammino all’aperto. Inoltre, l’app pu`o essere usata anche per l’acquisizione di informazione multi-sensore durante attivita` di ricerca sul movimento.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Tesi_latex_Wei.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 2.48 MB
Formato Adobe PDF
2.48 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/145141