Compare commits
1 Commits
main
..
ed4e884170
| Author | SHA1 | Date | |
|---|---|---|---|
| ed4e884170 |
@@ -1,7 +1,6 @@
|
|||||||
## Core latex/pdflatex auxiliary files:
|
## Core latex/pdflatex auxiliary files:
|
||||||
*.aux
|
*.aux
|
||||||
*.lof
|
*.lof
|
||||||
*.lof*
|
|
||||||
*.log
|
*.log
|
||||||
*.lot
|
*.lot
|
||||||
*.fls
|
*.fls
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.9 MiB |
+2
-122
@@ -12,7 +12,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{savarese2024pieno,
|
@article{savarese2024pieno,
|
||||||
title={PIENO--Petrol-Filling Itinerary Estimation aNd Optimization},
|
title={PIENO -- Petrol-Filling Itinerary Estimation aNd Optimization},
|
||||||
author={Savarese, Marco and De Blasi, Antonio and Zaccagnino, Carmine and Grazia, Carlo Augusto},
|
author={Savarese, Marco and De Blasi, Antonio and Zaccagnino, Carmine and Grazia, Carlo Augusto},
|
||||||
journal={IEEE Access},
|
journal={IEEE Access},
|
||||||
volume={12},
|
volume={12},
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@inproceedings{savarese2026ri,
|
@inproceedings{savarese2026ri,
|
||||||
title={RI-PIENO--Revised and Improved Petrol-Filling Itinerary Estimation aNd Optimization},
|
title={RI-PIENO -- Revised and Improved Petrol-Filling Itinerary Estimation aNd Optimization},
|
||||||
author={Savarese, Marco and De Blasi, Antonio and Zaccagnino, Carmine and Salici, Giacomo and Cascianelli, Silvia and Vezzani, Roberto and Grazia, Carlo Augusto},
|
author={Savarese, Marco and De Blasi, Antonio and Zaccagnino, Carmine and Salici, Giacomo and Cascianelli, Silvia and Vezzani, Roberto and Grazia, Carlo Augusto},
|
||||||
booktitle={2026 IEEE 23rd Consumer Communications \& Networking Conference (CCNC)},
|
booktitle={2026 IEEE 23rd Consumer Communications \& Networking Conference (CCNC)},
|
||||||
pages={1--6},
|
pages={1--6},
|
||||||
@@ -38,123 +38,3 @@
|
|||||||
year={2026},
|
year={2026},
|
||||||
organization={IEEE}
|
organization={IEEE}
|
||||||
}
|
}
|
||||||
|
|
||||||
@book{voss2008comprehensible,
|
|
||||||
title={A Comprehensible Guide to Controller Area Network},
|
|
||||||
author={Voss, Wilfried},
|
|
||||||
isbn={9780976511601},
|
|
||||||
year={2008},
|
|
||||||
publisher={Copperhill Technologies Corporation}
|
|
||||||
}
|
|
||||||
|
|
||||||
@booklet{komatsu_pc210_8_2017_brochure,
|
|
||||||
title = {{PC210/LC/NLC-8 Hydraulic Excavator: Specification Sheet}},
|
|
||||||
author = {{Komatsu Europe International NV}},
|
|
||||||
year = {2017},
|
|
||||||
organization= {{Komatsu Europe International NV}},
|
|
||||||
address = {Vilvoorde, Belgium},
|
|
||||||
note = {Publication No. UESS11010, 1/2017. Printed in Europe.}
|
|
||||||
}
|
|
||||||
|
|
||||||
@booklet{komatsu_komtrax_specification,
|
|
||||||
title = {{KOMTRAX}: Komatsu Wireless Monitoring System},
|
|
||||||
author = {{Komatsu Europe International N.V.}},
|
|
||||||
institution = {Komatsu Europe International N.V.},
|
|
||||||
year = {2020},
|
|
||||||
type = {Specification Sheet},
|
|
||||||
number = {EENSB10701},
|
|
||||||
address = {Vilvoorde, Belgium}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{pc210-230-240-manual,
|
|
||||||
title = {{PC210/LC/NLC-8: Manuale d'uso e manutenzione}},
|
|
||||||
author = {{Komatsu Europe International NV}},
|
|
||||||
year = {2010},
|
|
||||||
organization= {{Komatsu Europe International NV}},
|
|
||||||
address = {Vilvoorde, Belgium},
|
|
||||||
number = {UHAM004903},
|
|
||||||
}
|
|
||||||
|
|
||||||
@manual{telematics_industrial_vehicle,
|
|
||||||
title = {Utilization analysis methodology for fleet telematics of heavy earthwork equipment},
|
|
||||||
journal = {Automation in Construction},
|
|
||||||
volume = {92},
|
|
||||||
pages = {59-67},
|
|
||||||
year = {2018},
|
|
||||||
issn = {0926-5805},
|
|
||||||
doi = {https://doi.org/10.1016/j.autcon.2018.02.035},
|
|
||||||
author = {Seung Soo Lee and Sang-il Park and Jongwon Seo}
|
|
||||||
}
|
|
||||||
|
|
||||||
@manual{css_electronics_j1939,
|
|
||||||
title = {J1939 data starter pack},
|
|
||||||
author = {{CSS Electronics}},
|
|
||||||
year = {2022},
|
|
||||||
month = {04},
|
|
||||||
}
|
|
||||||
|
|
||||||
@manual{css_electronics_can_bus,
|
|
||||||
title = {CAN bus - the ultimate guide},
|
|
||||||
author = {{CSS Electronics}},
|
|
||||||
year = {2022},
|
|
||||||
month = {04},
|
|
||||||
}
|
|
||||||
|
|
||||||
@misc{diagnet-komatsu,
|
|
||||||
author = {{Diagnostic Network Forum}},
|
|
||||||
title = {Komatsu Dump Truck and Excavator CAN},
|
|
||||||
howpublished = {\url{https://diag.net/msg/mhqhzhqrnssvz4budshigpbqnn}},
|
|
||||||
note = {Technical discussion on Komatsu CAN bus format},
|
|
||||||
year = {2021}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{canmatch-reverse-engineering,
|
|
||||||
author={Buscemi, Alessio and Turcanu, Ion and Castignani, German and Crunelle, Romain and Engel, Thomas},
|
|
||||||
journal={IEEE Transactions on Vehicular Technology},
|
|
||||||
title={CANMatch: A Fully Automated Tool for CAN Bus Reverse Engineering Based on Frame Matching},
|
|
||||||
year={2021},
|
|
||||||
volume={70},
|
|
||||||
number={12},
|
|
||||||
pages={12358-12373},
|
|
||||||
keywords={Reverse engineering;Payloads;Standards;Protocols;Tokenization;CAN bus;automated reverse engineering;in-car networking;tokenization},
|
|
||||||
doi={10.1109/TVT.2021.3124550}}
|
|
||||||
|
|
||||||
@misc{tractorhacking,
|
|
||||||
title = {TractorHacking},
|
|
||||||
author = {{TractorHacking Project}},
|
|
||||||
year = {2024},
|
|
||||||
howpublished = {\url{https://tractorhacking.github.io/documentation/}},
|
|
||||||
note = {Reverse engineering John Deere tractor CAN networks with the PolyCAN diagnostic tool}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{brown2013discovering,
|
|
||||||
title = {Discovering the STM32 Microcontroller},
|
|
||||||
author = {Brown, Geoffrey},
|
|
||||||
year = {2013},
|
|
||||||
publisher = {Indiana University},
|
|
||||||
note = {Revision: 1396a85(2013-01-07). License: Creative Commons CC BY-NC-SA 3.0}
|
|
||||||
}
|
|
||||||
|
|
||||||
@manual{bosch1991canspec2,
|
|
||||||
author = {{Robert Bosch GmbH}},
|
|
||||||
title = {CAN Specification Version 2.0},
|
|
||||||
year = {1991},
|
|
||||||
month = {9},
|
|
||||||
note = {Document imported into Framemaker by Chuck Powers, Motorola MCTG Multiplex Applications, April 5, 1995},
|
|
||||||
organization = {Robert Bosch GmbH},
|
|
||||||
address = {Postfach 50, D-7000 Stuttgart 1, Germany},
|
|
||||||
url = {https://www.bosch-semiconductors.com/ip-modules/can-protocol/},
|
|
||||||
urldate = {2026-08-09},
|
|
||||||
abstract = {This document defines the Controller Area Network (CAN) protocol, including both the standard (11-bit identifier) and extended (29-bit identifier) frame formats, as well as error handling, fault confinement, and bit timing requirements.},
|
|
||||||
keywords = {CAN, Controller Area Network, serial communication, automotive, real-time control, protocol specification},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% datasheet (esiste questo?) per i vari datasheet: stm32f405.... , tja1050 ed eventuali altre cose su pcb
|
|
||||||
% da vedere anche per la presa deutsch
|
|
||||||
% also microcontrol j1939 protocol stack (download folder)
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
\chapter*{Sommario}
|
|
||||||
@@ -1,187 +0,0 @@
|
|||||||
\chapter{Introduzione}
|
|
||||||
\label{ch:introduzione}
|
|
||||||
Negli ultimi anni, il settore delle macchine movimento terra è evoluto verso architetture elettroniche sempre più complesse.
|
|
||||||
Similmente ai veicoli stradali, i moderni mezzi d'opera integrano numerose \ac{ecu} e una vasta rete di sensori e attuatori, interconnessi
|
|
||||||
tramite il protocollo \ac{can} suddivisi in uno o più bus.
|
|
||||||
L'elevata mole di dati generati ha permesso lo sviluppo di sistemi telematici, diagnostici e di fleet management per monitorare lo stato di salute
|
|
||||||
del mezzo, ottimizzare i consumi e pianificare la manutenzione \cite{telematics_industrial_vehicle}.\\
|
|
||||||
\\
|
|
||||||
Tuttavia, l'accesso a questi sistemi viene limitato dai sistemi proprietari dei costruttori: sebbene i dati \ac{can} grezzi siano leggibili tramite strumenti
|
|
||||||
di diagnostica, spesso questi non seguono standard come \ac{sae} J1939 e vengono offuscati da \ac{id} proprietari, decodificati dentro ecosistemi chiusi.
|
|
||||||
Ad esempio, il sistema \textit{KOMTRAX}\texttrademark di Komatsu consente, tra varie possibilità, il tracciamento remoto, geofencing e l'analisi
|
|
||||||
di efficienza del mezzo \cite{komatsu_komtrax_specification}, che pur essendo efficace per monitoraggio e controllo, è una piattaforma che non espone
|
|
||||||
i frame \ac{can} né permette l'integrazione con software di terze parti. Operano in maniera simile altri sistemi proprietari, tra i quali \textit{VisionLink}\texttrademark (Caterpillar),
|
|
||||||
\textit{JDLink}\texttrademark (John Deere), \textit{LiDAT}\texttrademark (Liebherr), \textit{SiteWatch}\texttrademark (CASE e New Holland).\\
|
|
||||||
Per le aziende con flotte multimarca, questa mancanza di accessibilità limita lo sviluppo di soluzioni diagnostiche unificate e l'analisi approfondita delle
|
|
||||||
condizioni specifiche dei mezzi.\\
|
|
||||||
\\
|
|
||||||
Il presente lavoro di tesi nasce da questa esigenza operativa, in collaborazione con l'azienda edile CAT (S.a.s.). L'impresa ha espresso l'interesse a disporre di
|
|
||||||
strumenti diagnostici brand-agnostic per il monitoraggio della propria flotta di mezzi d'opera multimarca impiegati in scavi e movimento terra, in particolare
|
|
||||||
per scopi di manutenzione predittiva e monitoraggio delle condizioni del veicolo. \\
|
|
||||||
In questo contesto, ha messo a disposizione per le attività di sperimentazione un escavatore Komatsu PC210 NLC-8, consentendo l'acquisizione di dati
|
|
||||||
in condizioni operative reali e la validazione delle metodologie di reverse engineering.
|
|
||||||
|
|
||||||
\subsection{Stato dell'arte}
|
|
||||||
\label{sec:stato-dell-arte}
|
|
||||||
Al momento della scrittura del presente lavoro di tesi, la letteratura tecnica pubblica non riporta casi documentati di decodifica dei frame CAN
|
|
||||||
proprietari di mezzi di lavoro Komatsu. \\
|
|
||||||
Esistono tuttavia alcuni progetti correlati nel settore delle macchine off-highway e nel reverse engineering di messaggi \ac{can} più in generale: \\
|
|
||||||
\\
|
|
||||||
Un articolo IEEE introduce CANMatch, un tool automatizzato per effettuare reverse engineering di \ac{can} frame tramite frame matching, che ha permesso
|
|
||||||
di ottenere un metodo semplice per interpretare i dati proprietari loggati su più di 400 veicoli stradali \cite{canmatch-reverse-engineering}.
|
|
||||||
Questo metodo potrebbe applicarsi analogamente al caso di sistemi proprietari compatibili con SAE J1939. \\
|
|
||||||
\\
|
|
||||||
PolyCAN, parte del progetto TractorHacking, è un tool diagnostico che punta ad effettuare un reverse engineering del \ac{can} bus di trattori John
|
|
||||||
Deere e permettere l'iniezione di messaggi dall'esterno, in modo da ottenere controllo completo sul mezzo \cite{tractorhacking}. \\
|
|
||||||
\\
|
|
||||||
Seppur manchi letteratura pubblica specifica per escavatori Komatsu, evidenze empiriche riportate da comunità tecniche specializzate riportano che per
|
|
||||||
alcuni dei mezzi di questo marchio (specificamente un dumper HD785 ed un escavatore PC1250) i \ac{can} \ac{id} loggati non sono puramente J1939, ma un
|
|
||||||
protocollo ibrido contenente ID a 29 bit (Extended \ac{can}) ed a 11 bit (Standard \ac{can}) \cite{diagnet-komatsu}.
|
|
||||||
|
|
||||||
\subsection{Obiettivi}
|
|
||||||
\label{sec:obiettivi}
|
|
||||||
L'obiettivo di questo elaborato è lo sviluppo di un sistema per l'acquisizione, la decodifica e l'analisi dei dati di un escavatore idraulico
|
|
||||||
provenienti dal suo \ac{can} bus.
|
|
||||||
Nello specifico, il lavoro si articola in:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \textbf{Identificazione:} Individuazione delle caratteristiche del sistema diagnostico del veicolo contenente accesso al \ac{can} bus;
|
|
||||||
\item \textbf{Acquisizione dati:} Sviluppo di un'interfaccia hardware per il logging dei messaggi \ac{can} in tempo reale;
|
|
||||||
\item \textbf{Reverse engineering:} Lettura e decodifica delle comunicazioni proprietarie Komatsu;
|
|
||||||
\item \textbf{Analisi dati:} Traduzione dei dati decodificati in parametri fisici.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\section{Contesto operativo}
|
|
||||||
Si introducono i protocolli di comunicazione utilizzati in questo elaborato di tesi.
|
|
||||||
|
|
||||||
\label{subsec:architettura}
|
|
||||||
Si effettua una breve descrizione del veicolo e dei sistemi hardware e software utilizzati per ottenere, decodificare ed interpretare i dati \ac{can}.
|
|
||||||
|
|
||||||
\subsection{Komatsu PC210 NLC-8}
|
|
||||||
\label{subsec:komatsu_pc210}
|
|
||||||
Il veicolo oggetto di studio è l'escavatore Komatsu PC210 NLC-8: si tratta di un escavatore idraulico cingolato
|
|
||||||
di media portata, parte della serie \textit{Dash 8} in commercio dal 2006 al 2016. La designazione NLC (\textit{Narrow Long Crawler}) identifica una
|
|
||||||
configurazione del sottocarro caratterizzata da una carreggiata ridotta e una maggiore lunghezza del telaio, ottimizzata per applicazioni che
|
|
||||||
richiedono un ingombro trasversale contenuto \cite{komatsu_pc210_8_2017_brochure}.
|
|
||||||
|
|
||||||
È equipaggiato con un motore diesel common rail a 6 cilindri in linea, sviluppato da \textit{Komatsu Cummins Engine Corporation} (KCEC), joint venture
|
|
||||||
paritetica tra \textit{Komatsu Ltd.} e \textit{Cummins Inc.}; infatti il motore \textit{SAA6D107E-1} montato sul PC210 NLC-8 è basato sulla stessa
|
|
||||||
architettura del \textit{Cummins 6D107} \cite{pc210-230-240-manual}.\\ % forse invece meglio citazione su questa roba del Cummins qua
|
|
||||||
Il sistema idraulico \textit{Komatsu HydrauMind} adotta una logica a centro chiuso (CLSS) abbinata al controllo mutuo pompa-motore \cite{pc210-230-240-manual}.
|
|
||||||
Sul piano dell'elettronica, questa integra nativamente il sistema proprietario Komatsu di telematica e gestione del mezzo \textit{KOMTRAX}\texttrademark
|
|
||||||
discusso precedentemente. \\
|
|
||||||
Il sistema \ac{can} consiste in un unico bus accessibile dalla \ac{ecu} oppure da una presa di diagnostica all'interno della cabina \cite{pc210-230-240-manual}.
|
|
||||||
Lo schermo nella cabina di controllo infatti è un nodo \ac{can} e visualizza eventuali errori o informazioni utili come regime motore e temperature
|
|
||||||
direttamente in modo da essere visibili in ogni momento all'operatore. Le informazioni visibili dal sistema \textit{KOMTRAX}\texttrademark vengono anche esse
|
|
||||||
comunicate tramite \ac{can} bus.
|
|
||||||
% TODO: foto schermo cabina acceso
|
|
||||||
|
|
||||||
La serie PC210 rappresenta una delle piattaforme più diffuse nel segmento delle medie portate a livello europeo. Komatsu è stabilmente tra i primi produttori
|
|
||||||
di escavatori nel mercato \ac{emea}, ed il PC210 è indicato come uno dei modelli chiave della gamma Komatsu in questa regione.
|
|
||||||
Un numero significativo di unità \textit{Dash 8} è ancora oggi operativo in flotte di piccole e medie imprese edili e di movimento terra, grazie alla robustezza meccanica
|
|
||||||
della piattaforma, alla disponibilità di ricambi (anche di provenienza Cummins per il motore) e alla relativa semplicità di manutenzione rispetto alle generazioni
|
|
||||||
successive.
|
|
||||||
% TODO: mettere fonti per tutto ciò
|
|
||||||
% TODO: foto motore
|
|
||||||
|
|
||||||
\vspace{5mm}
|
|
||||||
|
|
||||||
\begin{table}[htbp]
|
|
||||||
\centering
|
|
||||||
\captionsetup{skip=10pt}
|
|
||||||
\caption{Specifiche tecniche secondo \citeauthor{komatsu_pc210_8_2017_brochure}}
|
|
||||||
\label{tab:specifiche_nlc8}
|
|
||||||
\footnotesize
|
|
||||||
\renewcommand{\arraystretch}{0.85}
|
|
||||||
\setlength{\tabcolsep}{4pt}
|
|
||||||
\begin{tabular}{@{} p{4.5cm} p{9.5cm} @{}}
|
|
||||||
\toprule
|
|
||||||
\multicolumn{2}{@{}l}{\textbf{Powertrain}} \\
|
|
||||||
\midrule
|
|
||||||
Motore & Komatsu-Cummins SAA6D107E-1: Diesel common rail, 6 cilindri in linea, turbo aftercooled \\
|
|
||||||
Cilindrata & 6,69 L \quad (Alesaggio $\times$ Corsa: 107 $\times$ 124 mm) \\
|
|
||||||
Potenza (ISO 14396) & 116 kW (156 bhp) @ 2.000 rpm \\
|
|
||||||
Normativa emissioni & EU Stage IIIA \\
|
|
||||||
\midrule
|
|
||||||
\multicolumn{2}{@{}l}{\textbf{Impianto idraulico e scavo}} \\
|
|
||||||
\midrule
|
|
||||||
Pompe idrauliche & HydrauMind E-CLSS, 2 pompe a pistoni assiali a cilindrata variabile \\
|
|
||||||
Portata e pressioni max & 2 $\times$ 219 L/min \quad (Impl./Trasl.: 380 bar, Rotaz.: 295 bar) \\
|
|
||||||
Forza di scavo & 16.500 kg (benna) / 13.800 kg (braccio) \\
|
|
||||||
Capacità benna & 1,68 m$^3$ \\
|
|
||||||
Modalità operative & 5 (Power, Economy, Breaker, Attachment, Lifting) \\
|
|
||||||
\midrule
|
|
||||||
\multicolumn{2}{@{}l}{\textbf{Pesi e dimensioni}} \\
|
|
||||||
\midrule
|
|
||||||
Peso operativo & 23.360 kg \\
|
|
||||||
Carreggiata / Passo & 2.040 mm / 4450mm \\
|
|
||||||
Pattini & 700 mm \\
|
|
||||||
Profondità di scavo massima & 6.620 mm \\
|
|
||||||
\midrule
|
|
||||||
\multicolumn{2}{@{}l}{\textbf{\ac{can} bus}} \\
|
|
||||||
\midrule
|
|
||||||
Architettura & Singolo bus SAE J1939 con ID proprietari \\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\begin{subfigure}{1\textwidth}
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0002.jpeg}
|
|
||||||
\caption{Frontalmente}
|
|
||||||
\label{fig:komatsu_front}
|
|
||||||
\end{subfigure}
|
|
||||||
\hfill
|
|
||||||
\begin{subfigure}{1\textwidth}
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0001.jpeg}
|
|
||||||
\caption{Dal retro}
|
|
||||||
\label{fig:komatsu_rear}
|
|
||||||
\end{subfigure}
|
|
||||||
\caption{Komatsu PC210 NLC-8, oggetto di questo elaborato di tesi}
|
|
||||||
\label{fig:komatsu_overview}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\FloatBarrier
|
|
||||||
|
|
||||||
\subsection{STM32F405RGT6}
|
|
||||||
\label{subsec:stm32f405rgt6}
|
|
||||||
Introduzione alla stm32 usata
|
|
||||||
|
|
||||||
\subsection{FreeRTOS}
|
|
||||||
\label{subsec:freertos}
|
|
||||||
Descrizione di freertos, brevemente perche l'ho scelto ma poi lo dico meglio in Cap.2
|
|
||||||
|
|
||||||
\subsection{TJA1050}
|
|
||||||
\label{subsec:tja1050}
|
|
||||||
Descrizione TJA1050 e perche l'ho scelto (brevemente)
|
|
||||||
|
|
||||||
% fonti: datasheet per ste tre robe
|
|
||||||
%
|
|
||||||
|
|
||||||
\subsection{Protocolli di comunicazione}
|
|
||||||
\label{subsec:protocolli}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{CAN bus}
|
|
||||||
\label{subsubsec:canbus}
|
|
||||||
\cite{voss2008comprehensible}
|
|
||||||
\cite{css_electronics_j1939}
|
|
||||||
Il \ac{can} bus è un protocollo di comunicazione seriale che supporta in modo efficiente il controllo distribuito in tempo reale con un livello di sicurezza molto elevato.
|
|
||||||
Il suo ambito di applicazione va dalle reti ad alta velocità al cablaggio multiplex a basso costo. \\
|
|
||||||
Nell’elettronica automobilistica, le unità di controllo del motore, i sensori, i sistemi anti-slittamento, ecc. sono collegati tramite CAN con velocità di trasmissione fino a 1 Mbit/s.
|
|
||||||
Allo stesso tempo, è conveniente integrarlo nell’elettronica della carrozzeria del veicolo, ad esempio nei gruppi ottici o nei finestrini elettrici, per sostituire il cablaggio aggiuntivo altrimenti necessario. \\
|
|
||||||
% fonte CAN ISO 11898 bosch da aggiungere
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{SAE J1939}
|
|
||||||
\label{subsubsec:j1939}
|
|
||||||
\cite{css_electronics_can_bus}
|
|
||||||
Introduzione a SAE J1939
|
|
||||||
% fonte SAE J1939
|
|
||||||
|
|
||||||
\subsubsection{UART}
|
|
||||||
\label{subsubsec:uart}
|
|
||||||
Introduzione a UART
|
|
||||||
% trova una fonte
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
\chapter{Identificazione}
|
|
||||||
\label{ch:identification}
|
|
||||||
|
|
||||||
Questo capitolo descrive la prima fase pratica del lavoro: l'individuazione di un accesso fisico al \ac{can} bus del mezzo e l'identificazione delle linee
|
|
||||||
\ac{canh} e \ac{canl}. \\
|
|
||||||
Il capitolo è organizzato come segue: la sezione \ref{sec:access} descrive le diverse possibilità prese in considerazione per accedere fisicamente al bus e
|
|
||||||
motiva la soluzione adottata; la sezione \ref{sec:identification} presenta invece le misure effettuate per individuare le linee \ac{canh} e \ac{canl}.
|
|
||||||
|
|
||||||
\section{Accesso fisico al \acs{can} bus}
|
|
||||||
\label{sec:access}
|
|
||||||
|
|
||||||
Il primo passo per poter arrivare all'obiettivo finale di interpretare i dati \ac{can} è quello di identificare come è possibile accedervi fisicamente. \\
|
|
||||||
Per fare ciò si è iniziato con lo studio del manuale del mezzo \cite{pc210-230-240-manual}, il quale ha confermato che il mezzo supporta il
|
|
||||||
sistema \textit{KOMTRAX}\texttrademark: ciò impone quindi l'esistenza di un sistema \ac{can}, potenzialmente accessibile dall'esterno. Il manuale
|
|
||||||
non fornisce però ulteriori dettagli su eventuali prese diagnostiche o metodi per ricevere i dati tramite il \textit{KOMTRAX}\texttrademark.\\
|
|
||||||
È stato quindi necessario cercare un metodo per accedere al \ac{can} bus. Le possibilità valutate sono:
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item Presa diagnostica nella cabina
|
|
||||||
\item Presa diagnostica nel motore
|
|
||||||
\item Connessione diretta alla \ac{ecu}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
Connettersi direttamente alla \ac{ecu} è ipoteticamente possibile ma sarebbe un lavoro più complicato e con maggiore possibilità di commettere degli errori
|
|
||||||
che potrebbero compromettere l'operatività del mezzo; invece se fosse presente una presa diagnostica nel motore (come spesso esistono in mezzi con motore Cummins)
|
|
||||||
non è detto che questa contenga anche il \ac{can} bus, ed è comunque di più difficile accesso. Per un sistema che deve operare a motore acceso, inoltre può essere
|
|
||||||
più difficile connettere un sistema elettrico in un ambiente come il vano motore. Perciò si è preferito cercare prima una presa diagnostica. Infatti, dietro al
|
|
||||||
sedile dell'operatore si è trovato senza difficoltà un box elettrico, con la scatola dei fusibili ed una presa \textit{Deutsch DT04-12PA}, che si è supposto
|
|
||||||
fornire la tensione dalle batterie e accesso al \ac{can} bus, similmente a quanto avverrebbe in una presa \ac{obd2}. \\
|
|
||||||
% TODO: verifica il modello di presa Deutsch (da ordine aliexpress)
|
|
||||||
|
|
||||||
\begin{figure} [t]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_9999.jpeg}
|
|
||||||
\caption{Scatola fusibili e presa diagnostica Deutsch DT04-12PA}
|
|
||||||
\label{fig:komatsu_fuse_box}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\section{Identificazione \acl{canh} e \acl{canl}}
|
|
||||||
\label{sec:identification}
|
|
||||||
|
|
||||||
Per identificare quali pin sono relativi al \ac{can} bus si è misurata la resistenza tra i pin due a due fino a trovare una combinazione che desse come lettura
|
|
||||||
dal multimetro una resistenza di \SI{60}{\ohm}. Questo valore è, come discusso nel capitolo precedente, il valore di resistenza di un \ac{can} bus terminato
|
|
||||||
correttamente. \\
|
|
||||||
I pin trovati sono PIN3 e PIN10 della presa Deutsch. Inoltre si è trovato che tra i PIN1 e PIN12 si ha la tensione delle due batterie in serie (24V 400A):
|
|
||||||
specificamente PIN12 è la massa e PIN1 i +24VDC. \\
|
|
||||||
A questo punto è necessario scoprire precisamente quale pin è il \ac{canh} e quale il \ac{canl}, e per fare ciò si è utilizzato un oscilloscopio
|
|
||||||
\textit{Rigol DHO804}. Connettendo due sonde ai due pin \ac{can} individuati precedentemente ed accendendo il quadro elettrico
|
|
||||||
del mezzo, si sono viste le prime comunicazioni \ac{can}. Catturando un istante di queste comunicazioni, si riescono ad identificare \ac{canh} e \ac{canl}:
|
|
||||||
in figura \ref{fig:can_pin_test} si vedono come la sonda gialla (collegata al PIN3) visualizzi una tensione dominante mentre la sonda blu (collegata al PIN10)
|
|
||||||
una tensione recessiva. Quindi si conclude che PIN3 è \ac{canh} e PIN10 è \ac{canl}.
|
|
||||||
|
|
||||||
\begin{figure} [htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0085.jpeg}
|
|
||||||
\caption{Misura della resistenza tra PIN3 e PIN10 della presa Deutsch}
|
|
||||||
\label{fig:can_ohm_test}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\begin{figure} [htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0096.JPG}
|
|
||||||
\caption{Individuazione \ac{canh} e \ac{canl} con oscilloscopio}
|
|
||||||
\label{fig:can_pin_test}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{table}[b]
|
|
||||||
\centering
|
|
||||||
\caption{Pinout della presa diagnostica Deutsch DT04-12PA}
|
|
||||||
\label{tab:pinout_deutsch}
|
|
||||||
\begin{tabular}{l c c c c c c}
|
|
||||||
\toprule
|
|
||||||
\textbf{Pin} & 7 & 8 & 9 & 10 & 11 & 12 \\
|
|
||||||
\textbf{Funzione} & ND & ND & ND & \ac{canl} & ND & \SI{+24}{\volt}DC \\
|
|
||||||
\midrule
|
|
||||||
\textbf{Pin} & 6 & 5 & 4 & 3 & 2 & 1 \\
|
|
||||||
\textbf{Funzione} & ND & ND & ND & \ac{canh} & ND & \textit{GND} \\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
La presa Deutsch DT04-12PA è un connettore a 12 pin; il suo pinout, così come ricostruito durante le attività descritte in questo capitolo, è riportato in
|
|
||||||
tabella \ref{tab:pinout_deutsch}. I pin il cui impiego non è stato determinato in questa fase [ND] sono risultati non collegati oppure dedicati a strumenti
|
|
||||||
di diagnostica Komatsu.
|
|
||||||
+115
-159
@@ -1,51 +1,22 @@
|
|||||||
% font size
|
% font size
|
||||||
\documentclass[11pt]{report}
|
\documentclass[12pt]{report}
|
||||||
|
|
||||||
% Margini
|
% Margini (2.5cm su tutti i lati)
|
||||||
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm, head=21.75pt, centering]{geometry}
|
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm, head=21.75pt, centering]{geometry}
|
||||||
|
|
||||||
% Interlinea
|
% Interlinea
|
||||||
\linespread{1.1}
|
\linespread{1.5}
|
||||||
|
|
||||||
% Lingua e codifica
|
% Lingua e codifica
|
||||||
\usepackage[italian]{babel}
|
\usepackage[italian]{babel}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
% Font TeX Gyre
|
% Stile ClassicThesis
|
||||||
\usepackage{tgpagella} % Serif
|
\usepackage{newpxtext, newpxmath}
|
||||||
\usepackage{newpxmath} % Matematica
|
|
||||||
\usepackage[scale=0.9]{tgheros} % Sans-serif
|
|
||||||
\usepackage{tgcursor} % Monospace
|
|
||||||
\usepackage{microtype}
|
\usepackage{microtype}
|
||||||
\usepackage{parskip} % no indent
|
\usepackage{parskip} % no indent
|
||||||
|
|
||||||
% Penalties
|
|
||||||
\widowpenalty=10000
|
|
||||||
\clubpenalty=10000
|
|
||||||
\displaywidowpenalty=10000
|
|
||||||
|
|
||||||
\usepackage{newfloat}
|
|
||||||
\DeclareFloatingEnvironment[fileext=lof2, listname={Grafici}, name=Grafico]{graph}
|
|
||||||
|
|
||||||
% Acronimi
|
|
||||||
\usepackage{acro}
|
|
||||||
\DeclareAcronym{can}{short = CAN, long = Controller Area Network}
|
|
||||||
\DeclareAcronym{canh}{short = CANH, long = CAN High}
|
|
||||||
\DeclareAcronym{canl}{short = CANL, long = CAN Low}
|
|
||||||
\DeclareAcronym{lin}{short = LIN, long = Local Interconnect Network}
|
|
||||||
\DeclareAcronym{id}{short = ID, long = Identifier}
|
|
||||||
\DeclareAcronym{ecu}{short = ECU, long = Electronic Control Unit}
|
|
||||||
\DeclareAcronym{dtc}{short = DTC, long = Diagnostic Trouble Code}
|
|
||||||
\DeclareAcronym{pgn}{short = PGN, long = Parameter Group Number}
|
|
||||||
\DeclareAcronym{sae}{short = SAE, long = Society of Automotive Engineers}
|
|
||||||
\DeclareAcronym{emea}{short = EMEA, long = Europe Middle East and Africa}
|
|
||||||
\DeclareAcronym{hv}{short = HV, long = High Voltage}
|
|
||||||
\DeclareAcronym{lv}{short = LV, long = Low Voltage}
|
|
||||||
\DeclareAcronym{obd2}{short = OBDII, long = On-board Diagnostics 2}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% Pagina e intestazioni
|
% Pagina e intestazioni
|
||||||
\usepackage{scrlayer-scrpage}
|
\usepackage{scrlayer-scrpage}
|
||||||
\ifoot[]{}
|
\ifoot[]{}
|
||||||
@@ -55,11 +26,10 @@
|
|||||||
|
|
||||||
% Colori generali
|
% Colori generali
|
||||||
\usepackage{xcolor}
|
\usepackage{xcolor}
|
||||||
\definecolor{komatsublue}{RGB}{20, 10, 154}
|
\definecolor{unimorered}{RGB}{237, 77, 45}
|
||||||
\definecolor{komatsuyellow}{RGB}{234, 170, 0}
|
|
||||||
\definecolor{unimoregrey}{RGB}{84, 84, 84}
|
\definecolor{unimoregrey}{RGB}{84, 84, 84}
|
||||||
\definecolor{black}{RGB}{0, 0, 0}
|
\definecolor{unimoreblack}{RGB}{0, 0, 0}
|
||||||
\definecolor{white}{RGB}{255, 255, 255}
|
\definecolor{unimorewhite}{RGB}{255, 255, 255}
|
||||||
\definecolor{urlblue}{RGB}{0, 0, 238}
|
\definecolor{urlblue}{RGB}{0, 0, 238}
|
||||||
|
|
||||||
% Colori codice
|
% Colori codice
|
||||||
@@ -71,26 +41,13 @@
|
|||||||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||||||
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
||||||
|
|
||||||
% Didascalie
|
|
||||||
\usepackage{caption}
|
|
||||||
\captionsetup{
|
|
||||||
font={small, it},
|
|
||||||
labelfont={bf, color=black},
|
|
||||||
labelsep=quad,
|
|
||||||
margin=10pt,
|
|
||||||
singlelinecheck=false,
|
|
||||||
justification=centering
|
|
||||||
}
|
|
||||||
\captionsetup[table]{font={small}, labelfont={bf, color=black}}
|
|
||||||
|
|
||||||
\usepackage[hidelinks]{hyperref}
|
\usepackage[hidelinks]{hyperref}
|
||||||
\hypersetup{
|
\hypersetup{
|
||||||
colorlinks=true,
|
colorlinks=true,
|
||||||
linkcolor=black,
|
linkcolor=unimoreblack,
|
||||||
filecolor=black,
|
filecolor=unimoreblack,
|
||||||
citecolor=black,
|
citecolor=unimoreblack,
|
||||||
urlcolor=unimoregrey,
|
urlcolor=urlblue,
|
||||||
pdfborder={0 0 0.5},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
% Immagini e tabelle
|
% Immagini e tabelle
|
||||||
@@ -101,28 +58,25 @@
|
|||||||
\usepackage{makecell}
|
\usepackage{makecell}
|
||||||
\usepackage{multirow}
|
\usepackage{multirow}
|
||||||
\usepackage{float}
|
\usepackage{float}
|
||||||
\usepackage{array}
|
|
||||||
\usepackage{placeins}
|
|
||||||
|
|
||||||
|
|
||||||
% Formattazione titoli
|
% Formattazione titoli
|
||||||
\usepackage{titlesec}
|
\usepackage{titlesec}
|
||||||
\titleformat{\chapter}[display]
|
\titleformat{\chapter}[display]
|
||||||
{\normalfont\sffamily\bfseries}
|
{\normalfont\huge\bfseries\color{unimoreblack}}
|
||||||
{\huge\chaptertitlename\ \thechapter}
|
{\chaptertitlename\ \thechapter}
|
||||||
{10pt}
|
{20pt}
|
||||||
{\Huge}
|
{\Huge\color{unimoreblack}}
|
||||||
[\vspace{1ex}{\color{komatsublue}\titlerule[1.5pt]}]
|
\titlespacing*{\chapter}{0pt}{-20pt}{40pt}
|
||||||
|
|
||||||
\titleformat{\section}
|
\titleformat{\section}
|
||||||
{\normalfont\Large\bfseries\color{black}}
|
{\normalfont\Large\bfseries\color{unimoreblack}}
|
||||||
{\thesection}
|
{\thesection}
|
||||||
{1em}
|
{1em}
|
||||||
{}
|
{}
|
||||||
\titlespacing*{\section}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
\titlespacing*{\section}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
||||||
|
|
||||||
\titleformat{\subsection}
|
\titleformat{\subsection}
|
||||||
{\normalfont\large\bfseries\color{black}}
|
{\normalfont\large\bfseries\color{unimoreblack}}
|
||||||
{\thesubsection}
|
{\thesubsection}
|
||||||
{1em}
|
{1em}
|
||||||
{}
|
{}
|
||||||
@@ -136,6 +90,7 @@
|
|||||||
|
|
||||||
% Codice e algoritmi
|
% Codice e algoritmi
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
|
\usepackage{inconsolata}
|
||||||
\usepackage{algorithm}
|
\usepackage{algorithm}
|
||||||
\usepackage{algpseudocode}
|
\usepackage{algpseudocode}
|
||||||
\usepackage{xurl}
|
\usepackage{xurl}
|
||||||
@@ -145,142 +100,143 @@
|
|||||||
\usepackage{filehook}
|
\usepackage{filehook}
|
||||||
\usepackage{pifont}
|
\usepackage{pifont}
|
||||||
\usepackage[bottom]{footmisc}
|
\usepackage[bottom]{footmisc}
|
||||||
|
\usepackage{enumitem}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usetikzlibrary{calc}
|
\usetikzlibrary{calc}
|
||||||
\usepackage{siunitx}
|
|
||||||
|
|
||||||
% Stili per i linguaggi di programmazione
|
% Stili per i linguaggi di programmazione
|
||||||
\usepackage{minted}
|
\lstdefinelanguage{MyPython}{
|
||||||
\usepackage[most]{tcolorbox}
|
language=Python,
|
||||||
\tcbuselibrary{minted, skins}
|
morekeywords={with, as},
|
||||||
|
keywordstyle=\bfseries\color{blue},
|
||||||
|
commentstyle=\color{green},
|
||||||
|
stringstyle=\color{mauve},
|
||||||
|
backgroundcolor=\color{backcolour},
|
||||||
|
basicstyle=\footnotesize\ttfamily,
|
||||||
|
showstringspaces=false,
|
||||||
|
numbers=left,
|
||||||
|
numberstyle=\footnotesize,
|
||||||
|
numbersep=9pt,
|
||||||
|
tabsize=2,
|
||||||
|
breaklines=true,
|
||||||
|
showtabs=false,
|
||||||
|
captionpos=t
|
||||||
|
}
|
||||||
|
|
||||||
\newtcblisting{codice}[1][]{
|
\lstdefinelanguage{C}{
|
||||||
minted language=c,
|
language=C,
|
||||||
minted options={
|
morekeywords={with, as},
|
||||||
fontsize=\footnotesize,
|
keywordstyle=\bfseries\color{blue},
|
||||||
breaklines,
|
commentstyle=\color{green},
|
||||||
autogobble,
|
stringstyle=\color{mauve},
|
||||||
linenos,
|
backgroundcolor=\color{backcolour},
|
||||||
numbersep=5pt
|
basicstyle=\footnotesize\ttfamily,
|
||||||
},
|
showstringspaces=false,
|
||||||
colback=backcolour,
|
numbers=left,
|
||||||
colframe=unimoregrey!30,
|
numberstyle=\footnotesize,
|
||||||
arc=4mm,
|
numbersep=9pt,
|
||||||
boxrule=0.5pt,
|
tabsize=2,
|
||||||
left=6pt, right=6pt, top=6pt, bottom=6pt,
|
breaklines=true,
|
||||||
#1
|
showtabs=false,
|
||||||
|
captionpos=t
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{bash}{
|
||||||
|
basicstyle=\ttfamily\small,
|
||||||
|
rulesepcolor=\color{black},
|
||||||
|
language=bash,
|
||||||
|
breaklines=true,
|
||||||
|
backgroundcolor=\color{backcolour},
|
||||||
|
literate={"}{{\texttt{"}}}{1},
|
||||||
|
numbers=left,
|
||||||
|
numberstyle=\footnotesize,
|
||||||
|
numbersep=9pt,
|
||||||
|
columns=fixed,
|
||||||
|
keepspaces=true,
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{Prompt}{
|
||||||
|
breaklines=true,
|
||||||
|
basicstyle=\ttfamily,
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{Myyaml}{
|
||||||
|
basicstyle=\ttfamily\small,
|
||||||
|
breaklines=true,
|
||||||
|
numbers=left,
|
||||||
|
numberstyle=\footnotesize,
|
||||||
|
numbersep=9pt,
|
||||||
|
showstringspaces=false,
|
||||||
|
tabsize=2,
|
||||||
|
backgroundcolor=\color{backcolour},
|
||||||
|
columns=fixed,
|
||||||
|
keepspaces=true,
|
||||||
}
|
}
|
||||||
|
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
\setlist[itemize]{
|
|
||||||
label=\textcolor{black}{\textbullet},
|
|
||||||
leftmargin=*,
|
|
||||||
itemsep=0.5ex,
|
|
||||||
topsep=1ex
|
|
||||||
}
|
|
||||||
\setlist[enumerate]{
|
|
||||||
label=\textcolor{black}{\arabic*.},
|
|
||||||
leftmargin=*,
|
|
||||||
itemsep=0.5ex,
|
|
||||||
topsep=1ex
|
|
||||||
}
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
|
% UniMore color accent line
|
||||||
|
{\color{unimorered}\rule{\textwidth}{2pt}}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=8cm]{assets/images/unimore/Sigillo2015.png}
|
\includegraphics[width=8cm]{assets/images/unimore/Sigillo2015.png}
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
|
|
||||||
{\huge\color{black} UNIVERSITÀ DEGLI STUDI DI MODENA \\E REGGIO EMILIA \\}
|
{\LARGE\color{unimoreblack}{ UNIVERSITÀ DEGLI STUDI DI MODENA \\E REGGIO EMILIA \\}}
|
||||||
{\Large\color{unimoregrey} Dipartimento di Ingegneria "Enzo Ferrari" \\}
|
{\large\color{unimoregrey}{ Dipartimento di Ingegneria "Enzo Ferrari" \\}}
|
||||||
{\Large\color{unimoregrey} Corso di Laurea Triennale in Ingegneria del Veicolo (L-9) \\}
|
{\large\color{unimoregrey}{ Corso di Laurea Triennale in Ingegneria del Veicolo (L-9) \\}}
|
||||||
\vspace{3cm}
|
\vspace{3cm}
|
||||||
{\LARGE\color{black} \textbf{ Reverse engineering del protocollo CAN bus di un \\ escavatore idraulico cingolato Komatsu PC210 NLC-8 } }\\
|
{\Large\color{unimoreblack}{ \textbf{Reverse engineering del protocollo CAN bus di un escavatore Komatsu PC210 NLC-8} }}\\
|
||||||
\vspace{3cm}
|
\vspace{3cm}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\vspace{2cm}
|
|
||||||
|
|
||||||
\noindent
|
|
||||||
\begin{minipage}[t]{0.47\textwidth}
|
\begin{minipage}[t]{0.47\textwidth}
|
||||||
\raggedright
|
{\large\color{unimoregrey}{\bf Relatore:}\\}
|
||||||
{\large\color{unimoregrey}\bfseries Relatore:}\\[0.3ex]
|
{\large\color{unimoreblack}{Prof. Carlo Augusto Grazia}}
|
||||||
{\large\color{black}Prof. Carlo Augusto Grazia}
|
\end{minipage}\hfill\begin{minipage}[t]{0.47\textwidth}\raggedleft
|
||||||
\end{minipage}\hfill
|
{\large\color{unimoregrey}{\bf Candidato:}\\}
|
||||||
\begin{minipage}[t]{0.47\textwidth}
|
{\large\color{unimoreblack}{Erick Ahmed}\\}
|
||||||
\raggedleft
|
|
||||||
{\large\color{unimoregrey}\bfseries Candidato:}\\[0.3ex]
|
|
||||||
{\large\color{black}Erick Ahmed}
|
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
|
|
||||||
\vfill
|
\vfill
|
||||||
{\color{komatsublue}\rule{\textwidth}{1pt}}
|
{\color{unimorered}\rule{\textwidth}{1pt}}
|
||||||
\hrulefill\\
|
\hrulefill\\
|
||||||
\centering{\large\color{unimoregrey}\bfseries ANNO ACCADEMICO 2025/2026 }
|
\centering{\large\color{unimoregrey}{\bf ANNO ACCADEMICO 2025/2026 }}
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
|
|
||||||
% sommario
|
\tableofcontents % Genera l'Indice
|
||||||
\input{chapters/00_abstract.tex}
|
\renewcommand{\listfigurename}{Elenco delle Figure}
|
||||||
|
\listoffigures % Genera la Lista delle Figure
|
||||||
% indice
|
|
||||||
\tableofcontents
|
|
||||||
|
|
||||||
% figure
|
|
||||||
\cleardoublepage
|
|
||||||
\phantomsection
|
|
||||||
\renewcommand{\listfigurename}{Figure}
|
|
||||||
\listoffigures
|
|
||||||
|
|
||||||
% grafici
|
|
||||||
\cleardoublepage
|
|
||||||
\phantomsection
|
|
||||||
\listofgraphs
|
|
||||||
|
|
||||||
% tabelle
|
|
||||||
\cleardoublepage
|
|
||||||
\phantomsection
|
|
||||||
\renewcommand{\listtablename}{Tabelle}
|
|
||||||
\listoftables
|
|
||||||
|
|
||||||
% codice
|
|
||||||
\cleardoublepage
|
|
||||||
\phantomsection
|
|
||||||
\renewcommand{\lstlistingname}{Codice}
|
\renewcommand{\lstlistingname}{Codice}
|
||||||
\renewcommand{\lstlistlistingname}{Codice}
|
\renewcommand{\lstlistlistingname}{Elenco dei Codici}
|
||||||
\lstlistoflistings
|
|
||||||
|
|
||||||
% acronimi
|
\lstlistoflistings % Genera la Lista dei Codici
|
||||||
\cleardoublepage
|
|
||||||
\phantomsection
|
|
||||||
\chapter*{Acronimi}
|
|
||||||
\printacronyms[heading=none]
|
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
\pagestyle{scrplain}
|
|
||||||
\pagenumbering{arabic}
|
|
||||||
\clearpage
|
|
||||||
|
|
||||||
\pagestyle{scrplain}
|
\pagestyle{scrplain}
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
|
|
||||||
% Aggiungi qui i capitoli
|
% Aggiungi qui i capitoli
|
||||||
|
|
||||||
\input{chapters/01_introduction.tex}
|
\input{chapters/01_introduction.tex}
|
||||||
\input{chapters/02_identification.tex}
|
|
||||||
\input{chapters/03_acquisition.tex}
|
%\input{chapters/02_second_chapter.tex}
|
||||||
\input{chapters/04_decoding.tex}
|
|
||||||
\input{chapters/05_analysis.tex}
|
%\input{chapters/03_third_chapter.tex}
|
||||||
\input{chapters/06_conclusions.tex}
|
|
||||||
\input{chapters/99_acknowledgments.tex}
|
\input{chapters/05_conclusions.tex}
|
||||||
|
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
\addcontentsline{toc}{chapter}{Bibliografia}
|
\addcontentsline{toc}{chapter}{Bibliografia}
|
||||||
|
|
||||||
\printbibliography[heading=bibliography, title=Bibliografia]
|
\printbibliography[heading=subbibliography, title=Bibliografia]
|
||||||
|
|
||||||
\nocite{*}
|
\nocite{*}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user