Simulazione dinamica multibody del rover T0-R0 per la European Rover Challenge
Cristiano Pizzamiglio, Andrea Andreoli, Vincenzo Comito, Daniel Lippi, Giulio Binello, Serban Leveratto con Daniele Catelani, Giancarlo Genta
La "European Rover Challenge (ERC"» è la più importante competizione di robotica spaziale che si svolge in Europa. La ERC, insieme alla University Rover Challenge (URC), è parte della prestigiosa "Rover Challenge Series" promossa dalla Mars Society. Durante la competizione i veicoli devono essere in grado di svolgere differenti compiti, tra i quali la raccolta e il trasporto di oggetti, oppure operazioni che simulino l’interazione con gli astronauti. Gli studenti del Team DIANA, gruppo di robotica spaziale del Politecnico di Torino, hanno progettato il rover T0-R0 con l’obiettivo di partecipare all’edizione del 2017 della ERC. Uno dei requisiti fondamentali che deve essere rispettato dai team è rappresentato dal costo netto del veicolo il quale non può essere superiore a 15000 euro. Con lo scopo di ridurre i tempi e i costi di sviluppo del rover e di limitare i rischi connessi alla costruzione del prototipo reale, sono state condotte numerose simulazioni dinamiche, in ambiente integrato MSC Adams® – MathWorks Matlab/Simulink®, che hanno permesso una comprensione precoce della dinamica del veicolo in funzione delle differenti soluzioni costruttive adottate.

Il Team DIANA è un gruppo di robotica spaziale del Politecnico di Torino nato nel 2008. Attualmente è composto da circa 60 studenti provenienti da differenti corsi di ingegneria di primo, secondo e terzo livello.
A partire dall’anno accademico 2015/16 è stato avviato il progetto T0-R0: progettazione e costruzione del dimostratore terrestre di un rover marziano per l’assistenza agli astronauti con l’obiettivo di partecipare all’edizione del 2017 della «European Rover Challenge (ERC)».
Giunta ormai alla terza edizione, la ERC è la più grande competizione di robotica spaziale in Europa. La ERC, insieme alla University Rover Challenge (URC), è parte della prestigiosa Rover Challenge Series promossa dalla Mars Society. Lo scopo di queste competizioni consiste sia nell’incentivare la ricerca nel settore dei robot per l’assistenza agli astronauti, sia nel divulgare, al grande pubblico, l’interesse per la ricerca scientifica e tecnologica nel campo dell’esplorazione spaziale. Durante la competizione le squadre si affrontano in una serie di quattro prove che simulano i vari compiti che dovranno un giorno svolgere i rover di assistenza agli astronauti sul suolo marziano:
prova di assistenza agli astronauti: il rover deve essere in grado di attraversare un terreno accidentato lungo il quale sono disposti una serie di oggetti che devono essere raccolti, trasportati e riposizionati nei luoghi prestabiliti dai giudici di gara;
prova di ricerca scientifica: il rover deve essere in grado di recuperare tre diversi campioni di terreno (un sasso, del terreno superficiale e un campione di terreno al di sotto di 15 cm dalla superficie) ed eseguire a bordo una serie di misurazioni di interesse scientifico (geologico/biologico);
prova di manutenzione: il rover deve essere in grado di eseguire una serie di operazioni su un quadro elettrico quali, ad esempio, azionare interruttori, regolare manopole, misurare la tensione da una presa elettrica, raccogliere e posizionare una presa elettrica, ecc.;
prova di navigazione: l’operatore dovrà guidare il rover lungo un percorso senza l’ausilio delle immagini riprese dalle telecamere, affidandosi, dunque, a sistemi alternativi: GPS, sensori di prossimità e dati, ottenuti grazie a tecniche di computer vision, che devono essere elaborati a bordo del rover.
La competizione impone, inoltre, i seguenti vincoli: la massa totale del rover deve essere inferiore a 50 kg e il costo totale del veicolo non può superare i 15000 euro. La limitazione sul budget è imposta non solo per incentivare la ricerca di soluzioni a basso costo ma offre anche la possibilità alle varie squadre, provenienti da università di tutto il mondo, di competere alla pari.
La configurazione finale del rover T0-R0 (Fig. 1) presenta un sistema di locomozione di tipo rocker-bogie a sei ruote collegato ad uno chassis (avente dimensioni 750×146×500mm) contenente al proprio interno i sistemi elettronici e le batterie, mentre all’esterno ospita un braccio robotico (distanza tra i giunti rotoidali della spalla e del gomito pari a 700mm) a sei gradi di libertà dotato di due end-effector intercambiabili.
La struttura del telaio del rover si basa sull’architettura rocker-bogie a sei ruote (Fig. 2). In generale, questo sistema di sospensione, presente, ad esempio, sul rover Curiosity, permette al veicolo di superare ostacoli di altezza superiore al diametro della ruota.
La fase iniziale della progettazione è stata dedicata all’analisi della cinematica del sistema rocker-bogie: la derivazione delle relazioni cinematiche del meccanismo ha permesso di valutare l’influenza della variazione dei parametri geometrici sulle prestazioni del rover. Inoltre, particolare attenzione è stata dedicata allo studio della stabilità del veicolo nel superamento di ostacoli di differenti dimensioni.
I classici sistemi rocker-bogie sono sprovvisti di elementi elastici (ad es. molle) a fronte di una velocità di poco superiore a 1m/min. Il rover T0-R0, invece, è stato progettato con l’obiettivo di raggiungere una velocità massima pari a 3km/h, 50 volte superiore rispetto ai veicoli dotati di rocker-bogie tradizionale. Le soluzioni costruttive adottate da alcuni team durante le precedenti edizioni della competizione, prevedevano, ad esempio, la rimozione del bilanciere o l’inserimento di ammortizzatori che collegavano direttamente lo chassis al rocker o al bogie, snaturando il sistema. La soluzione implementata sul rover T0-R0 permette sia di salvaguardare la struttura dalle sollecitazioni dinamiche durante il moto, sia di mantenere il comportamento cinematico originale del sistema.
L’indagine delle soluzioni che potessero soddisfare i suddetti requisiti ha condotto allo sviluppo di un sistema rocker-bogie costituito da un bilanciere avente un comportamento parzialmente flessibile, e da bracci oscillanti che collegano, mediante sospensioni a molle elicoidali, le ruote alla struttura.
La configurazione delle sospensioni alle ruote è assimilabile a quella di una sospensione monobraccio con collegamento diretto del forcellone posteriore di una motocicletta; tale soluzione ha permesso di ridurre l’ingombro trasversale del rover e di semplificare il collegamento tra la ruota, il motore, il riduttore, le pulegge dentate e la sospensione.
Il bilanciere è la parte peculiare del sistema di sospensioni del rover. Rispetto al classico trasferimento rigido del moto ai rocker, il bilanciere presenta un comportamento inizialmente flessibile, per attenuare la pericolosa trasmissione di sollecitazioni durante il movimento, ma che acquista rigidezza in occasione del superamento degli ostacoli più ostici. Per ottenere queste caratteristiche si era inizialmente pensato all’uso di una molla flessionale con le dimensioni dell’intero bilanciere, ma questa sarebbe stata troppo pesante e avrebbe presentato difficoltà nel collegamento con il resto della struttura. Per questi motivi si è optato per un bilanciere formato da un profilato in alluminio in cui solo alle estremità sono state fissate delle molle flessionali (struttura curva rastremata, Fig. 3).

Per quanto riguarda la progettazione del braccio robotico, è stato necessario sviluppare un sistema a sei gradi di libertà al fine di poter garantire un corretto posizionamento e orientamento dell’end-effector nelle varie operazioni di assistenza agli astronauti previste dalla competizione. La configurazione finale è quella di un robot antropomorfico a tre gradi di libertà rotativi (RRR) con l’aggiunta di un polso RPY (roll-pitch-yaw) dotato di due end-effector intercambiabili (Fig. 4).
Per i tre gradi di libertà della spalla e del gomito sono stati considerati, inizialmente, tre diversi sistemi di attuazione:
ad attuatori lineari;
con motori rotativi;
ibrida con attuatori lineari e rotativi.
Le analisi effettuate in ambiente MSC Adams/View® delle prime due soluzioni sopra elencate hanno permesso di identificare la seconda configurazione come quella più adeguata agli scopi prefissi. Infatti, seppur l’utilizzo di soli attuatori lineari consenta prestazioni migliori in termini di forze applicabili sull’end-effector, il work envelope, ovvero il campo d’azione del braccio robotico, ottenuto in tal caso non è risultato sufficiente per alcune delle prove richieste. Per tale motivo è stata adottata una configurazione con quattro motori stepper: uno incassato nello chassis e accoppiato a una ralla sulla quale è collegato l’intero braccio, due alla base della spalla che lavorarono in parallelo sullo stesso grado di libertà e uno sul gomito. Per il polso sono stati utilizzati, invece, dei servomotori che hanno il vantaggio di avere un ottimo rapporto peso/coppia fornita.
Considerando i due end-effector, il primo è una pinza a piani paralleli la quale permette di raccogliere oggetti, nonché attivare interruttori e azionare valvole. Inoltre una delle due estremità è dotata di uno spinotto rimovibile per la misurazione del voltaggio di una presa elettrica. Anche per questo sottosistema il motore utilizzato è sufficientemente leggero e ingrana con un doppio sistema di ruote a denti elicoidali. Il secondo strumento di lavoro, invece, è una benna, azionata da un sistema vite-madrevite, per il campionamento di terreno superficiale. Inoltre, al fine di prelevare campioni situati a profondità maggiori, il braccio utilizza un carotatore inizialmente alloggiato in un apposito contenitore nella parte posteriore dello chassis. Compito della benna è quello di andare ad afferrare e serrare il carotatore, diventando così un unico sistema di campionamento. Le analisi riguardanti il tasso di umidità del terreno e la temperatura di quest’ultimo verranno effettuate sulla TSLP (T0-R0 Scientific Laboratory Platform), un laboratorio situato nella parte terminale dello chassis. Essa presenta, oltre ai sensori già elencati, anche una serie di bilance per la misurazione delle masse dei tre campioni prelevati.
IV. ANALISI MULTIBODY DEL ROVER IN AMBIENTE MSC ADAMS/VIEW®
L’elevata quantità di componenti costituenti il sistema e le numerose funzioni che da quest’ultimo devono essere svolte hanno inizialmente condotto allo sviluppo di due modelli virtuali: il primo inerente il sistema di mobilità del veicolo, il secondo dedicato al braccio robotico.
La costruzione di due modelli separati ha permesso di focalizzare le problematiche principali e di individuare le possibili soluzioni. La realizzazione dei prototipi virtuali dei suddetti sottosistemi è stata eseguita con lo scopo di simulare i comportamenti desiderati, a livello cinematico e dinamico, introducendo il minor numero possibile di parti.
Ad esclusione dei componenti soggetti a fenomeni di contatto o urto, per i quali risulta importante la riproduzione accurata delle geometrie (ad es. benna, carotatore), le parti sono state riprodotte utilizzando i corpi standard offerti dal software; le proprietà inerziali ad esse associate, ovvero massa, momenti d’inerzia, posizione dell’origine e orientamento degli assi baricentrici, sono state ricavate dal software di progettazione assistita impiegato per il disegno del veicolo.
Gli strumenti di parametrizzazione disponibili in MSC Adams/View® hanno permesso di imporre delle relazioni tra le entità presenti nel modello (ad es. posizione e orientamento relativo dei marker): in seguito alla modifica di un parametro di progetto, il software aggiorna automaticamente tutte le entità da esso dipendenti. Grazie alla parametrizzazione è stato possibile effettuare, ad esempio, con semplicità e notevole risparmio di tempo, la variazione della posizione delle cerniere che collegano il rocker allo chassis: infatti, l’esecuzione manuale di tale modifica avrebbe richiesto lo svolgimento di numerose e ripetitive operazioni. In aggiunta, l’impiego delle variabili di progetto ha permesso di cogliere l’effetto della variazione di determinati parametri sul comportamento dinamico del veicolo (ad es. studio della rigidezza della molla delle sospensioni).
Al termine delle numerose analisi condotte sui sottosistemi, si è proceduto all’unione dei due modelli ottenendo il prototipo virtuale del veicolo completo. L’elenco delle principali simulazioni eseguite è riportato di seguito:
analisi di cinematica inversa e diretta (braccio robotico, Fig. 5);
studio del sistema di sospensione rocker-bogie;
studio del superamento di ostacoli di differenti dimensioni;
studio dettagliato delle molle di flessione installate alle estremità del bilanciere: MSC Adams/Flex®, introduzione di corpi flessibili lineari;
analisi della mobilità del rover su terreno cedevole;
analisi delle strategie di controllo dei quattro motori elettrici del sistema di locomozione del rover: cosimulazione in ambiente integrato MSC Adams® – MathWorks Matlab/Simulink®;
simulazione della raccolta di un oggetto e della rotazione di una manopola attraverso l’impiego della pinza installata sul braccio robotico; estrazione del carotatore dalla sua sede mediante l’utilizzo della benna;
valutazione dell’influenza di cuscinetti volventi e di sistemi puleggia-cinghia sulle prestazioni del sistema di mobilità del veicolo: MSC Adams/Machinery®.
L’analisi di parti flessibili, la simulazione di componenti per la trasmissione del moto e lo studio delle logiche di controllo dei motori elettrici del sistema di mobilità sono oggetto di approfondimento nei prossimi paragrafi.
La geometria della molla di flessione è stata importata nel software MSC Patran mediante il quale è stato possibile costruire la mesh, definire le proprietà del materiale (acciaio armonico) e i nodi di interfaccia (RBE2). Il file bdf è stato modificato manualmente inserendo le voci necessarie per la realizzazione, da parte del solutore MSC Nastran, del file di estensione mnf (Modal Neutral File): SOL103 per l’esecuzione di una analisi modale, metodo di Lanczos per l’estrazione degli autovalori, definizione del numero di autovalori da estrarre, ecc. Con l’obiettivo di controllare se la generazione del file mnf fosse avvenuta correttamente, sono state effettuate alcune verifiche tra le quali:
confronto dei valori delle proprietà inerziali del corpo flessibile calcolati dal solutore e riportate nel file di output di estensione f06 con quelli calcolati dal software CAD;
controllo, nel file f06, della disattivazione dei modi di corpo rigido;
esecuzione in ambiente MSC Adams, in seguito all’importazione del corpo flessibile in assenza della forza di gravità e con rapporto di smorzamento nullo e con giunti di tipo fixed creati in corrispondenza dei nodi di interfaccia, di un’analisi statica seguita dal calcolo dei modi: il loro numero (e le corrispondenti frequenze) deve essere uguale alla quantità di modi presenti nella prima tabella di autovalori presente nel file f06.
L’indagine delle deformazioni e degli sforzi a cui sono soggette le molle flessionali è stata condotta considerando il veicolo in differenti condizioni operative, ovvero in presenza di un percorso irregolare o di ostacoli posizionati lungo il tragitto del rover. Inoltre, le analisi sono state effettuate mantenendo la formulazione modale di default del corpo flessibile, ovvero partial coupling, la quale permette la riduzione dell’onere computazionale garantendo, nella maggior parte dei casi, una buona qualità dei risultati. Ad esempio, considerando il veicolo dotato di braccio robotico in moto, con velocità media pari a 1.5 km/h, su un percorso caratterizzato da una perturbazione di tipo roughness, con Ge=3.5·10-6 m3/ciclo, Ga=0.5·10-6 (1/(m·ciclo)) e Gs=20·10-6 m/ciclo (il valore dei parametri è stato selezionato attenendosi agli intervalli suggeriti in [1]), lo sforzo massimo calcolato è circa pari a 420N/mm2 e lo spostamento massimo delle estremità delle molle di flessione (aventi spessore pari a 3mm) è approssimativamente pari a 1.6mm (Fig. 6).
Anche la soluzione costruttiva costituita da un’unica molla di flessione è stata esaminata ma subito scartata: le analisi condotte hanno evidenziato le difficoltà sia nel soddisfare i requisiti dinamici richiesti nelle varie condizioni operative sia nell’ evitare un eccessivo aumento della massa della molla di flessione.
Le simulazioni, in assenza di cuscinetti volventi e/o di cinghie dentate nei modelli, sono state condotte mantenendo il solutore di default, ovvero l’integratore implicito Gear Stiff (GSTIFF) che consente di ottenere risultati accurati nel caso di modelli stiff (in estrema sintesi caratterizzati da un insieme di basse e alte frequenze, [2]). Invece, è stato modificato l’indice di default del solutore (I3) a favore dello stabilized index 2 (SI2). L’SI2 permette di incrementare la stabilità e la robustezza numerica del solutore ottenendo risultati più precisi per le velocità e le accelerazioni (evitando i picchi numerici di brevissima durata, spike, che si potrebbero ottenere con l’I3), sebbene a discapito dell’aumento del tempo necessario per l’esecuzione della simulazione.
L’introduzione dei componenti offerti dal modulo MSC Adams/Machinery® ha determinato la sostituzione del solutore GSTIFF con l’integratore Hilber-Hughes-Taylor (HHT, con errore posto pari a 1·10-5) particolarmente adatto nei modelli contenenti cinghie o catene, caratterizzati da numerosi componenti interconnessi con limitata capacità di spostamento degli uni rispetto agli altri; inoltre, l’HHT risulta stabile per piccoli valori del passo di integrazione.
La modellizzazione delle cinghie dentate, mediante il metodo 3D Link (insieme di segmenti tridimensionali, Fig. 7), ha permesso di valutare l’efficienza del sistema di trasmissione della potenza progettato: è stato possibile calcolare, ad esempio, le forze di contatto tra i segmenti e le pulegge o confrontare il valore della tensione di montaggio della cinghia con quello calcolato manualmente.
Per quanto riguarda i cuscinetti a sfere, è stata analizzata la coppia installata in corrispondenza del giunto che collega il rocker allo chassis. I cuscinetti sono stati modellizzati sfruttando il metodo detailed e adottando il modello SKF® 7200 BECBP (cuscinetto obliquo a una corona di sfere): alcuni dei risultati forniti dal software (ad es. forze radiali) sono stati confrontati con quelli calcolati durante la fase di dimensionamento preliminare dei cuscinetti.
Il sistema di locomozione del rover, come affermato nei paragrafi precedenti, è costituito da un meccanismo rocker-boogie a sei ruote di cui solo quattro sono azionate da motori (le due ruote anteriori e le due ruote posteriori, sebbene sia possibile, in caso di necessità, azionare anche le due ruote centrali) e che sterza grazie allo slip steering. La difficoltà nello sviluppare un modello dinamico affidabile e allo stesso tempo semplice che tenesse conto di tale fenomeno avrebbe richiesto numerosi test sperimentali al fine di verificare e calibrare un sistema di controllo.
Da qui il vantaggio di utilizzare l’ambiente di cosimulazione per sviluppare una strategia di controllo basata sulla fusione dei dati provenienti da IMU (Inertial Measurement Unit), GPS e telecamere stereo presenti a bordo in grado di mantenere un livello accettabile di errore nel seguire le traiettorie desiderate.
L’idea è stata quella di controllare il movimento sulla base di due parametri, velocità e sterzata.
Gli errori di posizione e orientamento del rover calcolati dalla mainboard vengono combinati nella scheda master tramite PID opportunamente tarati grazie alle simulazioni, al fine di ottenere un riferimento di velocità per ognuna delle quattro ruote motrici. Per fare ciò sono stati utilizzati blocchi simulink e stateflow. Riferimento e misura di velocità vengono poi utilizzati dal modello dei driver motori per generare i comandi di tensione tramite anello di controllo in retroazione. Per quanto riguarda i motori, invece, sono stati modellati in simscape come semplici brushed DC. Precedentemente sono state effettuate delle simulazioni per convertire i parametri dei BLDC effettivamente utilizzati in quelli di un DC equivalente. Questo al fine di ottenere un modello con caratteristiche il più possibile simili all’originale ma più semplice ed adeguato alle dinamiche del sistema considerato. Infine i valori di coppia generati da ogni singolo motore vengono inviati al blocco Adams in cui è simulata la dinamica del sistema e dal quale si ottengono in uscita i valori delle velocita angolari delle ruote e orientamento, posizione e velocità del rover, chiudendo così il ciclo di controllo (Fig. 8).
V. CONCLUSIONI
La prototipazione virtuale del dimostratore terrestre T0-R0 di un rover marziano in ambiente integrato MSC Adams® – MathWorks Matlab/Simulink® ha permesso, nella fase preliminare del processo di sviluppo del veicolo, sia di individuare e correggere i difetti e le debolezze del progetto, sia di ottimizzare i componenti costituenti il sistema. Inoltre, le simulazioni numeriche hanno consentito di indagare gli effetti di situazioni pericolose (ad es. ribaltamento del veicolo), la cui realizzazione pratica avrebbe richiesto un onere economico incompatibile con il budget a disposizione del team.
RINGRAZIAMENTI
Si coglie l’occasione per ringraziare gli studenti del Team DIANA, i quali con passione, dedizione e serietà hanno lavorato allo sviluppo del progetto T0-R0.
Un sincero ringraziamento è rivolto alla Commissione Fondi del Politecnico di Torino per aver concesso le indispensabili risorse economiche.
Infine, si ringraziano gli ingegneri della MSC.Software® S.r.l. di Torino per i preziosi consigli forniti durante la realizzazione del digital mock-up del veicolo.
RIFERIMENTI BIBLIOGRAFICI
[1] Sayers, M.W., “Dynamic Terrain Inputs to Predict Structural Integrity of Ground Vehicles.”
UMTRI Report No. UMTRI-88-16, April 1988, 114 pp.
[2] Gear, W.C. “Simultaneous Numerical solution of Differential-algebraic Equations. “ IEEE Transactions on Circuit Theory, Vol. CT-
18, No. 1, pp. 89-95. New York: Institute of Electrical and Electronics Engineers, 1971.