Riassunto analitico
Il lavoro di tesi si concentra sull'implementazione di un metodo efficiente per sfruttare le capacità dei Large Language Models, come ChatGPT, per il controllo agile di un robot sociale umanoide, ovvero il Nao Robot. In quanto robot sociale, Nao Robot è in grado di parlare, muoversi e interagire con l’utente. Il progetto è nato da una collaborazione con la Facoltà di Medicina e Chirurgia di Modena e Reggio Emilia con l'obiettivo di implementare il robot nell’ospedale Policlinico di Modena per scopi assistenziali durante le visite a bambini con disabilità. Il problema principale che i medici e gli operatori sanitari hanno riscontrato è stato il controllo del robot stesso. In primo luogo, il mio lavoro si è concentrato sullo studio dell'architettura del Nao Robot (sia hardware che software) e su come programmarlo in base alle esigenze dei medici. In secondo luogo, ho sviluppato un programma Python con un'interfaccia grafica intuitiva per facilitare il lavoro dei medici nel controllo del robot. Tuttavia, quest’ultima soluzione si è rivelata essere solo temporanea, poiché i medici richiedevano un metodo più intuitivo per controllare Nao, come ad esempio un'interfaccia vocale. Come soluzione, ho implementato un sistema di controllo per convertire richieste in linguaggio naturale in azioni concrete eseguite dal robot, sfruttando le capacità di elaborazione del linguaggio naturale e di generazione del codice di ChatGPT. Le capacità di processing e comprensione di ChatGPT consentono la generazione di sequenze di comandi (con parametri opportunatamente scelti da GPT) per soddisfare un task richiesto dall’utente e che il Nao Robot deve eseguire. I comandi vengono poi convertiti in codice eseguibile dal sistema operativo del Nao Robot per completare le azioni. Infine, ho sviluppato un framework per aiutare i medici a correggere le risposte di ChatGPT sulla base di un ciclo di feedback. Attivando manualmente una fase di addestramento, Nao Robot chiede, dopo il completamento di ogni task, se l'utente è soddisfatto della azione eseguita. Fornendo un feedback e una correzione, i medici possono correggere ChatGPT fornendo maggiori dettagli su come il Nao Robot dovrebbe soddisfare la richiesta. Questo consente all'utente di riprogrammare verbalmente il modo in cui GPT risolve un task. Alla fine del progetto, alcuni candidati provenienti da diversi ambiti di lavoro sono stati reclutati per testare il framework completo, ottenendo un'esperienza soddisfacente. Ciò ha dimostrato che i Large Language Models possono essere integrati come interfacce di controllo per l’utilizzo di robot da parte di utenti non esperti.
|
Abstract
The work of thesis focuses on the implementation of an efficient method of exploiting Large Language Models capabilities, such as ChatGPT, for the agile control of a social robot, i.e the Nao Robot. The project began as a collaboration with the Medicine and Surgery Faculty of Modena and Reggio Emilia for the sake of deploying a Nao Robot in ”Policlinico di Modena” hospital for assistant purposes during visits to children with special needs. The main issue that doctors and healthcare workers experienced was the control of the robot itself. First, my work focused on studying Nao Robot's architecture (both hardware and software) and how to program it according to the doctors' needs. Secondly, I developed a Python program with an intuitive graphical interface for the sake of easing the doctors' job in controlling the robot. However, this was only a temporary solution as doctors required a much more intuitive way of controlling Nao, such as a vocal interface. As a solution, I implemented a control system to convert natural language requests into concrete actions performed by the robot, exploiting ChatGPT Natural Language Processing capabilities and code generation capabilities. ChatGPT's processing and comprehension capabilities allow the generation of command sequences (with parameters appropriately chosen by GPT) to fulfil a task requested by the user and executable by the robot. The commands are then converted into executable code for the Nao Robot's operating system, to actually let Nao perform the actions. Finally, I developed a framework to help doctors in adjusting and correcting ChatGPT responses based on a feedback loop. By manually activating a training phase, Nao Robot asks, after each GPT task completion, if the user is satisfied with the provided solution. By providing a feedback plus an optional correction, doctors can correct ChatGPT by issuing more details on how the robot should fulfil a task. This allows the user to verbally reprogram the way in which GPT solves the problem. At the end of the project, some candidates coming from different fields of study were recruited to test the complete framework, resulting in a satisfactory experience. This proved that Large Language Models could reduce the difficulty gap in controlling a robot by non-expert users.
|