====== Trabalho Prático 3 ====== ===== Controle ===== Data de apresentação: 13/11/2007 ===== Objetivos: ===== Familiarizar o aluno com sensores ópticos e de toque, além de técnicas básicas de controle. ===== Material para consulta: ===== * {{:cursos:introrobotica:2007-2:artoflego.pdf|The Art of Lego Design.}} * Robotics Explorations - A Hands-on Introduction to Engineering - Fred Martin * {{:cursos:introrobotica:2006-2:arquivos:hbmanual.pdf|The Handy Board Technical Reference, Fred Martin.}} * Mobile Robots - Inspiration to Implementation, Jones & Flynn. * {{:cursos:introrobotica:2007-2:source_code.zip|Bibliotecas do IC.}} * Diversos links na página do curso. ===== Instruções: ===== -** O relatório deve ser entregue para o monitor por email e postado na página do grupo até a data da apresentação**. O relatório deve conter as principais decisões tomadas e desafios encontrados. Gráficos devem ser utilizados para ilustrar os principais detalhes. - Todos os programas desenvolvidos no trabalho devem ser interativos, ou seja, deve ser possível monitorar o seu comportamento por algum tipo de informação visual ou sonora e além disso deve ser possível interromper a sua execução de maneira simples e rápida. - A avaliação do trabalho será feita com base no funcionamento dos programas e, portanto, não é necessário entregar o código fonte do programa impresso. **O código deve estar disponível na página do grupo**. - No momento da apresentação todos os componentes do grupo devem estar presentes e aptos a responder perguntas sobre o trabalho desenvolvido. - Além dos aspectos teóricos, o trabalho também será avaliado em termos da qualidade da montagem (fiação, solda, acabamento, estrutura mecânica, etc). - Na página do curso e na página da Handy Board existem várias bibliotecas que podem ser utilizadas na execução do trabalho. Entretanto, é interessante fazer referência às bibliotecas utilizadas e se possível descrever os principais problemas (e as suas soluções) encontrados durante a utilização das bibliotecas. ===== Introdução ===== Antes de ler e fazer os exercícios, leia cuidadosamente as seções 3.6 a 3.8 e 5.1 a 5.2 (RE). Seja cuidadoso na aquisição dos dados e produza gráficos explicativos, com legendas e unidades nos eixos. Seja disciplinado na utilização de metodologia científica. ===== Tarefas ===== - **Inicialização automática**. Utilize sensor óptico ou LDR apontado para baixo que detecte o instante em que a luz na base do campo é acesa. Observe que esse comportamento deve funcionar corretamente mesmo que a luz permaneça acesa. - **Orientação com sensores de toque**. Essa tarefa assume que uma de quatro orientações será fornecida ao robô por meio da interface do seu sistema (0 graus - a frente do robô aponta para o campo adversário; 90 graus - a frente do robô aponta para a esquerda do seu campo; 180 graus - a frente do seu robô aponta para trás e 270 graus - a frente do robô aponta para a direita do seu campo). Seu robô será colocado na orientação correspondente, e deverá //confirmar// a orientação por meio apenas de sensores de "toque" (switches). Por exemplo, se ele estiver apontando para frente, essa confirmação pode ser realizada fazendo com que o robô dê uma ré e os sensores de toque indiquem que ele encostou na parte traseira do campo. - **Simple Feedback Control** (Seção 5.1 RE). Utilizando um sensor óptico para “medir” a distância à parede, implemente o algoritmo Wall Following para seguir paredes com Gentle Turn (Seçao 5.1.2 RE). - **Shaft-encoders**. Utilize sensores //break-beam// para construir shaft-encoders (Secao 3.7 e 3.8 RE). Implemente um controlador PD para fazer com que o robô siga uma linha reta (Seção 5.2 RE). === Tarefas a serem apresentadas no dia: === - Inicialização automática. - Orientação com sensores de toque. - Algoritmo seguidor de paredes (Wall Following). - Controlador PD para seguir linha reta por X segundos (o tempo deve ser ajustado na hora da apresentação). \\