OK non so perché ma adesso lo ha compilato anche a me… io da quando ho postato l’errore non lo avevo più toccato adesso facendo copia e incolla il tuo codice è stato compilato.
Sono tornato nella tesi e ho cercato di “isolare” di nuovo l’errore. Adesso a meno di strane combinazioni involontarie il problema è questo:
ottengo un errore legato al pacchetto “\bm”, quando uso \bm insieme al pacchetto biblatex la compilazione si blocca con questo errore:
! TeX capacity exceeded, sorry [main memory size=3000000].
quando levo il pacchetto biblatex la compilazione avviene.
Questo è il codice che viene compilato (notate il pacchetto biblatex commentato):
`\documentclass[a4paper,12pt,oneside]{book}
\usepackage{lmodern}
\usepackage{frontespizio}
\usepackage[italian,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{graphicx}
%\usepackage{csquotes}
%\usepackage[style=numeric]{biblatex} % Bibliographhy
%\bibliography{Biblio.bib} % Bibliography document's
% IMAGES'S FOLDERS
\graphicspath{{Immagini/}, % Frontespizio
{Immagini/Capitolo1/}, % Chapter 1 images
{Immagini/Capitolo2/}, % Chapter 2 images
{Immagini/Capitolo3/}, % Chapter 3 images
{Immagini/Capitolo4/CasoStudio1/}, % Chapter 4 case study 1 images
{Immagini/Capitolo4/CasoStudio2/}, % Chapter 4 case study 2 images
{Immagini/Capitolo4/CasoStudio3/}, % Chapter 4 case study 3 images
{Immagini/Capitolo4/CasoStudio4/}} % Chapter 4 case study 4 images
\usepackage{indentfirst}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{microtype}
\usepackage{lipsum} % filling test generator
\usepackage{amsmath,amssymb}
\usepackage{bm}
\usepackage{subfigure}
% New Command for generating Abstract and “Sommario”
\usepackage{fancyhdr}
\newcommand{\fncyblank}{\fancyhf{}}
\newenvironment{abstract}{\cleardoublepage\fncyblank\null \vfill \begin{center}
\bfseries \abstractname \end{center}}
{\vfill\null}
\begin{document}
%—————————————————%
% FRONTESPIZIO %
%—————————————————%
\begin{frontespizio}
\Universita{Cassino e del Lazio Meridionale}
\Dipartimento{Dipartimento di Ingegneria Civile e Meccanica}
\Corso[Laurea Magistrale]{Ingegneri Meccanica}
\Titolo{ \textbf{\normalsize Tesi di Laurea} \\ Studio di algoritmi per l'inversione cinematica}
\Filigrana[height=5cm, before=1, after=5]{UNICLAM}
\Candidato[0036554]{Claudio Paliotta}
\Relatore{Ch.mo Prof.~Gianluca Antonelli}
\Annoaccademico{2012-2013}
\end{frontespizio}
%—————————————————%
% CITAZIONE %
%—————————————————%
\begin{flushright}
prova citazione
\end{flushright}
%—————————————————%
% ABSTRACT %
%—————————————————%
\selectlanguage{english}
\begin{abstract}
prova abstract
\end{abstract}
\selectlanguage{italian}
%—————————————————%
% SOMMARIO %
%—————————————————%
\begin{abstract}
prova sommario
\end{abstract}
%—————————————————%
% RINGRAZIAMENTI %
%—————————————————%
\chapter*{Ringraziamenti}
prova ringraziamenti
%—————————————————%
% INDICI %
%—————————————————%
%\tableofcontents
%\listoffigures
%\listoftables
%—————————————————%
% PRIMO CAPITOLO %
%—————————————————%
\chapter{Introduzione}
In questo capitolo si vuole dare una basilare spiegazione di cosa sono i manipolatori robotici, descrivendone sommariamente alcune tipologie e dando una panoramica generale su quelle che sono le loro applicazioni. Si passerà poi a descrivere i robot con base mobile soffermandosi in particolare sul sistema a base flottante che verrà esaminato e studiato in dettaglio nei capitoli successivi \cite{Siciliano:Robotica}.
\section{Sistemi robotici a base mobile}
\subsection*{Manipolatori robotici}
Un manipolatore robotico è un sistema elettromeccanico complesso, generalmente costituito da una serie di link rigidi, che costituiscono la struttura meccanica, interconnessi tramite dei giunti. La movimentazione del sistema è affidata ad una serie di attuatori che possono essere di svariata natura, elettrici o idraulici. Sono inoltre presenti una serie di sensori, i quali danno informazioni riguardo l'ambiente in cui si trova il robot e il suo stato interno. Infine è necessaria la presenza di un'unità di controllo che consenta di comandare gli attuatori in maniera coerente con il compito affidato, la struttura meccanica del robot e le informazioni date dai sensori.
L'utilizzo dei manipolatori robotici è diffuso in molti campi, primo fra tutti c'è da ricordare quello industriale in cui moltissime mansioni sono svolte da appositi robot in grado di rendere il lavoro degli operai più sicuro ed agevole. Viene infatti da pensare ai robot saldatori che nelle aziende metalmeccaniche sostituiscono l'uomo per queste mansioni, rendendo i processi notevolmente più veloci e ripetibili con ottimi livelli di qualità per il prodotto finale, prevenendo gli operatori dal rischio di contrazione di malattie legate all'inalazione di gas nocivi che inevitabilmente si sprigionano durante la lavorazione.
I giunti che connettono i link possono essere di due tipologie, rotoidali o prismatici. I primi consentono un moto relativo di rotazione tra i link collegati, i secondi consentono un moto relativo di traslazione. La sequenza di link collegata dai giunti e la tipologia di giunti usati costituisce la catena cinematica del robot. I manipolatori possono essere classificati in base alla loro catena cinematica.
La catena cinematica può essenzialmente essere chiusa, se si può tracciare una linea continua chiusa dal primo all'ultimo link, o aperta, se non è possibile tracciare un percorso chiuso tra il primo e l'ultimo link.
Una caratteristica importantissima per i manipolatori robotici è lo spazio di lavoro $W$. Questo è l'insieme delle posizioni raggiungibili da un certo punto appartenente al robot, quasi sempre si considera l'estremità dell'ultimo giunto come punto di interesse poiché in genere è proprio li che si assembla il cosi detto end-effector, o organo terminale, che è il membro che avrà la giusta struttura meccanica per l'esecuzione del compito assegnato (saldatura, pick-~and-~place, verniciatura, \dots). Quando si parla di posizioni dell'end-effector si intende l'insieme dei punti e degli orientamenti che questo può raggiungere, quindi si intende lo spazio a 6 ($dim(W) = 6$) dimensioni dato dalle 3 coordinate di posizione e dalle 3 di orientamento, considerate rispetto una data terna di riferimento, detta terna inerziale.
Più in generale si potrebbe distinguere anche in uno spazio di lavoro delle posizioni $W_P$ ed in uno degli orientamenti $W_O$, cioè si possono distinguere due spazi di dimensione 3 ($dim(W_P) = dim(W_O) = 3$), il primo relativo alle sole posizioni raggiungibili ed il secondo relativo agli orientamenti possibili nei vari punti raggiungibili, in genere lo spazio delle sole posizioni è più vasto di quello di solo orientamento, poiché quando il manipolatore è vicino ai limiti dello spazio delle posizioni non è in grado di poter assumere un orientamento arbitrario.
I manipolatori a catena chiusa non sono molto diffusi a livello industriale, tra questi rivestono molto interesse quelli a geometria \emph{parallela}, questi sono ancora largamente studiati a livello scientifico poiché presentano ancora diversi problemi dal punto di vista progettuale. Tuttavia mostrano grandi potenzialità, infatti, presentando una struttura meccanica chiusa, sono caratterizzati da grande rigidezza strutturale, quindi hanno la possibilità di movimentare grandi carichi in punta con precisione e ripetibilità elevate. Di contro però presentano, come si diceva, problemi progettuali, in genere legati ai giunti non attuati della struttura, ed inoltre presentano uno spazio di lavoro molto piccolo rispetto a quelli che in genere sono gli ingombri della struttura. Si riporta in figura 1.1 un esempio di manipolatore parallelo commerciale, largamente usato per compiti di pick-~and~-place, in figura 1.2 un esempio di un manipolatore industriale, in cui compare una struttura a quadrilatero per permettere la movimentazione di grandi carichi.
\begin{figure}[htb]
\centering
\includegraphics[scale=0.3]{adeptquattro}
\caption{Robot Adept quattro}
\end{figure}
\begin{figure}[htb]
\centering
\includegraphics[scale=0.3]{Parallelo_antrop}
\caption{Manipolatore antropomorfo con struttura a quadrilatero}
\end{figure}
Tra i manipolatori a catena aperta una delle strutture più semplici è dato dal manipolatore cartesiano riportato in figura 1.3
\begin{figure}[htb]
\centering
\includegraphics[scale=0.3]{cartesiano}
\caption{manipolatore cartesiano}
\end{figure}
Esso è costituito da una catena cinematica data da 3 giunti prismatici, ha 3 gradi di libertà (gdf o anche in notazione anglosassone dof = degrees of freedom) ed ha una struttura meccanica molto rigida che ne consente l'uso per la movimentazione di grossi carichi. Il suo spazio di lavoro è dato dal volume di un parallelepipedo.
Altro schema cinematico molto diffuso è quello costituita da 3 giunti rotoidali, i quali possono essere disposti in diversi modi, i più diffusi sono riportati nelle figure 1.4 ed 1.5, in cui l'unica cosa che cambia è la disposizione degli assi dei giunti mentre la catena cinematica è la stessa, nel primo caso otteniamo il cosidetto \emph{polso sferico}, nel secondo caso otteniamo un manipolatore \emph{antropomorfo}.
\begin{figure}[htb]
\centering
\includegraphics[scale=0.5]{Polso_Sferico}
\caption{Polso sferico}
\end{figure}
\begin{figure}[htb]
\centering
\includegraphics[scale=0.6]{Antropomorfo}
\caption{manipolatore antropomorfo}
\end{figure}
Entrambi i manipolatori mostrati hanno 3 gradi libertà, ma la differenza sostanziale tra i due sta nella forma dei loro rispettivi \emph{work space}. Quello che si fa in genere è avere una combinazione dei due, in pratica si montano in serie un manipolatore antropomorfo, \emph{struttura portante}, e un polso sferico, detto \emph{polso}. Questo schema, mostrato in figura 1.6, è largamente diffuso nei manipolatori industriali. Alla base è affidato il compito di gestire la posizione dell'end-~effector ed in genere è la parte più imponente del manipolatore poiché vi è affidato il compito di sostenere le sollecitazioni date alla struttura dal carico in punta. Il polso ha invece il compito di gestire l'orientamento dell'organo terminale, ed è di solito di dimensioni nettamente più piccole della struttura. Nella figure 1.7 è riportato un esempio di un manipolatore industriale commerciale.
\begin{figure}[htb]
\centering
\includegraphics[scale=0.5]{Braccio_Antropomorfo_+_Polso_Sferico}
\caption{manipolatore antropomorfo più polso sferico}
\end{figure}
\begin{figure}[htb]
\centering
\includegraphics[scale=0.6]{Smart_six}
\caption{Manipolatore Comau Smart Six, struttura del tipo braccio antropomorfo più polso sferico}
\end{figure}
\subsection*{Manipolatore e base mobile}
La robotica mobile è oggetto di interesse di diversi campi già da diversi anni, si pensi al campo militare in cui robot mobili in grado di muoversi in ambienti non strutturati rivestono grandi interessi per esplorazioni in zone di guerra. Tuttavia applicazioni sicuramente preferibili sono quelle relative all'esplorazione e all'intervento in zone difficilmente accessibili, si pensi ad esempio a una zona in cui si verifica una situazione di emergenza (ad esempio un incendio), dove è necessario un rapido intervento, in questo caso un robot munito di adeguata attrezzatura potrebbe raggiungere una posizione richiesta ed intervenire in caso di pericolo.
I robot mobili possono essere classificati in base a diverse caratteristiche, ad esempio in base al tipo di movimentazione di cui sono dotati, alcuni esempi sono i \emph{robot su ruote} (figura 1.8), \emph{robot su gambe}, che sono quelli che cercano di riprodurre il più possibile il moto degli essere viventi, come ad esempio i robot bipedi (figura 1.9), che hanno l'intento di riprodurre il sistema di movimentazione umana, infine si hanno i \emph{robot aerei}, decisamente molto usati in campo militare (figura 1.10) e negli ultimi tempi anche in campo civile, infatti recentemente è stato utilizzato un robot in una operazione di polizia per spiare dei sospetti durante delle indagini.
\begin{figure}[htb]
\centering
\includegraphics[scale=0.3]{roomba}
\caption{Robot mobile commerciale, usato in operazioni di pulizia domestica}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[scale=0.4]{Petman}
\caption{Prototipo di robot bipede per scopi militari, realizzato dal DARPA}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[scale=0.1]{drone}
\caption{Drone utilizzato per scopi militari}
\end{figure}
Un altro ramo importante per la robotica mobile è la \emph{robotica di servizio}, si pensi all'importante campo dell'assistenza di persona anziane o disabili, in questo caso la ridotta mobilità di una persona potrebbe essere aiutata da un robot. Nella figura 1.11 si riporta un esempio di un robot per l'assistenza di persone con ridotta mobilità, questo robot è costituito da una base mobile su ruote e da un manipolatore seriale, che lavorando insieme possono facilitare lo svolgimento di moltissimi compiti a persone con ridotte capacità motorie.
\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{RobotServizio}
\caption{Prototipo di robot bipede per scopi militari, realizzato dal DARPA}
\end{figure}
Non bisogna poi dimenticare un altro importante campo in cui sistemi di manipolatore e base mobile sono largamente usati cioè quello aerospaziale. Si pensi alle sonde spaziali progettati per l'esplorazione del pianeta Marte (figura 1.12), questi necessitano di innumerevoli attrezzature a bordo per effettuare molti esperimenti una volta a destinazione, avere manipolatori altamente precisi su una base mobile come la sonda, in un ambiente ostile come quello marziano, in condizioni particolari nelle quali non si può fallire perché si è a milioni di chilometri di distanza riveste grande interesse scientifico.
\begin{figure}[]
\centering
\includegraphics[scale=0.5]{curiosity}
\caption{ Sonda Curiosity }
\end{figure}
Un ulteriore sbocco per la robotica mobile lo si trova in progetti, come il progetto ARCAS \url{http://www.arcas-project.eu/}, il cui scopo è quello di realizzare sistemi di uno o più manipolatori a base mobile in grado si assemblare strutture in zone impervie cooperando tra loro anche in ambienti non strutturati.
\section{Sistema quadricottero-manipolatore}
Tra i sistemi robotici mobili possiamo annoverare il sistema quadritcottero-manipolatore, il quale è appunto costituito da due sottosistemi, il quadricottero ed il manipolatore.
Il quadricottero, o in inglese QuadCopter, é un velivolo con una struttura portante
su cui sono installati quattro motori elettrici con relative eliche che ne permettono il volo (figura 1.13).
\begin{figure}[h]
\centering
\includegraphics[scale=0.7]{quadcopter}
\caption{Esempio di un quadricottero}
\end{figure}
Questo tipo di velivolo si distingue molto da un elicottero tradizionale, il fatto di presentare 4 rotori gli consente di avere caratteristiche di volo nettamente migliori di quelle che presenta un semplice elicottero. Quest'ultimo infatti presenta notevoli problematiche nella gestione della dinamica di volo, infatti una sola elica presenta problematiche aerodinamiche dovute alle velocità tangenziali delle eliche e alla portanza a queste collegata, infatti durante l'avanzamento del velivolo le eliche con velocità tangenziale concorde al senso di avanzamento hanno una velocità maggiore di quelle opposte (vi si deve sommare la velocità di avanzamento del corpo del velivolo) ciò comporta una maggiore portanza da parte di queste eliche e si rischierebbero di portare al ribaltamento la fusoliera, quindi sono necessari sistemi di controllo dell'inclinazione delle eliche per evitare questo inconveniente. Un quadricottero può invece essere dotato di 4 eliche fisse, di cui due ruotano in senso orario e due in senso antiorario, evitando problemi di squilibrio legati alla portanza per via della simmetria che si ha nelle eliche e nelle loro rotazioni.
Inoltre un quadricottero, essendo dotato di 4 rotori disposti in maniera simmetrica non necessita di un rotore aggiuntivo come quelli presenti sugli elicotteri (generalmente posto sulla coda), dove tale rotore svolge una funzione di bilanciamento riguardo la rotazione data dall'elica principale.
Quindi la simmetria è un aspetto fondamentale per questo sistema, ciò consente di avere un ottimo bilanciamento del velivolo e la possibilità di trasportare payload elevati. Questa caratteristica lo rende particolarmente adatto all'uso combinato con un manipolatore come nel caso in esame.
L'uso in simbiosi di un manipolatore robotico e di un quadricottero è un traguardo molto interessante, si pensi ad applicazioni di cooperazione in ambienti ostici, ad esempio in cui è in corso un'emergenza come può essere un incendio o una inondazione, arrivare in questi ambienti con dei sistemi come quelli quadricottero-manipolatore permetterebbe di eseguire compiti difficili per l'uomo, sicuramente con meno rischi per quest'ultimo. Inoltre un elevato numero di gradi di libertà come quelli che possono essere conferiti da un sistema simile, specialmente se si utilizzano manipolatori con elevato numero di giunti, si possono eseguire compiti con un buon grado di destrezza. La difficoltà in certi casi la si ritrova proprio nella gestione dell'elevato numero di gradi di libertà del sistema, ed è proprio questo il problema che si vuole affrontare in questa tesi.
\begin{figure}[]
\centering
\includegraphics[scale=0.09]{pelican&arm}
\caption{Esempio di quadricottero-manipolatore}
\end{figure}
%—————————————————%
% SECONDO CAPITOLO %
%—————————————————%
\chapter{Cinematica del sistema}
In questo capitolo si vuole dare una descrizione generale di cosa si intenda per inversione cinematica, si parlerà della cinematica diretta e inversa utilizzando un approccio matriciale, si parlerà di alcuni dei problemi ad essa connessa. Nel paragrafo successivo si parlerà della cinematica differenziale, diretta e inversa, anch'essa approcciata con un metodo matriciale, esponendo anche di questa pro e contro. Nell'ultimo paragrafo infine si parlerà di cosa si intende per \emph{ridondanza cinematica} e di come questa possa essere opportunamente gestita per conferire destrezza all'intero sistema.
\section{Cinematica diretta e inversa}
Come si è detto un manipolatore è costituito da una serie di bracci (\emph{link}) connessi per mezzo di \emph{giunti}, generalmente rotoidali o prismatici. La movimentazione della struttura avviene attuando i giunti e ciò che è importante nell'uso del manipolatore è conoscere in ogni istante la posizione e l'orientamento dell'organo terminale (\emph{end-effector}).
\subsection*{Posizione}
La posizione di un corpo rigido nello spazio è univocamente determinata da 6 parametri, 3 di orientamento e 3 di posizione. Facendo riferimento alla figura 2.1, la posizione rispetto una terna di riferimento può essere facilmente determinata dal seguente vettore.
\[
\bm \vec{O} =
\begin{bmatrix}
O_x \\
O_y \\
O_z
\end{bmatrix}
\]
\end{document}`
L’errore viene segnalato proprio alla riga dove c’è la matrice in cui uso \bm
Scusatemi se ogni tanto pasticcio un po come nel caso precedente ma sinceramente non so cosa di strano posso aver combinato perché non compilasse i trattini “-” ed ora si.
Scusate