SlideShare a Scribd company logo
Università degli studi di Salerno
Corso di Laurea Magistrale in Ingegneria Informatica
Anno 2015/2016
Corso di Automazione e Robotica
Presentazione progetto Robotica
Gruppo: Di Gruttola Carmine – Esposito Emiddio
Outline
1. Analisi del manipolatore
2. Cinematica diretta del manipolatore
3. Cinematica differenziale, Inversione cinematica e pianificazione
della traiettoria
4. Controllo centralizzato nello spazio giunti
Strumenti utilizzati
• Matlab versione r2015a per lo sviluppo delle procedure.
• Ambiente di simulazione V-REP.
Analisi
• Il manipolatore analizzato è lo SmartSix della Comau poggiato su una
base mobile e con un polso sferico all’estremità.
• Il sistema risulta quindi composto da 6 giunti rotoidali disposti su
diversi assi.
• La base mobile è stata modellata aggiungendo due giunti prismatici,
idealmente posti nello stesso punto del primo giunto rotoidale.
Utilizzando le convenzioni di
Denavit-Hartenberg, sono state
individuate le terne solidali ai
diversi giunti
Dalle terne individuate e dal
datasheet sono stati estratti i
parametri DH che permettono
in maniera agevole di ricavare
le matrici di rotazione
Transizione a 𝜶 d 𝜽
𝑇𝑒𝑟𝑛𝑎 0 → 𝑇𝑒𝑟𝑛𝑎 1 0
𝜋
2
𝑞1
𝜋
2
𝑇𝑒𝑟𝑛𝑎 1 → 𝑇𝑒𝑟𝑛𝑎 2 0
𝜋
2
𝑞2
𝜋
2
𝑇𝑒𝑟𝑛𝑎 2 → 𝑇𝑒𝑟𝑛𝑎 3 0.15 −
𝜋
2
0.45 𝑞3
𝑇𝑒𝑟𝑛𝑎 3 → 𝑇𝑒𝑟𝑛𝑎 4 0.59 0 0 𝑞4
𝑇𝑒𝑟𝑛𝑎 4 → 𝑇𝑒𝑟𝑛𝑎 5 0.13 −
𝜋
2
0 𝑞5
𝑇𝑒𝑟𝑛𝑎 5 → 𝑇𝑒𝑟𝑛𝑎 6 0
𝜋
2
0.64707 𝑞6
𝑇𝑒𝑟𝑛𝑎 6 → 𝑇𝑒𝑟𝑛𝑎 7 0 −
𝜋
2
0 𝑞7
𝑇𝑒𝑟𝑛𝑎 7 → 𝑇𝑒𝑟𝑛𝑎 8 0 0 0.095 𝑞8
Cinematica Diretta
• Il primo passo è stato lo sviluppo di una procedura per il calcolo della
cinematica diretta.
• La procedura prende in ingresso la configurazione dei giunti del
manipolatore, una stringa per la tipologia degli angoli di Eulero e le
matrici 𝐴0
𝑏
e 𝐴 𝑒
𝑛
di relazione con la terna mondo e quella end effector
• In uscita restuisce la posizione dell’end effector, l’orientamento
secondo gli angoli scelti, la matrice di rotazione 𝑅 𝑒
𝑏 e un cell array con
tutte le matrici intermedie calcolate.
function [p, phi, R, A] = cindir(q, str, Ab0, Ane)
Procedura DHMatrix
• Per aiuto nello sviluppo, è stava sviluppata una procedura che dati i
parametri DH calcola la matrice di rototraslazione corrispondente.
• La stessa poi è stata utilizzata più volte per calcolare 𝐴 𝑒
𝑏, da cui sono
stati ricavate tutte le altre informazioni ritornate da cindir.
function [A] = DHMatrix(a, alpha, d, theta)
Verifica
• Confronto dei risultati in uscita dalla procedura realizzata con quelli
simulati dall’ambiente V-REP.
• In primo luogo sono stati verificati i risultati in posizione di
calibrazione, ovvero [0,0,0,−
𝜋
2
,0,0,0,0]T e i valori sono congruenti.
• Un’ulteriore prova è stata fatta in una posizione casuale
[5,5,0,0,−
𝜋
2
,0,0,0]T e si è notata una discrepanza di 0.06 mm nella
coordinata z della posizione causata dai limiti fisici dei giunti, nel caso
particolare dal giunto 5.
• Questo problema è stato risolto utilizzando il file
LimitiManipolatore.m
Inversione Cinematica
• Secondo passo è stato il calcolo della cinematica differenziale ai fini
dell’inversione cinematica, implementata attraverso un algoritmo CLIK
del secondo ordine
• La funzione prende in ingresso una configurazione iniziale, una
traiettoria in posizione, velocità e accelerazione, oltre che
informazioni su eventuali ostacoli.
function [q, dq, ddq, e] =
InversioneCinematica(q0, xd, dxd, ddxd, str, Ab0, Ane, obs)
Jacobiano Geometrico e Analitico
• Per l’inversione il primo passo è il calcolo dello Jacobiano Geometrico
𝐽 𝑞 e dello Jacobiano Analitico 𝐽 𝐴(𝑞)
• Il primo è stato calcolato a partire dalle formule presenti sul testo e
dalle informazioni ricavate da cindir
• Il secondo è stato calcolato partendo dal primo e utilizzando la
matrice di trasformazione ω = T Φ Φ, per ricavare Φ partendo da
ω.
Algoritmo CLIK del 2° ordine
Algoritmo CLIK del 2° ordine
• Utilizzato per compensare l’errore di integrazione in Eulero in avanti.
• Due costanti di retroazione, 𝐾 𝑑 e 𝐾𝑝 scelte uguali per dare un tempo
di assestamento di 50 ms senza oscillazioni, ovvero 𝜔 𝑛 = 100 e 𝜁 = 1
• Proiezione nel nullo per allontanarsi da ostacoli (supposti fermi e
cilindrici) e dai limiti di giunti
𝑞0 = 𝑞0 − 𝑞
𝑞0𝑖 = −𝑘1
𝑞 𝑖−𝑞 𝑚
𝑞 𝑖𝑀− 𝑞 𝑖𝑚
𝑞0𝑖 = 2𝑘2 𝑞𝑖 − 𝑜𝑖
• 𝑘1 e 𝑘2 sono stati fissati a 100 e 10 dopo prove sperimentali
Traiettoria - 1
• Traiettoria per operazione di pick and place
• Divisa in due sottotraiettorie:
• Dalla posizione di calibrazione alla posizione di pick
• Dalla posizione di pick alla posizione di place
• Percorso calcolato con ascissa curvilinea con archi di circonferenza
𝛾𝑝 = 𝑐 + 𝑅 ∗
𝑟 ∗ cos(
𝑠
𝑟
)
𝑟 ∗ sin(
𝑠
𝑟
)
0
𝛾𝑓 = 𝑓0 + 𝑠 ∗
𝑓 𝑓−𝑓0
𝐿
• Punto di via calcolato per passare lontano dagli ostacoli
Traiettoria - 2
Vista laterale
Vista dall’alto
Traiettoria - 3
• Per l’ascissa curvilinea è stata scelto un profilo trapezoidale con
due secondi in aggiunta, per simulare le operazioni di pick e place
• 𝑠(𝑡) =
𝑎 𝑚𝑎𝑥 ∗
𝑡2
2
𝑐𝑜𝑛 𝑡 < 𝑡 𝑐
𝑣 𝑚𝑎𝑥 ∗ 𝑡 −
𝑣 𝑚𝑎𝑥
2
2∗𝑎 𝑚𝑎𝑥
𝑐𝑜𝑛 𝑡 𝑐 < 𝑡 < 𝑡𝑓 − 𝑡 𝑐
−𝑎 𝑚𝑎𝑥 ∗
𝑡−𝑡 𝑓
2
2
+ 𝑣 𝑚𝑎𝑥 ∗ 𝑡𝑓 −
𝑣 𝑚𝑎𝑥
2
𝑎 𝑚𝑎𝑥
𝑐𝑜𝑛 𝑡𝑓 − 𝑡 𝑐 < 𝑡 < 𝑡𝑓
𝑣 𝑚𝑎𝑥 𝑡𝑓 −
𝑣 𝑚𝑎𝑥
2
𝑎 𝑚𝑎𝑥
, 𝑡𝑓 < 𝑡 < 𝑡𝑓 + 2
• 𝑡𝑓 e 𝑣 𝑚𝑎𝑥 sono stati calcolati in funzione di L, lunghezza della curva.
Verifica - 1
• Partendo dalla posizione di calibrazione l’errore è:
Verifica - 2
• Partendo dalla posizione 𝑞1 = [0.5; 0.5; 0; −
𝑝𝑖
2
; 0 ; 0.1; 1.2; 0.9]
l’errore è:
Controllo giunti
• L’obiettivo, data una traiettoria nello spazio giunti, è quello di far
inseguire la traiettoria ai giunti.
• Si usa il modello dinamico del manipolatore:
𝐵 𝑞 𝑞 + 𝐶 𝑞, 𝑞 𝑞 + 𝐹 𝑞 + 𝑔 𝑞 = 𝑢
• Sono stati ignorati contributi di attrito statico e forze esterne agenti
sul sistema.
Simulazioni
• Ai fini del test, sono state utilizzate due traiettorie.
• Traiettoria costante: si tenta di imporre, per 5 s ad un passo di
campionamento T=0.001 s, 𝑞 =
0.5 0.5 0 −
𝜋
2
0 0.1 1.2 0.9
𝑇
partendo dalla
configurazione di calibrazione 𝑞0 = 0 0 0 −
𝜋
2
0 0 0 0
𝑇
• Traiettoria generata nel secondo homework.
Controllo PD + gravità -1
• La strategia di controllo PD + gravità prevede di generare le coppie ai
giunti come composizione di tre contributi:
• Contributo proporzionale alla differenza tra posizione dei giunti desiderata e
posizione reale.
• Contributo proporzionale alla differenza tra velocità dei giunti desiderata e
velocità reale
• Contributo pari al contributo gravitazionale del modello dinamico.
𝑢 = 𝐾𝑝 𝑞 𝑑 − 𝑞 − 𝐾 𝑑 𝑞 + 𝑔(𝑞)
• La strategia converge senza errori per traiettorie costanti.
Controllo PD + gravità - 2
Controllo PD + gravità - 3
• La simulazione è stata effettuata variando i parametri 𝐾𝑝 e 𝐾 𝑑,
impostando entrambe le matrici come matrici diagonali con un valore
fisso sulla diagonale principale e variando questo valore tra 10, 100 e
200, scelti in maniera euristica.
• 𝐾𝑝 = 𝐾 𝑑 =
𝜆 0
0 𝜆
⋯
0 0
0 0
⋮ ⋱ ⋮
0 0
0 0
⋯
𝜆 0
0 𝜆
Controllo PD + gravità - Simulazioni
Controllo a dinamica inversa - 1
• La strategia a Dinamica Inversa prevede di compensare la dinamica
del manipolatore in toto.
𝑢 = 𝐵 𝑞 𝑦 + 𝐶 𝑞, 𝑞 𝑞 + 𝐹 𝑞 + 𝑔 𝑞
𝑦 = 𝑞 𝑑 + 𝐾 𝑑 𝑞 𝑑 − 𝑞 + 𝐾𝑝(𝑞 𝑑 − 𝑞)
• Questo permette di ottenere l’equazione dell’errore 𝑒 + 𝐾 𝑑 𝑒 + 𝐾𝑝 𝑒 =
0 avendo posto 𝑒 = 𝑞 𝑑 − 𝑞.
• Questo porta ad un errore che converge a zero, considerando che le
matrici delle costanti di retroazione sono definite positive.
Controllo a dinamica inversa - 2
Controllo a dinamica inversa - 3
• Costanti di retroazione 𝐾 𝑝 e 𝐾 𝑑 come matrici diagonali basate su i due
parametri che caratterizzano gli autovalori del sistema, 𝜁 e 𝜔 𝑛.
• 𝐾 𝑝 =
𝜔 𝑛
2
0
0 𝜔 𝑛
2 ⋯
0 0
0 0
⋮ ⋱ ⋮
0 0
0 0
⋯
𝜔 𝑛
2
0
0 𝜔 𝑛
2
𝐾 𝑑 =
2𝜁𝜔 𝑛 0
0 2𝜁𝜔 𝑛
⋯
0 0
0 0
⋮ ⋱ ⋮
0 0
0 0
⋯
2𝜁𝜔 𝑛 0
0 2𝜁𝜔 𝑛
• 𝜔 𝑛 è posto pari a 10 e 𝜁 prima pari a 1, per eliminare le oscillazioni, e poi
pari a 0.3, tenendo quindi in conto le oscillazioni nell’errore, per la
traiettoria costante.
• Per la traiettoria non costante si è posto 𝜁 pari a 1.
Controllo a dinamica inversa - 4
Controllo a dinamica inversa - 5

More Related Content

Viewers also liked

Optimization of the welding parameters in resistance spot welding
Optimization of the welding parameters in resistance spot weldingOptimization of the welding parameters in resistance spot welding
Optimization of the welding parameters in resistance spot welding
IAEME Publication
 
Spot welding guidelines
Spot welding guidelinesSpot welding guidelines
Spot welding guidelines
Caín Castillo
 
Advanced Modeling & Simulation Techniques for Multibody Robotic Systems
Advanced Modeling & Simulation Techniques for Multibody Robotic SystemsAdvanced Modeling & Simulation Techniques for Multibody Robotic Systems
Advanced Modeling & Simulation Techniques for Multibody Robotic Systems
Design World
 
Optimization of resistance spot welding parameters for welding of stainless ...
 Optimization of resistance spot welding parameters for welding of stainless ... Optimization of resistance spot welding parameters for welding of stainless ...
Optimization of resistance spot welding parameters for welding of stainless ...
Alexander Decker
 
Manipulator kinematics
Manipulator kinematicsManipulator kinematics
Manipulator kinematics
Sudhir Reddy
 
Training and Simulation in a More Autonomous and Robotic Future
Training and Simulation in a More Autonomous and Robotic FutureTraining and Simulation in a More Autonomous and Robotic Future
Training and Simulation in a More Autonomous and Robotic Future
Andy Fawkes
 
Spot welding
Spot weldingSpot welding
Spot welding
sandipanc95
 
Seminar on welding
Seminar on weldingSeminar on welding
Seminar on welding
PRAVEEN JALARADDI
 
TALAT Lecture 4500: Resistance Welding
TALAT Lecture 4500: Resistance WeldingTALAT Lecture 4500: Resistance Welding
TALAT Lecture 4500: Resistance Welding
CORE-Materials
 
ROBOTIC WELDING Presentation to show2
ROBOTIC WELDING Presentation to show2ROBOTIC WELDING Presentation to show2
ROBOTIC WELDING Presentation to show2
Prateek Sood
 
Welding fixtures
Welding fixturesWelding fixtures
Welding fixtures
Vishnudutt Kj
 
Robotic welding
Robotic weldingRobotic welding
Robotic welding
Sridhar Raj
 
Jigs & Fixtures
Jigs & FixturesJigs & Fixtures
Welding Robots
Welding RobotsWelding Robots
Welding Robots
Venkata Raja Paruchuru
 
Presentation on Automation in Welding
Presentation on Automation in WeldingPresentation on Automation in Welding
Presentation on Automation in Welding
Rohtash kumar
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
Damian T. Gordon
 
Lecture 01: Introduction
Lecture 01: IntroductionLecture 01: Introduction
Lecture 01: Introduction
University of Colorado at Boulder
 
Fundamental of robotic manipulator
Fundamental of robotic manipulatorFundamental of robotic manipulator
Fundamental of robotic manipulator
snkalepvpit
 
DC vs AC spot welding - A comparison
DC vs AC spot welding - A comparisonDC vs AC spot welding - A comparison
DC vs AC spot welding - A comparison
Rashidi Asari
 

Viewers also liked (19)

Optimization of the welding parameters in resistance spot welding
Optimization of the welding parameters in resistance spot weldingOptimization of the welding parameters in resistance spot welding
Optimization of the welding parameters in resistance spot welding
 
Spot welding guidelines
Spot welding guidelinesSpot welding guidelines
Spot welding guidelines
 
Advanced Modeling & Simulation Techniques for Multibody Robotic Systems
Advanced Modeling & Simulation Techniques for Multibody Robotic SystemsAdvanced Modeling & Simulation Techniques for Multibody Robotic Systems
Advanced Modeling & Simulation Techniques for Multibody Robotic Systems
 
Optimization of resistance spot welding parameters for welding of stainless ...
 Optimization of resistance spot welding parameters for welding of stainless ... Optimization of resistance spot welding parameters for welding of stainless ...
Optimization of resistance spot welding parameters for welding of stainless ...
 
Manipulator kinematics
Manipulator kinematicsManipulator kinematics
Manipulator kinematics
 
Training and Simulation in a More Autonomous and Robotic Future
Training and Simulation in a More Autonomous and Robotic FutureTraining and Simulation in a More Autonomous and Robotic Future
Training and Simulation in a More Autonomous and Robotic Future
 
Spot welding
Spot weldingSpot welding
Spot welding
 
Seminar on welding
Seminar on weldingSeminar on welding
Seminar on welding
 
TALAT Lecture 4500: Resistance Welding
TALAT Lecture 4500: Resistance WeldingTALAT Lecture 4500: Resistance Welding
TALAT Lecture 4500: Resistance Welding
 
ROBOTIC WELDING Presentation to show2
ROBOTIC WELDING Presentation to show2ROBOTIC WELDING Presentation to show2
ROBOTIC WELDING Presentation to show2
 
Welding fixtures
Welding fixturesWelding fixtures
Welding fixtures
 
Robotic welding
Robotic weldingRobotic welding
Robotic welding
 
Jigs & Fixtures
Jigs & FixturesJigs & Fixtures
Jigs & Fixtures
 
Welding Robots
Welding RobotsWelding Robots
Welding Robots
 
Presentation on Automation in Welding
Presentation on Automation in WeldingPresentation on Automation in Welding
Presentation on Automation in Welding
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
 
Lecture 01: Introduction
Lecture 01: IntroductionLecture 01: Introduction
Lecture 01: Introduction
 
Fundamental of robotic manipulator
Fundamental of robotic manipulatorFundamental of robotic manipulator
Fundamental of robotic manipulator
 
DC vs AC spot welding - A comparison
DC vs AC spot welding - A comparisonDC vs AC spot welding - A comparison
DC vs AC spot welding - A comparison
 

Similar to Robotic Arm Simulation

Modellazione tramite geometria frattale
Modellazione tramite geometria frattaleModellazione tramite geometria frattale
Modellazione tramite geometria frattaleMassimiliano Leone
 
Support Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiSupport Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempi
Gioele Ciaparrone
 
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
Confindustria Emilia-Romagna Ricerca
 
Pres talia tesi_pdf
Pres talia tesi_pdfPres talia tesi_pdf
Pres talia tesi_pdf
Massimo Talia
 
Automation Engineering: Solved Models - Raccolta di modelli risolti
Automation Engineering: Solved Models - Raccolta di modelli risoltiAutomation Engineering: Solved Models - Raccolta di modelli risolti
Automation Engineering: Solved Models - Raccolta di modelli risolti
Andrea Tino
 
Relazione Azionamenti elettrici
Relazione Azionamenti elettriciRelazione Azionamenti elettrici
Relazione Azionamenti elettriciStefano Manca
 
Invarianza di un politopo
Invarianza di un politopoInvarianza di un politopo
Invarianza di un politopo
Vittoriano Muttillo
 
Strutture Cicliche in C++
Strutture Cicliche in C++Strutture Cicliche in C++
Strutture Cicliche in C++
I.S.I.S. "Antonio Serra" - Napoli
 
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
Confindustria Emilia-Romagna Ricerca
 
Discussione finale v3
Discussione finale v3Discussione finale v3
Discussione finale v3
Carlo Iapige De Gaetani
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
Simulation and analysis of a linear system in MATLAB
Simulation and analysis of a linear system in MATLABSimulation and analysis of a linear system in MATLAB
Simulation and analysis of a linear system in MATLAB
AlessioSechi
 
Nonlin tutto 2009
Nonlin tutto 2009Nonlin tutto 2009
Nonlin tutto 2009marbonf
 
Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Michele Scipioni
 
Metodi di ricostruzione delle immagini in medicina nucleare
Metodi di ricostruzione delle immagini in medicina nucleare Metodi di ricostruzione delle immagini in medicina nucleare
Metodi di ricostruzione delle immagini in medicina nucleare
lararalferri
 
Lez.5 - Corso di modelli e GIS per l'ambiente
Lez.5 - Corso di modelli e GIS per l'ambienteLez.5 - Corso di modelli e GIS per l'ambiente
Lez.5 - Corso di modelli e GIS per l'ambiente
Margherita Di Leo
 
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
RobertoPasini8
 
Yielding Robot and Rigid Environment - Contact Force Control (IT)
Yielding Robot and Rigid Environment - Contact Force Control (IT)Yielding Robot and Rigid Environment - Contact Force Control (IT)
Yielding Robot and Rigid Environment - Contact Force Control (IT)
EnricoMarinelli3
 
Introduzione alla configurazione del software di bordo di un multicottero (1)
Introduzione alla configurazione del software di bordo di un multicottero  (1)Introduzione alla configurazione del software di bordo di un multicottero  (1)
Introduzione alla configurazione del software di bordo di un multicottero (1)Roberto Navoni
 
Introduzione alle Self Driving Car
Introduzione alle Self Driving CarIntroduzione alle Self Driving Car
Introduzione alle Self Driving Car
Vincenzo Dentamaro
 

Similar to Robotic Arm Simulation (20)

Modellazione tramite geometria frattale
Modellazione tramite geometria frattaleModellazione tramite geometria frattale
Modellazione tramite geometria frattale
 
Support Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiSupport Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempi
 
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
Sviluppo di strategie di gestione ottimale di reti complesse di distribuzione...
 
Pres talia tesi_pdf
Pres talia tesi_pdfPres talia tesi_pdf
Pres talia tesi_pdf
 
Automation Engineering: Solved Models - Raccolta di modelli risolti
Automation Engineering: Solved Models - Raccolta di modelli risoltiAutomation Engineering: Solved Models - Raccolta di modelli risolti
Automation Engineering: Solved Models - Raccolta di modelli risolti
 
Relazione Azionamenti elettrici
Relazione Azionamenti elettriciRelazione Azionamenti elettrici
Relazione Azionamenti elettrici
 
Invarianza di un politopo
Invarianza di un politopoInvarianza di un politopo
Invarianza di un politopo
 
Strutture Cicliche in C++
Strutture Cicliche in C++Strutture Cicliche in C++
Strutture Cicliche in C++
 
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
EFFICITY - Sviluppo di strategie di gestione ottimale di reti complesse di di...
 
Discussione finale v3
Discussione finale v3Discussione finale v3
Discussione finale v3
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
I cicli in Python 3
 
Simulation and analysis of a linear system in MATLAB
Simulation and analysis of a linear system in MATLABSimulation and analysis of a linear system in MATLAB
Simulation and analysis of a linear system in MATLAB
 
Nonlin tutto 2009
Nonlin tutto 2009Nonlin tutto 2009
Nonlin tutto 2009
 
Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016
 
Metodi di ricostruzione delle immagini in medicina nucleare
Metodi di ricostruzione delle immagini in medicina nucleare Metodi di ricostruzione delle immagini in medicina nucleare
Metodi di ricostruzione delle immagini in medicina nucleare
 
Lez.5 - Corso di modelli e GIS per l'ambiente
Lez.5 - Corso di modelli e GIS per l'ambienteLez.5 - Corso di modelli e GIS per l'ambiente
Lez.5 - Corso di modelli e GIS per l'ambiente
 
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
RILEVAMENTO DELLA POSIZIONE E MANTENIMENTO DELL’EQUILIBRIO DI UNA PALLINA ATT...
 
Yielding Robot and Rigid Environment - Contact Force Control (IT)
Yielding Robot and Rigid Environment - Contact Force Control (IT)Yielding Robot and Rigid Environment - Contact Force Control (IT)
Yielding Robot and Rigid Environment - Contact Force Control (IT)
 
Introduzione alla configurazione del software di bordo di un multicottero (1)
Introduzione alla configurazione del software di bordo di un multicottero  (1)Introduzione alla configurazione del software di bordo di un multicottero  (1)
Introduzione alla configurazione del software di bordo di un multicottero (1)
 
Introduzione alle Self Driving Car
Introduzione alle Self Driving CarIntroduzione alle Self Driving Car
Introduzione alle Self Driving Car
 

Recently uploaded

Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Servizi a rete
 
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
Servizi a rete
 

Recently uploaded (10)

Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
 
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
 

Robotic Arm Simulation

  • 1. Università degli studi di Salerno Corso di Laurea Magistrale in Ingegneria Informatica Anno 2015/2016 Corso di Automazione e Robotica Presentazione progetto Robotica Gruppo: Di Gruttola Carmine – Esposito Emiddio
  • 2. Outline 1. Analisi del manipolatore 2. Cinematica diretta del manipolatore 3. Cinematica differenziale, Inversione cinematica e pianificazione della traiettoria 4. Controllo centralizzato nello spazio giunti
  • 3. Strumenti utilizzati • Matlab versione r2015a per lo sviluppo delle procedure. • Ambiente di simulazione V-REP.
  • 4. Analisi • Il manipolatore analizzato è lo SmartSix della Comau poggiato su una base mobile e con un polso sferico all’estremità. • Il sistema risulta quindi composto da 6 giunti rotoidali disposti su diversi assi. • La base mobile è stata modellata aggiungendo due giunti prismatici, idealmente posti nello stesso punto del primo giunto rotoidale.
  • 5. Utilizzando le convenzioni di Denavit-Hartenberg, sono state individuate le terne solidali ai diversi giunti
  • 6. Dalle terne individuate e dal datasheet sono stati estratti i parametri DH che permettono in maniera agevole di ricavare le matrici di rotazione Transizione a 𝜶 d 𝜽 𝑇𝑒𝑟𝑛𝑎 0 → 𝑇𝑒𝑟𝑛𝑎 1 0 𝜋 2 𝑞1 𝜋 2 𝑇𝑒𝑟𝑛𝑎 1 → 𝑇𝑒𝑟𝑛𝑎 2 0 𝜋 2 𝑞2 𝜋 2 𝑇𝑒𝑟𝑛𝑎 2 → 𝑇𝑒𝑟𝑛𝑎 3 0.15 − 𝜋 2 0.45 𝑞3 𝑇𝑒𝑟𝑛𝑎 3 → 𝑇𝑒𝑟𝑛𝑎 4 0.59 0 0 𝑞4 𝑇𝑒𝑟𝑛𝑎 4 → 𝑇𝑒𝑟𝑛𝑎 5 0.13 − 𝜋 2 0 𝑞5 𝑇𝑒𝑟𝑛𝑎 5 → 𝑇𝑒𝑟𝑛𝑎 6 0 𝜋 2 0.64707 𝑞6 𝑇𝑒𝑟𝑛𝑎 6 → 𝑇𝑒𝑟𝑛𝑎 7 0 − 𝜋 2 0 𝑞7 𝑇𝑒𝑟𝑛𝑎 7 → 𝑇𝑒𝑟𝑛𝑎 8 0 0 0.095 𝑞8
  • 7. Cinematica Diretta • Il primo passo è stato lo sviluppo di una procedura per il calcolo della cinematica diretta. • La procedura prende in ingresso la configurazione dei giunti del manipolatore, una stringa per la tipologia degli angoli di Eulero e le matrici 𝐴0 𝑏 e 𝐴 𝑒 𝑛 di relazione con la terna mondo e quella end effector • In uscita restuisce la posizione dell’end effector, l’orientamento secondo gli angoli scelti, la matrice di rotazione 𝑅 𝑒 𝑏 e un cell array con tutte le matrici intermedie calcolate. function [p, phi, R, A] = cindir(q, str, Ab0, Ane)
  • 8. Procedura DHMatrix • Per aiuto nello sviluppo, è stava sviluppata una procedura che dati i parametri DH calcola la matrice di rototraslazione corrispondente. • La stessa poi è stata utilizzata più volte per calcolare 𝐴 𝑒 𝑏, da cui sono stati ricavate tutte le altre informazioni ritornate da cindir. function [A] = DHMatrix(a, alpha, d, theta)
  • 9. Verifica • Confronto dei risultati in uscita dalla procedura realizzata con quelli simulati dall’ambiente V-REP. • In primo luogo sono stati verificati i risultati in posizione di calibrazione, ovvero [0,0,0,− 𝜋 2 ,0,0,0,0]T e i valori sono congruenti. • Un’ulteriore prova è stata fatta in una posizione casuale [5,5,0,0,− 𝜋 2 ,0,0,0]T e si è notata una discrepanza di 0.06 mm nella coordinata z della posizione causata dai limiti fisici dei giunti, nel caso particolare dal giunto 5. • Questo problema è stato risolto utilizzando il file LimitiManipolatore.m
  • 10. Inversione Cinematica • Secondo passo è stato il calcolo della cinematica differenziale ai fini dell’inversione cinematica, implementata attraverso un algoritmo CLIK del secondo ordine • La funzione prende in ingresso una configurazione iniziale, una traiettoria in posizione, velocità e accelerazione, oltre che informazioni su eventuali ostacoli. function [q, dq, ddq, e] = InversioneCinematica(q0, xd, dxd, ddxd, str, Ab0, Ane, obs)
  • 11. Jacobiano Geometrico e Analitico • Per l’inversione il primo passo è il calcolo dello Jacobiano Geometrico 𝐽 𝑞 e dello Jacobiano Analitico 𝐽 𝐴(𝑞) • Il primo è stato calcolato a partire dalle formule presenti sul testo e dalle informazioni ricavate da cindir • Il secondo è stato calcolato partendo dal primo e utilizzando la matrice di trasformazione ω = T Φ Φ, per ricavare Φ partendo da ω.
  • 12. Algoritmo CLIK del 2° ordine
  • 13. Algoritmo CLIK del 2° ordine • Utilizzato per compensare l’errore di integrazione in Eulero in avanti. • Due costanti di retroazione, 𝐾 𝑑 e 𝐾𝑝 scelte uguali per dare un tempo di assestamento di 50 ms senza oscillazioni, ovvero 𝜔 𝑛 = 100 e 𝜁 = 1 • Proiezione nel nullo per allontanarsi da ostacoli (supposti fermi e cilindrici) e dai limiti di giunti 𝑞0 = 𝑞0 − 𝑞 𝑞0𝑖 = −𝑘1 𝑞 𝑖−𝑞 𝑚 𝑞 𝑖𝑀− 𝑞 𝑖𝑚 𝑞0𝑖 = 2𝑘2 𝑞𝑖 − 𝑜𝑖 • 𝑘1 e 𝑘2 sono stati fissati a 100 e 10 dopo prove sperimentali
  • 14. Traiettoria - 1 • Traiettoria per operazione di pick and place • Divisa in due sottotraiettorie: • Dalla posizione di calibrazione alla posizione di pick • Dalla posizione di pick alla posizione di place • Percorso calcolato con ascissa curvilinea con archi di circonferenza 𝛾𝑝 = 𝑐 + 𝑅 ∗ 𝑟 ∗ cos( 𝑠 𝑟 ) 𝑟 ∗ sin( 𝑠 𝑟 ) 0 𝛾𝑓 = 𝑓0 + 𝑠 ∗ 𝑓 𝑓−𝑓0 𝐿 • Punto di via calcolato per passare lontano dagli ostacoli
  • 15. Traiettoria - 2 Vista laterale Vista dall’alto
  • 16. Traiettoria - 3 • Per l’ascissa curvilinea è stata scelto un profilo trapezoidale con due secondi in aggiunta, per simulare le operazioni di pick e place • 𝑠(𝑡) = 𝑎 𝑚𝑎𝑥 ∗ 𝑡2 2 𝑐𝑜𝑛 𝑡 < 𝑡 𝑐 𝑣 𝑚𝑎𝑥 ∗ 𝑡 − 𝑣 𝑚𝑎𝑥 2 2∗𝑎 𝑚𝑎𝑥 𝑐𝑜𝑛 𝑡 𝑐 < 𝑡 < 𝑡𝑓 − 𝑡 𝑐 −𝑎 𝑚𝑎𝑥 ∗ 𝑡−𝑡 𝑓 2 2 + 𝑣 𝑚𝑎𝑥 ∗ 𝑡𝑓 − 𝑣 𝑚𝑎𝑥 2 𝑎 𝑚𝑎𝑥 𝑐𝑜𝑛 𝑡𝑓 − 𝑡 𝑐 < 𝑡 < 𝑡𝑓 𝑣 𝑚𝑎𝑥 𝑡𝑓 − 𝑣 𝑚𝑎𝑥 2 𝑎 𝑚𝑎𝑥 , 𝑡𝑓 < 𝑡 < 𝑡𝑓 + 2 • 𝑡𝑓 e 𝑣 𝑚𝑎𝑥 sono stati calcolati in funzione di L, lunghezza della curva.
  • 17. Verifica - 1 • Partendo dalla posizione di calibrazione l’errore è:
  • 18. Verifica - 2 • Partendo dalla posizione 𝑞1 = [0.5; 0.5; 0; − 𝑝𝑖 2 ; 0 ; 0.1; 1.2; 0.9] l’errore è:
  • 19. Controllo giunti • L’obiettivo, data una traiettoria nello spazio giunti, è quello di far inseguire la traiettoria ai giunti. • Si usa il modello dinamico del manipolatore: 𝐵 𝑞 𝑞 + 𝐶 𝑞, 𝑞 𝑞 + 𝐹 𝑞 + 𝑔 𝑞 = 𝑢 • Sono stati ignorati contributi di attrito statico e forze esterne agenti sul sistema.
  • 20. Simulazioni • Ai fini del test, sono state utilizzate due traiettorie. • Traiettoria costante: si tenta di imporre, per 5 s ad un passo di campionamento T=0.001 s, 𝑞 = 0.5 0.5 0 − 𝜋 2 0 0.1 1.2 0.9 𝑇 partendo dalla configurazione di calibrazione 𝑞0 = 0 0 0 − 𝜋 2 0 0 0 0 𝑇 • Traiettoria generata nel secondo homework.
  • 21. Controllo PD + gravità -1 • La strategia di controllo PD + gravità prevede di generare le coppie ai giunti come composizione di tre contributi: • Contributo proporzionale alla differenza tra posizione dei giunti desiderata e posizione reale. • Contributo proporzionale alla differenza tra velocità dei giunti desiderata e velocità reale • Contributo pari al contributo gravitazionale del modello dinamico. 𝑢 = 𝐾𝑝 𝑞 𝑑 − 𝑞 − 𝐾 𝑑 𝑞 + 𝑔(𝑞) • La strategia converge senza errori per traiettorie costanti.
  • 22. Controllo PD + gravità - 2
  • 23. Controllo PD + gravità - 3 • La simulazione è stata effettuata variando i parametri 𝐾𝑝 e 𝐾 𝑑, impostando entrambe le matrici come matrici diagonali con un valore fisso sulla diagonale principale e variando questo valore tra 10, 100 e 200, scelti in maniera euristica. • 𝐾𝑝 = 𝐾 𝑑 = 𝜆 0 0 𝜆 ⋯ 0 0 0 0 ⋮ ⋱ ⋮ 0 0 0 0 ⋯ 𝜆 0 0 𝜆
  • 24. Controllo PD + gravità - Simulazioni
  • 25. Controllo a dinamica inversa - 1 • La strategia a Dinamica Inversa prevede di compensare la dinamica del manipolatore in toto. 𝑢 = 𝐵 𝑞 𝑦 + 𝐶 𝑞, 𝑞 𝑞 + 𝐹 𝑞 + 𝑔 𝑞 𝑦 = 𝑞 𝑑 + 𝐾 𝑑 𝑞 𝑑 − 𝑞 + 𝐾𝑝(𝑞 𝑑 − 𝑞) • Questo permette di ottenere l’equazione dell’errore 𝑒 + 𝐾 𝑑 𝑒 + 𝐾𝑝 𝑒 = 0 avendo posto 𝑒 = 𝑞 𝑑 − 𝑞. • Questo porta ad un errore che converge a zero, considerando che le matrici delle costanti di retroazione sono definite positive.
  • 26. Controllo a dinamica inversa - 2
  • 27. Controllo a dinamica inversa - 3 • Costanti di retroazione 𝐾 𝑝 e 𝐾 𝑑 come matrici diagonali basate su i due parametri che caratterizzano gli autovalori del sistema, 𝜁 e 𝜔 𝑛. • 𝐾 𝑝 = 𝜔 𝑛 2 0 0 𝜔 𝑛 2 ⋯ 0 0 0 0 ⋮ ⋱ ⋮ 0 0 0 0 ⋯ 𝜔 𝑛 2 0 0 𝜔 𝑛 2 𝐾 𝑑 = 2𝜁𝜔 𝑛 0 0 2𝜁𝜔 𝑛 ⋯ 0 0 0 0 ⋮ ⋱ ⋮ 0 0 0 0 ⋯ 2𝜁𝜔 𝑛 0 0 2𝜁𝜔 𝑛 • 𝜔 𝑛 è posto pari a 10 e 𝜁 prima pari a 1, per eliminare le oscillazioni, e poi pari a 0.3, tenendo quindi in conto le oscillazioni nell’errore, per la traiettoria costante. • Per la traiettoria non costante si è posto 𝜁 pari a 1.
  • 28. Controllo a dinamica inversa - 4
  • 29. Controllo a dinamica inversa - 5

Editor's Notes

  1. 0.05 s è di un ordine di grandezza almeno maggiore del tempo di campionamento e permette di azzerare l’errore senza rischiare di sconfinare nell’instabilità.
  2. All’inizio partiamo in una posizione errata e comunque l’errore poi tende a zero.
  3. Con i valori 10, 100 e 200 sono state fatte delle prove per osservare di quanto l’errore diminuisce.
  4. 10
  5. Wn pari a 10 permette di avere un tempo di assestamento pari a 0.5 secondi perché sono stati tenuti in considerazione dei limiti fisici.
  6. Zita 1
  7. Traiettoria Ci sono i punti angolosi per la traiettoria e ci danno le variazioni. Gli inviluppi diminuiscono.