Documentation: Nova introdução

This commit is contained in:
2023-10-17 23:48:37 -03:00
parent 3cc7a427c8
commit 6da6ccadbe
8 changed files with 28 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
\chapter{Conclusão}
\label{chap:conclusao}
\par Foi desenvolvido um \textit{firmware} capaz de ser portado para os três modelos de robô citados no capítulo \ref{chap:contexto}, incluindo a otimização do controle PID para o robô de desenvolvimento.
\par Foram também desenvolvidas lógicas para detecção e correção de deslizamentos, testadas no robô de desenvolvimento com uma das rodas modificada para diminuição do coeficiente de atrito, o que evidencia a perda de direção provocada pelo deslizamento.

View File

@@ -5,7 +5,6 @@
\label{chap:contexto}
\section{Projeto SVTRP}
% ----------------------------------------------------------
\par O projeto de um sistema de viaturas terrestres remotamente pilotadas (SVTRP) é um dos projetos estratégicos desenvolvidos pelo Centro Tecnológico do Exército (CTEx) para o exército brasileiro, que tem por objetivo construir um pequeno veículo para vigilância e mapeamento de ambientes hostis e desconhecidos.
\begin{figure}[!ht]
\centering

View File

@@ -0,0 +1,21 @@
\chapter{Introdução}
\label{chap:intro}
\par O projeto de um sistema de viaturas terrestres remotamente pilotadas (SVTRP) é um dos projetos estratégicos desenvolvidos pelo Centro Tecnológico do Exército (CTEx) para o exército brasileiro, que tem por objetivo construir um pequeno veículo para vigilância e mapeamento de ambientes hostis e desconhecidos. Nesse sentido, plataformas robóticas móveis terrestres, como o SVTRP do CTEx, requerem que a velocidade e aceleração das rodas sejam controladas com precisão, a fim de permitir um movimento preciso e facilitar a pilotagem pelo operador. Além disso, um controle preciso das velocidades e acelerações permite o funcionamento autônomo do robô, o que é essencial em ambientes onde a comunicação sem fio não é possível, ou que seu uso traria consequências negativas estratégicas.
\par Dessa forma, uma maneira de garantir a precisão do movimento do robô é pelo uso de um controle de malha fechada para a velocidade das rodas, o que aproxima a velocidade de cada roda de uma velocidade de referência fornecida pelo operador ou pelo algoritmo de operação autônoma, o que garante que a trajetória do robô seja próxima àquela desejada. Por outro lado, um problema muito comum enfrentado por robôs controlados por malha fechada é a perda de direção nos casos de aceleração e frenagem quando uma das rodas perde a tração, causando uma derrapagem. Neste caso, ocorrerá uma perda de direção que não é tratada pelos sistemas de controle em malha fechada convencionais, sendo necessário um sistema de controle específico para evitar e corrigir as condições de derrapagem.
\par Este projeto do CTEx é bastante semelhante aos robôs desenvolvidos pela equipe RoboIME para a competição RoboCup Small Size League (SSL), já que ambos utilizam motores DC com escovas para movimentação, utilizam microcontroladores da mesma família, circuitos de potência e alimentação similares e são de tamanhos e massas semelhantes. Sendo assim, propõe-se desenvolver uma metodologia de desenvolvimento e projeto de sistema de controle linear que possa ser aplicada em ambas as plataformas robóticas.
\par Este documento apresenta no capítulo \ref{chap:contexto} as características, especificações e limitações dos robôs a terem seus sistemas de controle desenvolvidos. Em seguida, o capítulo \ref{chap:teoria} mostra a teoria envolvida nos sistemas de controle, bem como as peculiaridades de sua implementação no \textit{hardware} dos robôs. O capítulo \ref{chap:problema} descreve os problemas enfrentados pelos robôs com sistemas de controle convencionais, bem como descreve melhor os objetivos deste trabalho. Posteriormente, o capítulo \ref{chap:solucao} mostra as soluções propostas para os problemas de deslizamento, além de uma metodologia para desenvolvimento e calibração do sistema de controle convencional melhor do que a utilizada atualmente. Por fim, no capítulo \ref{chap:resultados} são discutidos os resultados obtidos com a aplicação do sistema de detecção de deslizamentos bem como com as medidas corretivas.
\section{Objetivos do trabalho}
\subsection{Objetivo geral}
\par O presente trabalho de fim de curso tem por objetivo desenvolver uma metodologia para projeto de sistemas de controle para ambos os robôs capazes de resolver os problemas de perda de direção relacionados à perda de tração.
\subsection{Objetivos específicos}
\begin{itemize}
\item Análise de ambos os modelos de robô citados
\item Construção de um robô para desenvolvimento
\item Projeto e calibração de sistema de controle convencional
\item Desenvolvimento de algoritmo para detecção de deslizamento
\item Desenvolvimento de medida corretiva para casos de deslizamento
\item Implementação no \textit{hardware}
\end{itemize}

Binary file not shown.

View File

@@ -244,6 +244,7 @@
% ELEMENTOS TEXTUAIS
% ----------------------------------------------------------
\textual
\input{Intro}
\input{contexto}
\input{teoria}
\input{problema}

View File

@@ -1,9 +1,10 @@
\chapter{Os problemas}
\label{chap:problema}
\par De posse da fundamentação conceitual, parte-se então para a descrição dos problemas a serem resolvidos pelo presente trabalho.
\section{Futebol de robôs SSL}
\par Em disputas de futebol de robôs SSL, a agilidade dos robôs é muito importante, pois o time que tiver os robôs mais ágeis terá vantagem em situações de disputa de bola e de dribles. Eletronicamente, essa agilidade está ligada à dinâmica do sistema de controle, pois robôs com dinâmica mais rápida tendem a alcançar seus objetivos de posição e velocidade mais rapidamente.
\par Além disso, a precisão do movimento do robô é um fator de grande importância nas finalizações e nos passes, pois é o que determina se o chute será a gol e se o passe vai ser recebido pelo outro robô. No sistema de controle, a precisão está relacionada com o erro de estado estacionário e com o overshoot.
\par Além disso, a precisão do movimento do robô é um fator de grande importância nas finalizações e nos passes, pois é o que determina se o chute será a gol e se o passe vai ser recebido pelo outro robô. No sistema de controle, a precisão está relacionada com o erro de estado estacionário e com o \textit{overshoot}.
\par Sendo assim, a boa escolha dos componentes e motores e a boa calibração do controlador PID são duas etapas de grande importância no desenvolvimento do robô e na preparação para a competição.
\section{Deslizamento e perda de direção}
@@ -16,7 +17,7 @@
\par Caso sejam utilizadas rodas com aderência intermediária, Ocorre o deslizamento em algumas ocasiões e o capotamento em outras, o que mostra a insuficiência da otimização da aderência das rodas na solução dos dois problemas.
\section{Atrasos no processamento da câmera}
\par Outra possibilidade de solução para os desvios de trajetória causados pelos deslizamentos seria utilizar uma segunda malha de controle, colocando pontos da trajetória desejada como entradas de referência e a posição atual do robô como saída. Neste caso, o sensoriamento da posição atual do robô deve ser feito pela câmera colocada acima do campo. Porém, leituras realizadas por esta câmera possuem um atraso causado pela soma de pequenos atrasos oriundos de diversas fontes, como codificação de vídeo dentro da câmera, transferências por cabo USB, processamento dos pacotes USB pelo driver da câmera, processamento da imagem recebida para identificação da posição do robô, filtragens de ruídos no posicionamento e atrasos na transmissão da informação para o computador da equipe por rede Ethernet. A soma destes atrasos inviabiliza o uso de controle em malha fechada utilizando a câmera, pois a taxa de controle neste caso teria que ser muito baixa, o que levaria a uma dinâmica muito lenta e, portanto, pouco competitiva.
\par Outra possibilidade de solução para os desvios de trajetória causados pelos deslizamentos seria utilizar uma segunda malha de controle, colocando pontos da trajetória desejada como entradas de referência e a posição atual do robô como saída. Neste caso, o sensoriamento da posição atual do robô deve ser feito pela câmera colocada acima do campo. Porém, leituras realizadas por esta câmera possuem um atraso causado pela soma de pequenos atrasos oriundos de diversas fontes, como codificação de vídeo dentro da câmera, transferências por cabo USB, processamento dos pacotes USB pelo \textit{driver} da câmera, processamento da imagem recebida para identificação da posição do robô, filtragens de ruídos no posicionamento e atrasos na transmissão da informação para o computador da equipe por rede Ethernet. A soma destes atrasos inviabiliza o uso de controle em malha fechada utilizando a câmera, pois a taxa de controle neste caso teria que ser muito baixa, o que levaria a uma dinâmica muito lenta e, portanto, pouco competitiva.
%Titulo da seção?
\par Diante dos problemas apresentados, nota-se que apenas correções mecânicas não serão suficientes para obter-se um resultado satisfatório, visto que não há ponto de equilíbrio entre o deslizamento e o capotamento para todas as situações de jogo. Além disso, nota-se que aplicar controle de malha fechada apenas com a câmera levará o robô a uma dinâmica muito lenta. Dessa forma, enxerga-se a necessidade de aprimorar o sistema de controle do robô, sem o uso de sensores externos.

View File

@@ -1,4 +1,5 @@
\chapter{Resultados}
\label{chap:resultados}
\section{Identificação do deslizamento}
\par Nos gráficos \ref{fig:acc0.2}, \ref{fig:acc0.3}, \ref{fig:acc0.5}, \ref{fig:acc0.7} e \ref{fig:acc1.0} temos as medidas das acelerações da roda e do chassi, bem como suas comparações. Nos experimentos, o robô começa em repouso, com velocidade $v0 = 0.0m/s$, em seguida é aplicado um degrau de velocidade de referência, com amplitudes variando entre $vf = 0.2m/s$ e $vf = 1.0m/s$. Em um terceiro momento, a velocidade de referência é novamente zerada, levando a uma frenagem do robô.
\par No gráfico \textit{Encoder accel}, é medida a aceleração da roda pela segunda derivada da medida de posição do encoder. No gráfico \textit{IMU accel} temos a aceleração do chassi, medida pelo sensor IMU. Nos gráficos \textit{Difference} e \textit{Ratio} temos o módulo da diferença e a razão entre as acelerações do IMU e do encoder.

View File

@@ -1,5 +1,5 @@
\chapter{Projeto do sistema de controle anti-derrapagem}
% Link do git
\label{chap:solucao}
\section{Comunicação entre STM32 e GUI}
\par Devido à necessidade de realizar a comunicação entre o robô e o computador sem que cabos prejudiquem as medições e o funcionamento, foi adotado o protocolo UDP, por ser possível o uso de comunicação WiFi. Para tal, foi implantado no robô um microcontrolador ESP8266, que possui um periférico UART, o qual pode ser utilizado para comunicação com o microcontrolador principal STM32, e um periférico WiFi, que pode ser utilizado para comunicação com o computador. Foi desenvolvido um firmware em $C++$ para o ESP8266 que converte os pacotes enviados por UART em pacotes UDP e vice-versa. Os pacotes UDP são transmitidos e recebidos por multicast, o que permitiria que fossem utilizados múltiplas interfaces gráficas para telemetria do robô.