Interpolazione di orientamento per movimenti CP
Con movimenti CP come MC_MoveLinearAbsolute
, MC_MoveLinearRelative
, MC_MoveCircularAbsolute
o MC_MoveCircularRelative
qualsiasi orientamento target dell'utensile può essere specificato tramite la posizione target del movimento. La conseguenza di ciò è che l'orientamento dell'utensile viene trasferito all'orientamento del target durante il movimento del percorso, con la punta dell'utensile che si sposta sul percorso. Per inciso, è irrilevante per l'interpolazione dell'orientamento in quale sistema di coordinate è stato specificato l'orientamento del target, ad esempio in coordinate assi (ACS) o coordinate macchina (MCS).
L'immagine seguente mostra un'interpolazione lineare con l'interpolazione dell'orientamento simultaneo. La freccia rossa indica la direzione dell'utensile nei punti iniziale e finale. La linea rossa tratteggiata indica come l'utensile è posizionato in alcune posizioni durante l'interpolazione.

I blocchi funzione sopra menzionati per i movimenti di traiettoria hanno il OrientationMode
ingresso. Questo input definisce come l'orientamento iniziale viene passato all'orientamento di destinazione.
Interpolazione del cerchio massimo (
SMC_Orientation_Mode.GreatCircle
)Questa è un'impostazione predefinita. Con questa impostazione, l'orientamento iniziale viene passato anche all'orientamento target nella distanza più breve. La distanza più breve significa che l'utensile viene ruotato nell'orientamento target in modo che l'angolo di rotazione percorso sia ridotto al minimo.
Interpolazione dell'orientamento dell'asse (
SMC_Orientation_Mode.Axis
)
Considera un gantry con un asse C con un intervallo di valori da -360° a 360°. L'orientamento iniziale è C=179° e l'orientamento target è C=-175°. L'interpolazione del cerchio massimo sposta l'asse C dell'angolo ZYZ di Eulero (A,B,C) proporzionalmente alla distanza percorsa sul percorso da 179° in direzione positiva oltre 180° fino a 185°, che corrisponde a -175°. In questo caso, percorre un angolo totale di 6°.
Consideriamo ancora il gantry con un asse C con un intervallo di valori da -180° a 180°. L'orientamento iniziale è C=179° e l'orientamento target è C=-175°. L'interpolazione degli assi sposta l'asse C del gantry proporzionalmente alla distanza percorsa sulla traiettoria da 179° in direzione negativa oltre 0° fino a -175°, percorrendo un angolo totale di 354°. (Se in questo esempio fosse stata utilizzata l'interpolazione del cerchio massimo, si sarebbe verificato un errore, poiché lo spazio di lavoro dell'asse C sarebbe stato superato.)
Nell'interpolazione del cerchio massimo, è possibile prevedere il cambiamento nell'orientamento dell'utensile. Nell'interpolazione degli assi, è difficile prevedere il cambiamento di orientamento, perché gli assi di orientamento possono influenzare l'orientamento in modo diverso a seconda della posizione. L'interpolazione dell'orientamento degli assi condivide questa caratteristica con i movimenti PTP. (Tuttavia, ciò non significa che sia difficile prevedere il percorso nello spazio per l'interpolazione dell'orientamento degli assi. Il percorso è lo stesso per entrambi i tipi di interpolazione dell'orientamento e il TCP percorre sempre esattamente il contorno definito.)
Con l'interpolazione del cerchio massimo, le singolarità nella cinematica di orientamento non possono essere percorse. Questo è facilmente possibile con l'interpolazione degli assi.
Nell'interpolazione ortodromica possono verificarsi violazioni dei limiti degli assi di orientamento, come menzionato nel secondo esempio. Durante il comando è quindi necessario assicurarsi che non vengano violati i limiti dell'asse durante il movimento verso l'orientamento di destinazione con la rotazione più breve.
Con l'interpolazione degli assi è possibile ruotare più di 360°. Se un asse di orientamento ha un'area di lavoro di oltre 360°, è possibile spostarsi ad esempio nella posizione 540° invece che nella posizione 180°. Ciò corrisponde allo stesso orientamento dell'utensile. Con l'interpolazione ortodromica questo non è possibile. La rotazione più breve rispetto all'orientamento del bersaglio corrisponde sempre a un angolo totale massimo di 180°.
L'interpolazione dell'orientamento degli assi richiede una cinematica accoppiata composta da cinematica di posizione e utensile. La parte della posizione deve implementare l'interfaccia
ISMPositionKinematics_Offset2
.Se le cinematiche non hanno assi rotanti e implementano l'interfaccia
ISMPositionKinematics
, quindi la modalità di orientamento selezionata (SMC_Orientation_Mode
) viene ignorato.
Singolarità nell'interpolazione dell'orientamento degli assi
Con l'interpolazione dell'orientamento degli assi può avvenire un movimento di traiettoria attraverso le singolarità della cinematica di orientamento, che può facilitare notevolmente la programmazione. Le singolarità della cinematica di posizione cambiano per questo scopo.
Nel caso di grande interpolazione circolare, Scara3_Z ha singolarità se il punto di flangia (A3) si trova sulla linea definita dalla prima parte del braccio (se il secondo angolo di giunzione è 0°).
Per l'interpolazione dell'orientamento dell'asse, le singolarità della cinematica di posizione cambiano in modo che il TCP assuma il ruolo che altrimenti avrebbe il punto di flangia (A3). Questa singolarità si verifica quando il TCP (non il punto di flangia) si trova sulla linea definita dalla prima parte del braccio. Quando si comanda un movimento con interpolazione dell'orientamento dell'asse, viene verificato se questa singolarità modificata si trova o meno tra le posizioni di inizio e di arrivo del movimento. In caso affermativo, il movimento non viene accettato e viene emesso un errore.

Per i robot a braccio articolato a 6 assi la situazione è paragonabile a Scara3_Z, ma sono possibili due singolarità. Il primo si verifica quando il TCP si trova sulla linea attraverso A2 e A3. Il secondo si verifica quando il TCP si trova sulla linea attraverso A1. Il comandante controlla anche qui che nessuna singolarità sia attraversata.

Suggerimento
Può capitare che la configurazione di Scara3 (o del robot a braccio articolato a 6 assi) cambi quando si viaggia con interpolazione dell'orientamento degli assi. Tuttavia, alla fine del movimento viene sempre applicata la stessa configurazione che il robot aveva al punto di partenza.