Robocop retorna mais uma vez, porém com mais artefatos para aniquilar seus inimigos: Sensores!
Eles o ajudarão a se localizar, identificar inimigos e a percorrer caminhos incertos e desconhecidos.
Robocop se encontrava inteiro e pronto para as novas adaptações. Decidiu-se onde colocá-las. Faltava ainda que o Robocop recebesse instruções de como utilizá-las (Construção do algoritmo).
Incapaz de realizar as tarefas designadas.
Com o algoritmo elaborado, tentou-se iniciar a fase de testes.
Quase pronto para testes de calibração, porém sem as devidas instruções.
Após consulta no livro e internet, pôde-se construir um programa de coleta de dados (arquivos: analogpc.c, serialio.c, printdec.c) via porta serial utilizando um programa de emulação de terminal(CRT[2] - Shareware). A partir disso, os testes se tornaram menos exaustivos o que facilitou a coleta de dados para calibração. Com isso, os testes puderam ser realizados economizando tempo e esforço.
Iniciou-se a execução dos testes (Todos eles serão listados na próxima e última missão).
Executando partes dos testes.
Última reunião realizada para o trabalho.
Foi concluída a etapa dos inúmeros testes de calibração. Eles foram realizados em condições diversas: Com luz ambiente, com luz apagada, com caixa de papelão e com motores ligados. Eles são listados abaixo.
Os gráficos abaixo foram construídos a partir dos arquivos de teste obtidos utilizando o programa de emulação de terminal CRT[2] que se encontram na parte ARQUIVOS desta página, para maiores detalhes. Estes testes são detalhados a seguir.
Neste teste, foram feitas medições do sensor de identificação das cores do bloco a diferentes ambientes (Distância de 3 mm).
Neste teste, foram feitas medições do sensor de identificação das cores do bloco a diferentes distâncias com os motores desligados e no claro.
Após a realização deste teste, decidiu-se que a distância de 3 mm era a melhor, pois, de acordo com os gráficos, os valores retornados pelo sensor praticamente se igualavam à medida que aumentava-se a distância entre o bloco e o sensor.
Neste teste, foi abordado a detecção das fontes de luz polarizadas pelos sensores. Considera-se que a Fonte de Luz rente a parede do laboratório é a LUZ 2 e, consequentemente, a outra Fonte corresponde a LUZ 1.
Abaixo, se encontram dois gráficos que representam os valores dos sensores apontados para a LUZ 1 com motores ligados, sendo que o primeiro foi realizado no claro e o segundo no escuro.
Neste teste, utilizou-se os sensores de identificação da linha preta colocados a mais ou menos 3 mm do chão com os motores desligados. Eles estão a seguir:
Os gráficos a seguir foram feitos no escuro com os motores desligados.
Para os gráficos a seguir, utilizou-se os dados obtidos pelos sensores em um ambiente claro e com os motores acionados. São eles:
Para todos os casos, pôde-se perceber que a luz interferiu bastante nos valores obtidos pelos Sensores. Pelos gráficos, pode-se notar que a diferença entre os valores dados pelos sensores no escuro são maiores do que aqueles no claro, o que dificulta a identificação, seja de linha, fonte de luz ou cor do bloco.
Outro fator interessante é a interferência dos motores. Os resultados dos sensores sem os motores foram menores do que aqueles realizados com os motores ligados. Isso se deve ao ruído dos motores que interferiram diretamente nos sensores.
Conclui-se que os testes realizados ajudaram na conclusão e construção de um algoritmo capaz de tomar decisões a partir das leituras dos sensores, porém estes valores não podem ser tão confiáveis, pois as condições em que os testes foram realizados podem ser completamente diferentes daquelas em que será feita a apresentação, mesmo que um ser humano não consiga notar tal diferença.
Portanto, para tentar lidar com este problema, os algoritmos deste trabalho foram construídos utilizando variáveis persistentes que podem mudar de valor a qualquer instante (basta recalibrá-los), o que torna o programa mais robusto para qualquer tipo de situação.
[1] MARTIN, Fred G. Robotic Explorations. New Jersey: Prentice Hall, 2001.
[2]CRT 6.1.1