\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax 
\defcounter {refsection}{0}\relax 
\select@language {portuguese}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.1}{\ignorespaces Plataforma rob\'otica NARDO \cite {nardo}\relax }}{1}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.2}{\ignorespaces Plataforma Husky da Clearpath \cite {husky}\relax }}{3}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.3}{\ignorespaces Rob\^o CARLoS \cite {carlos}\relax }}{3}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.4}{\ignorespaces Rob\^o VINBOT\cite {vinbot}\relax }}{4}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.5}{\ignorespaces Esquema de uma plataforma m\'ovel \textit {skid-steering} \cite {c3}\relax }}{5}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.6}{\ignorespaces Plataforma Pioneer P3-AT\cite {pioneer}\relax }}{5}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {1.7}{\ignorespaces \subref {signal_model} Controlo de v\'arios rob\^os usando uma unidade centralizada executando o ROS Master \subref {amplitude_mod} Controlo de v\'arios rob\^os cada um correndo o ROS Master \cite {c4}\relax }}{6}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.1}{\ignorespaces Motor utilizado na plataforma\relax }}{7}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.2}{\ignorespaces Sistema de transmi\c c\~ao utilizado na plataforma\relax }}{8}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.3}{\ignorespaces Ilustra\c c\~ao dos componentes da plataforma\relax }}{9}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.4}{\ignorespaces Estrutura geral do ROS\relax }}{9}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.5}{\ignorespaces Diagrama com a estrutura de ficheiros do ROS\relax }}{10}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.6}{\ignorespaces Diagrama referente \`as diferentes partes do \textit {Computation graph level} \cite {mastering}\relax }}{11}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.7}{\ignorespaces Visualiza\c c\~ao do rob\^o resultante do c\'odigo presente na listagem \ref {lst:urdf}\relax }}{13}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.8}{\ignorespaces Interface gr\'afica do Gazebo \cite {gazebo}\relax }}{14}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.9}{\ignorespaces Controlador Arduino Uno\cite {arduino2}\relax }}{15}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.10}{\ignorespaces Controlador Arduino Nano\cite {arduino3}\relax }}{15}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {2.11}{\ignorespaces Unidade computacional Raspberry Pi 3\cite {rpi}\relax }}{16}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.1}{\ignorespaces Montagem final dos \emph {encoders}\relax }}{18}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagrama com a rede de Arduinos utilizada para a leitura dos \emph {encoders}\relax }}{19}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.3}{\ignorespaces Diagrama temporal dos sinais recebidos do \emph {encoder}\cite {encoder}\relax }}{19}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.4}{\ignorespaces Diagrama referente \`a fun\c c\~ao executada sempre que \'e ativada a interrup\c c\~ao 1 num controlador Slave\relax }}{20}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.5}{\ignorespaces Comunica\c c\~ao comunica\c c\~ao entre diversos dispositivos usando rosserial \cite {rosserial}\relax }}{21}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {3.6}{\ignorespaces Diagrama da estrutura do c\'odigo utilizado no controlador Master para a implementa\c c\~ao do PID\relax }}{24}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {4.1}{\ignorespaces Esquema ilustrativo da rede de Raspberry Pi's a implementar\relax }}{26}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {4.2}{\ignorespaces Publica\c c\~ao de t\'opicos e respetiva visualiza\c c\~ao entre os Raspberry Pi's e o computador (a) Execu\c c\~ao do \emph {roscore} no computador (b) Publica\c c\~ao de um t\'opico num Raspberry Pi (c) Visualiza\c c\~ao do t\'opico no computador (d) Visualiza\c c\~ao do t\'opico publicado num Raspberry Pi\relax }}{27}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {4.3}{\ignorespaces Esquema da partilha de ficheiros usando NFS\cite {nfs}\relax }}{28}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.1}{\ignorespaces Diagrama do URDF do rob\^o gerado usando a ferramenta \texttt {urdf\_to\_graphiz}\relax }}{32}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.2}{\ignorespaces Componentes criados para em SoliWorks \subref {signal_model} Chassis \subref {amplitude_mod} Jante \subref {amplitude_mod2} Pneu\relax }}{32}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.3}{\ignorespaces Visualiza\c c\~ao do rob\^o no Gazebo\relax }}{34}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.4}{\ignorespaces \subref {signal_model} Simula\c c\~ao em Gazebo da plataforma na presen\c ca de alguns objetos \subref {amplitude_mod} Visualiza\c c\~ao em Rviz dos dados lidos pelo laser\cite {c4}\relax }}{36}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.5}{\ignorespaces Esquema de ficheiros final para o ambiente de simula\c c\~ao virtual, estando a azul os ficheiros somente utilizados pelo ROS, a vermelhos os ficheiros somente usados pelo Gazebo, e os que s\~ao usados por ambos a preto\relax }}{37}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {5.6}{\ignorespaces Diagrama dos nodos e t\'opicos para o caso do ambiente de simula\c c\~ao\relax }}{38}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.1}{\ignorespaces Pisda criada no \emph {software} SketchUp\relax }}{40}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.2}{\ignorespaces Visualiza\c c\~ao da pista visualizada no Gazebo\relax }}{40}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.3}{\ignorespaces Visualiza\c c\~ao da linha e dete\c c\~ao do centr\'oide\relax }}{43}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.4}{\ignorespaces Publica\c c\~ao de t\'opicos e respetiva visualiza\c c\~ao entre os Raspberry Pi's e o computador\relax }}{44}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.5}{\ignorespaces Diagrama da estrutura da \emph {callback} usada quando s\~ao recebidos dados do \emph {gamepad}\relax }}{44}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.6}{\ignorespaces (a) Callback acionada quando \'e recebido uma mensagem no t\'opico \texttt {/nardo/joy\_vel} (b) Callback acionada quando \'e recebido uma mensagem relativa a uma situa\c c\~ao de emerg\^encia (c) Callback acionada quando a \'e recebido uma mensagem no t\'opico \texttt {/nardo/line\_vel} (d) Estrutura geral do programa \relax }}{46}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.7}{\ignorespaces Diagrama do nodos e t\'opicos da aplica\c c\~ao final\relax }}{47}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.8}{\ignorespaces Ilustra\c c\~ao com o sistema todo\relax }}{48}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.9}{\ignorespaces Publica\c c\~ao de t\'opicos e respetiva visualiza\c c\~ao entre os Raspberry Pi's e o computador; (a)Execu\c c\~ao do simulador no Gazebo; (b) Execu\c c\~ao do \texttt {laser\_node} num Raspberry Pi; (c) Execu\c c\~ao do \texttt {joy\_node} no computador; (d) Execu\c c\~ao do \texttt {line\_node} num Raspberry Pi; (e) Execu\c c\~ao do \texttt {decision\_node} no computador\relax }}{48}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.10}{\ignorespaces (a) Trajet\'oria de aproxima\c c\~ao \`a linha (b) Trajet\'oria percorrida pelo rob\^o no seguimento da linha\relax }}{49}
\defcounter {refsection}{0}\relax 
\contentsline {figure}{\numberline {6.11}{\ignorespaces Gr\'afico gerado usando a ferramenta \texttt {rqt\_plot} com a varia\c c\~ao da dist\^ancia em m\'odulo entre o centro da imagem e o centr\'oide da linha\relax }}{49}
\defcounter {refsection}{0}\relax 
\addvspace {10\p@ }
