Grupo 9 - L2i1
Integrantes: Larissa, Luiza e IbraimRobô: Minion
Trabalho Prático 1 - Odometria
INTRODUÇÃO
O objetivo deste trabalho é a familiarização do aluno com a construção de estruturas mecânicas com Lego. Baseado no projeto handybug, foi montado um robô, denominado aqui por Minion, com o propósito de desenhar circulos e quadrados de lados variáveis, determinados via display da handyboard.
Após a montagem com Lego e implementação de funções básicas, como andar pra frente e girar, foi preciso realizar ajustes na execução de ângulos e trajetórias do robô, os quais serão expressos no tópico seguinte.
IMPLEMENTAÇÃO E EXPERIMENTOS
Inicialmente, o Minion foi instruido a andar em linha reta por aproximadamente 1m, porém foi verificado um desvio em sua tragetória, o qual foi amenizado por meio de ajustes experimentais na potência de um dos motores (1). Além disso, foi necessário ajustar o tempo de rotação do Minion, o que tambem foi feito com base em testes experimentais (2).
Ao ligar o robô, aparece no display da handyboard as opções de desenho de circulo ou quadrado. Apertando START, no caso de um quadrado, uma lista de comprimentos é exibida, representando opções para o lado do quadrado.
Com relação a implementação, foi necessário cuidado no uso de menus no display: caso o usuário mantivesse pressionado por muito tempo algum botão para escolha de opção, as próximas opções também seriam selecionadas, o que não poderia acontecer.
Na trejetória de um quadrado, foi percebida uma imprecisão durante o desenho das quinas, causada pela posição da caneta, fixa, no robô, que não corresponde exatamente ao centro do eixo das rodas (3).
Um problema foi observado na execução de círculos pelo robô. O pequeno torque que os motores oferecem quando um deles está em potência muito baixa não é suficiente para girar a roda interna do Minion (4).
Fizemos cálculos para estimar a velocidade e a distância percorrida apresentadas pelo robô em determinadas situações e verificou-se que, na prática, os resultados diferem do esperado (5).
- ajuste de andar em linha reta: motor(MOTOR_ESQ, 80); motor(MOTOR_DIR, 100);
- ajuste de rotação do robô: fd(MOTOR_ESQ), fd(MOTOR_DIR); girando por 5,15s (sleep(5,15)), resultando em um giro de 90º aproximadamente;
- erro da posição da caneta/rotação foi detectado aproximadamente 2mm ao fazer a quina de um quadrado;
- erro de rotação: abaixo de 20% da potencia do motor, o raio da circunferencia é sempre o mesmo, devido a falta de torque necessário para girar as engrenagens (reduções);
- distância/velocidade linear esperada: 3,28cm/s;
- velocidade linear média: 2.8.cm/s em cartolina e 3.05 cm/s em papel craft;
- velocidade angular média do robô: 17º/s;
- dimensões do robô: 15cm x 21cm x 11cm
- distancia entre rodas e roda-caneta: 10.4cm
- perímetro da roda: 28,28cm
- velocidade angular média da roda: 42º/s
CONCLUSÃO
Foi possível aplicar os conceitos aprendidos durante as aulas com os materiais disponíveis, principalmente em relação a influência do atrito, ou da falta desse, e a variância da potência do motor tanto na partida (rise time e overshoot) quanto em função da carga da bateria.
Trabalho Prático 2 - Sensores
Lista de tarefas
1.e) A leitura foi bem constante, com o robô coberto por uma caixa de sapato.
1.f) Com a iluminação ambiente não-constante, pode-se observar uma variação das medidas maior que no passo anterior. Pode-se observar também que houve um ruído de luz (incidência de luz branca) no sensor, diminuindo a medida média de 252 para 179.
A função aparenta não ser linear, e sim inversa. Pode ser representada pela função medida=1/distancia. E pode ser aproximada por medida=-11distancia/2+185;
1.h) Com os motores ligados, o sensor foi bem sensível a variações, causando um desvio padrão como se a luz ambiente estivesse variando. Com luz constante e motores desligados, o desvio padrão encontrado foi de 0.46. Com luz constante e motor ligado, o desvio padrão foi de 5.13.
3.a) A melhor distância que permite distinguir entre blocos de diferentes cores foi 0,3cm.
3.c) O cálculo da melhor distância foi realizado experimentalmente, dentre as distâncias de 0,3cm, 0,5cm, 1cm e 2cm. Verificamos que quanto mais perto melhor, desde que a distância seja maior que 0,1cm.
5) estados ao andar na linha preta:
ED = Esquerda-Direita = O que mede o sensor da esquerda e o que mede o sensor da direita. Branco ou Preto: BB=Branco-Branco, BP=Branco-Preto...
Prévia para competição
Estrutura do robô
Sensoriamento-Três sensores infravermelhos localizados na parte inferior do robô, dois no centro e um mais deslocado para a direita. Os sensores auxiliam o robô a andar na linha preta, fazendo correções caso este se desloque para fora da linha e girando o robô na direção correta ao se deparar com uma quina (atuação do auxiliar).
-Dois sensores de luz polarizada na parte superior do robô, cada um com uma polarização inversa ao outro. São utilizados na orientação do robô no campo.
-Três sensores de luz, cada um com um filtro de cor feito com papel celofane verde, vermelho e azul na parte posterior do robô, auxiliados por dois LEDs. Tem como objetivo ler a cor dos blocos que o robô captura.
Deslocamento
-Dois motores no centro com redução de 9:1 para as rodas.
Outras características
-Dois “braços” na parte posterior do robô. Auxiliam a pegada de blocos, pois aumenta a sua abertura da entrada do mesmo.
Observações
-O robô se mostrou capaz de seguir a linha preta e retornar para a base com os blocos, cuja cor foi corretamente identificada.-O robô foi capaz de subir a rampa e continuar seguindo a linha preta.
-O robô apresentou um movimento muito lento para fazer curvas, o que foi aprimorado para a competição.
-No retorno para a base, o robô apenas utilizava de valores pré estipulados do sensor de luz polarizada para parar. Como não apresentou resultados satisfatórios, outro método de parada foi implementado para a competição utilizando sensores de toque.
Modificações estruturais para a competição:
-Adição de um sensor de toque na parte posterior do robô para evitar que este colida com a parede. É mais utilizado no retorno do robô à base em que ele verifica que atingiu a parede ao fundo e nas quinas do campo onde a linha preta termina em uma parede.Estratégia para competição: ser capaz de sair da base e buscar um bloco comum com sucesso.
Consideramos importante a capacidade de se calibrar dentro dos 60s máximos estabelecidos, que no caso era feita numa média de 15s. Então, basta apertar o botão Start da handyboard para entrar no modo standby, aguardando a luz de partida.Iniciada a competição, o robô se localiza e fica “de costas” à luz polarizada da sua base, caminha até a linha preta e começa o algoritmo de seguir linha [obs1].
Ao encontrar um bloco, o robô faz uma nova calibração das luzes polarizadas, porém desta vez ele sabe qual é a sua base (qual a polarização correta) e retorna até ela. Este movimento é interrompido quando a leitura da luz polarizada fica muito intensa (threashold) ou quando o sensor de toque detecta colisão com a parede, neste caso o robô efetua a ré e vira 90º para esquerda.
Caso o robô consiga efetuar todo esse processo corretamente, ele desliga.
[obs1]: O robô só vira para uma linha preta perpendicular apenas se não há como prosseguir em frente.