Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Assemblaggio
Saldatura a Punti
Automazione Linee
Interpresse
Movimentazione
FANUC Robotics
FANUC Robotics
FANUC Robotics
FANUC Robotics
FANUC Robotics
MOTOMAN SIA10D
KUKA LWR
Modellistica matematica
cinematica
dinamica
?
?
Il problema, più complesso di quello della cinematica diretta, viene
risolto con algoritmi ad-hoc o con metodi approssimati.
Per una data configurazione del robot, il legame tra velocità di giunto e
velocità dell’end-effector è lineare, espresso da una matrice (Jacobiano).
Cinematica diretta
p x = a1c1 + a2c12
py = a1s1 + a2s12
Cinematica inversa
p x2 + py2 − a12 − a22
c2 =
2a1a2 ⇒ ϑ2 = Atan 2(s2 , c 2 )
s 2 = ± 1 − c 22
Cinematica differenziale
(a1 + a2c 2 )px + a2s2 py
p& = J (q )q& c1 =
p x2 + p y2
⇒ ϑ1 = Atan 2(s1, c1 )
− a s − a2s12 − a2s12
(a1 + a2c 2 )py − a2s2 px
s1 =
J= 1 1 p x2 + p y2
a1c1 + a2c12 a2c12
u(t)
q(t)
Formulazione di Eulero-Lagrange
Formulazione di Newton-Eulero
Coppie ai giunti
Termini gravitazionali
C (q, q& ) g (q )
Controlli automatici – Elementi di robotica industriale − P. Rocco [29]
Dinamica diretta e inversa
B(q )q&& + C (q, q& )q& + g (q ) + Fv q& + fs (q,q& ) = τ
Dinamica diretta ..
Assegnate le coppie ai giunti τ(t), determinare le accelerazioni
. ai giunti q(t) e, se
sono date posizioni iniziali q(t0) e velocità iniziali q(t0), le posizioni q(t) e le
.
velocità q(t).
Dinamica inversa .. .
Date le accelerazioni q(t), le velocità q(t) e le posizioni q(t) determinare le coppie
ai giunti τ(t) necessarie per la generazione del moto.
Legge oraria: è la dipendenza temporale con cui vogliamo che evolva il moto del
robot lungo il percorso assegnato
Traiettoria: è un percorso sul quale sia stata assegnata una legge oraria
Il risultato finale della pianificazione del moto è quindi una traiettoria che servirà
come ingresso ai controllori di posizione/velocità in tempo reale.
In particolare assume rilievo il problema della scalatura dinamica della traiettoria, per
cui, dato il modello dinamico del manipolatore:
B(q )q&& + C (q, q& )q& + g (q ) = τ
occorre fare in modo che la traiettoria pianificata non richieda coppie ai giunti
superiori a dei limiti assegnati.
Come per la scalatura cinematica, si procede mediante parametrizzazione della
traiettoria e normalizzazione della scala dei tempi, ma il problema è più complesso
perché coinvolge l’intero modello dinamico del manipolatore
y
dp (s )
t=
p t ds
pi pf
n d 2 p (s ) ds 2
b n=
x d 2 p (s ) ds 2
b = t ×n
z
p (s ) = pi + (pf − pi )
s
pf − p i
dp
=
1
(p f − pi )
ds pf − p i
d 2p
2
=0
ds
dp & .
p& = s& = st |s| è quindi la norma della velocità
ds
PROGRAM pack
VAR
home, feeder, table, discard : POSITION
BEGIN CYCLE
MOVE TO home
OPEN HAND 1
WAIT FOR $DIN[1] = ON
-- signals feeder ready
MOVE TO feeder
CLOSE HAND 1
IF $DIN[2] = OFF THEN
-- determines if good part
MOVE TO table
ELSE
MOVE TO discard 1. Feeder
ENDIF 2. Robot
OPEN HAND 1 3. Discard Bin
-- drop part on table or in bin 4. Table
END pack
Controlli automatici – Elementi di robotica industriale − P. Rocco [39]
Controllo del moto
Si adottano leggi di controllo in anello chiuso per controllare il movimento del
manipolatore.
Il controllo viene di norma eseguito nello spazio dei giunti (le variabili
controllate sono le coordinate di giunto), anche se esistono studi sul controllo
eseguito direttamente nello spazio Cartesiano (spazio operativo).
xd qd τ
Generazione della Inversione
Controllo d'asse
traiettoria cinematica
LINEARE
DISACCOPPIATO
−
DECENTRALIZZATO DISACCOPPIATO
calcolando le coppie di
disturbo sulla base del
riferimento di posizione,
velocità ed
accelerazione.
La compensazione delle non linearità può essere solo parziale (per esempio
solo i termini gravitazionali ed i termini diagonali della matrice di inerzia)
I termini di compensazione possono essere calcolati anche fuori linea, nel caso
di traiettorie ripetute più volte.
KD
. KP e KD diagonali
q
qd + + − + τ
KP MANIPOLATORE
− + q
g(.)
..
qd
.
qd +
KD .
− q
+ +v + τ
+ B(q) MANIPOLATORE
+ q
qd +
KP
−
.
η(q,q)
τ = B (q )v + η(q, q& )
+ +v + τ
+ B(q) MANIPOLATORE
+ q
e&& + K D e& + K P e = 0