La perdita di un arto o di una sua parte comporta nell’uomo delle limitazioni nelle abitudini quotidiane che lo sviluppo tecnologico cerca di superare. Nel panorama protesico attuale, le protesi a controllo mioelettrico rappresentano quelle tecnologicamente più avanzate. All’interno di una protesi a comando mioelettrico è presente una scheda elettronica dotata di microcontrollore (MCU) su cui viene caricato un firmware, ossia il codice contenente tutte le istruzioni necessarie a controllare i giunti protesici sulla base dei segnali elettromiografici (EMG). L’obiettivo della tesi è l’implementazione di un firmware per il controllo di una protesi mioelettrica di arto superiore, basato su un Real-Time Operating System (RTOS). Il firmware che è stato sviluppato implementa tre diverse strategie di controllo ed è strutturato in modo che il tecnico, in base a ciò che è più consono per l’utilizzatore, possa selezionare la strategia da utilizzare tra controllo diretto, proporzionale o pattern recognition. Dal momento che l’hardware utilizzato presenta un microcontrollore della Texas Instruments, si è scelto di utilizzare un RTOS hardware specifico: TI-RTOS. Tale sistema operativo, grazie alle caratteristiche del suo nucleo (kernel), sembra soddisfare tutti i requisiti richiesti da un microcontrollore in un’applicazione real-time. Infatti, il gestore dei processi (scheduler) del suo kernel è event-driven, ovvero si attiva e organizza l’esecuzione dei processi in base agli eventi che si verificano, questo gli permette di rispondere in real-time ai vari stimoli ricevuti. Un’altra proprietà è il multithreading/multitasking preemptive che consiste nell’eseguire in ogni momento il thread con priorità più alta tra tutti quelli in attesa di esecuzione. Per fare ciò è necessario scegliere la priorità da assegnare a ogni processo (thread) in base al compito (task) da svolgere e successivamente lo scheduler li eseguirà come programmato. Infine, un’ultima caratteristica fondamentale è il determinismo: in base all’input sono noti sia l’output che il tempo di risposta, rendendo il comportamento del sistema prevedibile e facilmente controllabile. Tutte queste proprietà ottimizzano il firmware e facilitano la sua implementazione; tuttavia, questa versatilità presenta un costo in termini di memoria utilizzata non sempre idonei a tutte le applicazioni. Durante il lavoro di tesi è stata testata l’effettiva applicabilità in ambito protesico del TI-RTOS, valutando l’efficienza del sistema in termini di velocità e di occupazione di memoria, effettuando, a parità di hardware, un confronto con l’equivalente firmware implementato tramite la modalità classica, attualmente in uso nell’area ricerca del Centro Protesi INAIL di Vigorso di Budrio (BO). I risultati dimostrano che effettivamente TI-RTOS è utilizzabile per lo sviluppo di firmware in ambito protesico, in quanto è stato possibile sviluppare tutte e tre le strategie di controllo sopradescritte. In termini di prestazioni, dal punto di vista della velocità il firmware basato sul sistema operativo risulta essere più performante, infatti sono state raggiunti tempi di risposta real-time pari a 5ms rispetto a 10ms. Tuttavia, come atteso, qualsiasi firmware sviluppato tramite TI-RTOS occupa circa il 10% di memoria FLASH e il 16% di memoria SRAM in più rispetto a uno stesso firmware senza RTOS e questo valore corrisponde allo spazio in memoria occupato dal kernel del sistema operativo, anche se in questa applicazione non rappresenta un valore critico che può compromettere le prestazioni computazionali. Quindi, per concludere, è stato dimostrato che l’utilizzo di TI-RTOS per l’implementazione di firmware per il controllo protesico non solo è fattibile, ma è anche una buona alternativa all’implementazione classica.

Progettazione e sviluppo di un firmware basato su un sistema operativo real-time per il controllo avanzato di una protesi di arto superiore

GIACALONE, MARIKA
2022/2023

Abstract

La perdita di un arto o di una sua parte comporta nell’uomo delle limitazioni nelle abitudini quotidiane che lo sviluppo tecnologico cerca di superare. Nel panorama protesico attuale, le protesi a controllo mioelettrico rappresentano quelle tecnologicamente più avanzate. All’interno di una protesi a comando mioelettrico è presente una scheda elettronica dotata di microcontrollore (MCU) su cui viene caricato un firmware, ossia il codice contenente tutte le istruzioni necessarie a controllare i giunti protesici sulla base dei segnali elettromiografici (EMG). L’obiettivo della tesi è l’implementazione di un firmware per il controllo di una protesi mioelettrica di arto superiore, basato su un Real-Time Operating System (RTOS). Il firmware che è stato sviluppato implementa tre diverse strategie di controllo ed è strutturato in modo che il tecnico, in base a ciò che è più consono per l’utilizzatore, possa selezionare la strategia da utilizzare tra controllo diretto, proporzionale o pattern recognition. Dal momento che l’hardware utilizzato presenta un microcontrollore della Texas Instruments, si è scelto di utilizzare un RTOS hardware specifico: TI-RTOS. Tale sistema operativo, grazie alle caratteristiche del suo nucleo (kernel), sembra soddisfare tutti i requisiti richiesti da un microcontrollore in un’applicazione real-time. Infatti, il gestore dei processi (scheduler) del suo kernel è event-driven, ovvero si attiva e organizza l’esecuzione dei processi in base agli eventi che si verificano, questo gli permette di rispondere in real-time ai vari stimoli ricevuti. Un’altra proprietà è il multithreading/multitasking preemptive che consiste nell’eseguire in ogni momento il thread con priorità più alta tra tutti quelli in attesa di esecuzione. Per fare ciò è necessario scegliere la priorità da assegnare a ogni processo (thread) in base al compito (task) da svolgere e successivamente lo scheduler li eseguirà come programmato. Infine, un’ultima caratteristica fondamentale è il determinismo: in base all’input sono noti sia l’output che il tempo di risposta, rendendo il comportamento del sistema prevedibile e facilmente controllabile. Tutte queste proprietà ottimizzano il firmware e facilitano la sua implementazione; tuttavia, questa versatilità presenta un costo in termini di memoria utilizzata non sempre idonei a tutte le applicazioni. Durante il lavoro di tesi è stata testata l’effettiva applicabilità in ambito protesico del TI-RTOS, valutando l’efficienza del sistema in termini di velocità e di occupazione di memoria, effettuando, a parità di hardware, un confronto con l’equivalente firmware implementato tramite la modalità classica, attualmente in uso nell’area ricerca del Centro Protesi INAIL di Vigorso di Budrio (BO). I risultati dimostrano che effettivamente TI-RTOS è utilizzabile per lo sviluppo di firmware in ambito protesico, in quanto è stato possibile sviluppare tutte e tre le strategie di controllo sopradescritte. In termini di prestazioni, dal punto di vista della velocità il firmware basato sul sistema operativo risulta essere più performante, infatti sono state raggiunti tempi di risposta real-time pari a 5ms rispetto a 10ms. Tuttavia, come atteso, qualsiasi firmware sviluppato tramite TI-RTOS occupa circa il 10% di memoria FLASH e il 16% di memoria SRAM in più rispetto a uno stesso firmware senza RTOS e questo valore corrisponde allo spazio in memoria occupato dal kernel del sistema operativo, anche se in questa applicazione non rappresenta un valore critico che può compromettere le prestazioni computazionali. Quindi, per concludere, è stato dimostrato che l’utilizzo di TI-RTOS per l’implementazione di firmware per il controllo protesico non solo è fattibile, ma è anche una buona alternativa all’implementazione classica.
2022
Design and development of a firmware based on a real-time operating system for advanced control of an upper limb prosthesis
controllo protesico
RTOS
firmware
elettromiografia
File in questo prodotto:
File Dimensione Formato  
Giacalone_Marika.pdf

accesso riservato

Dimensione 2.74 MB
Formato Adobe PDF
2.74 MB Adobe PDF

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

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