[TOC]
###### tags: `(minervabots,lego)`
> :robot_face: 2022.1 - LEGO SUMO WIKI
> atualizado em
> [time=Thu, Aug 11, 2022 12:24 PM]
# :memo: WIKI LEGO :robot_face:
>Abaixo segue a descrição das estratégias criadas, informações sobre mecânica do robos
# :pushpin: TIPO DE ESTRATÉGIAS
>Existem 3 grandes grupos de estratégias: Próprio Eixo, Padrão e Empate
- :one: **Próprio Eixo**: Esquerda, Direita
- :two: **Padrão**: Arco, Comunista, Capitalista, Moonwalker, Full Frente Honesto
- :three: **Desempate:** Full Ré Honesto, Bixo Piruleta
## 1. Próprio Eixo (Giro)
- Caso o robô seja posicionado de maneira errada, essa etapa vale como correção fazendo um leve giro no próprio eixo para a esquerda ou para a direita
- Também existe a possibilidade de ser usado como estratégia para o desempate (requer testes e 'refinamentos')
### Eixo: direito

### Eixo: esquerdo

## 2. Padrão
### Arco
1. O robô é posicionado de lado para o centro da arena
2. Executa um arco na direção selecionada (A direção selecionada dever ser sempre a mesma que os sensores apontam ou o botão mais próximo de você)

### Comunista (Manobra + Arco)
1. O robô é posicionado de frente para o centro da arena (recomenda-se posicionar um pouco mais atrás)
2. Inicialmente vai para frente e gira na direção selecionada
3. Executa o arco também na direção selecionada

### Capitalista (Manobra + Arco)
1. O robô é posicionado de frente um pouco mais no centro na arena
2. Inicialmente vai para trás
3. Faz o giro para uma direção selecionada
4. Executa o arco na direção selecionada

### MoonWalker (M.J.) - Armadilha de arco
1. O robô é posicionado de lado na Arena.
2. Inicia fazendo um arco para trás.
3. Gira no próprio eixo (A direção selecionada dever ser sempre a mesma que os sensores apontam ou o botão mais próximo de você)
4. Inicia o sensoriamento
5. (Bônus) Toca Smooth_Criminal.mp3

### Full frente honesto
1. O robô vai para frente honestamente antes de começar a sensoriar
2. Após um tempo, ele entra em modo de sensoriamento

### Maracutaia
Em desenvolvimento...
## Empate
### Full ré Honesto (**sentadona.mp3**)
1. O robô começa de costas, na mesma linha do adversário
2. O robô dá ré com tudo
>**Obs:** Talvez ter dentes atrás ajude nessa estratégia.
>:warning: Importante ser um robô forte para conseguir empurrar

### Bixo Piruleta - (Giro no eixo de uma das rodas)
1. O Robô começa de costas, na linha do adversário
2. O robo gira no eixo de apenas uma das rodas
3. Dependendo da posição do robô inimigo, pode pega-lo de lado

---
# :pushpin:**BRICK**
**POSIÇÃO PADRÃO DE REFERÊNCIA: ==MONITOR VIRADO PARA A DIREITA==**
>:warning:Tudo depende de seu referencial , escolha os botões com base na referência levando em consideração sempre o monitor virado para sua direita!

# :pushpin:SELEÇÃO DE ESTRATÉGIA
As estratégias estão relacionadas com a cor demonstrada no BRICK.
>:warning: As cores indicadas abaixo correspondem a etapa de seleção no brick.
A seleção de estratégias ocorre em 4 etapas:
## Passo 1: Selecione o primeiro ciclo de estratégias!
>Selecione se o robô realizará um giro no próprio eixo, ir para as estratégias de desempate ou para as estratégias padrão
[color=#FFA500]
| Correção/Estratégia | BOTÃO |
|:----------------- |:-------------: |
| Giro Esquerda | :arrow_left: |
| Giro Direita | :arrow_right: |
| Estratégia Padrão | :arrow_forward:|
| Desempate | :arrow_down: |
## Passo 2: Selecione Estratégias (PADRÃO)
> Seleciona as estratégias padrões
[color= #32CD32]
| Estratégia | BOTÃO |
|:----------------- |:-------------:|
| Comunismo | :arrow_left: |
| Capitalismo | :arrow_right: |
| Moonwalk | :arrow_up: |
| Arco | :arrow_down: |
## Passo 2: Selecione Estratégias (DESEMPATE)
> Seleciona as estratégias de desempate
[color=#FF0000]
| Estratégia | BOTÃO |
|:----------------- |:-------------: |
| Bixo Piruleta | :arrow_forward:|
## Passo 3: Selecione Direção
> Seleciona a direção das estratégias ou estratégias que não dependem de escolha de direção (Radar, Full Frente/Ré)
[color=#FFA500]
| Direção | BOTÃO |
|:----------------- |:-------------: |
| Direita | :arrow_right: |
| Esquerda | :arrow_left: |
| Full Frente | :arrow_up: |
| Full Ré | :arrow_down: |
| Radar | :arrow_forward:|
## Passo 4: Selecione a direção do sensoriamento
> Seleciona a direção inicial do sensoriamento, ou seja, o lado para qual o robô vai girar primeiro quando iniciar o radar
[color=#FF0000]
| Direção do Sensoriamento | BOTÃO |
|:----------------- |:-------------: |
| Direita | :arrow_right: |
| Esquerda | :arrow_left: |
---
## IMAGEM: ESTRATÉGIAS

## Fluxograma de estratégias - desatualizado

---
# :memo: MECÂNICA DOS ROBOS :hammer_and_wrench:
## TRETA::robot_face:
>
Brick utilizada: EV3 Brick (LEGO® MINDSTORMS® EV3)
[Manual - datasheet:](https://www.lego.com/cdn/cs/set/assets/bltbef4d6ce0f40363c/LMSUser_Guide_LEGO_MINDSTORMS_EV3_11_Tablet_ENUS.pdf)
---
### Proposta:
> Treta ou SuperTreta é um robô de sumô e suas principais armas são seus 4 motores e seu chifre. Com 4 motores (dois em cada lado) e dois sensores NXT (um em cada lado), temos um robô extramente forte com bastante torque.
### Motores:
> O Treta possui 4 motores:
- Saída A e B : roda esquerda
- Saída C e D : roda direita
### Sensores:
> Ele possui 2 sensores ultrassom do NXT:
- Entrada 1 : sensor da direita
- Entrada 2 : sensor da esquerda
OBS: Os sensores devem ficar levemente na diagonal em relação ao centro do robô para que o sensoriamento do radar seja feito corretamente
---
### Conexões:
Tabela de Conexões
| | ESQUERDA | DIREITA |
| ------ | ------------ | ------------ |
| MOTOR | Saida A e B | Saida C e D |
| SENSOR | ENTRADA 2 | ENTRADA 1 |

---
### Mecânica:
- Como o treta usa 4 motores para locomoção, o sistema de queda do chifre é feito de forma mecânica. Uma viga fica entre o chifre e o robô e é ligada em um dos motores por um pino de meio; Logo, sempre que o robô anda (giro do motor) a viga vai para frente e derruba o chifre com auxílio dos elásticos **vermelhos**
**OBS: Até o momento é a forma mais eficiente de sistema de queda**
>:warning: **Entretanto lembre sempre de ajeitar a viga para posição original antes de colocar o pino no motor e conectar apenas pela metade (nem muito lá nem muito cá)**


- O Chifre por sí só não se segura quando está com os elástiscos, então agora usamos uma peça do lego que segura o chifre. Até agora se mostrou eficiente segurando sozinho mas deixando cair facilmente ao mínimo toque do sistema de queda. **(Para encaixar o chifre na peça é necessário fazer uma leve força para cima**)

- O Chifre também possui uma tocha(pino) que fica conectado ao lado da viga de sustentação da frente e segura o chifre quando ele cai mantendo uma inclinação ideal para empurrar os robõs adversários, além disso é possível retirar a tocha para lutar com robôs menores e compactos


- Em relação à mecânica dos sensores está bastante eficiente do jeito que está. O sensoriamento é feito corretamente devido a posição dos sensores e não há problemas até o momento com nenhuma possível batida ou possibilidade do sensores saírem durante a luta.

### Luta:
- Durante a luta, o chifre fica erguido e deve cair rapidamente quando o robô se movimenta. Como o treta é um robô muito forte geralmente consegue ganhar apenas empurrando de frente até mesmo sem o chifre, mas é importante ficar sempre atento com a arma do robô adversário e a altura do centro de massa para ver ser é necessário retirar a tocha de inclinação.

*Luta em que foi retirada a tocha para diminuir a altura do chifre*
Estrategias:
(inserir link para o hackmd de estratégias)
---
## VIOLETA::robot_face:
Violeta é um robô de sumô, sua arma é modular, podendo ser usado um chifre ou uma rampa móvel. Ela possui 3 motores de deslocamento(2 na esquerda e 1 na direita) e seu sensoriamento são 2 ultrassons(modelo EV3).
> Brick utilizada: EV3 Brick (LEGO® MINDSTORMS® EV3)
[Manual - datasheet:](https://www.lego.com/cdn/cs/set/assets/bltbef4d6ce0f40363c/LMSUser_Guide_LEGO_MINDSTORMS_EV3_11_Tablet_ENUS.pdf)
---
### Proposta:
>A Violeta é um robô da categoria Sumô LEGO que tem princípios de funcionamento/estruturais paralelos aos utilizados nas categorias Sumô 3Kg e Sumô Minis, ou seja, sua principal característica, no que diz respeito a arma, é a presença de rampa. Desse modo, o objetivo idealizado do robô é tirar parte do adversário do chão, deslocando o centro de massa e diminuindo o torque para, assim, conseguir deslocá-lo para fora do dojo.
### Motores:
>A Violeta possui 4 motores, sendo 3 deles para o deslocamento/torque e 1 servo para a ativação da rampa.
- Saída A e B : Roda esquerda
- Saída C: Roda direita
- Saída D: Servo
### Sensores:
>A violeta possui 2 sensores ultrassom EV3
- Entrada 1: direita
- Entrada 2: esquerda
### Conexões:
Tabela de Conexões
| | ESQUERDA | DIREITA |
| ------ | ------------ | ------------ |
| MOTOR | Saida A e B | Saida C |
| SERVO | | Saída D |
| SENSOR | ENTRADA 2 | ENTRADA 1 |

### Mecânica:
### Melhorias:
- [Reforço do suporte dos sensores da Violeta](https://hackmd.io/xpK3mC7bQGecWqCZiqr3tw?both)
- [Desenvolvimento da rampa da Violeta](https://hackmd.io/MZEZR9-kQvi0yH2pkjmRww?both)
### Luta:
Durante a luta, a rampa fica para cima presa pelo mecânismo atrelado ao servo motor e cai pela força dos elásticos quando começa o round. É essencial que a rampa caia bem rápido para evitar que arma do robô adversário fique por baixo da rampa da violeta.

# :memo: COMPETIÇÃO :robot_face:
## Pontos de experiência:
- Apesar das diversas estratégias, dependendo do conhecimento do robô adversário, muitas das vezes a estratégia mais eficiente será um simples full frente honesto/radar. Por isso, é bom sempre começar de frente para entender o funcionamento do outro robô caso não se tenha nenhum tipo de conhecimento prévio.
- Algumas lutas perdemos pela tentativa de usar uma estratégia mais elaborada, enquanto um full frente foi mais eficaz
- Ainda que o robô adversário esteja posicionado de lado, nada garante que ele vá percorrer a arena toda antes de sensoriar, geralmente ele apenas gira e vai de frente pro seu robô. Ou seja, muito cuidado com movimentos muito demorados ou que possam colocar seu robô em risco (ser pego pelos lados)
- Há também a possibilidade do robô adversário está posicionado de lado, ir para trás e depois começar o sensoriamento. Caso seu robô tenha ido para frente com tudo existe a possibiliade de ser pego de lado, por isso, fique atento com o posicionamento e converse com seu co-piloto.
- Sempre verifique o funcionamento do robô antes da luta. **Código em python não funciona se todos os cabos não estiverem devidamente conectados**, além disso pode ser que ocorra de não funcionar mesmo com tudo conectado. Sem desespero:
- Tire e coloque novamente os cabos até estarem conectados (No menu inicial do brick é possível ver se todos os motores e sensores estão ligados)
- Reinicie o Brick
- Se após isso ainda bugar, chore e/ou ganhe tempo enquanto alguém da sua equipe pega outro brick
- Situações imprevistas podem acontecer como o robô misteriosamente não funcionando durante a luta ou antes dela. Por isso é bom saber ganhar tempo dentro das regras.
- Não ficar nervoso e só colocar o robô com ameaça de um amarelo é uma delas (necessário 50+ de frieza)
- Posicionar mesmo sabendo que não vai funcionar pra ganhar um pouco mais de tempo
- Conversar com a equipe advérsaria pra passar a vez (Depende da competição)
- Nervosismo é totalmente comum. Contudo, saber como seu robô funciona e os movimentos exatos que ele vai fazer facilita demais. **Confie no seu robô e em sí mesmo**, muitas das vezes o adversário só vai pra frente mesmo ou tem uma mecânica miserável, então sem medo ~~de comer cu~~
- Tome cuidado com alguns robôs específicos. Certos oponentes 'estranhamente' saem mais rápidos que outros e geralmente se posicionam bem na frente, então qualquer movimento de estratégia demora muito. Nesse caso, ir de frente e posicionado um pouco mais atrás seria a melhor situação.
<center> NENHUM DE NÓS É TÃO BOM QUANTO TODOS NÓS JUNTOS!