Odd Scanner – Obtendo imagens por ultrassom 4


O Odd Scanner é um digitalizador de imagens desenvolvido para criar figuras nada convencionais.

Normalmente imagens digitais são criadas por sensores de máquinas fotográficas, o resultado são fotografias com as quais estamos acostumados a ver no dia a dia. Já as imagens criadas pelo Odd Scanner são bem diferentes das habituais, pois ele usa sensores que não foram criados para fotografia, dessa forma teremos como resultado imagens no mínimo curiosas.

As imagens podem ser criadas à partir de sensores de diversos tipos, como sensores de proximidade, temperatura ou até mesmo sensores de rádio.

Desta vez usarei um sensor de proximidade por ultrassom. As  imagens serão geradas baseado na distância entre o sensor e os objetos que estão diante dele. Sem levar em consideração cores de objetos, intensidade de luz ou até mesmo escuridão total.

Objetivo

O objetivo do projeto Odd Scanner é proporcionar um método diferente de ver um ambiente ou objetos específicos.

O dispositivo deve ser capaz de gerar imagens compreensíveis. Contudo a nitidez não é um fator importante, pois nesta etapa serão usados componentes de baixo custo. Dessa forma é esperado obter imagens um pouco ou até mesmo muito borradas.

Descrição

Como o próprio nome sugere, o Odd Scanner é um digitalizador de imagens curiosas, essas imagens podem revelar características jamais observadas dos objetos digitalizados.

Como usaremos um sensor de ultrassom, o dispositivo fará a digitalização do objeto ao aferir a distância entre o sensor e diversos pontos do objeto que será digitalizado. Criando uma tabela com os dados das distâncias aferidas.

Esses dados serão plotados num plano cartesiano, dessa forma obteremos uma imagem.

Hardware

Para digitalizar uma nova imagem é necessário movimentar o sensor no eixo horizontal e vertical múltiplas vezes até que toda área tenha sido varrida.

Os movimentos são realizados pelo x2 Mark I – Plataforma de Dois Eixos, pois esse dispositivo pode realizar movimentos repetitivos e com muita exatidão.

O Odd Scanner fará uso do HC-SR04, um sensor de ultrassom bem difundido no meio da automação. Esse sensor afere distâncias usando o fenômeno físico do eco em objetos até 4 metros de distância.

Ultrassom

O funcionamento do sensor de ultrassom HC-SR04 é relativamente simples. Ele emite um som em uma determinada frequência e identifica quando esse som volta em forma de eco.

A característica importante desse sensor é a alta velocidade de funcionamento, que permite identificar com precisão o momento de retorno do eco.

Como a velocidade do som no ar é uma constante conhecida (aproximadamente 340 metros por segundo), torna-se fácil obter a distância percorrida pelo som quando conhecemos o tempo de retorno do eco. Expresso pela seguinte equação:

s = \frac{t}{2}v

Onde:

  • s – distância a ser obtida
  • t – tempo de retorno do eco
  • v – velocidade de propagação do som
  • 2 – dividimos por dois, pois devemos levar em consideração o tempo de ida e volta do som

A velocidade do som depende do meio por onde é propagado, devido a densidade de cada material. Com o ar não é diferente, então para podermos obter resultados mais precisos devemos levar em consideração a temperatura ambiente, que exerce papel importante na densidade do ar.

Variação da velocidade do som em relação a temperatura do ar

Temperatura (°C) Velocidade (m/s) Densidade do ar (kg/m3)
35 351.88 1.1455
30 349.02 1.1644
25 346.13 1.1839
20 343.21 1.2041
15 340.27 1.225
10 337.31 1.2466
5 334.32 1.269
0 331.3 1.2922
-5 328.25 1.3163
-10 325.18 1.3413
-15 322.07 1.3673
-20 318.94 1.3943
-25 315.77 1.4224

O x2 afere constantemente a temperatura ambiente para compensar eventuais variações na aquisição de dados do sensor de ultrassom.

A mecânica

A mecânica dos movimentos é simples. A plataforma x2 movimenta o sensor HC-SR04 em ângulos horizontais e verticais, de forma que o sensor seja apontado para todos os pontos da área digitalizada.

Esse processo mecânico é feito de forma automatizada, de forma que quando o sensor coleta os dados de uma amostra, imediatamente já é direcionado para a nova posição onde realizará uma nova coleta de dados.

Os componentes eletrônicos da plataforma x2, assim como os componentes mecânicos são modernos e isso proporciona uma grande velocidade de movimentos. Contudo, por menor que seja, há um tempo de deslocamento do sensor de um ponto ao outro.

Adicionalmente o sensor HC-SR04 – apesar de ser rápido – possui limitações físicas, pois seu funcionamento está limitado a velocidade de propagação do som no ar.

Por essas razões, o dispositivo possui atualmente a capacidade de digitalizar um ponto a cada 52ms em média. Dessa forma, uma imagem com dimensão de 200 x 200 pixels levará em torno de meia hora para ser digitalizada.

Software

O programa Odd Scanner é escrito em Python e é invocado pela linha de comando. Este programa realiza a comunicação com o a plataforma x2 e obtém as informações de posicionamento e leitura do sensor. O programa também transforma os dados obtidos numa imagem. Esse processo possui diversas etapas, a saber:

  • Comunicação
  • Amostragem
  • Tratamento de informações
  • Digitalização da imagem

Cada um dos passos do processo serão abordados a seguir.

Comunicação

A comunicação com o dispositivo x2 é feita por intermédio da interface USB.

O software Odd Scanner envia os comandos para o dispositivo efetuar a sequencia de iniciação, calibração dos eixos e monitoração do sistema.

O programa informa ao dispositivo as dimensões da área que será digitalizada. Então o processo de obtenção de dados, também conhecido como amostragem é iniciado.

Amostragem

Quando o processo de obtenção de dados é iniciado, a plataforma x2 posiciona o sensor na posição 0, 0, que é a primeira posição da imagem no plano cartesiano.

Quando a amostragem for obtida para a primeira posição, o dispositivo aponta o senso para a segunda posição (0, 1). E sucessivamente muda para atingir as posições subsequentes.

Dessa forma, durante o processo de amostragem, obteremos dados no seguinte formato:

7 8 34

Onde:

  • 7 – Posição 7 do plano horizontal (eixo x)
  • 8 – Posição 8 do plano vertical (eixo y)
  • 34 – Profundidade obtida com o sensor ultrassônico em centímetros (eixo z)

No fim do processo, teremos um arquivo extenso. Em cada linha  um conjunto de dados x, y, z.

Exemplo de dados brutos obtidos
0 0 56
0 1 35
0 2 8
0 3 77
0 4 70
0 5 21
0 6 40
0 7 84
0 8 4
0 9 74
1 0 25
1 1 41
1 2 90
1 3 53
1 4 28
1 5 11
1 6 23
1 7 41
1 8 43
1 9 79
2 0 72
2 1 23
2 2 65
2 3 77
2 4 1
2 5 99
2 6 1
2 7 86
2 8 55
2 9 28
3 0 90
3 1 27
3 2 24
3 3 70
3 4 75
3 5 43
3 6 10
3 7 35
3 8 78
3 9 83
4 0 70
4 1 97
4 2 0
4 3 98
4 4 5
4 5 21
4 6 39
4 7 24
4 8 66
4 9 28
5 0 83
5 1 42
5 2 50
5 3 27
5 4 87
5 5 95
5 6 54
5 7 50
5 8 88
5 9 16
6 0 92
6 1 51
6 2 35
6 3 16
6 4 3
6 5 73
6 6 49
6 7 89
6 8 79
6 9 45
7 0 30
7 1 35
7 2 34
7 3 40
7 4 47
7 5 16
7 6 33
7 7 25
7 8 24
7 9 61
8 0 76
8 1 22
8 2 44
8 3 61
8 4 87
8 5 35
8 6 43
8 7 41
8 8 55
8 9 16
9 0 69
9 1 35
9 2 68
9 3 24
9 4 0
9 5 92
9 6 84
9 7 52
9 8 95
9 9 95

Os dados da coluna z podem ser representados por diferentes tonalidades entre a cor preta e branca. Dessa forma, obtemos múltiplas tonalidades de cinza.

Tratamento de informações

O tratamento das informações é um passo do processo que pode ser realizado antes ou depois da digitalização da imagem.

Quando é realizado antes da digitalização, pode auxiliar para que a imagem seja mais nítida e existem muitas técnicas que podem ser empregadas para esse propósito.

Comumente aplico duas técnicas de tratamento de informações:

  • Limitação dos valores obtidos – Se houver alguma amostra com valores muito diferentes das amostras anteriores ou posteriores, podemos atenuar a diferença da amostra, dessa forma a imagem digitalizada não terá pontos muito diferentes. Pontos muito discrepantes podem ocorrer por falha do sensor.
  • Definição da distância mínima e máxima – Ao definir a distância mínima e máxima, estaremos definindo quais regiões da imagem serão mais escuras ou mais claras. Isso proporcionará tonalidades de cinza diferenciadas e imagens mais nítidas.

O tratamento de informações pode ser realizado após a digitalização por programas de edição de imagens, onde será possível aplicar filtros e efeitos.

Digitalização da imagem

Ao atribuir uma tonalidade de cinza para cada coordenada x e y, teremos como resultado final uma imagem raster, também conhecida como bitmap.

Imagem raster de um ponto preto ampliada

Imagem raster de um ponto preto ampliada

Resultado

Aqui temos um exemplo de objeto digitalizado. Um pequeno frasco de produto de limpeza.

O quadro abaixo mostra em destaque a área digitalizada do lado esquerdo e do lado direito a imagem obtida pelo Odd Scanner com sensor de ultrassom.

A primeira imagem produzida pelo Odd Scanner com sensor de ultrassom

A primeira imagem produzida pelo Odd Scanner com sensor de ultrassom

Aplicações

O protótipo do Odd Scanner é muito simples, mas as aplicações são muito amplas.

Um sensor de ultrassom sofisticado pode retornar alguns dados além da distância entre o sensor e o anteparo. Um bom sensor pode retornar a diferença da frequencia enviada em relação a frequencia recebida, com isso seria possível obter a textura do anteparo.

Ao digitalizar uma garrafa, seria possível distinguir o nível o líquido no interior dela, mesmo que ela não fosse translucida.

Com maiores otimizações o Odd Scanner poderia identificar um material metálico sob um tecido. Dessa forma pode ser possível encontrar uma arma escondida por debaixo de uma roupa.

Conclusão

Num primeiro momento, pode parecer que a imagem obtida com o uso do sensor de ultrassom não passa de um borrão cinza. Contudo é importante mencionar que trata-se da primeira imagem obtida pelo equipamento.

Eu fiquei muito surpreso com a nitidez da imagem. Originalmente imaginei que faria muito esforço para conseguir interpretar as primeiras imagens, mas foi muito mais fácil do que pensei.

Estou fazendo ajustes no programa para que as imagens fiquem mais nítidas, contudo nem tudo pode ser resolvido por programação. Já me dei conta que o sensor HC-SR04 possui uma boa precisão, porém está muito aquém das necessidades deste projeto.

Adicionalmente estou trabalhando para otimizar a eletrônica da plataforma x2, assim como a parte mecânica, para tornar o processo de digitalização mais ágil.

Tenho intenção de fazer testes com sensores de temperatura, infravermelho e sensores laser. Como é de se esperar os sensores de boa qualidade e alta precisão tem custos proibitivos, mas na medida do possível realizarei testes com sensores de baixo custo.


Leave a Reply

4 thoughts on “Odd Scanner – Obtendo imagens por ultrassom

  • Milton Pessoa

    Interessante… Será que consegue escanear objetos embaixo d´água, protegendo-o é clado? Com isto poderíamos facilmente desenvolver um robot de exploração submarina, para locais onde uma câmera normal não consegue ver, nos casos da água ser barrenta ou lodosa. Realmente existem “n” possibilidades para a ideia principal.

    • Márcio Pessoa Post author

      O sensor HC-SR04 funciona apenas com ar como meio de propagação do som.
      Certamente existem sensores capazes de trabalhar debaixo d’água. Afinal você descreveu o funcionamento de um sonar. 🙂
      Estou procurando outros sensores para gerar outras imagens interessantes.

  • José Gustavo Abreu Murta

    Sou fascinado com ultrasom. Acho que essa tecnologia poderá evoluir muito !
    O conceito do seu projeto é interessante. Mas a resolução da imagem é muito baixa.
    Talvez se usasse um sensor com o campo de visão mais estreito…
    Abraços.

    • Márcio Pessoa Post author

      Olá, José.
      Obrigado por seu comentário.
      De fato o sensor é bem simplório para essa aplicação. Estou procurando outros sensores para fazer novas experiências. 🙂