Contrinex
Gesture - Controlled Robot for Color Detection Applied to IIoT

Gesture – Controlled Robot for Color Detection Applied to IIoT

O projeto Gesture – Controlled Robot for Color Detection Applied to IIoT, trata de um robot controlado por gestos e equipado com tecnologia para a deteção de cores e obstáculos e visa auxiliar no transporte de mercadorias pesadas dentro de fábricas, melhorando a eficiência e segurança do trabalho industrial.

Combinando elementos de Industrial Internet of Things (IIoT), o projeto procura otimizar processos, garantindo uma interação segura e sem contacto direto entre o operador e o robot.

1. Introdução

O projeto tem como objetivo criar um robot autónomo e controlado por gestos, direcionado para apoiar o transporte de mercadorias em fábricas, onde tarefas repetitivas e fisicamente exigentes podem ser otimizadas. A ideia central é desenvolver um sistema que facilite a locomoção de mercadorias, reduzindo o esforço físico dos trabalhadores e minimizando os riscos de acidentes ou problemas de saúde, como hérnias ou lesões na coluna.

2. Desenvolvimento

O robot está dividido em duas partes principais: o corpo do robot e o comando remoto. A construção do robot envolve microcontroladores Arduino Uno e Mega, um sistema de comunicação wireless através da rede Bluetooth, sensores de ultrassons para deteção de obstáculos e um sensor APDS9960, que desempenha papel fundamental na deteção de gestos e cores.

Figura 1. Diagrama de blocos do comando.

Figura 2. Diagrama de blocos do comando.

Figura 2. Diagrama de blocos do robot.

Osmicrocontroladores são responsáveis pela receção e processamento de dados dos sensores, convertendo-os em comandos que são transmitidos aos atuadores do robot. O Arduino Uno associado ao comando e o Mega associado ao robot.

Os sensores de ultrassons sãoutilizados para a deteção de obstáculos e funcionam ao emitirem ondas sonoras, que calculando os tempos de envio e retorno (após colisão com um obstáculo), conseguem determinar a distância do objeto alvo dessa colisão através do fenómeno da reflexão dessas ondas sonoras. O robot usa 3 sensores de ultrassons que ajudam a evitar colisões e a definir trajetórias seguras.

O sensor APDS9960, desenvolvido pela SparkFun, é um dos componentes centrais do projeto, pois permite a deteção simultânea de gestos e de cores. Este sensor tem quatro funcionalidades principais:

  1. Gestos: o sensor APDS9960 permite o controlo do robot através de gestos, reconhecendo movimentos como cima, baixo, esquerda, direita, frente e trás. Esta funcionalidade é essencial para a operação sem contacto direto, o que é particularmente vantajoso em ambientes onde o comando pode ser manuseado por diferentes utilizadores ou estar exposto a condições de contaminação.
  2. Cores (RGB): a deteção de cores pelo APDS9960 ajuda a definir o modo de operação do robot. As cores têm funções específicas: o vermelho bloqueia o movimento do robot, a cor azul permite um movimento autónomo com desvio de obstáculos, e a cor verde ativa o controlo direto pelo utilizador (utilização do comando).
  3. Deteção de luz ambiente: o sensor APDS9960 também mede a intensidade da luz ambiente, o que poderia ser explorado para ajustar a sinalização do robot conforme as condições de luminosidade do local.
  4. Proximidade: embora não seja uma função utilizada neste projeto, o sensor consegue detetar proximidade, o que poderia ser aplicado futuramente para paragens automáticas em casos de aproximação de pessoas ou objetos, quando está a ser utilizado o comando.

No robot, este sensor está integrado no comando, estando por isso só programado para as três primeiras funcionalidades.

O procedimento desenvolvido para que o sensor APDS9960 consiga detetar movimento de mão, passou por mapear cada movimento da mão para uma ação no robot. Para simplificar o procedimento, utilizaram-se gestos simples:

  1. Mover em frente: passar a mão de baixo para cima (gesto vertical ascendente);
  2. Mover para trás: passar a mão de cima para baixo (gesto vertical descendente);
  3. Virar à esquerda: passar a mão da direita para a esquerda (gesto horizontal para a esquerda);
  4. Virar à direita: passar a mão da esquerda para a direita (gesto horizontal para a direita);
  5. Rodar sobre si próprio (esquerda): realizar um movimento circular, sentido anti-horário;
  6. Rodar sobre si próprio (direita): realizar um movimento circular, no sentido horário.

Para detetar os gestos com o sensor APDS9960, a comunicação I2C permite que o microcontrolador aceda aos registos específicos que armazenam o valor de cada gesto. O sensor utiliza diversos registos internos para sinalizar o movimento detetado e enviar os dados correspondentes.

O endereço I2C padrão do sensor APDS9960 é 0 x 39. Para detetar gestos, utilizou-se o registo principal 0 x FC (GSTATUS) e o registo de dados 0 x FF (GFLVL), bem como os buffers (FIFO) de dados de gestos GFIFO_U, GFIFO_D, GFIFO_L e GFIFO_R, que correspondem aos valores detetados nos eixos.

Registos principais e os valores lidos:

  1. Registo GSTATUS (0 x FC):
    • Este registo indica se há um gesto disponível para leitura,
    • Bit 0 – GVALID: indica se os dados de gesto estão válidos,
    • Quando um gesto é detetado, este bit fica em 1.
  2. Registo GFLVL (0 x FF):
    • Indica o número de entradas no buffer (FIFO) de dados de gestos. Um valor diferente de zero significa que há dados prontos para leitura nos buffers FIFO.

Luís Pires
IPLuso – Instituto Politécnico da Lusofonia

Para ler o artigo completo faça a subscrição da revista e obtenha gratuitamente o link de download da revista “robótica” nº138. Pode também solicitar apenas este artigo através do emaila.pereira@cie-comunicacao.pt

Outros artigos relacionados