TP 3 (Tê pê 3)
Introdução
Um sensor é geralmente denido como um dispositivo que recebe e responde a um estímulo ou um sinal. Os sensores articiais são aqueles que respondem com sinal elétrico a tais estímulos ou um sinal. Este trabalho prático tem como objetivo familiarizar o aluno com sensores ópticos e de toque, além de técnicas básicas de controle.
Desenvolvimento e Decisões
A seguir as tarefas e decisões necessários para este trabalho:
Inicialização automática
Decidimos utilizar um sensor LDR para essa tarefa, que não demonstrou grandes dificuldades para o grupo, uma vez que já tínhamos um sensor montado do trabalho anterior e decidimos aproveitá-lo. Ao detectar a luz acesa, o robô realiza um movimento retilíneo em direção ao campo inimigo, apenas para mostrar que foi detectada a luz acesa corretamente.
Foto do Sensor:
Orientação com sensores de toque
Confirmar orientações dadas ao robô por meio de sensores de toque. Construímos dois sensores e os adaptamos na parte traseira do robô, um de cada lado, de forma que no momento em que uma das quatro orientaçõoes (0, 90, 180 e 270 graus) for dada ao robô, aconteça o seguinte:
- Para zero, 90º e 270º: o robô iniciará um movimento de ré, até que ambos os sensores toque a parede, o que fará com que os motores sejam desligados e o robô conrme sua orientação.
- Para 180º: o robô realizará um meio círculo de forma que fique com sua frente apontada para o campo adversário e em seguida realiza um movimento de ré, até que ambos os sensores toque a parede de sua base, o que fará com que os motores sejam desligados e o robô confirme sua orientação.
Foto dos sensores:
Dimple Feedback Control
Utilizar um sensor óptico para implementar um algoritmo “Wall Following” para seguir paredes com “Gentle Turn”. Decidimos utilizar um sensor que já tínhamos pronto do trabalho anterior. O adaptamos na parte lateral direita do robô e fizemos uma calibragem usando a parede do campo, adquirindo informações do sensor para algumas distâncias consideradas muito próximas, próximas ou distantes da parede. Com os valores característicos em mãos, implementamos nosso algoritmo de forma que quanto mais próximo da parede estivesse o robô, mais bruscamente ele se afastaria dela e caso estivesse longe dela, iria aos poucos se aproximando, e dessa forma iria seguindo-a.
Foto do sensor:
Shaft Encoder
Utilizar Shaft-Encoders para implementar um controlador PD que faça com que o robô ande em linha reta. Conseguimos adaptar os sensores nos eixos das rodas de forma satisfatória, um em cada eixo.Coletamos dados dos dois sensores, fixando a potência dos dois motores em 40%, por 10 segundos e obtivemos os seguintes gráficos:
Como podemos ver, o sensor da roda esquerda quase não varia de valor. Com os gráficos acima pudemos calcular a média dos valores e definir um limiar para cada sensor e assim implementar nosso algoritmo do controlador proporcional derivativo para fazer o robô andar em linha reta, dada uma distância (fornecida pelo menu).Calculamos o número de voltas que a peça lego utilizada (wheel pulley) deve dar para completar o percurso, a partir da distância percorrida pelo robô em uma volta completa do wheel pulley (dado extraído previamente) e a distância fornecida pelo menu. O número de orfícios da peça que deve passar pelo break-beam, considerando o número de voltas e que a peça possui 6 orifícios. Então criamos uma thread que monitora os shaft-encoders, contando o número de orifícios da wheel pulley que passam pela base do sensor e acionamos os motores, inicialmente com a mesma potência. Entramos então em um loop que é acionado enquanto ambos shaft-encoders não detectarem que o número de orifícios suficientes para percorrer a distância dada passou pelo break-beam, o que indica o fim da tarefa. Dentro deste loop, as potências dos motores são reguladas dinamicamente de acordo com a monitoração dos shaft-encoders, feita pela thread criada, de modo que o robô se mantenha em linha reta.
Foto do Sensor:
Desafios
- Construção e adaptação dos shaft encoders;
- Falta de portas analógicas;
- Sensor utilizado na tarefa do “Wall Following” ineficiente, detectava a parede só quando muito próximo;
- Ineficiência de um dos sensores break-beam, o que nos levou a mudar os planos de usar portas digitais e partir para as portas analógicas.
- Entendimento da tarefa de toque.







