top of page
Immagine del redattoreAndrea Viliotti

Robotica avanzata MIT: adattamento rapido e flessibilità con l'HPT

Nel campo della robotica, uno dei maggiori ostacoli alla creazione di modelli versatili che possano operare su diverse piattaforme è l'eterogeneità dei dati, causata dalle differenze tra hardware, ambienti e compiti. Un nuovo studio del MIT, intitolato "Scaling Proprioceptive-Visual Learning with Heterogeneous Pre-trained Transformers" (HPT), propone una soluzione innovativa per affrontare questi problemi: l'utilizzo di una struttura modulare di Transformer pre-addestrati su dati eterogenei. Questo approccio costituisce un significativo progresso nella creazione di modelli che possano generalizzare su molteplici compiti e piattaforme con costi di adattamento minimi.

Robotica avanzata MIT: adattamento rapido e flessibilità con l'HPT
Robotica avanzata MIT: adattamento rapido e flessibilità con l'HPT

La sfida dell'eterogeneità nella robotica

La robotica è caratterizzata da un'enorme eterogeneità, che rappresenta una sfida critica per lo sviluppo di modelli che possano essere applicati a robot con configurazioni e compiti diversi.


Questa eterogeneità si manifesta sotto diversi aspetti:

 

  • Diversità hardware: I robot possono avere configurazioni hardware estremamente variabili. Ad esempio, possono differire nel numero di gradi di libertà, nei tipi di end-effector, nelle modalità di movimento e nei sensori di cui sono dotati. Queste differenze portano a spazi di osservazione e di azione unici per ogni tipo di robot, rendendo difficile la creazione di modelli di controllo che possano generalizzare. Ogni "incarnazione" di robot può avere differenti capacità propriocettive (come sensori di posizione e velocità articolare) e diversi tipi di effettori, che variano in base al compito che il robot è progettato per svolgere.

 

  • Eterogeneità degli ambienti: I robot operano in una vasta gamma di ambienti, sia strutturati che non strutturati. Un robot che opera in un ambiente industriale ben definito avrà un'esperienza molto diversa rispetto a un robot che interagisce in ambienti domestici, dove le variabili esterne (come illuminazione, ostacoli e oggetti) cambiano frequentemente. Questa variabilità complica ulteriormente il processo di addestramento, in quanto richiede ai modelli di essere robusti a un numero elevato di situazioni impreviste.

 

  • Varietà di compiti: I robot possono essere progettati per eseguire una vasta gamma di compiti, che vanno dalla semplice manipolazione di oggetti in ambienti fissi fino a interazioni complesse in spazi dinamici e imprevedibili. Questa diversità introduce ulteriori sfide nel creare modelli di controllo che possano adattarsi agilmente a nuovi compiti senza richiedere un riaddestramento completo da zero. Per esempio, un braccio robotico utilizzato per il montaggio in una fabbrica potrebbe dover essere riadattato per compiti di pick-and-place in un magazzino logistico, con necessità di comportamenti e precisione differenti.

  

  • Differenze nella percezione: I robot sono spesso dotati di una varietà di sensori visivi, che includono telecamere montate sul polso, telecamere di profondità e sensori esterni per la visione di terze parti. Questi sensori forniscono dati visivi differenti a seconda della loro posizione, dell'angolo di visuale e delle condizioni ambientali, come l'illuminazione. Un altro tipo di eterogeneità percezionale è quella propriocettiva: i robot raccolgono dati dai loro sensori interni, come encoder articolari o sensori di forza e coppia, che variano significativamente da un robot all'altro.

 

Tradizionalmente, l'addestramento delle strategie di controllo per i robot richiede la raccolta di dati specifici per ciascun robot, compito ed ambiente. Questo procedimento è estremamente costoso in termini di tempo e risorse, poiché ogni nuovo robot o compito necessita di una nuova fase di addestramento, spesso accompagnata dalla creazione di dataset su larga scala. La scarsa riutilizzabilità dei dati limita fortemente la capacità dei modelli di generalizzare, costringendo ricercatori e aziende a ripetere lo stesso processo per ogni scenario individuale.

 

Il team del MIT, insieme a Meta e FAIR, ha sviluppato una soluzione innovativa chiamata Heterogeneous Pre-trained Transformers (HPT) per affrontare le sfide legate all'eterogeneità nei sistemi robotici. Questa architettura modulare sfrutta un approccio basato su modelli pre-addestrati, superando così le difficoltà derivanti dalla varietà di dispositivi e compiti robotici. Il principio chiave di HPT è l'uso di un "trunk", ossia una parte centrale della rete neurale pre-addestrata, che viene condivisa tra diversi compiti e robot. In pratica, HPT riesce a unificare le informazioni eterogenee che provengono da sensori di tipo propriocettivo (quelli che rilevano la posizione e il movimento del corpo) e da sensori visivi, traducendole in una rappresentazione standard e comune. Questo approccio semplifica l'adattamento di nuovi robot, riducendo al minimo il bisogno di un nuovo addestramento. Ogni robot utilizza specifici "tokenizzatori", strumenti che permettono di codificare le informazioni, per adattarsi alla propria configurazione, rendendo il sistema flessibile e facilmente applicabile a diverse “incarnazioni” robotiche.

 

L'architettura HPT è stata progettata per poter affrontare e sfruttare le differenze hardware e percettive. Ad esempio, utilizza tokenizzatori specifici per ogni tipo di sensore, sia per la visione che per la propriocettività, i quali trasformano i segnali eterogenei dei sensori in una sequenza comune di token. Questo permette di aggregare dati da diverse piattaforme robotiche e addestrare un unico modello di controllo che sia in grado di generalizzare su nuovi robot con configurazioni e capacità diverse.

 

I test effettuati su una vasta gamma di dataset, sia reali che simulati, hanno dimostrato che l'addestramento su dati eterogenei porta a un notevole miglioramento delle capacità di generalizzazione delle politiche robotiche. Nello specifico, utilizzando un totale di 52 dataset distinti, il sistema HPT ha mostrato prestazioni nettamente superiori rispetto a diverse soluzioni di riferimento (baseline), incrementando l'efficacia delle policy robotiche fino al 20% su compiti nuovi e mai affrontati prima. Questa performance è stata resa possibile grazie alla combinazione di dati provenienti da robot reali, simulazioni avanzate e persino da video di attività umane. Tale approccio ha permesso di costruire una base di conoscenza estremamente diversificata, che rende HPT un modello altamente adattabile a una vasta gamma di scenari e compiti, garantendo versatilità e capacità di apprendimento continuo.

 

In definitiva, la sfida dell'eterogeneità nella robotica è quella di trovare un equilibrio tra la specializzazione del singolo robot e la generalizzazione delle politiche di controllo. L'approccio HPT rappresenta una soluzione promettente a questo problema, sfruttando una struttura modulare e la potenza dei Transformer per creare rappresentazioni comuni e flessibili. Questo consente una maggiore facilità di trasferimento delle conoscenze tra diversi robot e una drastica riduzione dei costi di addestramento, offrendo un notevole vantaggio per le applicazioni pratiche nel settore.

 

Architettura di HPT

L'architettura di HPT è suddivisa in tre componenti principali: stem, trunk e head.


  • Stem: Ogni stem nell'architettura HPT ha il compito di elaborare i segnali provenienti dai sensori specifici di ciascun robot, che possono includere sia dati propriocettivi sia dati visivi. Per fare ciò, ogni stem impiega dei tokenizzatori specializzati per ciascun tipo di sensore, i quali convertono i segnali eterogenei in una sequenza standard di token con dimensione fissa. Questa fase è cruciale perché permette di uniformare dati molto diversi tra loro, rendendoli compatibili per l'elaborazione successiva. Ad esempio, per quanto riguarda i dati propriocettivi (legate alla percezione del corpo e del movimento), come le informazioni sulla posizione degli effettori (le parti finali del robot che eseguono azioni, come le mani) o la velocità angolare delle giunture, vengono utilizzate reti multilayer perceptron (MLP). Queste reti neurali prendono i dati grezzi provenienti dai sensori e li trasformano in una rappresentazione tokenizzata, ossia in una sequenza di simboli digitali standardizzati. Questa standardizzazione è fondamentale perché permette al modello di gestire dati provenienti da una grande varietà di sorgenti senza dover ricorrere a una complessa riconversione o ricostruzione del formato originale dei dati. In questo modo, HPT riesce a processare senza difficoltà informazioni diverse tra loro, garantendo un alto livello di flessibilità operativa.

 

Per i segnali visivi, il stem può includere encoder pre-addestrati che processano immagini o video provenienti da diverse telecamere, come telecamere di profondità o RGB. Questo passaggio riduce la complessità dei dati visivi a un numero gestibile di token che rappresentano caratteristiche rilevanti per l'addestramento delle politiche.

 

  • Trunk: Il trunk è l'elemento centrale dell'architettura HPT e consiste in un Transformer condiviso, che ha il compito di elaborare i token ricevuti dagli stem, ossia i moduli che pre-elaborano le informazioni provenienti dai vari sensori. Il ruolo principale del trunk è quello di creare una rappresentazione latente comune, ovvero una forma di dati codificati, che può essere utilizzata per una vasta gamma di compiti robotici. La struttura del trunk sfrutta appieno le potenzialità dei Transformer, noti per la loro capacità di gestire sequenze di dati e di identificare relazioni complesse tra le informazioni. Questa caratteristica è particolarmente vantaggiosa nel contesto della robotica, dove è necessario integrare in modo efficiente le informazioni propriocettive con quelle visive, al fine di comprendere situazioni complesse e prendere decisioni in tempo reale. L'architettura del trunk consente quindi ai robot di affrontare scenari dinamici con una maggiore precisione e rapidità di reazione.

 

Il trunk è stato addestrato utilizzando una vasta gamma di dataset eterogenei, che includono dati raccolti da diversi tipi di robot in molteplici ambienti. Questo approccio permette al trunk di apprendere una rappresentazione generalizzata che è robusta rispetto alle variazioni delle condizioni operative e dei compiti. Una volta che il trunk è stato pre-addestrato, può essere facilmente riutilizzato in nuovi contesti, riducendo significativamente il tempo necessario per l'addestramento di nuovi modelli.

 

  • Head: Ogni head nell'architettura HPT è progettato specificamente per un determinato compito o robot e ha il compito di utilizzare la rappresentazione latente prodotta dal trunk per generare le azioni necessarie. La modularità degli head è un aspetto fondamentale, in quanto permette di adattare l'intera architettura HPT a nuovi compiti senza dover apportare modifiche al trunk, che rimane invariato. Gli head sono costituiti, generalmente, da reti neurali semplici che trasformano la rappresentazione latente in comandi concreti per il robot. Questi comandi possono includere, ad esempio, la definizione della traiettoria degli effettori o la quantità di forza da applicare durante un'azione. Grazie a questa struttura modulare, ogni head può essere facilmente personalizzato in base alle specifiche necessità operative, rendendo il sistema flessibile e altamente adattabile a nuove situazioni e compiti robotici.

 

In molti casi, l’head può essere ri-addestrato o adattato per specifici compiti senza richiedere la modifica delle altre parti dell'architettura. Questo approccio modulare è fondamentale per permettere una facile personalizzazione dell'HPT su robot diversi con compiti specifici, riducendo notevolmente il costo e la complessità del riaddestramento.

 

Un altro elemento fondamentale dell'architettura HPT è la capacità di adattarsi a nuovi robot e compiti con un numero minimo di dati aggiuntivi. Grazie alla separazione tra stem, trunk e head, l'addestramento può essere concentrato solo sulle parti dell'architettura che necessitano di aggiornamenti, massimizzando l'efficienza e minimizzando l'impiego di risorse computazionali. Ad esempio, se viene introdotto un nuovo tipo di robot con sensori differenti, sarà sufficiente sviluppare uno stem personalizzato, mentre il trunk pre-addestrato e gli head esistenti possono rimanere invariati.

 

Questa struttura gerarchica e modulare non solo facilita il riutilizzo e l'adattamento, ma consente anche di scalare il sistema con una complessità computazionale contenuta. Inoltre, la capacità del trunk di apprendere da dati provenienti da molteplici sorgenti e domini rappresenta un grande passo avanti nella creazione di modelli di controllo robotico più generali e flessibili.

 

Esperimenti di pre-training e risultati

Gli esperimenti con HPT hanno avuto come obiettivo principale quello di rispondere a una domanda fondamentale: come scala l'apprendimento dei modelli pre-addestrati su dati eterogenei? Utilizzando dati provenienti da diverse fonti, inclusi robot reali, simulazioni e video umani, sono stati creati dataset eterogenei per l'addestramento.


I risultati principali includono:


  • Data scaling: L'addestramento su 52 dataset, con oltre 200.000 traiettorie totali, ha dimostrato che aumentare la quantità e la diversità dei dati riduce costantemente la perdita di validazione, indicando una migliore capacità di generalizzazione del modello. Questo fenomeno suggerisce che più il modello viene esposto a scenari diversificati, migliore è la sua abilità di adattarsi a compiti nuovi e non previsti. In particolare, l'utilizzo di un mix di dati da robot reali, simulazioni e persino video di attività umane ha consentito di coprire un ampio ventaglio di condizioni operative, garantendo al modello una robustezza superiore rispetto ai metodi tradizionali.

 

Gli esperimenti hanno mostrato che aumentando il numero di traiettorie nei dataset, il modello HPT riesce a raggiungere una performance migliore in termini di riduzione degli errori di predizione e della perdita di validazione. La capacità di generalizzare efficacemente dipende non solo dalla quantità di dati, ma anche dalla loro eterogeneità, il che ha confermato l'importanza di integrare fonti di dati diversificate per massimizzare le capacità di apprendimento del modello.

 

  • Model scaling: Nel processo di scaling del modello, sono stati testati sistemi con dimensioni diverse, variando da 3 milioni fino a 1 miliardo di parametri. I risultati dei test hanno evidenziato che i modelli di dimensioni maggiori traggono un notevole beneficio dall'uso di quantità più ampie di dati durante l'addestramento, ottenendo così prestazioni migliori. In particolare, i modelli con un numero più elevato di parametri hanno dimostrato una maggiore capacità di catturare relazioni complesse tra le diverse fonti di dati. Questo ha portato a miglioramenti significativi nella capacità di predire correttamente le azioni da eseguire in contesti non ancora affrontati durante l'addestramento. Questi risultati sottolineano come i modelli più grandi siano più efficaci nel generalizzare le informazioni e nel gestire scenari più complessi, grazie alla loro abilità di elaborare e collegare dati provenienti da sorgenti eterogenee.

 

Gli esperimenti hanno evidenziato che esiste una correlazione positiva tra la dimensione del modello e la sua capacità di apprendimento, ma solo fino a un certo punto. Oltre tale limite, l'aumento della complessità del modello porta a miglioramenti marginali, a meno che non sia accompagnato da un adeguato incremento sia della qualità che della quantità dei dati di addestramento. Inoltre, l'utilizzo di modelli di grandi dimensioni ha richiesto un'ottimizzazione accurata del processo di addestramento per evitare che il modello si adattasse eccessivamente ai dati, perdendo la capacità di generalizzare su dati nuovi. Questo problema è stato gestito con tecniche di regolarizzazione, volte a migliorare la capacità del modello di funzionare correttamente anche su dati non visti prima, e mediante l'uso di dataset di validazione molto diversificati. Questi accorgimenti hanno garantito un buon equilibrio tra complessità del modello e capacità di adattamento a nuovi scenari.

 

  • Transfer learning: Il transfer learning applicato all'HPT ha mostrato risultati notevoli quando il modello è stato trasferito a nuovi compiti, sia in simulazioni avanzate che su robot reali. In questi casi, l'HPT ha ottenuto tassi di successo superiori rispetto ai modelli addestrati da zero e rispetto ai baseline pre-addestrati utilizzando solo dati visivi o propriocettivi in modo isolato. I test di trasferimento hanno incluso compiti di manipolazione complessi, come l'afferrare e lo spostare oggetti in ambienti sconosciuti. In queste situazioni, l'HPT ha dimostrato una capacità di adattamento significativamente migliore rispetto ai metodi tradizionali, riuscendo a gestire scenari nuovi con maggiore efficacia. Questo evidenzia il potenziale del modello nell'affrontare compiti complessi con una maggiore flessibilità e precisione, beneficiando dell'apprendimento pre-addestrato su dati eterogenei.

 

Gli esperimenti di transfer learning sono stati condotti sia in ambienti simulati che in scenari reali, con robot diversi e compiti variabili. In scenari simulati, il modello HPT ha raggiunto un tasso di successo superiore al 20% rispetto ai modelli tradizionali. In ambienti reali, il modello ha mostrato un'elevata robustezza rispetto a cambiamenti nelle condizioni di illuminazione, configurazioni degli oggetti e altre variabili ambientali. Questo è particolarmente rilevante per applicazioni come la robotica di servizio e la logistica, dove i robot devono adattarsi rapidamente a variazioni impreviste dell'ambiente operativo.

 

L'approccio HPT ha anche dimostrato di ridurre significativamente il numero di traiettorie necessarie per addestrare un robot su un nuovo compito, grazie alla capacità di riutilizzare le rappresentazioni apprese durante la fase di pre-training. Ciò si traduce in un risparmio notevole di risorse, sia in termini di tempo che di costi computazionali, rendendo l'HPT una soluzione pratica ed efficace per le applicazioni industriali e di ricerca.

 

Applicazioni e implicazioni future

Il framework HPT offre molte potenziali applicazioni nel campo della robotica moderna. Un'applicazione rilevante potrebbe essere nello sviluppo di sistemi di controllo per flotte robotiche eterogenee, dove è fondamentale adattare rapidamente nuove politiche di controllo senza dover ripetere costosi processi di addestramento per ogni singolo robot. Questa capacità di adattamento rapido è cruciale in settori come la logistica e la produzione industriale, dove i robot devono essere in grado di passare da un compito all'altro senza soluzione di continuità. Ad esempio, una flotta di robot in un magazzino potrebbe essere addestrata inizialmente su compiti di base come il sollevamento e il trasporto di pacchi, per poi adattarsi velocemente a nuove esigenze, come il posizionamento di articoli sugli scaffali o la gestione di inventari particolarmente complessi.

Inoltre, HPT può essere utilizzato per migliorare i sistemi di robotica di servizio. Questi robot sono progettati per operare in ambienti variabili, come le case, dove devono interagire con persone e affrontare una vasta gamma di situazioni non strutturate. L'adattabilità di HPT potrebbe rendere questi robot più sicuri e affidabili, consentendo loro di imparare nuovi comportamenti direttamente dagli utenti o tramite l'integrazione di nuovi dati sensoriali. Ad esempio, un robot domestico potrebbe apprendere come manipolare nuovi oggetti in cucina o adattarsi a layout domestici diversi senza richiedere un lungo processo di riaddestramento.

 

Un altro potenziale utilizzo riguarda la robotica collaborativa, dove HPT potrebbe essere impiegato per creare modelli capaci di lavorare in maniera sinergica con gli esseri umani. In scenari industriali, ciò potrebbe significare robot in grado di adattarsi al ritmo e alle azioni degli operatori umani, migliorando l'efficienza e la sicurezza delle operazioni. L'architettura HPT, grazie alla sua capacità di adattarsi a una varietà di sensori e input, potrebbe permettere ai robot di rispondere rapidamente ai segnali umani, come gesti, rendendo la collaborazione uomo-macchina più fluida ed efficace.

 

HPT potrebbe anche avere un impatto significativo nel settore sanitario. Robot equipaggiati con HPT potrebbero assistere in operazioni chirurgiche o in attività di riabilitazione, adattandosi ai bisogni specifici di ogni paziente. Ad esempio, un robot chirurgico potrebbe essere addestrato inizialmente su dati di operazioni simulate e poi adattato ai dati del paziente in tempo reale, migliorando la precisione e la personalizzazione dell'intervento. Allo stesso modo, un robot per la riabilitazione potrebbe adattarsi ai progressi del paziente, regolando l'intensità e la tipologia degli esercizi in base alle capacità e alle necessità individuali.

 

Un ulteriore sviluppo futuro dell'HPT riguarda la possibilità di integrare dati multimodali, come immagini, suoni e testo, per costruire modelli ancora più potenti e generali. Questa capacità di apprendimento multimodale potrebbe aprire nuove strade nella robotica educativa, dove i robot potrebbero apprendere compiti complessi combinando l'osservazione visiva con istruzioni verbali. Immaginiamo un robot che apprende a cucinare un piatto non solo osservando un video, ma anche seguendo le istruzioni vocali di un cuoco umano: un simile approccio integrato potrebbe portare a progressi significativi nel campo dell'intelligenza artificiale applicata alla robotica.

 

Infine, HPT potrebbe essere sfruttato per la gestione e il controllo di robot in ambienti estremi, come lo spazio o il sottosuolo. In questi contesti, l'eterogeneità delle condizioni operative rende l'addestramento in loco altamente complesso e costoso. La capacità di HPT di generalizzare da dati pre-addestrati potrebbe consentire ai robot di adattarsi meglio alle condizioni mutevoli senza dover essere riaddestrati da zero ogni volta. Per esempio, rover marziani o robot utilizzati in missioni di ricerca sottomarina potrebbero beneficiare di un modello pre-addestrato su una varietà di scenari, che poi viene ulteriormente perfezionato con dati raccolti in tempo reale nelle condizioni estreme specifiche dell'ambiente.

 

Conclusioni

L'architettura HPT (Heterogeneous Pre-trained Transformers) rappresenta un cambiamento di paradigma significativo per il futuro della robotica, andando oltre la semplice innovazione tecnologica e offrendo implicazioni strategiche di vasta portata per il mondo delle imprese. La capacità di generalizzare su molteplici piattaforme robotiche e scenari grazie all'apprendimento pre-addestrato su dati eterogenei consente una riduzione dei costi e una maggiore efficienza, ma ciò che emerge come riflessione chiave è l'enorme valore aggiunto in termini di flessibilità e rapidità di adattamento. Le aziende non saranno più vincolate dall'approccio tradizionale che richiede lunghi processi di riaddestramento per ogni nuovo robot o compito: questo ridisegna radicalmente le dinamiche di sviluppo e implementazione delle tecnologie robotiche, rendendo possibili economie di scala anche in contesti altamente personalizzati e dinamici.

 

Un concetto rilevante per il mondo imprenditoriale è la standardizzazione degli approcci al problema dell'eterogeneità. In pratica, HPT permette di utilizzare robot diversi, anche molto eterogenei tra loro, mantenendo una struttura comune che non richiede costosi adattamenti personalizzati. In settori come la logistica, dove ogni cambiamento di configurazione solitamente impone una riprogettazione delle policy di controllo, un simile approccio modulare consente una transizione fluida tra compiti diversi, migliorando notevolmente la capacità di rispondere rapidamente a nuove esigenze di mercato o a variazioni nelle operazioni.

 

Un altro aspetto strategico è la capacità di trasferire l'apprendimento attraverso contesti diversi, inclusi ambienti simulati e reali, che permette di sperimentare e ottimizzare scenari complessi in ambienti virtuali prima di applicarli su larga scala. Questa "simulazione del futuro" riduce i rischi di implementazione e aumenta la precisione delle decisioni aziendali, poiché le soluzioni robotiche possono essere testate e affinate virtualmente prima di essere dispiegate sul campo. In settori come quello manifatturiero, dove la velocità di adozione tecnologica è spesso rallentata dalla necessità di ridurre al minimo gli errori, HPT apre le porte a una maggiore velocità di innovazione e competitività.

 

In un contesto in cui l'integrazione tra uomini e macchine diventa sempre più cruciale, la flessibilità di HPT favorisce lo sviluppo di robot collaborativi più efficaci. La capacità di adattarsi alle variazioni ambientali, ai ritmi di lavoro umano e alle esigenze di compiti specifici non solo migliora l'efficienza operativa, ma innalza anche i livelli di sicurezza e produttività. Le imprese possono così progettare workflow in cui la sinergia uomo-macchina non è solo possibile, ma ottimizzata.

 

Dal punto di vista del mercato, l'implementazione di soluzioni robotiche più versatili avrà un impatto notevole sulla competitività delle imprese. Quelle in grado di adottare rapidamente modelli come HPT saranno meglio posizionate per rispondere alle mutevoli esigenze dei clienti e per affrontare la complessità crescente dei mercati globali. L'adattabilità e la capacità di riutilizzare le conoscenze apprese da diversi scenari operativi faranno emergere nuovi modelli di business basati sulla personalizzazione di massa, dove i robot non saranno più macchine rigide e specifiche, ma piattaforme dinamiche capaci di reinventarsi continuamente a seconda del contesto.

 

In sintesi, l'architettura HPT non solo risolve problemi tecnici complessi, ma ridefinisce i parametri entro i quali le imprese dovranno operare in futuro. La capacità di gestire l'eterogeneità con efficacia e rapidità non rappresenta solo un progresso tecnologico, ma una leva strategica fondamentale per quelle aziende che mirano a mantenere un vantaggio competitivo in un mercato sempre più dominato dalla flessibilità e dall'innovazione.

 

 

Post recenti

Mostra tutti

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page