Title: 12. PROJECTO: Sistema Automatizado de Classificação e Triagem de Resíduos usando Dobot Magician
Course: AI Projects for Students (PT) > Section: IA COM Dobot

12. PROJECTO: Sistema Automatizado de Classificação e Triagem de Resíduos usando Dobot Magician

Dobot Blockly é uma plataforma de programação baseada no Google Blockly. Neste processo, os utilizadores podem programar através do formato puzzle, que é simples e fácil de entender. Além disso, os utilizadores podem usar a API integrada do Dobot a qualquer momento.

12.1 Interface Blocada

Abra o DobotStudio e clique em DobotBlock Lab:

Código de bloco 12.2

12.3 Inicialização e Definição do Problema

Contexto e Motivação

Na indústria e ecologia modernas, a triagem manual de resíduos é um processo lento, ineficiente e frequentemente perigoso. O objetivo deste projeto é criar um sistema autónomo que utilize Visão Computacional e manipulação robótica para reconhecer e separar fisicamente diferentes materiais (neste caso, resíduos orgânicos e plástico).

Enunciado do Problema

O principal desafio reside na sincronização de três subsistemas independentes:

1.    Sistema de Transporte: Uma correia transportadora que traz objetos para o espaço de trabalho.

2.    Sistema de deteção: Uma câmara que deve identificar o tipo de item em tempo real.

3.    Sistema de Atuação: Um braço robótico que deve executar com precisão a recolha e colocação com base no feedback do sensor.

12.4 Arquitetura da Solução

A solução baseia-se na  plataforma Dobot Magician e num ambiente de programação baseado em blocos (Blockly) que integra módulos de IA para reconhecimento de imagens.

Componentes de Hardware

- Dobot Braço de Mago: Um robô de alta precisão de 4 eixos.
- Ventosa: Usada como efetivo final pela sua versatilidade em lidar com várias formas.
- Câmara USB: Montada acima do cinto para uma vista estável de cima.
- Correia Transportadora: Controlada por um motor de passo ligado ao Dobot.

Lógica de Software

O algoritmo segue um modelo iterativo de circuito fechado: Iniciar Correia -> Parar -> Capturar -> Analisar -> Ordenar -> Regressar ao Inizar.

12.5 Análise detalhada de blocos de código

O programa está dividido em quatro segmentos principais:

Configuração (Configuração)

- usar câmara 1: Declara a entrada de hardware para dados visuais.
- Definir o efetor final [Ventosa]: Mapeia suavemente o controlo da bomba de ar para a saída do robô.
- Ir para X:175, Y:39.5, Z:48.1: Esta é a "Posição de Segurança." O robô recua para evitar obstruir a câmara e garante um caminho ótimo para qualquer ponto da correia.

Logística (Controlo de Transportadoras)

Dentro do bloco de repetição para sempre:

- Ajuste o Motor Transportador [STEPPER1] Velocidade 15 mm/s: Ativa a correia a uma velocidade controlada para evitar que objetos leves deslizem.
- espera 3 segundos: Uma constante de tempo crítica que define a distância entre os itens.
- Velocidade 0: Para a correia para que o robô possa executar uma "palheta estática" precisa.

Inspeção por IA (Reconhecimento de Imagem)

- Contagem decrescente 4 s: Fornece tempo de estabilização para a câmara focar e para o pop-up da IA processar a imagem.
- Se a Imagem reconhecer a etiqueta 1 = [orgânico/plástico]: Chama a API de Deep Learning para comparar o frame atual com um conjunto de dados treinado e devolve uma tag de classe.

Cinemática e Manipulação

Para cada ramo (orgânico/plástico), o sistema utiliza dois tipos de movimento:

1.    Movimento Articular (PTP): Move todas as articulações simultaneamente para o percurso ponto a ponto mais rápido.

2.    Linha Reta (Linear): Move o braço estritamente verticalmente no eixo Z para garantir que a ventosa faz contacto perfeito sem derrubar o objeto.

12.6 Algoritmo Operacional (Passo a Passo)

·        START: Inicializar instrumentos e definir o efetor final.

·        TRANSPORTE: Mover o cinto durante 3 segundos e depois parar.

·        SENTIDO: Capturar imagem e identificar a etiqueta através de IA.

·        DECISÃO:

·        Se for orgânico: Vai buscar coordenadas, liga a sucção, vai para a caixa orgânica, desliga a sucção.

·        Se for de plástico: Vai buscar coordenadas, liga a sucção, vai para a caixa de plástico, desliga a sucção.

·        Se vazio: Realize um movimento de "sacusão" de sinalização (rodando o eixo R).

·        REINICIAR: Regressar às coordenadas iniciais de segurança.

·        LOOP: Repete o ciclo indefinidamente.

12.7 Especificações Técnicas de Coordenadas

Com base no script, as seguintes coordenadas foram calibradas:

Point | X (mm) | Y (mm) | Z (mm) | R (°) | Descrição
Casa | 175.0 | 39.5 | 48.1 | 12.7 | Posição em marcha lenta/espera
Abordagem | -56.3 | 155.5 | 7.4 | 109.9 | Posição acima do item
Agarra | -52.8 | 125.3 | -24.8 | 112.8 | Ponto de contacto (Rebaixado)
Contentor Orgânico | 180.9 | -67.5 | -43.5 | -20.5 | Eliminação para produtos orgânicos
Contentor de plástico | 161.9 | 63.2 | -20.9 | 21.3 | Eliminação de plásticos

12.8 Resolução de Problemas de Implementação

·        Agarrar Impreciso: Certifique-se de que o objeto está centrado. Se variar, usa guias na correia ou integra feedback dinâmico X/Y da câmara de IA.

·        Erros de Classificação: O reconhecimento da IA é sensível à luz. Use uma cor de cinto de alto contraste e iluminação LED externa consistente.

·        Segurança: Certifique-se sempre de que o espaço de trabalho está livre de obstáculos antes de iniciar o ciclo de repetição indefinida.