Robocop with Lasers
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.
Missões
Reunião 1
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).
Necessidades
Problemas
- Um dos sensores não funcionava.
- Ausência das ferramentas corretas.
Idéias e Decisões
- Construir novo sensor;
- Marcar nova reunião para testes do algoritmo construído.
Estado do robô após a reunião
Incapaz de realizar as tarefas designadas.
Reunião 2
Com o algoritmo elaborado, tentou-se iniciar a fase de testes.
Problemas
- Anotação e obtenção dos dados dos testes, pois eram inúmeros;
- Sensor de identificação das cores não funcionava como deveria, o que impossibilitou os testes com os blocos;
- Sensores para detecção das fontes de luz apresentavam valores estranhos;
- Algoritmo com certas deficiências.
Idéias e decisões
- Observou-se que no livro[1] havia informações sobre a coleta de dados dos sensores (Apêndice C) o que facilitaria os testes e a coleta das informações para calibragem e criação dos vários gráficos ;
- Modificar sensor de identificação das cores, inserindo um LED;
- Mudança do algoritmo para correção das deficiências.
Estado do robô
Quase pronto para testes de calibração, porém sem as devidas instruções.
Reunião 3
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).
Problemas
- Falta de tempo para execucão de todos os testes necessários.
Idéias e decisões
- Marcar outra reunião para tentar finalizar todos os testes.
Estado do robô
Executando partes dos testes.
Reunião 4
Ú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.
Testes
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.
Testes de Cores
Neste teste, foram feitas medições do sensor de identificação das cores do bloco a diferentes ambientes (Distância de 3 mm).
Testes de Distância do Sensor
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.
Testes Para as Fontes de Luz
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.
Testes Para a Identificação da Linha Preta
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:
Conclusão
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.
Fotos
Arquivos
Relatório TP2
Referências
[1] MARTIN, Fred G. Robotic Explorations. New Jersey: Prentice Hall, 2001.
[2]CRT 6.1.1