# CoreBot - Robô para o Jogo FRC 2025

# Visão Geral & Objetivos

Nessa página serão apresentados os objetivos, funcionalidades e prioridades de design do CoreBot

<p class="callout info">Este documento foi desenvolvido em parceria com a equipe JACTECH #9458</p>

---

## Propósito Principal

O **CoreBot** é um projeto aberto para times com poucos recursos construírem robôs de FRC de maneira otimizada e competitiva.

Foi projetado para o jogo FRC 2025, destacando-se em:

- Pontuar elementos de coral nos níveis **L1, L2 e L3 do Recife.**
- Remover algas do Recife.
- Coletar coral de um lado e pontuar do outro lado do robô.

 ![](https://docs.stemos.com.br/uploads/images/gallery/2025-02/reef.png)

 ![](https://docs.stemos.com.br/uploads/images/gallery/2025-02/scaled-1680-/reefstation.png)

---

#### Prioridades de Design

- Custo reduzido: Focado em acessibilidade para equipes com recursos limitados.
- Velocidade adequada: Equilíbrio entre mobilidade e estabilidade.
- Modularidade: Componentes adaptáveis às preferências da equipe.

---

#### Inovações Principais

- Pontuação bilateral: Capacidade única de coletar e pontuar em lados opostos do robô.

---

#### Regras do Jogo que Influenciaram o Design

- Requisitos de pontuação em L1–L3.
- Mecânica de remoção de algas.

# Especificações Técnicas e Design Mecânico

Nessa página serão mostradas as Especificações Técnicas e o Design Mecânico do CoreBot

---

## Especificações Técnicas

<table id="bkmrk-categoria-detalhes-d" style="border-collapse: collapse; width: 80%;"> <thead> <tr style="background-color: #666; color: white; border: 1.5px solid #444;"> <th style="padding: 10px; text-align: left;">Categoria</th> <th style="padding: 10px; text-align: left;">Detalhes</th> </tr> </thead> <tbody> <tr style="background-color: #ffffff; border: 1.5px solid #bbb;"> <td style="padding: 10px;">**Dimensão**</td> <td style="padding: 10px;">Altura: 1M, Peso: Máximo 40kg</td> </tr> <tr style="background-color: #f2f2f2; border: 1.5px solid #bbb;"> <td style="padding: 10px;">**Sistema de tração**</td> <td style="padding: 10px;">Tank</td> </tr> <tr style="background-color: #ffffff; border: 1.5px solid #bbb;"> <td style="padding: 10px;">**Motores**</td> <td style="padding: 10px;">- Pivô: 1x NEO (com encoder integrado)</td> </tr> <tr style="background-color: #f2f2f2; border: 1.5px solid #bbb;"> <td></td> <td style="padding: 10px;">- EndEffector: 1x motor DC</td> </tr> <tr style="background-color: #ffffff; border: 1.5px solid #bbb;"> <td></td> <td style="padding: 10px;">- Backpack: 1x motor DC</td> </tr> <tr style="background-color: #f2f2f2; border: 1.5px solid #bbb;"> <td></td> <td style="padding: 10px;">- Tração: 4x motores (escolha da equipe)</td> </tr> <tr style="background-color: #ffffff; border: 1.5px solid #bbb;"> <td style="padding: 10px;">**Automação**</td> <td style="padding: 10px;">- Encoder relativo (integrado ao motor NEO)</td> </tr> <tr style="background-color: #f2f2f2; border: 1.5px solid #bbb;"> <td></td> <td style="padding: 10px;">- Sensores adicionais opcionais</td> </tr> <tr style="background-color: #ffffff; border: 1.5px solid #bbb;"> <td style="padding: 10px;">**Sistemas de Controle**</td> <td style="padding: 10px;">Configurável de acordo com a equipe (ex: RoboRIO + SPARK MAX/TalonFX)</td> </tr> </tbody></table>

---

## Design Mecânico

#### Estrutura do Chassi

- Materiais: Alumínio (estrutura principal) + policarbonato (painéis leves).
- Montagem: Parafusada para modularidade e fácil manutenção.

---

#### Mecanismos Críticos

- EndEffector: Mecanismo central de pontuação (design personalizável pela equipe).
- Junta: Subsistema de braço com redução de 3:1 (corrente/roda dentada) para movimentos precisos.

---

#### Durabilidade &amp; Segurança

- Suportes reforçados para a superestrutura.
- Mínimo de peças personalizadas para confiabilidade.

# Software e Subsistemas

Nessa página serão abordados o software, seus controles e os subsistemas incluídos no robô

---

## Software e Controles

#### Programação

- Framework: Java command-based (WPILib).
- Autônomo: Pode-se usar bibliotecas para autonomous, ficando de preferência da equipe.

---

#### Sensores &amp; Feedback

- Encoder relativo do NEO permite ajuste PID para posicionamento da junta.

---

#### Ferramentas de Depuração

- Shuffleboard: Monitora valores PID, status dos motores e dados dos sensores.

---

## Subsistemas &amp; Funcionalidades

#### Chassi Tank

- Função: Mobilidade e controle do chassi.
- Componentes: 4x motores + 4x controladores SPARK MAX.

---

#### Backpack (Mochila)

- Função: Coleta coral da Estação de Coral deitado e pontua em L1.
- Componentes: 1x motor DC + SPARK MAX + rodas flexíveis de 4 polegadas.

---

#### Junta (Grau de Liberdade)

- Função: Posiciona o EndEffector para pontuação em L2/L3.
- Componentes: 1x motor com caixa de redução 3:1 + sistema de corrente/roda dentada.

---

#### EndEffector

- Função: Interage diretamente com os elementos do jogo (pontuação do coral/remoção de algas).
- Componentes: Mecanismo com 1 motor e rodas flexíveis de 2.5 polegadas (design personalizável).

---

#### Melhorias futuras

- Adicionar vision processing (ex: Limelight) para alinhamento autônomo.
- Atualizar para tração swerve (se houver recursos disponíveis).

# Guia do Usuário e Montagem

Nessa página será mostrado o Guia do Usuário juntamentre com passos críticos da montagem

---

## Guia do Usuário

#### Controles do Driver:

- Botão A: Pontuação no L1 (Pontuação via Backpack)
- Botão B: Pontuação no L2 (Posicionamento da junta no L2 -&gt; Pontuação)
- Botão Y: Pontuação no L3 (Posicionamento da junta no L3 -&gt; Pontuação)
- Gatilho Direito: Intake pela backpack (Coleta via Backpack -&gt; Armazenamento Backpack)
- Gatilho Esquerdo: Pontuação no L1 (Coleta via Outtake)
- Botão Start: Posição Home (Posicionamento da junta na posição 0)

---

#### Fluxo de Ações:

1. Posicionamento na junta -&gt; Coleta pelo EndEffector → Armazenamento → Posicionamento da junta → Pontuação -&gt; Retorno do EndEffector para o home
2. Intake via backpack -&gt; Armazenamento -&gt; Pontuação

---

#### Problemas Comuns:

- 0 do encoder relativo: Verifique firmware do SPARK MAX e conexões de energia.
- Encoder descalibrado: Rezerar o encoder do NEO via software.

---

## Montagem &amp; Manutenção

#### Passos Críticos:

- Ajuste da tensão da corrente da junta (corrente #35).
- Calibração: Zerar o encoder do NEO após a montagem e garantir que o robô vai ser ligado na sua posição inicial.

# CAD e Código do CoreBot

Nessa página será mostrado o CAD no Onshape, juntamente com o código base do CoreBot no GitHub

---

CAD: [LINK](https://cad.onshape.com/documents/72107048f239613af2a2a38e/w/d243c281e397d77bc8b48d36/e/0d23374bdcf1bfc317e9e097?renderMode=0&uiState=679be3f42a26c476026bc050)

---

Código: [LINK](https://github.com/JACTECH9458/CoreBot/tree/main/CoreBot2025-Code)

---

GitHub: [LINK](https://github.com/JACTECH9458/CoreBot)

<p class="callout info">O código acima se trata de uma base, os valores devem ser alterados de acordo com o robô da equipe.</p>