Nuvi è un piccolo compagno da scrivania espressivo, alto meno di 30 cm. Si sveglia quando qualcuno gli si avvicina, risponde quando viene chiamato per nome e conversa con l’utente. Inoltre cerca sul web, comanda a voce o con un gesto della mano i dispositivi della casa intelligente e legge temperatura e umidità della stanza. A firmarlo è Luca Di Lorenzo, e la scheda che gli dà vita è Arduino UNO Q.
La cosa che colpisce non è la conversazione in sé, ma dove gira. Il lato Linux di UNO Q esegue la pipeline di intelligenza artificiale, il motore vocale e la logica dell’applicazione, tutto sulla scheda stessa e non su un PC collegato. Quindi Nuvi è autonomo: lo accendi e c’è.
Due anime su una sola scheda: microcontrollore e Linux
Arduino UNO Q divide il lavoro in due. Il lato microcontrollore in tempo reale gestisce il controllo fisico: quattro servo per braccia e orecchie, due servo seriali per il collo, il display, i sensori e gli ingressi touch. Il lato Linux, invece, si occupa della parte pesante, cioè l’intelligenza artificiale e la voce.
Questa separazione ha un senso pratico. I movimenti devono rispondere subito, senza attese, e per questo stanno sul microcontrollore. La conversazione può prendersi qualche istante in più, e allora vive sul processore che esegue Linux. Di conseguenza braccia, orecchie e testa si muovono fluide mentre il cervello elabora la frase.
- Quattro servo per braccia e orecchie
- Due servo seriali per rotazione e inclinazione del collo
- Display per gli occhi animati
- Sensori di temperatura e umidità
- Ingressi touch su testa e pancia
Gemini per capire, Piper per parlare senza cloud
La conversazione si basa su Gemini, che gestisce in un unico passaggio sia la comprensione del parlato sia la generazione delle risposte. Non c’è quindi un livello separato di speech-to-text: il modello fa tutto insieme, e la pipeline resta più snella.
Per la voce in uscita, invece, Nuvi usa Piper, un motore vocale che gira interamente sulla scheda. Quindi la sintesi non passa dal cloud: la frase viene pronunciata in locale. In particolare, è questa scelta a rendere il robot utilizzabile anche quando la rete latita, almeno per la parte sonora.
Gli occhi animati esprimono diversi stati d’animo. Le orecchie e le braccia si muovono, la testa ruota e si inclina, e il tocco su testa e pancia provoca una reazione. Infine, per puro divertimento, c’è anche un balletto.
Cosa serve per rifarlo: file 3D, elettronica e codice
Chi vuole costruirsi un Nuvi parte da Arduino UNO Q, il cuore del progetto. Il kit completo con accessori comprende la scheda e quello che serve per iniziare a lavorarci. Per muovere i servi RC tradizionali a tre pin, con alimentazione, massa e segnale PWM, serve poi uno stadio di pilotaggio dedicato.
Sul fronte dei sensori, Nuvi legge temperatura e umidità della stanza. Nuvi usa un modulo Modulino Thermo per temperatura e umidità della stanza, mentre due moduli Modulino Distance si occupano di accorgersi di chi si avvicina.
Il resto è montaggio: stampa 3D per il corpo, cablaggio dei servo, collegamento del display e degli ingressi touch. Il video di Luca Di Lorenzo mostra il progetto in funzione e da lì si capisce quanto lavoro c’è dietro ogni singolo gesto di Nuvi.
La parte più interessante resta la quantità di personalità che si riesce a mettere in un progetto basato su UNO Q. File 3D, elettronica, codice e tutorial passo passo sono disponibili per chi vuole costruirne uno. E il risultato, sotto i 30 cm di altezza, sta comodamente sulla scrivania.
Fonte: https://projecthub.arduino.cc/lucadilo/nuvi-ai-desk-companion-bdd30c
