Software de controle do robô competitivo da equipe Rev Atom para a FIRST Tech Challenge (FTC). O projeto cobre todo o ciclo de operação do robô em competição: subsistemas com controle PIDF, modos autônomos baseados em trajetórias e modos teleoperados (TeleOp).
Equipe Rev Atom — 2º lugar na fase Regional, 2º lugar na fase Nacional (Brasil) e participação em torneio internacional no Canadá (FIRST 2025).
O código é construído sobre o FTC SDK e integra duas bibliotecas da comunidade:
- NextFTC — framework de comandos e subsistemas, com controladores PIDF e feedforward.
- PedroPathing — seguimento de trajetórias (path following) para a fase autônoma, com tuners de localização e velocidade.
TeamCode/src/main/java/
OpModes/
Autos/ # Rotinas autônomas (AutoRev, Autorev1)
TeleOp/ # Controle manual (TeleOpRev, TeleOpPremier, OdometryPositionFinder)
Subsystems/
Lift.java # Elevador com controle PIDF (RunToPosition / HoldPosition)
Intake.java # Sistema de coleta
Extend.java # Extensão do braço
Values/ # Constantes e ganhos PID (LiftPID, ExtendPID, RConstants, Caminhos)
pedroPathing/ # Constantes, exemplos e tuners de trajetória
Cada subsistema é modelado como um Subsystem do NextFTC com comandos compostos. Por exemplo, o Lift usa um PIDFController com feedforward estático para posicionamento preciso do elevador, expondo comandos como toTarget(), ToHigh(), ToLow() e HoldPosition como comportamento padrão.
As rotinas autônomas usam o PedroPathing para seguir trajetórias pré-definidas, com os ganhos calibrados pelos tuners em pedroPathing/tuners_tests/ (velocidade, localização e PID).
Pré-requisitos: Android Studio e a Control Hub / Robot Controller da FTC.
- Clone o repositório e abra a pasta no Android Studio.
- Conecte o Robot Controller (Control Hub) via USB ou Wi-Fi.
- Selecione o módulo TeamCode e faça o build/deploy:
./gradlew :TeamCode:assembleDebug- Na Driver Station, selecione o OpMode desejado (Autônomo ou TeleOp) e execute.
- Java sobre o FTC Robot Controller SDK
- Gradle para build
- NextFTC (comandos, subsistemas, controle PIDF)
- PedroPathing (path following e tuning de autônomo)
Este projeto inclui código do FTC SDK, licenciado sob os termos descritos em LICENSE.
Desenvolvido por Caio Matheus Bezerra da Silva — Capitão Técnico e Desenvolvedor, Equipe Rev Atom.