====== TP2 ======
===== Relatório =====
Versão para download: {{:cursos:introrobotica:2010-2:grupo05:ttf-tp2.pdf|}}
===== Introdução =====
Após construirmos a estrutura mecânica de um robô e fazê-lo mover usando motores, vamos começar a trabalhar com sensores.
Este trabalho prático teve como objetivo principal introduzir aos alunos o uso de sensores em robôs para que ele possa retirar informações úteis do mundo real e tomar decisões.
Para trabalhar com sensores, é importante considerar que fatores afetam o resultado lido pelo sensor, além de tomar cuidado com ruídos, que podem acontecer a qualquer momento. Além disso, calibrar os sensores é uma tarefa fundamental porque o valor lido do sensor varia muito e muitos fatores do ambiente tem forte influência no resultado.
Neste TP, o robô deve seguir uma linha preta desenhada sobre uma superfície branca e utilizar sensores ópticos para saber se ele está em cima da linha preta ou fora dela, na parte branca. Assim o robô deve se manter em cima da linha e ao detectar que saiu da linha, deve voltar para ela.
A outra tarefa é reconhecer a cor de quatro blocos de cores diferentes usando um sensor óptico. Por ser um sensor de intensidade luminosa, ele não tem o conceito de cor, por isso, atribuimos a cada cor de bloco uma faixa de intensidade luminosa diferente durante a calibração.
===== Caracterização do sensor =====
==== Testes do sensor ====
Nesse primeiro teste, foi analisado a influência da luz externa nas medições.
Abaixo é apresentado o gráfico dos dados adquiridos ao se colocar um objeto (uma peça de lego) a uma distância de cerca de 3mm do sensor - com ou sem luz.
{{:cursos:introrobotica:2010-2:grupo05:medidas.jpg|}}
__**Legenda:**__
* Série 1: Medições com luz
* Série 2: Medições sem luz.
|
Teste com Luz |
Teste sem luz |
Desvio padrão |
0,388087934 |
0,350509833 |
Média aritmética |
253,18 |
221,86 |
__**Descrição dos dados:**__
Nosso sensor foi montado dentro de uma mangueira muito fosca ( mangueira de carro), assim, os dados foram bastantes concisos - fato que pode ser verificado no gráfico.
==== Influência do acionamento dos motores ====
Normalmente, o acionamento de um motor gera ruído em todo o sistema, o que causa erros nas medições dos sensores.
Entretanto, em nosso robô, esse fenômeno não foi observado. As medidas foram as mesmas com os motores acionados ou não.
==== Distância de um Obstáculo ====
Abaixo, uma tabela com a distância(1ª coluna), sinal(2ª a 7ª coluna), média(8ª coluna) e desvio padrão(9ª coluna).
Distancia Objeto Sinal
Distancia Objeto |
Sinal |
Média |
Desvio Padrão |
0 |
251 |
251 |
252 |
251 |
251 |
251 |
251,1667 |
0,40824829 |
5 |
235 |
235 |
235 |
235 |
235 |
235 |
235,0 |
0,0 |
10 |
220 |
220 |
219 |
220 |
220 |
219 |
219,6667 |
0,40824829 |
15 |
203 |
203 |
204 |
203 |
203 |
203 |
203,1667 |
0,40824829 |
20 |
195 |
195 |
194 |
195 |
194 |
194 |
194,3333 |
0,816496581 |
25 |
190 |
189 |
189 |
189 |
189 |
189 |
189,01 |
0,632455532 |
30 |
184 |
184 |
184 |
184 |
184 |
184 |
184,0 |
0,0 |
As funções se aproximam muito de uma função linear, porém não são. MA sconsiderando que são lineares temos os seguintes dados.
Até a distância de 15cm temos a seguinte função => y= -3.18x+251,1
De 15cm a 30 cm de distância temos a seguinte função => y= -1.1x+217,16
Com essas informações plotamos o seguinte gráfico:
{{:cursos:introrobotica:2010-2:grupo05:sinal_x_distancia.jpg|}}
===== Validação do sensor =====
As funções possuem um erro de media em relação ao do sensor que varia de 0 a 5, isto porquê assumimos que elas são lineares, mas na verdade não são. Então, o erro está aceitável.
===== Influência da superfície e cor do objeto =====
__**Melhor Distância Para Detectar Cores:**__
Definido experimentalmente, a melhor distância para a distinção de cores foi de 5 centímetros.
__**Metodologia Para Detectar Cores:**__
A metodologia utilizada pelo grupo foi fazer um pré calibramento dos sensores -já na distância desejada- e, então, fazer a leitura do sensor, calcular a diferença dessa leitura para o valor de calibração. A menor diferença determina a cor do bloco.
__**Histograma do comportamento do sensor**__
{{:cursos:introrobotica:2010-2:grupo05:histograma.jpg|}}
====== Código ======
{{:cursos:introrobotica:2010-2:grupo05:codigo_ttf-tp2.pdf|}}