====== Trabalho Prático 2 ====== ===== Robótica móvel (conceitos básicos) ===== Data de publicação: 08/04/15 \\ Data de apresentação: 29/04/15 \\ Valor: 10 pontos ===== Objetivos: ===== * Introdução aos conceitos de controle em malha-aberta. * Avaliação experimental de erros de locomoção. * Handyboard * Familiarização com a execução de tarefas em paralelo * Utilização das saídas digitais ===== Material para consulta: ===== * {{:cursos:introrobotica:arquivosgerais:artoflego.pdf|The Art of LEGO Design}} * {{:cursos:introrobotica:arquivosgerais:hbmanual.pdf|The Handy Board Technical Reference }} ===== Avaliação: ===== - O robô deverá ser mostrado em funcionamento no dia da apresentação. - Deve ser feito um relatório contendo as principais decisões tomadas e desafios encontrados, assim como uma pequena explicação do funcionamento da robô. Adicione fotos e vídeos do desenvolvimento e experimentos realizados. - O relatório deve estar disponível na página do grupo até a data de entrega. - Pontuação - Funcionamento: 4 pontos (Criatividade na resolução do problema, eficácia do mecanismo, software, etc) - Construção: 4 pontos (Mecânica e Acabamento: estrutura rígida, fios organizados, conectores bem feitos, etc) - Documentação: 2 pontos ===== Tarefas: ===== - **Locomoção:** Desenvolva um robô móvel capaz de realizar um determinado caminho que será selecionado através do menu. A figura abaixo representa os três caminhos que o robô deverá executar. A locomoção deve iniciar e terminar nos pontos demarcados em vermelho. * **OBS:** O robô deve deixar demarcado numa cartolina sobre o chão o caminho realizado (cada grupo deve trazer uma cartolina no dia da apresentação). * **OBS 2:** Devem ser utilizados no máximo 2 motores. {{ :cursos:introrobotica:2014-1:caminhos_tp2.png?650 }} - **Avaliação experimental:** Os motores apresentam comportamentos diferentes, dificultando a realização de um controle em malha-aberta (sem realimentação). Para avaliar o impacto desses erros na navegação, realize os seguintes experimentos: * Erro de translação: Acionar os motores simultaneamento e por um tempo constante, ao final medir a distância percorrida. Devem ser utilizados os seguintes valores de potência: P = 20%, 50% e 100%. * **Dica**: Para facilitar, demarque a distância percorrida. * Erro de rotação: Acionar os motores de forma que o robô gire 90 graus e medir o erro angular obtido para P = 20%, 50% e 100%. * **Dica**: Monte uma vareta sobre o robô apontando na direção de movimento. * Realize pelo menos 5 testes para cada medição e plote um gráfico semelhante a este abaixo informando o máximo, mínimo e a média das medidas. {{ :cursos:introrobotica:2014-1:grafico.jpg }} - **Multitarefa:** Utilizando a característica multitarefa do IC, o robô deverá realizar três tarefas simultaneamente: - Movimentar o robô de acordo com um caminho pré-definido. - Emitir diferentes sons utilizando a função //tone()//. Se desejar, programe uma música de sua preferência. - Acionar 3 LEDs de alto brilho das cores Azul, Verde e Vermelho em sequência. Utilize as saídas digitais da Handyboard. * **OBS 1**: Utilizar as Digital Outputs (Manual V2 - Seção 12.1.2) - funções **poke()**, **bit_set()** e **bit_clear()** * **OBS 2**: Todas as tarefas devem ser interrompidas após 20 segundos. * **OBS 3:** O grupo é responsável por adquirir os LEDs. Verifique a maneira correta de fazer a ligação. - **Menu:** Todas as tarefas devem ser facilmente acessadas através de um menu. A facilidade de uso desse menu também será avaliado.