Grupo 8: SMART FOOL

Alisson Rodrigo dos Santos
Lívia Alves dos Reis Moura
Mateus Rodrigues Martins


Relatórios

tp2-grupo_8.pdf Agora mais SMART que FOOL

tp3-grupo_8.pdf SMART Attack, FOOL só no nome

relatorio_final-grupo_8.pdf SMART FOOL Final Angry Bot

apresentacao_final_grupo_8.pdf

Erros do trabalho prático 1

Alisson RS
Inicialmente não havíamos desenvolvido um modo sistemático de trabalhar e desenvolver as atividades. Combinamos que o grupo trabalharia em paralelo nas tarefas e nos encontros somaríamos os esforços individuais. O kit de desenvolvimento passou as minhas mãos na primeira semana e fiquei com a tarefa de explorar o material e construir a primeira versão da HandBug.

Conforme ficou combinado trabalhei com o kit durante uma semana e passei as mãos do Mateus que ficaria com ele até o fim de semana e, no sábado, passaria o kit para o terceiro componente do grupo, Livia, para que cada um tivesse tempo de familiarização com o equipamento antes do primeiro Trabalho Prático (TP1).

Porém ouve problemas com a comunicação e a Lívia não entrou em contato com o Mateus, que permanece com o kit até a semana seguinte, terceira semana após pegarmos o kit.

Marcado para a semana seguinte a apresentação do TP1, e com as ausências da Livia, ficamos combinados, eu (Alisson) e o Mateus, que ele ficaria com o equipamento durante a semana, desenvolveria a primeira etapa de testes com o controle de movimentação do robô e me passaria o kit no fim de semana, quinta ou sexta-feira, no campo campus para que, no fim de semana eu concluísse a etapa de controle e gerasse o relatório.

Como a Livia não compareceu às aulas, em comunicação por e-mail e telefone, ficou decidido que ela prepararia a página do grupo e fecharia o relatório.

Porém as coisas não aconteceram conforme o combinado acima. Mateus não disponibilizou o kit nem na quinta-feira, nem na sexta-feira informando por telefone que no sábado pela manhã estaria levando o kit para que eu pudesse concluir as tarefas.

Mais uma vez não foi transferido o kit e, no domingo a noite o Mateus avisou que estava tudo Ok e que bastava ajustar o movimento em círculo do robô.

Segunda pela manhã marcamos de nos encontrar antes da aula e terminar a parte de movimentação do robô. Ao encontrar com o Mateus cuidamos do código que fazia com que o robô gerasse o círculo e, devido ao avanço da hora, ligamos para Livia e avisamos que estavamos seguindo para apresentação do trabalho.

Ao chegar ao laboratório de robótica não encontramos a Livia, que por telefone havia avisado que já estava lá. Mateus perguntou se deveríamos apresentar e eu disse que sim. Ai ele perguntou o que iríamos apresentar. Informei que apresentaríamos o solicitado: o robô desenhando o quadrado e depois desenhando o círculo que havíamos acabado de calcular. Porém Mateus informou que o robô não percorria o quadrado, nem caminhava em linha reta, contradizendo o que ele havia informado no domingo. Sem saber o que fazer chamei para que fossemos para outra sala para que eu pudesse construir o código que gerasse a movimentação do robô, pois já havia feito, de forma rudimentar, na semana que estive com o kit.

Com o que foi possível construir naquela hora apresentamos o TP1, criticados pela falta de vários detalhes e pela falta de um componente conversamos sobre o andamento do TP. Conforme a orientação do professor e do monitor poderíamos salvar muitos pontos pois teríamos até a semana seguinte para postar o relatório. Mateus ficaria com o kit para cuidar da movimentação que ele já estava trabalhando e no fim de semana seguinte eu faria o relatorio. Mais uma vez o kit não foi transferido e no domingo a noite Mateus avisou que o relatório estava Ok e bastava colocá-lo on-line. Informei que a Livia saberia como fazer e bastava enviar o texto para ela.

Não pude comparecer na aula de segunda-feira, data final da postagem do relatório e, na madrugada de segunda para terça-feira percebi que o relatório não estava on-line. Mandei um e-mail questionando, já que o kit não passou as minhas mãos para a geração dos dados do relatório e os responsáveis por fazê-lo não disponibilizaram nenhuma informação do ocorrido.

Na aula de quarta-feira me reuni com o Mateus ao final da aula questionando o andamento do TP1 e ele informou que não havia feito o relatório, que as tarefas estavam muito complexas, e que o que estava feito etava feito e já não precisava mais ser discutido. Informei que a discussão era de vital importância pois a Livia não compareceu a mais nenhuma aula e caso o kit não fosse transferido de mãos não os outros participantes não teriam condição de avaliar se as terefas eram ou não complexas, não podendo dar sua contribuição para o andamento da atividade. Informei que todos aceitariam o fracasso da atividade se realmente todos tivessem a oportunidade de tentar alguma solução para a mesma.

Combinamos de enviar um e-mail solicitando a posição da Livia e que, uma vez combinado a troca do kit a mesma deveria ser cumprida na data do combinado. As tarefas do trabalho seriam dividas ficando cada componente responsável por desenvolver sua parte e, em data anterior a apresentação dos trabalhos deveria haver uma reunião de apresentação dos resultados para o grupo.

Com isso passamos as tarefas do TP2.


Trabalho prático 2

Compentes na ativa:
Alisson Rodrigo dos Santos
Mateus Rodrigues Martins

Alisson RS

Fiquei com a tarefa de construir os sensores e retirar dados dos mesmos. No primeiro final de semana comprei os componentes necessários a construção dos sensores, mas faltou comprar os transistores e por isso tive que retornar ao centro da cidade e comprar o restante dos equipamentos.

Abaixo a lista de peças compradas para a construção dos sensores.

Na nota fiscal da Othon de Carvalho somente os dois últimos ítens são referentes ao trabalho com um valor total de R$7,80. Os valores são: R$16,60 +R$ 4,50 R$ 7,80 R$28,90

Ao todo foram construidos quatro sensores óticos.

Abaixo segue a descrição da montagem de cada sensor.

Cherador de linha - Sensor ótico diferencial construido com dois LDR's e um Led branco visível para ser montado abaixo do robô e tem a função de identificar a linha sobre a qual o robô deve andar. Esquema do Cherador de Linha: Foto do Cherador de Linha e da base do robô:

base_e_seguidor_del_inha.jpg Caolho - Sensor ótico construido com um LED branco vísivel e um photoresitor para ser montado na parte da frente do sensor e tem a função identificar a presença de objetos que se aproximem do robô pela frente.

Esquema elétrico do Caolho:

Foto do caolho e do canhão de luz:

Polarizador - Sensor ótico diferencial construido com dois LDR's para ser montado na parte de cima do robô e tem como função identificar a orientação do robô por meio de luz polarizada disponível no ambiente. Esquema elétrico do polarizador:

Foto do polarizador e do canhão de cor:

Canhão de cor - Sensor ótico construido com um LED vermelho, um LED azul, dois LED' verdes, um LDR, resistores e transistores NPN 2N2222 para cada led.

O acionamento dos leds são feitos por meio dos comandos: bit_set(0x1009, 0b00000100) - Define a porta D2 como saída. bit_set(0x1008, 0b00000100) - Seta a porta D2 para on. bit_clear(0x1008, 0b00000100) - Seta a porta D2 para off. 00000100 - Led Verde 00001000 - Led Azul 00010000 - Led Vermelho Esquema elétrico do Canhão de cor:

Foto do Canhão de cor e do Caolho:

Alem dos quatro sensores descritos vário testes foram feitos na tentativa de adaptar o sensor optico de posição sharp gp452. O sensor, mostrado na foto abaixo apresenta-se muito similar ao p2d2 apresentado no livro texto, apresentado boa recepção de luz ambiente, e seu emissor também funciona normalmente, porém quando ligados juntos o sensor mantem uma leitura constante, independente da distância dos objetos a sua frente ou da variação da luminosidade a que é exposto. Por esses motivos as tentativas de uso do gp452 foram abandonadas.

Table with alignment ^ Tabela de portas dos sensores analógicos ^ | Porta 0 | Shaft Esquerdo | | Porta 1 | Shaft Direito | | Porta 2 | | | Porta 3 | Polarizador | | Porta 4 | Canhão de cor | | Porta 5 | Caolho | | Porta 6 | Cherador de linha | —- Em 26/09 o kit foi passado ao Mateus para que este terminasse as rotinas de movimentação. Conforme o combinado o equipamento deve retornar para mim (Alisson) em 29 ou 30/9 para finalização dos testes, havendo um encontro de trabalho no dia 28/09 no laboratório de robótica. O equipamento foi transferido conforme as fotos abaixo:

—-

Mateus RM

Ficando com a tarefa de melhorias no Robô, paralelo a atividade de construção dos sensores foi feito um ajuste de programação no esquema de controle de movimentação do Robô, bem como a substituição da biblioteca padrão do IC pela biblioteca customizada por Julian Skidmore para obter maior resolução na gradação de potência do motor.

O controle de movimentação foi implementado de forma a manter uma determinada velocidade de set-point para cada motor sendo que o ajuste de potencia do motor 1 (à direita) foi feito baseado no erro entre a velocidade ajustada e a atual de forma bem suave e o ajuste de potencia do motor 0 (à esquerda) foi feito baseado no erro entre a diferença de velocidades ajustadas para 0 e 1 e a diferença atual com ganhos maiores em relação ao controle do motor 1. Inicialmente as potencias dos dois motores é levada a um valor que seja mais próximo do valor desejado de acordo com uma tabela de valores pré-calculados que relaciona velocidade com a potência para diferentes valores.

Ou seja, o controle é feito da seguinte maneira, após escolhidos os valores de velocidade passados como parâmetro, a potência de ambos os motores é ajustada para valores próximos aos correspondentes a essas velocidades. A velocidade de cada roda é então calculada em passos de 0.5 em 0.5 segundos com base na informação dos encoders e essa informação é usada para fazer o controle de alinhamento ajustando a potencia do motor 0 através de ganhos proporcional e derivativo e alem disso também é feito um controle direto de velocidade da roda acionada pelo motor 1 ajustando a potencia através de ganhos proporcional e derivativo bem menores que no controle do motor 0.

Dessa forma garantiu-se o controle de movimentação linear do Robô a ser utilizado em conjunto com o “cherador de linha”.


Alisson RS e Mateus RM

O trabalho no laboratorio foi necessário para fazer a calibração dos sensores de polarização, o canhão de cor e utilização do sensor Caolho. Trabalhamos arduamente até altas horas e foi díficil fazer um bom reconhecimento da luz ambiente. Outros grupos estavam tendo essa dificuldade tambem. Na terça dia 04/10 fechamos o dia ou melhor, noite, com o reconhecimento de cores funcionando satisfatoriamente porém no dia seguinte novamente problemas apareceram com a luz ambiente influenciando fortemente. A calibração foi refeita levando-se em conta este fator mais que antes. Enquanto eu (Mateus) trabalhava nesta parte Alisson trabalhava no ajuste da polarização, neste caso a luz ambiente tambem estava sendo um problema. Por fim apos muito trabalho conseguimos alguns ajustes rasoáveis para o robô fazer o que foi pedido na apresentação. Os detalhes de montagem dos sensores, caracterização e programação estão no relatorio do TP2 encontrado no topo da página.


Trabalho prático 3

Componentes:
Alisson Rodrigo dos Santos
Mateus Rodrigues Martins

Alisson RS

Remontagem da estrutura de tração do Robô, implementação do sensor de partida e primeiras impressões do Wavefront


Alisson RS e Mateus RM

Familiarização do integrante Mateus RM com as tarefas desempenhadas até aqui pelo integrante Alisson. Refazendo ajustes necessários na estrutura e montagem do corpo do Robô incluíndo estrutura de suporte para a Handyboard. Foi pensada a possível estrutura para uma catapulta que pudesse encaixar no Robô.


Mateus RM

Reprogramado o código de controle PD do Robô fazendo inúmeros testes com coleta de dados de posicionamento a cada variação de parâmetros P e D. Feitos ajustes no controle angular à direita e à esquerda.


Alisson RS e Mateus RM

Feita adaptação do código do Wavefront incluido o código de Controle PD para a movimentação. Foram feitos diversos testes de movimentação no campo mapeado Programado o menu com as chamadas de programa fazendo interface com o usuário.


Alisson RS e Mateus RM

Montagem da estrutura da catapulta incluíndo a haste de lançamento, o receptáculo para o projétil e o mecanismo de acionamento motorizado. Montagem dessa estrutura no corpo do Robô. Refeitos ajustes necessários no Controle PD após montagem da catapulta pois houve aumento de peso e a Handyboard foi deslocada para ao lado esquerdo. Testes do algoritmo de busca da luz polarizada para trabalhar com a catapulta. Movimentação angular ainda com falhas. Motor da catapulta acusando problemas de mal contato


Mateus RM

Ultimos ajustes no movimento angular. Ultimos testes no Wavefront, e melhora do encaixe da alimentação do motor acionador da catapulta.