Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Massimo Brescia » 17.Ottica Attiva e Adattiva - parte quarta


Ottica attiva con M2 – Hexapod

L’hexapod è un dispositivo composto da 2 superfici esagonali unite da 6 aste a lunghezza variabile. Una delle 2 superfici è fissa, mentre l’altra è mobile e gode di 6 gradi di libertà (Stewart platform)

Ottica attiva con M2 – Hexapod

Ottica attiva con M2 - Hexapod


Ottica attiva con M2 – Hexapod (…segue)

La funzione primaria di un tale oggetto è quella di posizionare con accuratezza di 1 micron la piattaforma mobile nello spazio. Ciò anche in condizioni di device inclinato (a diverso gradiente gravitazionale).

Ottica attiva con M2 – Hexapod

Ottica attiva con M2 - Hexapod

Ottica attiva con M2 – Hexapod

Ottica attiva con M2 - Hexapod


Hexapod – principio di azionamento

Il meccanismo è teoricamente semplice: le 6 aste variano la loro lunghezza lineare e in modo reciprocamente vincolato descrivono rotazioni e traslazioni della piattaforma mobile nello spazio. Il problema è dunque legato al calcolo della lunghezza delle 6 aste, una volta definita la posizione della piattaforma (cinematica inversa) o, in modo duale, la determinazione della posizione ed orientazione della piattaforma, note le lunghezze delle aste (cinematica diretta)
Cinematica Inversa: conosciuta la posizione del piano mobile nello spazio si determina la lunghezza delle aste

{{L}_{i}}=\sqrt{\sum\limits_{i=1}^{6}{{{\left( {{p}_{{{m}_{i}}}}-{{p}_{{{f}_{i}}}} \right)}^{2}}}}

Cinematica Diretta: conosciuta la lunghezza delle aste si determina la posizione del piano mobile nello spazio

\Delta q={{H}^{-1}}\Delta L

Hexapod – principio di azionamento

Hexapod - principio di azionamento


Hexapod – cinematica inversa

Si definisce posizione di riposo dell’hexapod quella nella quale le 2 superfici sono parallele e le lunghezze delle aste sono uguali. In tali condizioni si possono definire le posizioni dei punti fissi e mobili in un generico sistema (x,y,z) di riferimento:

{{P}_{{{f}_{i}}}}=\left( \begin{align} & {{x}_{{{f}_{i}}}} \\ & {{y}_{{{f}_{i}}}} \\ & {{z}_{{{f}_{i}}}} \\ \end{align} \right)\text{ e }{{P}_{{{m}_{i0}}}}=\left( \begin{align} & {{x}_{{{m}_{i0}}}} \\ & {{y}_{{{m}_{i0}}}} \\ & {{z}_{{{m}_{i0}}}} \\ \end{align} \right)\text{, }i=1,...,6

La lunghezza delle aste nella posizione di riposo è semplicemente: {{L}_{i0}}=\sqrt{{{\left( {{x}_{{{m}_{i0}}}}-{{x}_{{{f}_{i}}}} \right)}^{2}}+{{\left({{y}_{{{m}_{i0}}}}-{{y}_{{{f}_{i}}}} \right)}^{2}}+{{\left( {{z}_{{{m}_{i0}}}}-{{z}_{{{f}_{i}}}}\right)}^{2}}}\text{ (1)}

Si consideri ora il vettore q, le cui componenti sono i gradi di libertà in traslazione e rotazione della piastra mobile:

q=\left( \begin{align} & x \\ & y \\ & z \\ & \psi \\ & \theta \\ & \varphi \\ \end{align} \right) Un qualsiasi spostamento della piastra è allora rappresentabile dal vettore\Delta q=\left( \begin{align} & \Delta x \\ & \Delta y \\ & \Delta z \\ & \Delta \psi \\ & \Delta \theta \\ & \Delta \varphi \\ \end{align} \right)

Hexapod – cinematica inversa (…segue)

Il vettore spostamenti della piastra porterà ovviamente i vari punti mobili dalla precedente configurazione alla generica posizione diversa:{{P}_{{{m}_{i0}}}}=\left( \begin{align} & {{x}_{{{m}_{i0}}}} \\ & {{y}_{{{m}_{i0}}}} \\ & {{z}_{{{m}_{i0}}}} \\ \end{align} \right)\to P_{{{m}_{i}}}^{'}=\left( \begin{align} & x_{{{m}_{i}}}^{'} \\ & y_{{{m}_{i}}}^{'} \\ & z_{{{m}_{i}}}^{'} \\ \end{align} \right)

La parte rotazionale si esprimerà mediante la matrice di rotazione R, ottenuta dalla composizione di rotazioni elementari attorno ai tre assi:

R={{R}_{\psi }}{{R}_{\theta }}{{R}_{\varphi }}\text{ (2)}

{{R}_{\psi }}=\left( \begin{matrix} 1 & 0 & 0 \\ 0 & \cos \left( \Delta \psi \right) & -\sin \left( \Delta \psi \right) \\ 0 & \sin \left( \Delta \psi \right) & \cos \left( \Delta \psi \right) \\ \end{matrix} \right)

{{R}_{\theta }}=\left( \begin{matrix} \cos \left( \Delta \theta \right) & 0 & \sin \left( \Delta \theta \right) \\ 0 & 1 & 0 \\ -\sin \left( \Delta \theta \right) & 0 & \cos \left( \Delta \theta \right) \\ \end{matrix} \right)

{{R}_{\varphi }}=\left( \begin{matrix} \cos \left( \Delta \varphi \right) & -\sin \left( \Delta \varphi \right) & 0 \\ \sin \left( \Delta \varphi \right) & \cos \left( \Delta \varphi \right) & 0 \\ 0 & 0 & 1 \\ \end{matrix} \right)

Hexapod – cinematica inversa (…segue)

Il vettore traslazione V permette invece di esprimere la componente di traslazione, per cui alla fine si ottiene la seguente espressione per la generica nuova posizione dei punti mobili:

V=\left( \begin{align}& \Delta x \\ & \Delta y \\ & \Delta z \\\end{align} \right)\to P_{{{m}_{i}}}^{'}=R{{P}_{{{m}_{i}}}}+V\text{ i=1}...\text{6}

Le lunghezze delle aste dopo una roto-traslazione saranno allora:

{{L}_{i}}=\sqrt{{{\left( x_{{{m}_{i}}}^{'}-{{x}_{{{f}_{i}}}} \right)}^{2}}+{{\left(y_{{{m}_{i}}}^{'}-{{y}_{{{f}_{i}}}} \right)}^{2}}+{{\left(z_{{{m}_{i}}}^{'}-{{z}_{{{f}_{i}}}} \right)}^{2}}}

Che possiamo denominare per brevità così: dati

{{s}_{i}}=P_{{{m}_{i}}}^{'}-{{P}_{{{f}_{i}}}}=R{{P}_{{{m}_{i}}}}-{{P}_{{{f}_{i}}}}

{{L}_{i}}=\sqrt{{{s}_{ix}}^{2}+{{s}_{iy}}^{2}+{{s}_{iz}}^{2}}=G\left( {{s}_{i}} \right)\text{ (3)}

Hexapod – cinematica diretta

Per una generica piattaforma hexapod, non esiste una soluzione analitica in forma chiusa per il problema di determinare la sua posizione nello spazio, note le lunghezze delle aste. Esistono soluzioni parziali per problemi analoghi.
Il problema si può dunque formulare così: trovare il vettore _q note le lunghezze Li (i=1…6).
Le equazioni non lineari possono essere linearizzate nell’intorno di un generico punto iniziale, non necessariamente coincidente con la posizione a riposo della piattaforma:

{{q}_{0}}={{\left( {{x}_{0}},{{y}_{0}},{{z}_{0}},{{\psi }_{0}},{{\theta }_{0}},{{\varphi}_{0}} \right)}^{T}}

Sviluppando in serie la funzione (3) delle lunghezze, si ottiene:

L={{L}_{0}}+{{\left. \frac{dG}{dq} \right|}_{q={{q}_{0}}}}\left( q-{{q}_{0}} \right)+...\text{   }\Rightarrow \Delta q\approx {{\left( {{\left. \frac{dG}{dq} \right|}_{q={{q}_{0}}}} \right)}^{-1}}\Delta L\approx {{H}^{-1}}\Delta L\text{ (4)}

Un generico elemento della matrice H (con i dovuti passaggi intermedi) è allora:

{{H}_{i,j}}=\frac{dG\left( {{s}_{i}} \right)}{d{{q}_{j}}}=\frac{dG{{\left( {{s}_{i}}\right)}^{T}}}{d{{s}_{i}}}\frac{dR}{d{{q}_{j}}}{{P}_{{{m}_{i0}}}}

Hexapod – cinematica diretta (…segue)

A questo punto si dovranno esplicitare le colonne di H, che saranno le derivate della funzione G() rispetto ai tre assi e ai tre angoli di rotazione

\begin{align}& \frac{dG\left( {{s}_{i}} \right)}{dx}=\frac{{{x}_{{{m}_{i0}}}}-{{x}_{{{f}_{i}}}}}{{{L}_{i0}}}\text{ }\text{, }\frac{dG\left({{s}_{i}} \right)}{dy}=\frac{{{y}_{{{m}_{i0}}}}-{{y}_{{{f}_{i}}}}}{{{L}_{i0}}}\text{}\text{, }\frac{dG\left( {{s}_{i}} \right)}{dz}=\frac{{{z}_{{{m}_{i0}}}}-{{z}_{{{f}_{i}}}}}{{{L}_{i0}}} \\& \frac{dG\left( {{s}_{i}} \right)}{d\psi }={{\left( \underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\,-\underset{3x1}{\mathop{{{P}_{{{f}_{i}}}}}}\,\right)}^{T}}\underset{3x3}{\mathop{{{R}_{\psi }}}}\,\underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\, \\& \frac{dG\left( {{s}_{i}} \right)}{d\theta }={{\left(\underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\,-\underset{3x1}{\mathop{{{P}_{{{f}_{i}}}}}}\, \right)}^{T}}\underset{3x3}{\mathop{{{R}_{\theta }}}}\,\underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\, \\& \frac{dG\left( {{s}_{i}} \right)}{d\varphi}={{\left( \underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\,-\underset{3x1}{\mathop{{{P}_{{{f}_{i}}}}}}\, \right)}^{T}}\underset{3x3}{\mathop{{{R}_{\varphi }}}}\,\underset{3x1}{\mathop{{{P}_{{{m}_{i0}}}}}}\, \\\end{align}
Ottenuta la matrice H, si può calcolare con sufficiente precisione la funzione voluta:
\Delta q={{H}^{-1}}\Delta L\text{ (5)}

Modello dell’hexapod

Avendo a disposizione le funzioni analitiche di cinematica diretta e inversa, si può procedere alla realizzazione di un modello di hexapod, utile per verificare la fattibilità delle rototraslazioni imposte dal calcolo dei coefficienti di defocusing, tilt e decentering coma mediante modello ottico di ray tracing.

Modello dell’hexapod

Modello dell'hexapod


Modello dell’hexapod (…segue)

Nell’interfaccia utente del modello in Labview, l’utente può scegliere posizione e orientamento della superficie mobile dell’hexapod, inserendo i 6 parametri e l’incertezza massima accettabile (tolleranza d’errore).

Modello dell’hexapod

Modello dell'hexapod


Modello dell’hexapod (…segue)

Tali dati saranno poi elaborati dal cuore matematico del modello (che implementa le funzioni analitiche della cinematica) ed in uscita si avranno i grafici 2D o in alternativa il grafico a barre delle lunghezze delle aste e le coordinate cartesiane dei 6 punti che identificano la superficie mobile (Pmi)

Modello dell’hexapod

Modello dell'hexapod


Algoritmo matlab embedded in Labview


Algoritmo del modello hexapod

L’algoritmo, scritto in Matlab e inglobato nello schema grafico di Labview, permette di sfruttare in pieno tutte le potenzialità dei due ambienti di sviluppo (matematico-matriciale di Matlab e controllistico-grafico di Labview). Ovviamente la parte in Matlab è il cuore del sistema.
La struttura del programma è la seguente:

  1. si acquisiscono i dati esterni (GUI) e si definisce la posizione di riposo dell’hexapod: Pf rappresenta la matrice coordinate dei punti fissi, Pmi la matrice delle coordinate punti mobili
  2. si decide se calcolare la nuova posizione della superficie mobile a partire dalla posizione di riposo (assoluta), oppure dalla posizione precedente (relativa);
  3. si estraggono da Pmi le coordinate dei sei punti identificanti la superficie mobile;
  4. si definiscono le unità di misura delle variabili in ingresso (mm per le posizioni x,y,z, e  arcosecondi per l’orientazione Diapositiva 13
    ψ,θ,φ);
  5. si applica la cinematica inversa: creazione della matrice di rotazione R e del vettore di traslazione V;
  6. si calcola la nuova posizione della superficie: Pm = RPmi + V;
  7. si calcola la lunghezza delle aste
    {{L}_{i}}=\sqrt{\sum\limits_{i=1}^{6}{{{\left( {{p}_{{{m}_{i}}}}-{{p}_{{{f}_{i}}}} \right)}^{2}}}}
  8. Si calcolano gli errori sulle lunghezze delle aste

Algoritmo del modello hexapod (…segue)

Mediante l’algoritmo illustrato prima, si ha una prima stima di L e, applicando la cinematica diretta, si calcola la nuova posizione raggiunta dai punti mobili. Questo nuovo insieme di coordinate permette di calcolare la nuova lunghezza stimata delle aste. La convergenza dell’algoritmo si raggiunge, dopo un numero n di iterazioni variabile, nel momento in cui la differenza in valore assoluto tra L e la stima risulta minore della soglia fissata.

Nel caso reale si imposta una soglia che sia il miglior compromesso tra isteresi del dispositivo ed errore di convergenza dell’algoritmo, effettuando una serie di test euristici in cielo e tenendo sempre sotto controllo l’errore globale indotto sul piano focale. Per ottiche attive utilizzate nelle correzioni di M2, i tempi in gioco sono abbastanza lenti (le frequenze tipiche sono attorno a 30 Hz) da giustificare un metodo iterativo come quello illustrato.

Algoritmo del modello hexapod

Algoritmo del modello hexapod


Note su isteresi meccanica

L’isteresi è la caratteristica di un sistema di reagire in ritardo alle sollecitazioni applicate e in dipendenza dello stato precedente.
Il termine, derivante dal greco υστέρησις (hystéresis, “ritardo”), fu introdotto nel senso moderno da Ewing nel 1890.
Se la risposta di un sistema con isteresi viene rappresentata in un grafico in funzione dello stimolo, si ottiene una caratteristica curva chiusa (grafico a destra). In un sistema privo di isteresi la curva costituisce una linea singola. In presenza di isteresi si ottiene invece uno sdoppiamento della curva: se percorsa da sinistra a destra si ha un cammino, se percorsa in senso inverso se ne ottiene un altro. In molti dei fenomeni fisici in cui si ha tale caratteristica si ottengono due tratti orizzontali: uno superiore ed uno inferiore. Questi rappresentano i limiti di saturazione.

Isteresi meccanica

Isteresi meccanica

Isteresi meccanica

Isteresi meccanica


Errore di posizionamento

Per ovvie considerazioni costruttive, l’hexapod presenta incertezze sulle lunghezze aste, che introducono un’isteresi di posizionamento nello spazio a 6 gradi di libertà. Il limite in risoluzione per sistemi del genere non può scendere sotto il micron. Con la successione di posizionamenti nel tempo, tali errori si propagano, creando alla lunga un effetto anche macroscopico. Una soluzione è ad esempio compiere un RESET alla posizione di riposo, tra un posizionamento e l’altro, per limitare i danni (si presuppone che vi siano dei sensori meccanici che individuino univocamente la posizione di riposo, detti limit switches)
Si può anche procedere per via analitica, con un processo iterativo. Il procedimento si basa su un valore soglia, impostato dall’utente, che rappresenta la massima incertezza accettabile sulla lunghezza delle aste.
Nella simulazione, ovviamente, la soglia può essere anche minore del limite meccanico reale del dispositivo.

Errore di posizionamento

Errore di posizionamento


Combinazione ray tracing & hexapod

Il modello ottico di un telescopio, unito al modello di un hexapod, consente di verificare e definire i parametri costruttivi dell’hexapod, inserendo gli effetti di una roto-traslazione di M2 nel modello di ray tracing e verificandone il contributo in termini di efficienza sul piano focale.
La prima cosa dunque è dotarci del modello di un telescopio. Usiamo per esempio un altazimutale 1.5m Cassegrain Ritchey Chretien F/8.3, dotato di secondario attivo.

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod


Combinazione ray tracing & hexapod (…segue)

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod


Combinazione ray tracing & hexapod (…segue)

Notare le superfici 1 e 2, rispettivamente Atmospheric e Zernike Standard. La prima è usata per caratterizzare il modello rispetto al sito finale. La seconda per caratterizzare i contributi di aberrazione di alto ordine sulla superficie del primario, utili per verificare l’OS al variare della posizione del secondario attivo.

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod


Combinazione ray tracing & hexapod (…segue)

Nella figura in alto, colonne della superficie “atmospheric”.
Nella figura in basso, colonne delle superfici “Coordinate Break” che simulano le rototraslazioni del secondario. Notare il tipo “P” o “Pick-up surface” rispetto alla surface 3, in modo da rendere automatico l’effetto combinato tra i due Coordinate Break prima e dopo il secondario.

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod


Combinazione ray tracing & hexapod (…segue)

Esiste però il problema di far corrispondere gli spostamenti del secondario tra i due modelli.
Infatti, è importante l’ordine in cui i tilt e i decentering vengono applicati alla superficie e affinché vi sia piena corrispondenza tra le due simulazioni è strettamente necessario che gli spostamenti vengano fatti nello stesso ordine in entrambi i modelli.
Riferendoci alle seguenti matrici di roto-traslazione, nella funzione di Labview-Matlab la formula totale di roto-traslazione viene fatta secondo la sequenza: tilt_x, (2) tilt_y, (3) tilt_z, e poi i decentering. Quindi è necessario che nelle righe dei coord breaks sia specificato il medesimo ordine della sequenza di roto-traslazioni:

\begin{align}& {{R}_{z}}=\begin{matrix}<br />
\cos \left( {{\varphi }_{z}} \right) & -\sin \left( {{\varphi }_{z}} \right) & 0 \\ \sin \left( {{\varphi }_{z}} \right) & \cos \left( {{\varphi }_{z}} \right) & 0 \\ 0 & 0 & 1 \\ \end{matrix} \\ & \\ & {{R}_{y}}=\begin{matrix} \cos \left( {{\theta }_{y}} \right) & 0 & \sin \left( {{\theta }_{y}} \right) \\ 0 & 1 & 0 \\ -\sin \left( {{\theta }_{y}} \right) & 0 & \cos \left( {{\theta }_{y}} \right) \\ \end{matrix} \\ & \\ &{{R}_{x}}=\begin{matrix}1 & 0 & 0 \\0 & \cos \left( {{\psi }_{x}} \right) & -\sin \left( {{\psi }_{x}} \right) \\0 & \sin \left( {{\psi }_{x}} \right) & \cos \left( {{\psi }_{x}} \right) \\ \end{matrix} \\\end{align}

Combinazione ray tracing & hexapod (…segue)

Oltre ai campi di decenter e tilt (che corrispondono perfettamente ai 6 parametri di roto-traslazione in matlab, a parte il decentering in Z che poi sarebbe il defocus, facilmente impostabile variando la distanza di M2 da M1 in zemax), vi è il campo “Order”. Questo è impostabile con il valore 0 oppure 1. Il valore stabilisce l’ordine di esecuzione delle roto-traslazioni. In particolare per avere lo stesso ordine di matlab occorre inserire il valore 1.
I valori dei campi di decentering e tilt vanno messi in [mm] per i decentering e in [deg] per i tilt, mettendo gli stessi valori poi in matlab (attenzione alle unità di misura).
Nella riga dei coord breaks prima del secondario si impostano direttamente i valori di decentering e tilt.

Combinazione ray tracing & hexapod (…segue)

Nella superficie 5, Coord Break dopo il secondario, occorre impostare gli stessi valori di roto-traslazione della riga 3. Per fare ciò in automatico si devono impostare i campi decenter, tilt e Order in modo parametrico (tipo pick-up) rispetto alla riga 3. In questo modo si deve agire solamente sulla riga 3 per impostare le roto-traslazioni.
Quindi, si può procedere alle simulazioni:

  1. impostare la superficie M1 di tipo zernike standard.
  2. impostare un’aberrazione per volta (come volete voi) nella riga relativa alla superficie Zernike.
  3. verificare lo stato degli spot (magari ci si può riferire in prima istanza al field 1 (quello centrale).
  4. impostare una roto-traslazione (una volta definito l’ordine di applicazione) e verificare che si abbia una correzione dello spot.
  5. riportare la roto-traslazione, a valle della verifica in zemax, in matlab in modo da ottenere la lunghezza delle aste per quella deformazione.
  6. riportare i risultati di ogni singola simulazione completa in una tabella in modo da correlare in maniera visibile ed esaustiva i risultati del test

Combinazione ray tracing & hexapod (…segue)

Dal punto di vista concettuale i punti corrispondono alla seguente metodologia:

Con i punti 1, 2 e 3 delle azioni, la simulazione si basa sull’ipotesi di avere a disposizione un sensore di shack-hartmann con cui ottenere un feedback sullo stato del sistema ottico, come se si facesse una verifica in cielo con il telescopio. In pratica forziamo noi (o lasciamo il compito a Zemax in automatico) la presenza di aberrazioni da disallineamento.
Il punto 4 rappresenta la movimentazione dell’hexapod e quindi una contro-correzione del sistema ottico aberrato per farlo diventare nuovamente allineato.
Il punto 5, rappresenta solo un modo per poter riportare nei risultati la posizione reale dell’hexapod in termini di allungamento delle aste.

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod

Combinazione ray tracing & hexapod


Progettazione hexapod

Particolari di interfacciamento e sostegno M2 con hexapod, con FEA (Finite Element analysis)

Particolari di interfacciamento e sostegno M2 con hexapod, con FEA (Finite Element analysis)


Progettazione hexapod (…segue)

Particolare del sistema di leve astatiche per il centering di M2 durante l’inclinazione del telescopio

Particolare del sistema di leve astatiche per il centering di M2 durante l'inclinazione del telescopio

Particolare del sistema di leve astatiche per il centering di M2 durante l’inclinazione del telescopio

Particolare del sistema di leve astatiche per il centering di M2 durante l'inclinazione del telescopio


Progettazione hexapod (…segue)


Tools per integrazione hexapod

Sistema per montaggio M2 nella cella al telescopio

Sistema per montaggio M2 nella cella al telescopio

VST M2 maintenance system

VST M2 maintenance system


Le lezioni del Corso

I materiali di supporto della lezione

Addendum on Hexapod Kinematics

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93