
% -------------------------------------------------------------
% |  Template de tese da UA, em língua portuguesa             |
% |  Lista completa de opções e comandos em uaThesis.sty      |
% -------------------------------------------------------------
% |  Fevereiro, 2011                                          |
% |  Universidade de Aveiro                                   |
% |  Criado por T. Oliveira e Silva                           |
% |  Modificado/adaptado por F. Teixeira-Dias & M. Paulino    |
% -------------------------------------------------------------
\documentclass[11pt,twoside,a4paper,openright]{report}    % Estilo relatório
                                                  % openright: página inicial de cada capítulo sempre ímpar

% -------------------------------------------------------------
% Preâmbulo do documento - pacotes
% -------------------------------------------------------------
% Package para teses UA
%\usepackage[usecolor,newLogo,DEM]{uaThesis}              % provisório
\usepackage[usecolor,newLogo,DEM,final]{uaThesis}       % final

%
\usepackage{amssymb}                              % Símbolos da American Mathematical Society
%\usepackage[citebordercolor={1 1 1},linkbordercolor={1 1 1}]{hyperref}       % Links activos no pdf
                                                  % Opção citebordercolor={0.9 0.9 0.9} para cor do border
                                                  % Opção linkbordercolor={0.9 0.9 0.9} para cor do border
\usepackage{textcomp}                             % Símbolos e caracteres especiais
%\usepackage{indentfirst}                         % Indentação do primeiro parágrafo de cada secção
\usepackage{fancyhdr}                             % Utilização de fancy headings
%\usepackage[square,sort&compress]{natbib}         % Ordenação e gestão de referências bibliográficas
\usepackage{epsfig}                               % Permite utilização de figuras em formato EPS
%\usepackage{subfig}                               % Ambiente para gestão de subfiguras
\usepackage{multirow}                             % Agrupamento de linhas em tabelas
\usepackage{layout}
%\usepackage{citesort}
\usepackage{graphicx}
\graphicspath{ {Imagens/} }
\usepackage{blindtext}
\usepackage{subfig}
\usepackage{booktabs} % To thicken table lines
\usepackage[toc]{appendix}
\usepackage{fontawesome}
\renewcommand\PackageError[3]{[[[ERROR FOR PACKAGE #1]]]}
%--------------Including Biblatex package---------------------------
\usepackage[url=true,
			maxcitenames=1,	%max author names 
			maxbibnames=99,
			backend=biber,   % This can be set to either biber or bibtex. If references are missing just change back and forth between biber and bibtex..
			style=authoryear,
			sorting=anyt]{biblatex}                 % Sorting in reverse order
\addbibresource{bib/myBib.bib}
\renewcommand*{\nameyeardelim}{\addcomma\space}
\defbibfilter{papers}{
	type=thesis or
	type=article or
	type=misc or
	type=book or
	type=incollection or
	type=inproceedings
}


%diagramas:
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{dirtree}
\usepackage{rotating}
\usetikzlibrary{trees}
\usepackage{scrextend}
\usepackage{svg}

%graficos
\usepackage{pgfplots}
\pgfplotsset{compat=newest,
	tick label style={font=\sansmath\sffamily},
	axis line style={draw=black!80, line width=0.1875ex},
	y tick label style={/pgf/number format/fixed},
	tick style={major tick length=0.0ex},
	major grid style={thick, dash pattern=on 0pt off 2pt, black!50},
	label style={font=\tiny},
	tick label style={font=\tiny}
}
\pgfmathdeclarefunction{norm}{3}{%
	\pgfmathparse{exp(-0.5*(((#1-#2)/#3)^2)/(#3*sqrt(2*pi))}%
}

\usepackage{algorithmic}% http://ctan.org/pkg/algorithms

\usepackage{amsmath}
\usepackage[linesnumbered,ruled]{algorithm2e}

\DeclareMathOperator{\dis}{d}

\newenvironment{megaalgorithm}[1][htb]
  {\renewcommand{\algorithmcfname}{Algoritmo}% Update algorithm name
   \begin{algorithm}[#1]%
  }{\end{algorithm}}

\usepackage{listings}
\usepackage{color}
\definecolor{gray}{rgb}{0.4,0.4,0.4}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\definecolor{cyan}{rgb}{0.0,0.6,0.6}
\usepackage{calc}
\lstset{
  basicstyle=\ttfamily,
  columns=fullflexible,
  showstringspaces=false,
  commentstyle=\color{gray}\upshape
}

\lstdefinestyle{customc}{
	belowcaptionskip=1\baselineskip,
	breaklines=true,
	frame=L,
	xleftmargin=\parindent,
	language=C,
	showstringspaces=false,
	basicstyle=\footnotesize\ttfamily,
	keywordstyle=\bfseries\color{green!40!black},
	commentstyle=\itshape\color{purple!40!black},
	identifierstyle=\color{blue},
	stringstyle=\color{orange},
}

\lstset{escapechar=@, style=customc}
\renewcommand{\lstlistingname}{Excerto de código}
\renewcommand*{\lstlistlistingname}{Lista de Excertos de Código}


\usetikzlibrary{arrows,shapes,positioning,shadows,trees}


\usepackage{varwidth}
% Define block styles
\tikzstyle{decision} = [diamond, draw, fill=blue!20, 
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=blue!20, 
     text badly centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']

\usepackage{grafcet}
\usepackage{fancyref}
\usepackage{lipsum}
\usepackage[hidelinks]{hyperref}

% -------------------------------------------------------------
% Preâmbulo do documento - Escrita em língua portuguesa
% -------------------------------------------------------------
\usepackage[latin1]{inputenc}                     % Caracteres acentuados do Português
\usepackage[portuguese]{babel}                    % Hifenização e títulos
\usepackage[T1]{fontenc}                          % Codificação das fontes
\usepackage{indentfirst}

\usepackage{forest}
\usepackage{float}
\makeatletter% Set distance from top of page to first float
\setlength{\@fptop}{5pt}
\makeatother
\usepackage[toc,acronym]{glossaries}
\makeglossaries

\newacronym{LAR}{LAR}{Laboratório de Automação e Robótica}
\newacronym{ROS}{ROS}{\textit{Robot Operating System}}
\newacronym{VFH}{VFH}{\textit{Vector Field Histogram}}
\newacronym{RRT}{RRT}{\textit{Rapidly-Exploring Random Tree}}
\newacronym{PRM}{PRM}{\textit{Prababilistic Roadmap Method}}
\newacronym{JPS}{JPS}{\textit{Jump Point Search}}
\newacronym{LIDAR}{LIDAR}{\textit{Light Detection And Ranging}}
\newacronym{GNSS}{GNSS}{\textit{Global Navigation Satellite System}}
\newacronym{ADAS}{ADAS}{Sistemas Avançados de Apoio à Condução}
\newacronym{TF}{TF}{\textit{Transform Frame}}
\newacronym{URDF}{URDF}{\textit{Unified Robot Description Format}}
\newacronym{ICR}{ICR}{Centro de Rotação Instantâneo}
\newacronym{WN}{WN}{\textit{Winding Number}}
\newacronym{GPS}{GPS}{\textit{Global Positioning System}}
\newacronym{DAP}{DAP}{Distância ao Ponto Atrator}
\newacronym{ADAP}{ADAP}{Diferença Angular ao Ponto Atrator}
\newacronym{DLO}{DLO}{Distância Mínima aos Obstáculos}
\newacronym{FS}{FS}{Espaço Livre}
\newacronym{CL}{CL}{Linha Central}
\newacronym{AD}{AD}{Condução Autónoma}
\newacronym{UPS}{UPS}{\textit{Uninterruptible Power Supply}}
\newacronym{OBD}{OBD}{\textit{On-Board Diagnostic}}
\newacronym{FNR}{FNR}{Festival Nacional de Robótica}


% -------------------------------------------------------------
% Preâmbulo do documento - Definições da tese
% -------------------------------------------------------------
\newcommand{\authorname}{Ricardo Luís Fernandes Silva}         % Nome do autor da tese
\newcommand{\thesistitle}{Navegação Local do ATLASCAR2 para Condução Autónoma e Assistência ao Condutor
\\
\vspace*{5mm}
ATLASCAR2 Local Navigation for Autonomous Driving and Driver Assistance} % Título da tese
\newcommand{\thesisyear}{2018}                                % Ano da tese
\newcommand{\thesisdegree}{Mestrado}                          % Grau
\newcommand{\sciarea}{Engenharia Mecânica}                    % Área científica da tese
% -------------------------------------------------------------
% Preâmbulo do documento - Equipa de orientação
% -------------------------------------------------------------
\newcommand{\profdoc}{Professor Doutor}                           % Grau geral
\newcommand{\supervisor}{Vítor Manuel Ferreira dos Santos}                  % Orientador
\newcommand{\supdegree}{Professor Associado c/ Agregação}                   % Grau académico do orientador
\newcommand{\supfili}{Departamento de Engenharia Mecânica}    % Filiação do orientador
\newcommand{\cosupervisor}{Paulo Miguel de Jesus Dias}        % Co-orientador
\newcommand{\cosupdegree}{Professor Auxiliar}              % Grau académico do co-orientador
\newcommand{\cosupfili}{Departamento de Eletrónica, Telecomunicações e Informática}     % Filiação do co-orientador
\newcommand{\cosupuni}{Universidade de Aveiro}                 % Instituição do co-orientador
% -------------------------------------------------------------
% Preâmbulo do documento - Membros do júri
% -------------------------------------------------------------
\newcommand{\tribpresident}{Miguel Armando Riem de Oliveira}                    % Presidente do júri
\newcommand{\tribpresidentcat}{Professor Auxiliar do Departamento de Engenharia Mecânica}         % Categoria do presidente do júri
\newcommand{\tribi}{Pedro Mariano Simões Neto}                  % Elemento do júri 1
\newcommand{\tribicat}{Professor Auxiliar do Departamento de Engenharia Mecânica}                   % Categoria do elemento do júri 1
\newcommand{\tribifili}{Faculdade de Ciências e Tecnologia da Universidade de Coimbra (arguente)}              % Filiação do elemento do júri 1



% -------------------------------------------------------------
% Preâmbulo do documento - Outros comandos
% -------------------------------------------------------------
\newcommand{\dd}{\textrm{d}}                                  % Operador diferencial
\newcommand{\ngs}{\sigma}                                     % Sigma minúsculo
\newcommand{\nga}{\alpha}                                     % Alfa minúsculo
\newcommand{\ngb}{\beta}                                      % Beta minúsculo


% -------------------------------------------------------------
% Preâmbulo do documento - Margens e mancha gráfica
% -------------------------------------------------------------
\setlength{\textwidth}{147mm}                                 % Largura da mancha gráfica
\setlength{\textheight}{225mm}                                % Altura da mancha gráfica
\setlength{\topmargin}{0mm}                                   % Margem de topo (default=1in)
\setlength\oddsidemargin{5mm}                                 % Margem direita páginas direitas
\setlength\evensidemargin{5mm}                                % Margem esquerda páginas esquerdas



% -------------------------------------------------------------
% Início do documento
% -------------------------------------------------------------
\begin{document}


% -------------------------------------------------------------
% Definição da capa (com e sem figuras)
% -------------------------------------------------------------
\iffalse                                 % \iffalse: capa sem imagem, \iftrue: capa com imagem
   \TitlePage                             % Capa da tese com uma imagem
%     \DRAFT                             % Escreve "Documento Provisório" na página inicial
%      \GRID                              % Desenha grelha rectangular de 3mm
      \HEADER{\BAR\FIG{\includegraphics{./Imagens/nice.pdf}}}    % Imagem para a capa
             {\thesisyear}
      \TITLE{\authorname}
            {\thesistitle}
   \EndTitlePage
\else
   \TitlePage                                    % Capa da tese sem imagens, com citação
%     \DRAFT                                    % Escreve "Documento Provisório" na página inicial
%      \GRID                                     % Desenha grelha rectangular de 3mm
      \HEADER{\BAR\FIG{\begin{minipage}{100mm}   % Largura da caixa da citação (<120mm)
             {}    % Citação 1. Colocar {} para retirar citação
         \begin{flushright}
             {}  % Citação 2. Colocar {} para retirar citação
         \end{flushright}
      \end{minipage}}}
          {\thesisyear}
      \TITLE{\authorname}
            {\thesistitle}
\EndTitlePage
\fi
\titlepage\ \endtitlepage                        % Página de verso em branco


% -------------------------------------------------------------
% Definição da capa interior
% -------------------------------------------------------------
\TitlePage
%   \PGRID                                       % Desenha grelha rectangular de 3mm
   \HEADER{}{\thesisyear}
   \TITLE{\authorname}
        {\thesistitle}
  \vspace*{15mm}
  \TEXT{}
       {Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em \sciarea, realizada sob orientação científica de \supervisor, \supdegree{} do \supfili{} da Universidade de Aveiro e de \cosupervisor, \cosupdegree{} do \cosupfili{} da \cosupuni.}
  \vspace*{15mm}
  \vspace*{100mm}
\TEXTI{}
       {}

\EndTitlePage
\titlepage\ \endtitlepage                        % Página de verso em branco


% -------------------------------------------------------------
% Definição da página do júri da dissertação (PT/EN)
% -------------------------------------------------------------
\TitlePage
  \vspace*{55mm}
  \TEXT{\textbf{O júri~/~The jury\newline}}
       {}
  \TEXT{Presidente~/~President}
       {\textbf{\profdoc{} \tribpresident}\newline {\small
        \tribpresidentcat{} da Universidade de Aveiro}}
  \vspace*{5mm}
  \TEXT{Vogais~/~Committee}
  {\textbf{\profdoc{} \tribi}\newline {\small
        \tribicat{} da \tribifili}}
       
  \vspace*{5mm}
%  \TEXT{}
 %      {\textbf{\profdoc{} \cosupervisor}\newline {\small
  %      \cosupdegree{} da \cosupfili{} (co-orientador)}}
 % \vspace*{5mm}
  \TEXT{}
       {\textbf{\profdoc{} \supervisor}\newline {\small
        \supdegree{} do Departamento de Engenharia Mecânica da Universidade de Aveiro (orientador)}}

\EndTitlePage

\titlepage\ \endtitlepage                        % Página de verso em branco


% -------------------------------------------------------------
% Definição da página dos agradecimentos
% -------------------------------------------------------------
\TitlePage
  \vspace*{55mm}
  \TEXT{\textbf{Agradecimentos~/\newline Acknowledgements}}
       {Em primeiro lugar deixo um agradecimento mais que especial à minha família, principalmente aos meus pais e irmã, pelo apoio e compreensão durante os cinco anos desta longa caminhada. \\
       \\
       Agradeço ao Professor Vítor Santos e ao Professor Paulo Dias, não só pela orientação e acompanhamento nos trabalhos da dissertação, mas também pela motivação e entusiasmo transmitidos. \\
       \\
       Quero agradecer aos meus colegas e amigos que partilharam o percurso académico comigo, nomeadamente ao Filipe, ao Miguel e ao Francisco, e aos aventureiros do ATLASCAR2, o Pedro e o Tiago. \\
       \\
       Tenho ainda que agradecer aos velhos amigos de sempre, a Roxanne, o Tiago, o Luís e o Pedro, pela recarga das energias aos fins de semana. \\       
       \\
       E por fim, mas não menos importante, agradeço à Doutora Cláudia Fernandes que, com as sugestões certas a uma mente inconsciente, mas sábia, assegurou e cumpriu o objetivo. A conclusão desta dissertação e do Mestrado Integrado em Engenharia Mecânica.
       }
\EndTitlePage
\titlepage\ \endtitlepage                % Página de verso em branco


% -------------------------------------------------------------
% Definição da página do resumo (PT)
% -------------------------------------------------------------
\TitlePage
   \vspace*{55mm}
   \TEXT{\textbf{Palavras-chave}}
        {ATLASCAR2; Condução Autónoma; Veículos Autónomos; Algoritmos de planeamento; Navegação Local; ROS; Gazebo; LIDAR; Sistemas Avançados de Apoio à Condução; Trajetórias}
   \vspace*{5mm}
   \TEXT{\textbf{Resumo}}  
        {A Condução Autónoma (AD) é uma das maiores áreas de investigação e com maior desenvolvimento realizado pelo setor automóvel mundial. O número de Sistemas Avançados de Apoio à Condução (ADAS) incorporados nos automóveis produzidos atualmente tem vindo a aumentar exponencialmente e é constante a pressão para o desenvolvimento de automóveis totalmente autónomos. \\ 
        Inserida no projeto ATLASCAR2, que está na linha da frente na investigação da AD a nível nacional, esta dissertação tem como objetivo o desenvolvimento de um módulo de navegação local para assistência ao condutor na sua tomada de decisão imediata. \\ 
        Para o cumprimento deste objetivo foi realizado um estudo dos algoritmos de planeamento local de trajetórias existentes, quais as suas vantagens e desvantagens e quais as abordagens com mais sucesso aplicadas na navegação local em projetos reais de AD. Deste estudo foi possível identificar uma solução baseada num algoritmo de abordagem por múltiplas hipóteses, a qual foi adaptada ao ATLASCAR2. \\ 
        Foram realizadas adaptações ao \textit{software} responsável pela implementação do algoritmo, desenvolvido em \textit{Robot Operating System} (ROS),  de forma a complementar as lacunas apresentadas pelo mesmo e melhorar o seu desempenho e representação gráfica. Foi ainda pesada a influência das linhas da estrada na decisão da escolha da trajetória. \\ 
        Para a realização de testes, com vista a identificar as falhas e a avaliar o desempenho da solução implementada, desenvolveu-se um ambiente de simulação em \textit{Gazebo}. Os testes foram estendidos a algumas aplicações reais, passiveis de serem realizadas tendo em conta o estado inicial da plataforma ATLASCAR2. 
        }
\EndTitlePage
\titlepage\ \endtitlepage                        % Página de verso em branco


% -------------------------------------------------------------
% Definição da página do resumo (EN)
% -------------------------------------------------------------
\TitlePage
   \vspace*{55mm}
   \TEXT{\textbf{Keywords}}
        {ATLASCAR2; Autonomous Driving; Autonomous Vehicles; Planning Algorithms; Local Navigation; ROS; Gazebo; LIDAR; Advanced Driver Assistance Systems; Trajectories}
   \vspace*{5mm}
   \TEXT{\textbf{Abstract}}
        {Autonomous Driving (AD) is one of the largest and most developed areas of research in today's world automotive sector. The number of Advanced Driver Assistance Systems (ADAS) incorporated into cars produced today has been increasing exponentially and there exists a constant pressure for the development of fully autonomous vehicles. \\ 
        Inserted in the ATLASCAR2 project, which is at the forefront of AD research at the national level, this dissertation aims to develop the local navigation module for driver assistance in the immediate decision making. \\
        In order to accomplish this objective, a study of the existing local path planning algorithms was made, their advantages and disadvantages were weighed and the most successful approaches applied to local navigation in real AD projects were taken into account. From this study, it was possible to identify a solution based on a multiple hypothesis approach that was applied to ATLASCAR2. \\
        Adaptations were made to the software responsible for implementing the algorithm (developed in Robot Operating System (ROS)), in order to complement the gaps presented by it and to improve its own performance and graphic representation. The influence of the road lines in the trajectory choice decision was also studied. \\
        For evaluation tests, in order to identify faults and evaluate the performance of the implemented solution, a simulation environment was developed in Gazebo. Those tests were extended to some real applications, within the limits of the initial state of the ATLASCAR2 platform. 
        }
\EndTitlePage
\titlepage\ \endtitlepage                        % Página de verso em branco


% -------------------------------------------------------------
% Listas e definições iniciais da dissertação
% -------------------------------------------------------------
\pagenumbering{roman}          % Numeração romana para as primeiras páginas
\glsunsetall
\tableofcontents               % Índice da dissertação
\listoftables                  % Lista de tabelas
\listoffigures                 % Lista de figuras
\lstlistoflistings

\glsresetall
\renewcommand{\glsgroupskip}{}
%\printglossary[type=\acronymtype, title=Lista de Acrónimos]
%\printglossaries
\printacronyms[type=\acronymtype, title=Lista de Acrónimos]
%\cleardoublepage
%\titlepage\ 
\endtitlepage      % Página de verso em branco
\pagenumbering{arabic}         % Numeração árabe para as páginas restantes


% ----------------------------------------------------------------
% Definicao de headers e footers
% ----------------------------------------------------------------
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter.#1}{}} % Capítulos em minúsculas
\fancyhf{}                                                  % Reset aos headers e footers
  \fancyhead[LE,RO]{\thepage}                               % Header Left-Even (LE), Right-Odd (RO)
  \fancyhead[LO]{\leftmark}                                 % Header Left-Odd (LO)
  \fancyhead[RE]{\leftmark}                                 % Header Right-Even (RE)
  \fancyfoot[LE]{\authorname}                               % Footer Left-Even (LE)
  \fancyfoot[LO]{\authorname}                               % Footer Left-Odd (LO)
  \fancyfoot[RE]{\textit{Dissertação de \thesisdegree}}     % Footer Right-Even (RE)
  \fancyfoot[RO]{\textit{Dissertação de \thesisdegree}}     % Footer Right-Odd (RO)
  \renewcommand{\headrulewidth}{0.25pt}                     % Espessura da linha de header
  \renewcommand{\footrulewidth}{0.25pt}                     % Espessura da linha de footer
  \addtolength{\headheight}{0.5pt}                          % Espaçamento para a linha


% ----------------------------------------------------------------
% Corpo da tese - Parte I - Introdução
% ----------------------------------------------------------------
\chapter{Introdução}
\label{chap:introducao}

\input{Cap1_introducao/Cap_introducao.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte II - Revisão da literatura
% ----------------------------------------------------------------
\chapter{Revisão da literatura}    
\label{chap:revisao_literatura}

\input{Cap2_revisao_literatura/Cap_revisao_literatura.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte III - Infraestrutura experimental
% ----------------------------------------------------------------
\chapter{Infraestrutura experimental}   
\label{chap:infraestrutura}

\input{Cap3_infraestrutura/Cap_infraestrutura.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte IV - Solução de navegação local
% ----------------------------------------------------------------
\chapter{Solução de navegação local}   
\label{chap:solucao_navegacao}

\input{Cap4_solucao/Cap_solucao.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte V - Ambiente de simulação
% ----------------------------------------------------------------
\chapter{Ambiente de simulação} 
\label{chap:Simulacao}

\input{Cap5_simulacao/Cap_simulacao.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte VI - resultados
% ----------------------------------------------------------------
\chapter{Resultados} 
\label{chap:resultados}

\input{Cap6_resultados/Cap_resultados.tex}


% ----------------------------------------------------------------
% Corpo da tese - Parte VII - Conclusoes
% ----------------------------------------------------------------
\chapter{Conclusões e trabalhos futuros}
\label{chap:Conclusao}

\input{Cap7_conclusao/Cap_conclusao.tex}


% ----------------------------------------------------------------
% Referências bibliográficas
% ----------------------------------------------------------------
\cleardoublepage
\sloppy
%\nocite{*}
\printbibliography[heading=bibintoc, filter=papers, title={Referências bibliográficas}]
\printbibliography[heading=subbibintoc, type=online, title={Referências bibliográficas eletrónicas}]



% ----------------------------------------------------------------
% Anexos
% ----------------------------------------------------------------
\appendix
\chapter{\textit{Packages} \gls{ROS}}
\label{chap:apencice_a}

% -------------------------------------------------------------
\section{\textit{Package} de planeamento}
\label{sec:apencice_a_1}

O \textit{package} \verb|trajectory_planner| é responsável pela implementação do algoritmo de planeamento e de seguida é apresentada a configuração dos parâmetros do algoritmo, a inicialização do mesmo e o seu repositório \textit{online}.

% -------------------------------------------------------------
\subsection*{Configuração}
\label{subsec:apencice_a_1_1}

Dependendo das circunstâncias de navegação, os parâmetros do algoritmo podem ser alterados de forma a cumprir os objetivos do planeamento. A lista de parâmetros das trajetórias que é apresentada de seguida pode ser configurada no ficheiro \verb|c_manage_trajectory.h|:

\begin{itemize}
	\item \verb|W_DAP| -- peso do parâmetro \glsfirst{DAP} na equação de pontuação das trajetórias.
	\item \verb|W_ADAP| -- peso do parâmetro \glsfirst{ADAP} na equação de pontuação das trajetórias.
	\item \verb|W_DLO| -- peso do parâmetro \glsfirst{DLO} na equação de pontuação das trajetórias.
	\item \verb|W_CL| -- influência do parâmetro \glsfirst{CL} na equação de pontuação das trajetórias.
	\item \verb|_SPEED_SAFFETY_| -- velocidade mínima a que o veículo deve circular. 
    \item \verb|_SPEED_REQUIRED_| -- velocidade máxima a que o veículo deve circular.
\end{itemize}

Outros parâmetros, como o número de trajetórias que o planeamento avalia e o número de nodos em que estas são divididas, são definidos no ficheiro \verb|trajectory_planner_nodelet.h|:

\begin{itemize}
	\item \verb|_NUM_TRAJ_| -- número de trajetórias utilizadas para a realização do planeamento.
	\item \verb|_NUM_NODES_| -- número de nodos em que as trajetórias são discretizadas para a avaliação de colisões.
\end{itemize}

% -------------------------------------------------------------
\subsection*{Inicialização}
\label{subsec:apencice_a_1_2}

A inicialização do \textit{package} é realizada com o \verb|roslaunch|. No entanto, o planeamento pode ser realizado com base em dados reais, obtidos do sensores a bordo do ATLASCAR2, ou a partir do ambiente simulado no \textit{Gazebo}. 

Para a utilização de dados reais é necessário que o \textit{package} \verb|free_space_detection| esteja em execução de forma a publicar a nuvem de pontos, resultante da fusão dos dados dos sensores, no tópico \verb|/reduced_pcl|. O lançamento do programa nestas condições é realizado com o comando:

\vspace{3mm}

\texttt{roslaunch trajectory\_planner trajectory\_planner\_way\_points.launch}

\vspace{3mm}

Quando se pretende utilizar o ambiente de simulação para a obtenção dos dados \gls{LIDAR}, o simulador deve estar em execução simultânea. É dada a possibilidade de incorporar a informação da linha central no planeamento com o parâmetro \verb|sim:=true|, que pode ser alterado no ficheiro de lançamento ou adicionado ao comando de lançamento:

\vspace{3mm}

\texttt{roslaunch trajectory\_planner trajectory\_planner\_simulated\_simulator.launch}

% -------------------------------------------------------------
\subsection*{\textit{GitHub}}
\label{subsec:apencice_a_1_3}

Devido ao múltiplos contribuintes do projeto ATLASCAR2, o \textit{package} \gls{ROS} está disponível \textit{online} no repositório:

\vspace{3mm}

\faGithub \hspace{0.8mm} -- \url{https://github.com/ricardolfsilva/trajectory_planner.git}


% -------------------------------------------------------------
% -------------------------------------------------------------
\section{\textit{Package} de simulação}
\label{sec:apencice_a_2}

O \textit{package} \verb|cirkit_unit03_gazebo| é responsável não só pelo lançamento do simulador, mas também pelo tratamento de dados de forma a uma interegração imendiata com o \textit{package} de planeamento local. As dependências do \textit{package} de simulação, a sua inicialização e o repositório de alojamento \textit{online} são apresentados de seguida.

% -------------------------------------------------------------
\subsection*{Dependências}
\label{subsec:apencice_a_2_1}

Devido à grande complexidade que a criação de um simulador com um modelo personalizado, controlado por um controlador não padronizado, apresenta o \textit{package} de simulação foi adaptado do \textit{package} \verb|cirkit_unit03_gazebo|. Originalmente, a lista de depêndencias deste pacote \gls{ROS} era extensa, mas para a aplicação de simulação criada apenas são necessárias as seguintes:

\begin{itemize}
	\item \verb|cirkit_unit03_control| -- \textit{package} onde a configuração dos controladores do modelo é realizada.
	\item \verb|cirkit_unit03_description| -- \textit{package} com a descrição do modelo do robô e dos sensores simulados.
	\item \verb|steer_drive_controller| -- \textit{package} de implementação inicial do controlador de direção, após correta configuração.
	\item \verb|steer_bot_hardware| -- \textit{package} de passagem do modelo simples do controlador para um modelo do tipo \textit{Ackermann}, com direção independente nas rodas dianteiras e rotação diferenciada nas rodas traseiras.
\end{itemize}

% -------------------------------------------------------------
\subsection*{Inicialização}
\label{subsec:apencice_a_2_2}

À semelhança do \textit{package} de planeamento local, o simulador também é inicializado com o \verb|roslaunch|. O comando seguinte permite a inicialização conjunta dos dois pacotes \gls{ROS} pois o modelo do ATLASCAR2 desloca-se de acordo com os comandos do planeador local:

\vspace{3mm}

\texttt{roslaunch cirkit\_unit03\_gazebo ackermann\_vehicle\_simulator.launch}

\vspace{3mm}

A simulação está configurada pelo ficheiro de lançamento para começar pausada. A alteração desta e outras definições da interface gráfica podem ser realizadas no ficheiro de inicialização, sem compilação posterior.

% -------------------------------------------------------------
\subsection*{\textit{GitHub}}
\label{subsec:apencice_a_2_3}

Para utilização futura, em trabalhos do projeto ATLASCAR2, o \textit{package} \gls{ROS} e as suas dependências estão disponíveis \textit{online} no repositório:

\vspace{3mm}

\faGithub \hspace{0.8mm} -- \url{https://github.com/ricardolfsilva/trajectory_planner_simulator.git}



% ----------------------------------------------------------------
% Fim do documento
% ----------------------------------------------------------------
\end{document}