% ----------------------------------------------------------
% Introdução (exemplo de capítulo sem numeração, mas presente no Sumário)
% ----------------------------------------------------------
\chapter{Introdução}
% ----------------------------------------------------------
\par O projeto do sistema de viaturas terrestres remotamente pilotadas (SVTRP) é um dos projetos estratégicos do exército desenvolvidos pelo Centro Tecnológico do Exército (CTEx), que tem por objetivo construir um pequeno veículo para vigilância e mapeamento de ambientes hostis e desconhecidos.

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/PrimeiroPrototipo.jpg}   
	\caption{Primeiro protótipo de SVTRP do CTEx}
	\label{fig:primeiroprototipo}
\end{figure}

\par Atualmente, já foi desenvolvido pelo CTEx o primeiro protótipo da plataforma de SVTRP, representado na figura \ref{fig:primeiroprototipo}, e o segundo protótipo ainda está em desenvolvimento. Dessa forma, foi decidido tomar o primeiro protótipo como base para o desenvolvimento deste projeto.

\section{Contexto}
\par Devido às semelhanças mecânica e eletrônica entre os robôs de futebol de robôs categoria Small Size League (SSL) do IME, representado na figura \ref{fig:ssl2018} e a plataforma de SVTRP do CTEx, e aos problemas semelhantes enfrentados por ambos, foi levantada a possibilidade de desenvolver uma solução que atenda ambas as plataformas robóticas. Assim, tanto os interesses da equipe de robótica do IME (RoboIME), quanto do CTEx, poderão ser atendidos pelo mesmo projeto.

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/SSL2018.jpg}   
	\caption{Robô de SSL do IME, sem carenagem}
	\label{fig:ssl2018}
\end{figure}

\subsection{Descrição do primeiro protótipo SVTRP}
% Conferir dimensões com o pessoal do CTEx

\begin{figure}[!ht]
	\centering
	\includegraphics[width=\textwidth]{img/DiagramaBlocosCTEx-crop.pdf}   
	\caption{Diagrama de blocos do SVTRP do CTEx}
	\label{fig:diagramablocosctex}
\end{figure}

\par A plataforma SVTRP do CTEx possui quatro rodas paralelas fixas, tornando-se, assim, uma plataforma de movimento diferencial. Todos os motores são alimentados por pontes H e possuem encoder para medição de posição angular relativa, o que possibilita o controle de malha fechada da velocidade. Possui também um sensor inercial (IMU) de seis graus de liberdade (6-dof) contendo acelerômetro e giroscópio, mas que não contém bússola. Portanto, não é capaz de determinar sua orientação absoluta. Possui também um receptor GPS para determinação da posição global con precisão de alguns metros.
\par O microcontrolador responsável pelo controle de velocidade e também pela comunicação com os sensores é o STM32F103 "BluePill". É um modelo barato e facilmente encontrado no mercado nacional, porém de capacidade computacional suficiente para controle PID em malha fechada de motores com escovas e para comunicação com os sensores.
\par Além disso, o SVTRP do CTEx embarca um computador Jetson nano, responsável pela captação de imagens com as câmeras e pelo processamento do algorítmo de Simultaneous Location and Mapping (SLAM).
\par Todo o conjunto é alimentado por uma bateria de polímero de lítio (LiPo), com tensão regulada por um regulador chaveado de 3.3V.

\par As especificações da plataforma do CTEx podem ser vistas na tabela \ref{tab:specssvtrp}.

\begin{table}[ht]
\centering
\caption{Especificações do primeiro protótipo SVTRP}
\vspace{0.5cm}
\begin{tabular}{r|lr}
 
Componente       & Especificação                  \\
\hline
Computador       & Nvidia Jetson Nano             \\
Microcontrolador & STMicroelectronics STM32F103C8 \\
Ponte H          & STMicroelectronics VNH2SP30    \\
Sensor IMU       & InvenSense MPU6050             \\
Sensor GPS       & u-blox NEO-6M-0-001            \\
Motores          & Pololu 37Dx68L                       
 
\end{tabular}
\label{tab:specssvtrp}
\end{table}

\subsection{Descrição da competição SSL da RoboCup}

\par A competição SSL é realizada anualmente do evento internacional RoboCup. Consiste em partidas de futebol entre equipes de robótica de diversas universidades. Nesta competição, as partidas são disputadas por um time de até seis robôs autônomos, que são controlados pelo computador da equipe (Team computer), o qual não pode ser operado durante a execução do jogo. Sobre o campo existe uma câmera conectada a um computador (Vision compouter) responsável por processar as imagens e reconhecer os padrões de cores das carenagens dos robôs de ambos os times, assim como da bola. Estas informações são enviadas para os computadores de ambas as equipes, responsáveis por tomar as decisões e calcular as estratégias de jogo. Uma ilustração pode ser vista na figura \ref{fig:topologiassl}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/DiagramaSSL-crop.pdf}   
	\caption{Topologia de uma partida de SSL}
	\label{fig:topologiassl}
\end{figure}

\subsection{Descrição do robô de SSL}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=\textwidth]{img/DiagramaBlocosSSL2018-crop.pdf}   
	\caption{Diagrama de blocos do Robô de SSL do IME}
	\label{fig:diagramablocosssl2018}
\end{figure}

\par O robô de SSL do IME foi desenvolvido visando atender ao regulamento \cite{SSLRules2023} da competição RoboCup 2023. Sendo assim, deve caber dentro de um cilíndro com 180mm de diâmetro e 150mm de altura. Deve ser capaz de atingir velocidades de até 4m/s e de chutar a bola a uma velocidade de até 6,5m/s.
\par Possui quatro rodas omnidirecionais, como a da figura \ref{fig:rodassl2018}, dispostas nos ângulos representados na figura \ref{fig:angulossl2018}. Sendo assim, é capaz de se movimentar em três graus de liberdade, chamados aqui de tangente, normal e angular, conforme a figura \ref{fig:cinematicassl}. As rodas dianteiras estão anguladas em 30 graus em relação à direção do movimento tangente, enquanto as traseiras estão em um ângulo de 45 graus. Isso torna o movimento tangente mais preciso do que o movimento normal. As rodas são acopladas aos motores por uma redução de 4:1, e possuem rodilhas dispostas de forma alternada, conforme a figura \ref{fig:rodilhassl2018}.

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/AngulosRodas.png}   
	\caption{Disposição das rodas no robô de SSL}
	\label{fig:angulossl2018}
\end{figure}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/RodaOmni.jpg}   
	\caption{Roda omnidirecional do robô de SSL do IME}
	\label{fig:rodassl2018}
\end{figure}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/RodilhaSSL2018.jpg}   
	\caption{Rodilhas do robô de SSL do IME}
	\label{fig:rodilhassl2018}
\end{figure}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.5\textwidth]{img/Cinematica.png}   
	\caption{Cinemática do robô de SSL}
	\label{fig:cinematicassl}
\end{figure}

\par Todos os motores são do tipo DC brushed (com escovas), e possuem encoder de 52 contagens por rotação (CPR) para medição de posição angular relativa. Assim, o robô emprega controle PID em malha fechada para a velocidade de cada uma das rodas, individualmente. São alimentados por uma ponte H da figura \ref{fig:ponteh2016} desenvolvida também pela equipe RoboIME \cite{TDPRoboIME2017}.

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/PonteH2016.jpg}   
	\caption{Pontes H RoboIME 2016}
	\label{fig:ponteh2016}
\end{figure}

\par O microcontrolador utilizado é um STM32F407VG, da mesma família daquele empregado no SVTRP do CTEx. Dessa forma, o firmware desenvolvido para um dos robôs pode ser facilmente adaptado para o outro, sendo necessárias apenas pequenas alterações de compatibilidade. Para comunicação com o computador, o robô utiliza um rádio 2.4GHz modelo Semtech SX1280, embarcado em um módulo Ebyte E28-2G4M27S. Este rádio é capaz de se comunicar a distâncias de centenas de metros em campo aberto, a taxas de até 1,3Mbps.
\par Possui um sensor IMU com nove graus de liberdade (9-dof), contendo acelerômetro, giroscópio e magnetômetro. Portanto, é capaz de determinar sua orientação absoluta, porém incapaz de determinar posição absoluta sem ajuda de sistema de câmeras externo por não possuir GPS. 

\begin{table}[ht]
\centering
\caption{Especificações do robô de SSL do IME}
\vspace{0.5cm}
\begin{tabular}{r|lr}
 
Componente         & Especificação                  \\
\hline
Bateria            & LiPo 3S 2200mAh                \\
Microcontrolador   & STMicroelectronics STM32F407VG \\
Ponte H            & RoboIME 2016                   \\
Módulo de chute    & RoboIME 2022                   \\
Sensor IMU         & InvenSense MPU9250             \\
Sensor de corrente & Texas Instruments INA169NA     \\
Rádio              & Ebyte E28-2G4M27S              \\
Motores            & Generic JGB37-520                       
 
\end{tabular}
\label{tab:specsssl2018}
\end{table}

\subsection{Descrição do robô de desenvolvimento}
\par Devido à maior dificuldade de acesso no dia-a-dia ao robô SVTRP do CTEx e à maior complexidade do robô de SSL devido às rodas omnidirecionais, foi decidido construir um novo robô visando a modularidade e simplicidade da dinâmica. Dessa forma, foi construído o robô da figura \ref{fig:robodev}, cujo diagrama de blocos está representado na figura \ref{fig:diagramablocosrobodev}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/RoboDesenvolvimento.jpg}   
	\caption{Robô de desenvolvimento}
	\label{fig:robodev}
\end{figure}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=\textwidth]{img/DiagramaBlocosDev-crop.pdf}   
	\caption{Diagrama de blocos do Robô de desenvolvimento}
	\label{fig:diagramablocosrobodev}
\end{figure}

\par Este robô é movimentado por motores semelhantes àqueles do robô de SSL, possuindo encoder de 52 CPR, porém com redução de 1:30, devido às rodas maiores. Sua cinemática é diferencial, semelhante à do SVTRP do CTEx, porém possui apenas duas rodas tracionadas e uma roda boba para apoio. As rodas tracionadas foram escolhidas de forma que deslizem caso seja aplicado pelo motor um torque elevado, e o motor foi escolhido para ser capaz de aplicar torque que leve as rodas ao deslizamento.
\par Para possibilitar a modularidade e o experimento com diferentes sensores, motores e microcontroladores, foi decidido colocar sobre o robô uma protoboard, sustentada por uma base projetada em software CAD e manufaturada em impressora 3D, conforme figuras \ref{fig:basesolidworks} e \ref{fig:baserobo}.

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/BaseSolidWorks.jpg}   
	\caption{Base modelada no software CAD SolidWorks}
	\label{fig:basesolidworks}
\end{figure}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.75\textwidth]{img/BaseRobo.jpg}   
	\caption{Base impressa e montada no robô}
	\label{fig:baserobo}
\end{figure}

\par Possui um sensor IMU 9-dof igual ao do robô de SSL, instalado no centro do robô, pontes H com sensores de corrente integrados, de forma que a corrente que entra em cada motor leve a uma tensão proporcional, que pode ser lida por um conversor analógico-digital (ADC) do microcontrolador.
\par O microcontrolador principal escolhido foi o STM32F103C8 "BluePill", o mesmo do SVTRP do CTEx, pois este possui características e especificações suficientes para o desenvolvimento do projeto e, por ser o mesmo do SVTRP do CTEx, faz com que fique mais simples de instalar o firmware desenvolvido no SVTRP do CTEx posteriormente.
\par Para o comando, telemetria e coleta de dados, foi decidido utilizar um módulo ESP8266, capaz de se conectar a uma rede WiFi. Para o ESP8266 foi desenvolvido um firmware que traduz a comunicação UART do microcontrolador principal em pacotes UDP multicast e vice-versa.
\par Para auxílio no desenvolvimento, foi desenvolvida uma interface gráfica em LabVIEW que se comunica com o robô por UDP multicast. Esta interface envia para o robô os comandos de velocidade desejada, da mesma forma como é feito no robô de SSL, e pode receber de volta os dados de telemetria desejados, como velocidade e aceleração das rodas medidas pelos encoders, acelerações medidas pelo IMU, corrente consumida pelos motores e tensão atual da bateria. A interface está representada na figura \ref{fig:interfacelabview}

\begin{figure}[!ht]
	\centering
	\includegraphics[width=\textwidth]{img/FrontPanelLabVIEW-crop.pdf}   
	\caption{Interface gráfica no LabVIEW}
	\label{fig:interfacelabview}
\end{figure}