SPIKE PRIME LESSONS
By the Creators of EV3Lessons
INDO RETO COM O
GIROSCÓPIO
POR SANJAY E ARVIND SESHAN
OBJETIVOS
Aprender a aplicar controle proporcional para que o seu robô siga reto.
Aprender a aplicar controle proporcional no Sensor Giroscópio para que o robô se mova
em um ângulo específico.
© 2020 FLLTutorials, Last edit 05/25/2020
2
DICAS PARA O SUCESSO
Você deve ter feito a lição “Seguidor de linha proporcional” antes de completar essa
lição.
Você também deve ter completado a lição “Virando com o giroscópio”
© 2020 FLLTutorials, Last edit 05/25/2020
3
O QUE É O MOVIMENTO RETO COM GIROSCÓPIO?
Imagine que você deseja andar por 200cm
reto.
Conforme você anda seu robô é atingido
por algo.
Um programa para ir reto com o
giroscópio ajuda o robô a corrigir seu
movimento e voltar a se mover reto, com
o desvio lateral de quanto foi empurrado.
(ver figura)
© 2020 FLLTutorials, Last edit 05/25/2020
4
COMO FUNCIONA
• O seguidor de linha proporcional e o mover reto com giroscópio tem
características em comum no código.
• Para escrever o código você deve primeiro pensar no erro e no que a
correção deve ser.
Application Objetivo Erro Correção
Giroscópio Faz o robô andar O quão longe você esta Vire de forma mais
reto a um ângulo desse ângulo. agressiva conforme
constante. você se afasta do
ângulo alvo.
Seguidor de Permanece na O quão longe sua leitura Vire de forma mais
linha borda da linha esta daquela encontrada agressiva conforme a
na borda da linha distância da linha.
(Leitura real – Leitura
Alvo)
© 2020 FLLTutorials, Last edit 05/25/2020
5
PSEUDOCÓDIGO
Defina os motores de movimento
Reset o valor da guinada para 0
Em um loop, calcule o erro e aplique a correção
Parte 1: Calcular o erro ( O quão longe se esta do ângulo alvo)
Para ir reto ângulo de guinada alvo = 0 (Nota: Assume-se que o Hub esteja na horizontal devemos olhar
a guinada para o desvio, sua montagem pode ser diferente)
A distância para o ângulo alvo é a leitura de guinada
Parte 2: Calcular uma correção proporcional ao erro
Multiplique o Erro da Parte 1 por uma constante (você deve experimentar e descobrir o valor para o seu
robô)
Coloque o valor que descobriu na Parte 2 em um Bloco Mover onde cada motor será ajustado
proporcionalmente.
Saia do loop conforme a necessidade modificando o bloco loop
© 2020 FLLTutorials, Last edit 05/25/2020
6
SOLUÇÃO: INDO RETO COM O GIROSCÓPIO
Reset o Angulo de guinada para definir a
direção em que o robô esta tentando ficar
Calcule o erro e a correção
Comece a se mover e
ajuste a direção baseado
em quão longe o robô
Mantenha tudo em loop para que o robô
esta do alvo.
continue atualizando a correção.
© 2020 FLLTutorials, Last edit 05/25/2020
7
GUIA DE DISCUSSÃO
1. Compare o seguidor de linha proporcional com o mover reto proporcional. Quais
semelhanças e diferenças você vê? Resposta: O Código é praticamente o mesmo, uma
diferença é como o erro é calculado, neste caso usando o sensor giroscópio. A correção
é idêntica.
2. E se você quisesse andar a um ângulo diferente (não só reto)? Como o código seria
diferente?
Resposta: Na parte 1 do código, não há bloco de subtração porque estaríamos
subtraindo “0” já que nosso objetivo ir reto. Você poderia subtrair o seu ângulo atual
do seu ângulo alvo se quisesse se mover a um ângulo especifico.
Angulo alvo = 5 graus
© 2020 FLLTutorials, Last edit 05/25/2020
8
CRÉDITOS
Essa lição foi criada por Sanjay Seshan e Arvind Seshan para SPIKE Prime Lessons
Mais lições em [Link]
Traduzido para o português por Lucas Colonna
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
© 2020 FLLTutorials, Last edit 05/25/2020
9