Ferramentas do usuário

Ferramentas do site


cursos:introrobotica:2019-1:grupo08:tp3:sensor_ldr_diferencial

Sensor Luz Polarizada(LDR Diferencial)

Peças

Foi montado 1 sensores LDR-Diferencial com os seguintes itens:

Conexão

  • A conexão foi feita seguindo o seguinte esquema:
  • Foi feita uma case em 3D para os 2 LDR e em cada buraco foi colado um filtro polarizado, sendo que cada filtro foi colado de maneira invertida

Funcionamento

O funcionamento funciona da seguinte maneira:

  1. Existem 2 LDRs com filtros polarizados invertidos
  2. Cada luz a ser detectada é alinhada com um dos LDRs, assim em uma direção a leitura do LDR diferencial acusa um máximo, e em outra ele acusa um mínimo

Esse sensor foi montado com a finalidade de detectar a orientação do robô.

Programação

O LDR diferencial oferece, com apenas um valor, a diferença entre duas leituras. Basicamente, quando o valor dessa leitura fosse o menor de todos, significa que um dos LDRs está recebendo mais luz do que o outro e, portanto, está apontando para uma das luzes, enquanto o maior valor indica que o robô está apontando para a outra. Para encontrar estes valores, nós primeiro fizemos o robô girar 360 graus, sempre atualizando sua leitura, e gravar o instante de tempo em que o máximo e o mínimo foram lidos.

ós estabelecemos um valor médio definido empiricamente (770). Esse valor representa a média dos valores de leitura máxima e mínima posicionando o robô exatamente no centro da mesa, ou seja, com a mesma distância entre as lâmpadas. Após completar o giro, Nós pegamos, entre esses o número que fosse maior: a diferença entre o mínimo e o valor médio, e a diferença entre o máximo e o valor médio (em módulo). Ao fazer isso, sabemos qual teve mais “variação” do normal, e podemos assumir que ele está mais próximo do que der maior variação, pois a intensidade da luz foi maior. Em seguida, o robô gira pela quantidade de tempo que o robô demorou para detectar aquele valor, que em um mundo perfeito faria ele girar perfeitamente até a lâmpada mais próxima. Segue abaixo o código que realiza essa tarefa:

Dificuldades

Vários fatores influenciaram negativamente a execução dessa tarefa. Exemplos:

  1. Como o controle da rotação era feito através do tempo, ou seja, sem odometria, houve um momento em que a bateria fraca do robô nos fez configurá-lo completamente errado. Ao trocar as baterias, precisamos redefinir os valores de tempo de rotação.
  2. Por algum motivo, quando ele deveria apontar para uma das lâmpadas, ele acabava apontando para uma pessoa que estava ao redor da mesa. Nós notamos que ele apontava mais frequentemente para pessoas que usavam preto.
  3. Encontrar um valor médio ideal exigiu muitos testes, que muitas vezes se contradiziam. Tentamos definir um valor analítico, mas devido a inconsistências acabamos definindo um valor empiricamente.
cursos/introrobotica/2019-1/grupo08/tp3/sensor_ldr_diferencial.txt · Última modificação: por 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki