Raphael Winckler de Bettio
Portfólio

Sistemas que já projetei e construí

Sistemas desenvolvidos na universidade: projetos institucionais com empresas e órgãos públicos, e provas de conceito e protótipos que apoiaram pesquisa, extensão e ensino. Como muitos não têm acesso público, mostro como funcionam com telas ou ilustrações e um diagrama — e cada caso indica até onde chegou: prova de conceito, protótipo, MVP ou em produção.

Veja também um exemplo de entrega: o documento para edital feito a partir da POC do PLANTIA (versão resumida) →

PLANTIA · Prova de conceito
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Otimização Generativa de Arranjos Físicos 3D para Agroindústrias via Inteligência Artificial Híbrida

Prova de conceito para quem projeta plantas industriais do agronegócio. Hoje, montar o layout preliminar de uma proposta comercial é trabalho manual, lento e cheio de retrabalho. Aqui, o cliente descreve a demanda em texto — por exemplo, “preciso processar 250 kg de material por hora” —, a inteligência artificial transforma o pedido numa especificação, o sistema calcula quantos equipamentos são necessários e encontra sozinho uma posição para cada um, já conectados entre si, gerando o modelo pronto para o SketchUp. A POC mostrou que o mecanismo funciona de ponta a ponta e virou a base técnica de uma proposta de pesquisa e desenvolvimento em parceria com a UFLA. Concebi e desenvolvi a prova de conceito.

Prova de conceitoAgroindústriaInteligência artificialOtimizaçãoModelagem 3DSketchUp

Para a sua startup: mostra o caminho completo que uma startup percorre: da ideia a uma prova de conceito funcionando e, dela, a um documento técnico pronto para buscar financiamento.
Veja a versão resumida do documento para edital →

Situação

  • Prova de conceito concluídaMecanismo validado de ponta a ponta, em cenários variados
  • Próxima etapaProjeto de P&D estruturado em parceria com a UFLA, com roteiro para chegar a produto e pronto para editais de fomento
  • DomínioPlantas de processamento agroindustrial
PLANTIA — prova de conceito
O pedido em texto Equipamentos calculados Fábrica montada automaticamente Outros cenários Direto para o SketchUp

Como funciona

não cabe? o sistema avisa Pedido em texto“250 kg de material por hora”Inteligência artificialtransforma em especificaçãoDimensionamentoquantos equipamentos são precisosPosição automáticasem sobrepor, tudo conectadoRevisão em 3Do engenheiro ajusta se quiserSketchUpmodelo pronto para a proposta

Passe o mouse para pausar · clique numa etapa do diagrama para ver a tela correspondente.

Do texto ao 3DUma demanda escrita com as próprias palavras vira um layout posicionado e conectado, sem montagem manual.
Sabe quando não dáSe os equipamentos não cabem no terreno ou não se conectam, o sistema avisa em vez de inventar uma solução.
Usa o que a empresa já temO resultado sai como modelo para o SketchUp ou em formato 3D universal.

Arquitetura

A POC é um pipeline em Python com etapas desacopladas, cada uma lendo e escrevendo JSON. O pedido gera um prompt estruturado para um LLM, que devolve apenas a especificação — o modelo não faz nenhum cálculo. O dimensionamento é determinístico: regras de capacidade definem quantas linhas de produção e quantos equipamentos de cada tipo a demanda exige. A fábrica é modelada como uma matriz 3D discreta de células; cada equipamento ocupa um bloco de células conforme suas dimensões e declara entradas e saídas tipadas em faces específicas, como peças de Lego — mesmo tipo em faces opostas significa conexão compatível.

O posicionamento é resolvido com o CP-SAT do Google OR-Tools: variáveis de célula e de rotação (0°, 90°, 180°, 270°) para cada equipamento, restrições de não sobreposição, de limites do terreno e de conectividade obrigatória de cada porta a uma porta compatível de outro equipamento; quando não existe arranjo possível, o solver prova a inviabilidade. Nesta versão o objetivo é só viabilidade — minimizar área, distâncias e custo fica para a próxima etapa. A interface web em Three.js permite revisar e ajustar o layout com encaixe magnético e validação de portas, e exportadores geram um script Ruby para a API do SketchUp e um arquivo STL.

PythonLLM (prompt estruturado)Google OR-Tools · CP-SATThree.jsJSONRuby · SketchUp APISTL
CogniFox · Plataforma de dados
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Da fonte ao painel, com versionamento e IA sob controle

Ferramenta para transformar dados espalhados — bancos de dados, planilhas, arquivos de mapas — em painéis interativos que qualquer pessoa da equipe consegue consultar. Quem cuida dos dados conecta as origens e monta os indicadores; nada chega aos painéis sem revisão e aprovação, e todo o histórico de mudanças fica guardado. Um assistente com inteligência artificial ajuda a criar novos indicadores e painéis a partir de uma descrição em texto, sempre como proposta para alguém aprovar. Concebi e desenvolvi a plataforma, que mesmo ainda em desenvolvimento já está em produção no Atena.

Ciência de dadosPainéis interativosMapasHistórico e aprovaçãoInteligência artificialIntegração com outros sistemas

Para a sua startup: mostra velocidade: da arquitetura a uma versão em uso real em poucos meses, com a inteligência artificial ajudando sem tirar o controle de quem decide.

Onde é utilizado

  • AtenaEm produção — são os painéis que os professores usam para acompanhar o progresso dos alunos
  • Versão 1.2 betaEm desenvolvimento ativo, já usada no dia a dia
  • DemonstraçãoDados públicos de ocorrências de aves no Brasil (GBIF)
Plataforma de dados — demonstração com dados públicos (GBIF)
Fontes de dados Consulta direto na fonte Datasets com saúde e aprovação Pipelines em grafo visual Widgets Dashboards interativos Agendamento Assistente de IA

Como funciona

derivado rascunhos Fonte de dadosbancos · planilhas · mapas Datasetdados extraídos e atualizados Pipelinecombina e transforma dados Widgetgráfico · mapa · tabela Agendamentoatualização automática Dashboardpainéis interligados Assistente de IApropõe; a equipe aprova

Passe o mouse para pausar · clique numa etapa do diagrama para ver a tela correspondente.

Versionado e auditávelToda mudança fica registrada e só entra em uso depois de aprovada.
Seguro por desenhoA ferramenta só lê os dados de origem, nunca altera — e nada roda sem aprovação.
EmbutívelOs painéis podem aparecer dentro de outros sistemas da empresa, com acesso controlado.

Arquitetura

O CogniFox separa motor e interface: todas as entidades são documentos JSON com contrato em Pydantic (validação estrutural) e regras de negócio em validadores próprios (validação semântica) — SQL restrito a leitura, paleta fechada de nós e detecção de ciclos por DFS, o mesmo algoritmo reaproveitado em pipelines, nos sinais entre widgets e na dependência entre pipelines. Pipelines são grafos executados pelo Ibis sobre DuckDB, com propagação estática de schema nó a nó, que alimenta o autocomplete do editor visual. Todo dataset é materializado, a versão anterior vira backup e o status de saúde (OK, BACKUP, FALHA) se propaga pela cadeia; um orquestrador infere a ordem de execução pela dependência de dados e o APScheduler dispara por cron.

A camada web é Flask, com projetos e arquivos no MinIO e fontes em MySQL, PostgreSQL, SQLite, CSV ou GeoJSON. Os dashboards usam Gridstack, ECharts e Leaflet, com sinais entre widgets que recalculam só o que foi afetado, e podem ser embutidos em outro sistema por um Web Component com Shadow DOM e tokens JWT escopados e revogáveis. O assistente de IA (LiteLLM, independente de provedor) gera entidades a partir do schema real da fonte; a resposta passa pelos mesmos validadores do editor visual e, se falhar, o erro exato volta ao modelo em até três tentativas — e o resultado entra sempre como rascunho, sujeito à mesma aprovação humana. Código customizado só entra como Script catalogado e aprovado, e pipelines podem ser cobertos por casos de teste em JSON, sem escrever Python.

PythonFlaskPydanticIbisDuckDBAPSchedulerMinIOMySQLPostgreSQLSQLiteDrawflowGridstackEChartsLeafletWeb ComponentsJWTLiteLLMpytestDocker
Patas UFLA · Projeto social
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Uma rede para ajudar animais perdidos a voltarem para casa

Rede colaborativa que conecta tutores, comunidade e voluntários na busca por animais perdidos. O tutor cadastra o animal com fotos e o local onde ele sumiu; qualquer pessoa pode relatar que viu ou recolheu um animal, pelo site ou pelo Telegram. A inteligência artificial descreve as fotos e aponta possíveis correspondências entre animais perdidos e avistamentos, e voluntários revisam cada etapa — inclusive confirmando por telefone quem diz estar com o animal antes de liberar o contato ao tutor. Os requisitos foram levantados com a população, clínicas veterinárias, pet shops e órgãos públicos. Concebido com outros três professores do departamento; projetei a arquitetura e implementei a plataforma.

Projeto socialInteligência artificialMapasVoluntariadoTelegramCódigo aberto

Para a sua startup: mostra como pensar um produto completo, do usuário ao lançamento: inteligência artificial e pessoas trabalhando juntas, com segurança e divulgação incluídas.

Situação

  • Projeto de extensão da UFLAPara atender Lavras e cidades vizinhas
  • Versão 0.4 betaEm fase final de testes
  • Código aberto (licença MIT)Outras cidades e grupos podem adaptar e usar

Projeto de extensão da UFLA — não é trabalho de consultoria.

Patas UFLA — rede colaborativa de busca de animais perdidos
Uma rede para todos Página pública do animal Cartaz pronto para divulgar Relatar um avistamento

Como funciona

Tutorcadastra o animal perdido Comunidaderelata avistamentos · site ou bot Inteligência artificialdescreve as fotos e compara Voluntáriosrevisam e confirmam Reencontrocontato liberado com segurança Divulgaçãocartaz com QR code

Passe o mouse para pausar · clique numa etapa do diagrama para ver a tela correspondente.

Segurança em primeiro lugarO contato só é liberado depois que um voluntário confirma a pessoa, e o local aparece só de forma aproximada.
IA com pessoasA inteligência artificial sugere; voluntários revisam e decidem.
Pronto para divulgarCartazes com QR code e textos prontos para compartilhar no WhatsApp.

Arquitetura

O Patas é uma aplicação Django sobre PostgreSQL com PostGIS, para consultas geográficas como distância entre avistamentos, e pgvector, para busca por similaridade entre descrições. Fotos ficam em armazenamento compatível com S3 (MinIO, via django-storages); o processamento pesado roda em segundo plano com Celery e Redis, e o celery-beat agenda as varreduras periódicas de correspondências. Login com Google (django-allauth), bot do Telegram com webhook para voluntários que relatam pelo celular, papéis hierárquicos de Nível 0 a 5, trilha de auditoria, pontuação de voluntários e implantação com Docker Compose e integração contínua no GitHub Actions.

O pipeline de IA usa um modelo de visão via LiteLLM — compatível com modelos locais servidos pelo Ollama — para avaliar se a foto é adequada e gerar uma descrição voltada à identificação. Cor e porte são extraídos com vocabulário controlado e um parser de dependência do spaCy em português, que distingue, por exemplo, a cor da pelagem da cor dos olhos. A descrição vira um embedding, e o matching combina similaridade de cosseno, proximidade geográfica, proximidade no tempo e sobreposição de características (Jaccard) num score ponderado, cujo detalhamento é guardado para calibrar os pesos com dados reais. Pessoas validam cada etapa: o Nível 3 revisa as descrições, o Nível 4 confirma o match e verifica a identidade por telefone antes de liberar o contato, e o mapa público mostra só uma área aproximada.

PythonDjangoPostgreSQLPostGISpgvectorCeleryRedisMinIOLiteLLMOllamaspaCyTelegram Bot APIGoogle OAuthLeafletDockerGitHub Actions
GeoProcess · Plataforma de dados geográficos
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Perguntas, painéis e alertas sobre dados geográficos

Plataforma para consultar dados geográficos sem precisar ser especialista. A equipe técnica prepara as bases de dados e cadastra perguntas prontas; quem usa escolhe os parâmetros e recebe a resposta em mapas, gráficos e tabelas, pode rever consultas anteriores, receber alertas automáticos quando algo merece atenção e explorar painéis interativos. Projetei a arquitetura e implementei boa parte do sistema, com a colaboração de outros desenvolvedores, e lidero tecnicamente sua evolução.

PythonGeoprocessamentoImportação de dadosDashboardsMapasAlertas agendados

Para a sua startup: mostra a capacidade de levar um sistema do protótipo à produção e mantê-lo evoluindo, atendendo empresas e órgãos públicos diferentes.

Onde foi utilizado

  • Instituto Mineiro de Agropecuária (IMA)Em produção
  • Ministério Público Federal (MPF)Em nível de protótipo
  • Vale S.A.Ferramenta interna para a equipe de pesquisa incluir seus dados, com o nome Plataforma para Gestão Sustentável de Território
  • Suzano S.A.Em nível de protótipo, em projeto entre a Zetta, agência de inovação da UFLA, e a empresa
  • Registro no INPI — GeoProcessBR512024003312-2 (2024)
  • Registro no INPI — projeto SuzanoBR512025006681-3 (2025)

Todos são projetos institucionais da UFLA dos quais participei como professor — não são trabalhos de consultoria.

Plataforma de geoprocessamento — dados de demonstração (IBGE)
Um projeto reúne perguntas, painéis e alertas O usuário faz uma pergunta A resposta vem em gráficos… …cruzando indicadores… …e em mapas Toda resposta fica guardada Alertas automáticos Painéis interativos

Como funciona

agendamento Bases de dadosintegradas pela equipe técnica Projetoperguntas · painéis · alertas Perguntaparâmetros escolhidos pelo usuário Painel interativofiltros · mapas · gráficos Respostagráficos e mapas gerados Históricorespostas armazenadas Alertapergunta agendada com aviso

Passe o mouse para pausar · clique numa etapa do diagrama para ver a tela correspondente.

Para não especialistasEscolhem parâmetros e leem mapas e gráficos; a complexidade fica com a plataforma.
RastreávelCada resposta guarda parâmetros, data e tempo de processamento.
Aplicada em projetos reaisEm produção no IMA, protótipos com o MPF e a Suzano e ferramenta interna de pesquisa na Vale.

Arquitetura

O GeoProcess é um framework distribuído baseado no conceito de perguntas e respostas, dividido em três módulos desacoplados: o Portal (Django, com front-end em Bootstrap/AdminLTE, Plotly e OpenLayers), o Gateway (FastAPI sobre Uvicorn) e os Consumers, serviços Python que efetivamente respondem às perguntas. Portal e Gateway conversam por API web; Gateway e Consumers trocam mensagens JSON via RabbitMQ (AMQP), em fluxos independentes e assíncronos. Cada consumer se registra no Gateway anunciando seu projeto, suas perguntas e seus parâmetros — novas análises entram no sistema sem alterar o Portal, e várias instâncias do mesmo consumer podem rodar em paralelo, o que garante escalabilidade horizontal.

O Gateway concentra segurança e rastreabilidade: o usuário se autentica por Single Sign-On (OIDC), o Portal repassa o token JWT e o Gateway decide quais projetos e perguntas cada perfil enxerga, registrando toda requisição e resposta no PostgreSQL — daí vem o histórico. Uma biblioteca comum oferece a classe base dos consumers e um contrato de resposta que abstrai mapas, gráficos, tabelas e mensagens; o desenvolvedor escreve só a consulta e a montagem do resultado, enquanto distribuição, formatação e controle de acesso ficam com a plataforma. Alertas são perguntas agendadas que só notificam quando a resposta não é vazia, e um Visual Builder permite prototipar a tela de resposta com o cliente (técnica do Mágico de Oz) e gerar o esqueleto do consumer em Python. Dados espaciais ficam em PostGIS e GeoServer, e a operação é monitorada com Prometheus e Grafana.

PythonDjangoFastAPIUvicornRabbitMQ (AMQP)PostgreSQLPostGISGeoServerPlotly DashOpenLayersOIDC / KeycloakJWTRedisPrometheusGrafana
Atena · Plataforma educacional
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Trilhas adaptativas para o ensino de programação

Plataforma de ensino de programação em que cada aluno segue um caminho próprio: textos, vídeos, exercícios e problemas se encadeiam, e o próximo passo depende de como o aluno respondeu. Os exercícios são corrigidos na hora, com retorno imediato, o que permite acompanhar centenas de alunos por período. A plataforma substituiu as aulas teóricas de Fundamentos de Programação das engenharias da UFLA e já atendeu milhares de alunos. Concebi o método e projetei e implementei a plataforma; outros professores produziram os conteúdos. O módulo mais recente, o Atena Tutor, usa inteligência artificial para ensinar o aluno a resolver problemas passo a passo.

Ensino personalizadoCorreção automáticaExercícios de programaçãoInteligência artificialGamificação

Para a sua startup: mostra um produto que mudou a rotina de milhares de usuários e segue ganhando novos módulos, como o tutor com inteligência artificial.

Onde é utilizado

  • UFLA — engenhariasFundamentos de Programação I, em uso desde 2022
  • ResultadosAprovação próxima de 80% após a adoção do método
  • Atena TutorEm versão beta, integrado ao Atena

Projeto institucional da UFLA — não é trabalho de consultoria.

Plataforma de ensino de programação
Trilhas da disciplina Objetos de aprendizagem Problemas de programação Atividades avaliativas Atena Tutor Ninho da Coruja Programar a coruja

Como funciona

caminho segue a resposta mesmo motor de correção Trilhagrafo de objetos de aprendizagem Objeto de aprendizagemtexto · vídeo · questão · problema Avaliação automáticacorreta · parcial · incorreta Atividade avaliativaprovas e listas corrigidas Atena Tutorsolução passo a passo com IA Painéis do professorprogresso e notas Ninho da CorujaPython controlando a coruja

Passe o mouse para pausar · clique numa etapa do diagrama para ver a tela correspondente.

Ensino personalizadoCada aluno percorre um caminho diferente, conforme o que já domina.
Correção em escalaCentenas de alunos por período, com retorno imediato em cada problema.
IA com controleA inteligência artificial só é usada onde o resultado pode ser conferido automaticamente.

Arquitetura

O Atena é uma aplicação Django com MySQL/MariaDB, servida por Gunicorn atrás do Nginx e autenticada pelo CAS da universidade. O modelo de dados é orientado a objetos de aprendizagem: textos, vídeos, slides, notebooks, mapas de imagem, questões e problemas herdam de um mesmo tipo base, e cada trilha é um grafo em que cada nó aponta para o próximo conforme o resultado da resposta — correta, parcial, incorreta ou o caminho escolhido numa questão. As trilhas podem ser desenhadas num editor visual e são validadas antes da publicação. Os problemas aceitam Python, Java, C e C++ e rodam em três modos: no navegador com Pyodide, em blocos com Blockly ou no servidor, numa sandbox confinada por AppArmor, com pool de execução controlado por locks e limite de tempo.

As atividades avaliativas comparam a saída com os casos de teste — com algoritmos de similaridade como Levenshtein e Smith-Waterman — e analisam a árvore sintática do código para exigir funções e parâmetros; provas podem ser restritas por IP e liberadas por código TOTP. O Atena Tutor é um serviço separado (Flask, SQLAlchemy/Alembic, PostgreSQL, Docker), com login federado por JWT assinado. Um LLM gera soluções de referência que só são aceitas depois de passar nos casos de teste, com nova tentativa a partir do erro detalhado; o fluxograma é derivado do AST, sem IA, e o LLM apenas rotula blocos já delimitados pelo parser — nunca reescreve o código. A checagem de compreensão compara a resposta do aluno por embeddings locais, as dicas são liberadas por tentativa e por tempo, e os painéis analíticos são integrados ao CogniFox.

PythonDjangoMySQLGunicornNginxCASPyodideBlocklyAppArmorFlaskSQLAlchemyPostgreSQLDockerJWTLiteLLMsentence-transformersMermaid
Pesquisa aplicada

Protótipos com hardware e software próprios

Projetos de pesquisa em que construímos tanto os dispositivos quanto os sistemas. Mostram que, se a sua ideia depende de sensores, aparelhos conectados ou comunicação sem fio, isso também cabe numa prova de conceito.

Casa Assistiva · Pesquisa em acessibilidade
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Uma casa inteligente que se adapta a quem mora nela

Linha de pesquisa sobre casas inteligentes para pessoas com deficiência e idosos. A mesma casa pode ser controlada de seis formas diferentes — pelo celular com leitor de tela, por blocos que o próprio morador monta, por uma luva com sensores, por gestos diante da câmera, por comandos de voz em português e até pelo pensamento, com um sensor de atividade cerebral —, para que cada pessoa use o jeito que funciona melhor para ela. Os protótipos foram avaliados com usuários reais, incluindo pessoas com deficiência visual e idosos, e geraram artigos em periódicos internacionais e registro de software no INPI. Tudo foi projetado e construído pela nossa equipe — o hardware, com as placas de microcontroladores e sensores instaladas nos aparelhos, a luva e os módulos de comando, e o software, da central da casa aos aplicativos de controle —, numa época em que casas inteligentes ainda não eram produtos prontos para comprar. Projetei a arquitetura e desenvolvi os protótipos, em parceria com o professor André Pimenta Freire, especialista em interação humano-computador.

AcessibilidadeCasa inteligenteInternet das coisasInteligência artificialInterface cérebro-computadorPesquisa com usuários

Resultados

  • Artigos internacionaisPersonal and Ubiquitous Computing · Behaviour & Information Technology · Multimedia Tools and Applications
  • Estudo com interface cerebralControle da casa por comandos mentais, avaliado com 30 participantes
  • Registro no INPIPrograma de computador Casa Assistiva — BR512018000396-6 (2018)
  • Laboratório Alcance — UFLAPesquisa com financiamento de agências de fomento, incluindo a FINEP

Projeto de pesquisa da UFLA — não é trabalho de consultoria.

Casa Assistiva — imagens ilustrativas
Com a voz, em português Pela tela de toque O morador cria as próprias regras Com uma luva de gestos Com gestos diante da câmera Pelo pensamento

Como funciona

Celular e webtoque e leitor de telaBlocoso morador cria regrasLuvagestos com a mãoCâmeragestos reconhecidos por IAVozcomandos em portuguêsPensamentosensor de EEG na cabeça Central da casarecebe e distribui Dispositivosluzes · aparelhos

Passe o mouse para pausar · clique numa etapa do diagrama para ver a imagem correspondente.

Cada um do seu jeitoToque, blocos, gestos, câmera, voz ou pensamento: a casa aceita a forma de interação que a pessoa consegue usar.
Testado com quem vai usarAvaliações com pessoas com deficiência visual e idosos guiaram cada versão.
O morador no controleRegras da casa criadas pelo próprio usuário, sem precisar programar.

Arquitetura

Os dispositivos da casa — lâmpadas, tomadas e aparelhos — são acionados por microcontroladores ESP8266 que se comunicam por MQTT com um broker central, um protocolo publish/subscribe leve, adequado a redes domésticas. Todas as interfaces publicam comandos no mesmo padrão de tópicos, então novas formas de interação entram sem mexer nos dispositivos. A primeira versão é uma aplicação web em Java (JSP), com páginas por cômodo pensadas para leitores de tela; a versão mais recente foi reescrita em Python com Django.

A programação pelo usuário final usa o Blockly, com blocos próprios de gatilhos (horário, sensores, estado dos aparelhos) e ações, traduzidos em regras que a central executa. A luva combina um ESP8266 com o acelerômetro e giroscópio MPU-6050 para reconhecer gestos da mão; o controle pela câmera usa TensorFlow.js com transfer learning sobre uma rede pré-treinada, treinada no próprio navegador com poucos exemplos do usuário; e os comandos de voz passam pelo CoGrOO, analisador de português, que extrai a ação e o dispositivo da frase antes de virar uma mensagem MQTT. Para pessoas com limitações motoras severas, um headset de EEG Emotiv EPOC+ (14 canais, via Bluetooth) captura comandos mentais treinados por usuário, que viram ações da casa pelo mesmo barramento MQTT; a usabilidade foi avaliada com 30 participantes, com protocolo de pensar em voz alta e análise de vídeo.

ESP8266MPU-6050MQTTJava · JSPPythonDjangoBlocklyTensorFlow.jsCoGrOOProcessingEmotiv EPOC+ (EEG)
Boi Feliz · Prova de conceito em IoT e IA para o agro
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Coleiras inteligentes que reconhecem o comportamento do gado

Prova de conceito de monitoramento de bovinos com coleiras que medem os movimentos do animal o tempo todo. As coleiras conversam entre si e enviam os dados para uma pequena estação no campo; a inteligência artificial aprende a reconhecer o que o animal está fazendo — andando, parado, sentado, levantando ou virando — e um painel mostra isso em tempo real. Mudanças de comportamento costumam ser o primeiro sinal de doença, cio ou estresse, e acompanhar isso de perto num rebanho grande é inviável sem tecnologia. Os testes foram feitos com animais reais — cães, porque com eles era possível pedir cada comportamento durante o treinamento (sentar, deitar, andar, levantar) e registrar exatamente o que o animal estava fazendo, algo impossível de controlar com bois no pasto. Projetamos e construímos tanto o hardware das coleiras quanto o software — do programa que roda em cada coleira ao aplicativo de campo e ao painel.

AgropecuáriaInternet das coisasInteligência artificialSensoresTempo real

Situação

  • Prova de conceito concluídaColeiras, estação de coleta, aplicativo e painel funcionando de ponta a ponta
  • Primeiros resultadosEm testes com cães, cerca de 3 em cada 4 comportamentos reconhecidos corretamente, com uma base ainda pequena de dados
  • O que a POC mostrouÉ viável reconhecer o comportamento do gado com coleiras de baixo custo; a precisão cresce com mais dados de campo

Projeto de pesquisa da UFLA — não é trabalho de consultoria.

Boi Feliz — imagens ilustrativas
Coleira com sensores Os dados chegam sozinhos Testes com cães Aprendendo com quem observa Painel em tempo real

Como funciona

Coleira com sensoresmede os movimentos do animalRede entre coleirassem roteador, sem internetEstação no camporeúne os dadosInteligência artificialreconhece o comportamentoPainel em tempo realo que cada animal está fazendo App de camporotula os dados

Passe o mouse para pausar · clique numa etapa do diagrama para ver a imagem correspondente.

Sem fio e de baixo custoColeiras com componentes acessíveis, que formam a própria rede no pasto.
Aprende com o campoQuem observa o rebanho ensina o sistema pelo aplicativo.
Em tempo realO comportamento aparece no painel enquanto acontece.

Arquitetura

Cada coleira tem um microcontrolador ESP8266 com o acelerômetro e giroscópio MPU-6050, que mede ângulos e acelerações em três eixos; um filtro de Kalman combina as duas leituras para estimar a inclinação com menos ruído. As coleiras trocam mensagens pelo ESP-NOW, protocolo ponto a ponto que dispensa roteador Wi-Fi, e um nó coletor repassa os dados por MQTT ou pela serial para uma estação com Raspberry Pi. Também foram testadas a comunicação por Bluetooth e a coleta direto no celular, com um aplicativo em Flutter usado para rotular o comportamento observado em campo.

Na classificação, cada amostra é uma janela com 100 leituras de cada sinal; os atributos são normalizados e reduzidos com PCA e LDA, e foram comparados regressão logística, SVM linear e com kernel RBF, árvore de decisão, Random Forest e KNN, com validação cruzada e busca de hiperparâmetros em pipelines do scikit-learn. Nos testes com cães, os melhores modelos chegaram a cerca de 77% de acerto no conjunto de teste, numa base ainda pequena. Um painel em Streamlit lê os dados em tempo real e ajusta curvas por regressão polinomial para visualizar cada movimento.

ESP8266MPU-6050ESP-NOWMQTTRaspberry PiFiltro de KalmanFlutterPythonscikit-learnStreamlit
Redes Veiculares · Pesquisa em comunicação entre veículos
  1. POC
  2. Protótipo
  3. MVP
  4. Em produção

Veículos que avisam uns aos outros sobre acidentes, sem internet

Protótipo de comunicação direta entre veículos para espalhar alertas de acidente pela estrada. Cada carro leva um pequeno dispositivo com GPS que conversa com os veículos ao redor, sem depender de internet ou de antena de celular; quando acontece um acidente, o alerta é repassado de carro em carro até quem vem atrás, com regras que evitam congestionar a comunicação. O sistema foi testado com carros de verdade nas ruas de Lavras e em simulações de tráfego com muitos veículos. Projetamos e construímos o hardware e o software — do dispositivo instalado nos carros às ferramentas de análise —, em parceria com o professor Luiz Henrique Andrade Correia, especialista em redes.

MobilidadeSegurança no trânsitoInternet das coisasComunicação sem fioSimulação

Resultados

  • Registro no INPIPrograma de computador Redes Veiculares — BR512019002553-9 (2019)
  • Testes de campoVeículos reais nas ruas de Lavras, em 2019

Projeto de pesquisa da UFLA — não é trabalho de consultoria.

Redes Veiculares — ilustrações e simulador
Um dispositivo em cada carro O alerta salta de carro em carro Testado nas ruas E em simulação No simulador Eclipse SUMO

Como funciona

validação do protocolo Dispositivo no veículoGPS + rádio de curto alcanceRede entre veículossem internet, sem antenaAlerta repassadode carro em carro, sem congestionarMotorista avisadoantes de chegar ao local Testes nas ruascarros reais em Lavras Simulação de tráfegomuitos veículos ao mesmo tempo

Passe o mouse para pausar · clique numa etapa do diagrama para ver a imagem correspondente.

Sem internetOs veículos formam a própria rede e funcionam mesmo onde não há sinal de celular.
O aviso chega antesO alerta salta de carro em carro até quem ainda vai passar pelo local do acidente.
Na rua e no simuladorTestes com carros reais e simulações com muitos veículos validaram o protocolo.

Arquitetura

Em cada veículo, um celular Android fornece a posição de GPS a um nó com microcontrolador ESP8266, que se comunica com os demais pelo ESP-NOW, protocolo ponto a ponto de baixa latência que dispensa roteador. Os nós trocam periodicamente posição, velocidade e um índice de confiança sobre cada vizinho, e retransmitem mensagens com controle de número de saltos e de reenvios, com regras para disseminar alertas de acidente sem inundar a rede. O firmware também implementa um modo que segue o padrão europeu ETSI para mensagens veiculares cooperativas, usado como referência de comparação.

Uma aplicação desktop em Java recebe os dados dos nós por socket, mostra os veículos no mapa, gera relatórios e pode emular nós, e se integra ao simulador de tráfego SUMO para testar o protocolo com fluxos de veículos em rotas e velocidades de 20 a 60 km/h. Nos testes de campo, cada nó registra em JSON as posições próprias e as recebidas dos vizinhos; scripts em Python comparam o que cada carro sabia sobre os outros com a posição real, calculam erro e confiança por par de nós e exportam GeoJSON e KML para visualização. Há ainda aplicativos Android e Flutter para acompanhar os nós no celular.

ESP8266ESP-NOWGPS (Android)JavaSUMOPythonGeoJSON · KMLFlutter

Quer colocar a sua ideia à prova?

Me conte em poucas linhas o que você quer testar, validar ou apresentar — e vemos juntos o melhor caminho.