Skip to content

garagino/LinePRO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

LinePRO

Projeto de Iniciação Científica 2025

Orientador: FERNANDO FERREIRA DE CARVALHO
Co-orientador: HENRIQUE BRAGA FORESTI
Pesquisadores: FLÁVIO ROMERO SANTOS DE SÁ MUNIZ e GABRIEL REIS DE MELO PIRES


📌 Visão Geral

O LinePRO-S3 é um projeto de pesquisa voltado ao desenvolvimento de um robô seguidor de linha inteligente, baseado no ESP32-S3, com foco em arquitetura modular, controle em tempo real, mapeamento geométrico da pista e ajuste dinâmico de parâmetros.

Diferentemente de seguidores de linha tradicionais, o sistema não apenas segue a pista, mas estima sua geometria, permitindo análises posteriores, otimização de trajetória e expansão para aplicações industriais e competitivas.


🎯 Objetivo Geral

Desenvolver um robô seguidor de linha capaz de mapear pistas, estimar curvaturas, e ajustar dinamicamente seu comportamento, utilizando controle PID, encoders e comunicação sem fio, visando aplicações em robótica competitiva e automação móvel.

🎯 Objetivos Específicos

  • Implementar um controle PID modular para seguimento preciso da linha.
  • Integrar sensores de linha QTR-8D com calibração dinâmica.
  • Utilizar encoders incrementais para:
  • Estimativa de posição e orientação (x, y, θ)
  • Cálculo do comprimento total da pista
  • Extração do raio de curvatura por segmento.
  • Desenvolver uma arquitetura de software modular, desacoplada e escalável.
  • Implementar uma máquina de estados para múltiplos modos de operação.
  • Permitir ajuste online de parâmetros via Bluetooth Low Energy (BLE).
  • Explorar estratégias de mapeamento da pista baseadas em tempo e distância.
  • Avaliar a escalabilidade da solução para aplicações industriais e educacionais.
  • Publicar os resultados.

🧠 Arquitetura de Software

O projeto é estruturado de forma modular, facilitando manutenção, testes e expansão:

src/
├── btBLE.*           # Comunicação BLE (UART)
├── menuBT.*          # Interface de comandos via BLE
├── sensors.*         # Leitura e calibração dos sensores de linha
├── L_sensor.*        # Abstração específica dos sensores QTR
├── pid.*             # Controle PID
├── motor_control.*   # Controle da ponte H (TB6612FNG)
├── encoder.*         # Leitura e processamento dos encoders
├── track_mapper.*   # Mapeamento geométrico da pista
├── globals.*         # Variáveis e parâmetros globais
├── config.h          # Configurações de hardware
└── main.cpp          # Máquina de estados e orquestração

⚙️ Hardware Utilizado

  • Microcontrolador: ESP32-S3-WROOM-1
  • Sensores de Linha: QTR-8D (Robocore)
  • Motores DC com Encoder
  • Driver de Motores: TB6612FNG
  • LED RGB: Onboard (NeoPixel)
  • Comunicação: Bluetooth Low Energy (BLE)

🔁 Modos de Operação

O sistema opera através de uma máquina de estados, incluindo:

  • IDLE — sistema em espera
  • CALIBRATING — calibração dos sensores de linha
  • SIMPLE_PID — seguimento de linha com PID clássico
  • TIME_ENCODER — mapeamento da pista baseado em tempo + encoders
  • SPACE_ENCODER — mapeamento da pista baseado em distância + encoders
  • LINE_FOLLOWING — seguimento contínuo com mapeamento simultâneo

📡 Comunicação BLE

O robô expõe uma interface BLE baseada em UART, permitindo:

  • Ajuste em tempo real de:
    • Ganhos PID (Kp, Ki, Kd)
    • Velocidade máxima
    • Margem de erro
  • Inicialização de modos de operação
  • Monitoramento via mensagens de retorno A comunicação BLE roda em uma task dedicada no Core 0, enquanto o controle do robô executa no Core 1, garantindo responsividade em tempo real.

🗺️ Mapeamento da Pista

O sistema segmenta a pista em trechos de 5 cm, estimando para cada segmento:

  • Deslocamento linear
  • Variação angular
  • Raio de curvatura Os dados são armazenados de forma compacta (int8_t), permitindo reconstrução da geometria da pista e análises posteriores.

🧪 Estado Atual do Projeto

✔ Arquitetura modular implementada
✔ Controle PID funcional
✔ Comunicação BLE operacional
✔ Leitura de sensores e encoders
✔ Mapeamento da pista por tempo e distância

🔄 Em desenvolvimento:

  • Integração com dashboards externos
  • Simulações em ambiente virtual
  • Análises de desempenho e otimização
  • Estudos exploratórios com aprendizado de máquina embarcado

🚧 Próximos Passos

  • Refinamento sistemático dos parâmetros do controlador PID a partir de dados experimentais coletados em pista.
  • Validação e ajuste do algoritmo de mapeamento da pista, avaliando a precisão da estimativa de curvatura por segmento.
  • Integração com ferramentas de análise externa (MATLAB) para:
    • análise dos dados de encoder e sensores,
    • validação do modelo cinemático,
    • estudo de estratégias de otimização de velocidade em curvas.
  • Desenvolvimento de algoritmos de otimização de percurso a partir do mapa da pista reconstruído.
  • Expansão do sistema de monitoramento para visualização gráfica dos dados de trajetória e controle.

📚 Contexto Acadêmico

Este projeto integra atividades de pesquisa aplicada em robótica móvel, com foco em:

  • Sistemas embarcados
  • Controle em tempo real
  • Robótica competitiva
  • Automação industrial Os resultados serão utilizados para publicações científicas, relatórios técnicos e apresentações acadêmicas.

Nossos pesquisadores

Foto Flavio
Flavio Muniz

frssm@cesar.school
Foto Gabriel
Gabriel Reis

grmp@cesar.school

About

Projeto de iniciação científica 2025

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published