Assi rotanti con range di valori su 360°
introduzione
I robot hanno spesso assi rotanti con un campo di valori oltre i 360°. Ad esempio, l'ultimo asse (asse di orientamento A3) di un robot SCARA può spesso percorrere più di una rotazione, da circa -540 a 540°.
Ciò significa che è possibile avvicinarsi alla stessa posizione e orientamento in più modi. Considerando ad esempio SCARA, l'orientamento e la posizione dell'utensile è identico, indipendentemente dal fatto che l'ultimo asse sia a -170° oa 190° (= -170° + 360°). Di conseguenza, la conversione della posizione cartesiana e dell'orientamento ai valori degli assi (la trasformazione cinematica inversa) non è univoca, ma ha diverse soluzioni.
Questo può essere utilizzato, ad esempio, nelle applicazioni Pick&Place per risparmiare tempo passando da 170° a 190° e non a -170°.
Nota: Il movimento dell'asse di orientamento SCARA può diventare rapidamente un fattore limitante per il tempo di ciclo in queste applicazioni.
Risoluzione dell'ambiguità
Se i punti da percorrere sono comandati nel sistema di coordinate degli assi (ACS), allora è chiaro per ogni asse quale valore assumerà nel caposaldo. D'altra parte, nel comando cartesiano (posizione X/Y/Z e orientamento in A/B/C) questa ambiguità esiste per gli assi rotativi.
La configurazione della cinematica viene utilizzata per risolvere questa ambiguità. Con i robot SCARA, la configurazione include già l'impostazione se lo SCARA deve avvicinarsi a un punto con ElbowRight
o ElbowLeft
. Inoltre, la configurazione SCARA include anche l'impostazione nPeriodA3
, che può essere utilizzato per determinare come deve essere risolta l'ambiguità per l'asse A3.
A tal fine, l'intero campo di valori è suddiviso in periodi della lunghezza massima di 360°:
Periodo -1 da -540° a -180°
Periodo 1 da -180° a 180°
Periodo 2 da 180° a 540°
(Per un intervallo di valori più ampio dell'asse, ci sono di conseguenza più periodi possibili.)
C'è anche un valore speciale. Se nPeriodA3 := 0
è impostato, quindi viene attivata una risoluzione automatica dell'ambiguità. Per i movimenti PTP, ciò significa che il periodo è selezionato in modo tale che la distanza tra la posizione iniziale e quella di destinazione per l'asse 4 sia la più piccola possibile. (Il comportamento con i movimenti CP è descritto di seguito.)
È quindi possibile controllare la risoluzione dell'ambiguità di un asse rotante impostando opportunamente la configurazione cinematica (vedi SMC_SetKinConfiguration
). La cinematica che supporta questa funzionalità implementa l'interfaccia SMKinematicWithConfigurations3
.
Avviso
IL SMC_GroupReadSetPosition
, MC_GroupReadActualPosition
, E SMC_GroupTargetPosition
i blocchi funzione emettono sempre la configurazione con la risoluzione automatica dei periodi attivata. La configurazione corrente con periodi impostati in modo esplicito può essere letta leggendo la posizione nell'ACS e poi convertendola nell'MCS tramite SMC_GroupConvertPosition
. La configurazione restituita ha periodi impostati in modo esplicito.
Per ulteriori informazioni, vedere: Configurazioni cinematiche
Comportamento in caso di movimenti di PC
Durante un movimento CP (MC_MoveLinearAbsolute
/MC_MoveLinearRelative
, MC_MoveCircularAbsolute
/MC_MoveCircularRelative
), gli assi rotanti sono sempre azionati in modalità automatica (Periodo 0). Il periodo dell'asse è sempre selezionato in modo che non ci siano salti nell'asse.
È possibile che al termine dello spostamento del CP, il valore dell'asse comandato non venga raggiunto, ma che l'asse arrivi in un periodo diverso a causa della selezione automatica del periodo. Ciò significa che la posizione comandata non può essere raggiunta con il tipo di movimento selezionato. Questo conflitto viene rilevato prima di raggiungere la posizione di destinazione, il gruppo di assi viene arrestato e viene emesso un errore.
Esempio: utilizzi un robot SCARA con tre assi rotanti A1, A2 e A3. A3 ha un intervallo di valori da -360° a +360°. Si insegnano due posizioni nelle coordinate dell'asse. Posizione1 = (A1 = 0°, A2 = 90°, A3 = 170°), Posizione2 = (A1 = 10°, A2 = 90°, A3 = -170°).
Quindi comandi un movimento lineare (MC_MoveLinear/MC_MoveAbsolute)
) con la modalità di orientamento GreatCircle
.
Questa combinazione di comando in ACS e interpolazione dell'orientamento ortodromico crea un conflitto. Per seguire l'interpolazione dell'orientamento, l'asse A3 dovrebbe spostarsi da 170° in direzione positiva a 190°. Pertanto non può raggiungere la posizione target richiesta (-170°).
Nota: Nei movimenti CP il periodo dell'asse rotante viene determinato dal tipo di interpolazione selezionato. Ciò significa anche che la posizione di destinazione dell'asse dipende dal percorso attraverso il quale viene raggiunto il punto di destinazione. È quindi possibile, ad esempio, che attraverso la fusione tra due movimenti un asse arrivi in un periodo diverso rispetto a quello che sarebbe avvenuto con i movimenti bufferizzati.
Per ulteriori informazioni, vedere: Interpolazione di orientamento per movimenti CP