Codificando o sensor de distância V5 usando desigualdades matemáticas

Usar o sensor de distância V5 em seu robô durante uma partida VEX Robotics Competition (VRC) pode permitir que seu robô marque mais pontos usando movimentos autônomos.

O jogo usado como exemplo neste artigo é o jogo VRC 2021-2022, Tipping Point. Consulte esta página para obter mais informações sobre o jogo e como é jogado. Para as definições de jogo utilizadas ao longo deste artigo, uma visão geral das regras do jogo e da pontuação, ver o Manual do Jogo para o Ponto de Viragem.


O sensor de distância V5

Vista em ângulo do sensor de distância V5.

O Sensor de Distância V5 é um dos potentes sensores V5 concebidos para uma integração completa com a plataforma robótica V5.

  • Este sensor usa um pulso de luz laser adequado para sala de aula para medir a distância da frente do sensor até um objeto.
  • O Sensor de Distância V5 pode ser usado para detectar um objeto e determinar o tamanho relativo do objeto. O tamanho aproximado de um objeto é relatado como pequeno, médio ou grande.
  • O sensor também pode ser usado para calcular a velocidade de aproximação de um robô. A velocidade de aproximação mede a velocidade do robô/sensor conforme ele se move em direção ao objeto.

Para obter informações mais detalhadas sobre o sensor de distância V5, como funciona e como utilizá-lo com o VEXcode V5, vconsulte este artigo da Biblioteca VEX.


Exemplo de sensor de distância V5

O objetivo deste projeto é fazer com que o robô pegue e mova uma meta móvel usando o sensor de distância V5 para detectar a distância da meta.

Projeto de blocos VEXcode V5 que avança até detetar um Objetivo Móvel, apanhá-lo e depois movê-lo. O projeto diz: "Ao iniciar, conduza para a frente, aguarde até que a distância do objeto DistanceCenter em mm seja inferior a 139 e, em seguida, pare de conduzir." Em seguida, rode os motores do empilhador para cima 600 graus e depois vire-os para a esquerda 90 graus. Em seguida, avance 600 mm, rode os motores da forquilha para baixo 600 graus e, depois, faça marcha-atrás durante 300 mm.

Este é o exemplo de código que será abordado neste artigo.

Será abordado um detalhamento dos comportamentos no exemplo e como obter os parâmetros usados ​​para codificar o Sensor de Distância V5.

Pode construir o projeto em VEXcode V5 como acompanha o artigo, ou pode simplesmente ler o artigo para se inspirar como exemplo de como incluir o sensor de distância V5 ao codificar o seu próprio robô personalizado.

Este vídeo mostra o código acima sendo executado e o robô pegando e movendo um Mobile Goal.

Neste exemplo, o menu Dispositivos do VEXcode V5 é aberto para visualizar a configuração do dispositivo. O menu lista inicialmente um sensor de distância denominado DistanceCenter na porta 19. De seguida, existe um sistema de transmissão com motores nas portas 1 e 10 e um sensor inercial na porta 3. Por último, existe um grupo de motores chamado ForkMotors nas portas 2 e 9.

Aqui está a configuração do robô usada no VEXcode V5 para adicionar o robô e o sensor de distância à configuração deste exemplo, se você quiser experimentar o exemplo sozinho.

Robô usado neste exemplo

Vista aérea do robô Moby Hero, com o sensor de distância V5 em destaque. O sensor de distância está localizado atrás e abaixo do garfo do robô, virado para a frente.

O robô usado neste exemplo é o VRC Hero Bot 2021-2022, Moby. O design do Moby não possui sensores, o Sensor de Distância V5 foi adicionado ao Moby para este exemplo.

Neste exemplo, o sensor de distância V5 é montado próximo ao centro de Moby's Forks.

Para mais informações sobre o Moby, este artigo da Biblioteca VEX.

Você não precisa usar o Moby para codificar o sensor de distância V5 ou para competir na competição deste ano. Você pode montar o sensor em seu robô personalizado onde achar necessário.

Nota: certifique-se de que nenhuma estrutura no robô esteja na frente da pequena janela do laser na face do sensor. É necessário que haja um caminho livre na frente do sensor, entre a meta e o sensor.

Detalhamento dos comportamentos para pontuar

Para pegar e mover uma meta móvel usando o feedback do sensor de distância V5, primeiro analise como o robô deve se mover.

O robô Moby é colocado num campo com uma baliza móvel posicionada a poucos metros à sua frente.

Primeiramente, o robô deve ser posicionado de frente para o Gol Móvel.

O robô Moby é mostrado após avançar para detetar o Objetivo Móvel. O objetivo móvel está agora dentro dos braços bifurcados do robô.

Em seguida, o robô deverá avançar até que o Sensor de Distância detecte que a Baliza Móvel está dentro dos Garfos e próximo ao sensor.

O robô Moby é mostrado após detetar o Objetivo Móvel e levantar os braços para o apanhar.

Assim que o sensor detecta que a Baliza Móvel está dentro dos Garfos ou perto do sensor, o robô para de dirigir e levanta os Garfos para pegar a Baliza Móvel.

Robô Moby a transportar o Objetivo Móvel, que rodou 90 graus para a esquerda.

Assim que o objetivo móvel for pego, o robô virará 90 graus à esquerda e avançará 600 milímetros (mm).

Robô Moby que baixou o garfo para colocar o Objetivo Móvel no chão e, de seguida, fez marcha-atrás.

O robô então abaixará os garfos para colocar a meta móvel no chão e dirigirá em marcha à ré para longe da meta móvel para que não a derrube acidentalmente durante o próximo movimento.


Compreendendo os parâmetros

Para executar os comportamentos acima, é importante entender a que distância o Mobile Goal está do Sensor de Distância V5.

Parâmetro para captar a Baliza Móvel utilizando o Sensor de Distância V5

Robô Moby num campo com um alvo móvel posicionado entre os seus garfos para que a distância ideal possa ser determinada.

Para que o robô avance até que o Sensor de Distância detecte que a Meta Móvel está dentro dos Forks e próximo ao sensor, os valores do sensor precisam ser registrados no V5 Brain.

Coloque a meta móvel entre os garfos do robô.

O ecrã do V5 Brain é apresentado no menu Início com a opção Dispositivos selecionada.O ecrã do Brain é apresentado no menu Informações do dispositivo, que contém uma lista de todas as portas inteligentes do Brain e dispositivos ligados. O ícone do Sensor de Distância no menu Informação do Dispositivo está destacado para indicar que os itens podem ser selecionados para abrir os seus respetivos menus de informação.

Em seguida, na tela do Cérebro, selecione 'Dispositivos' e depois o ícone do Sensor de Distância.

O ecrã do cérebro é apresentado no menu do Sensor de Distância, que lista os dados do sensor. O menu apresenta dados sobre o tamanho, a velocidade e a distância de um objeto. O menu também tem um diagrama que visualiza a distância e como esta muda ao longo do tempo. Nesta captura de ecrã, o objeto tem um tamanho pequeno, a sua velocidade é de 0 metros por segundo e a sua distância é de 139 mm.

A distância em milímetros (mm) que o Objetivo Móvel está do sensor é informada na tela do Cérebro.

O mesmo projeto VEXcode V5 Blocks de antes, que avança até detetar um Objetivo Móvel, apanha-o e depois move-o. O valor com o qual a distância do objeto medida pelo sensor de distância é comparada no projeto é 139 e está destacado.

Este é o valor que será utilizado no projeto ao pegar a Baliza Móvel através do Sensor de Distância.

Parâmetro para subir e descer os Garfos

Robô Moby num campo com um alvo móvel posicionado entre os seus garfos.

Coloque a meta móvel dentro dos garfos novamente.

O ecrã do Brain é apresentado no menu Informações do dispositivo, que contém uma lista de todas as portas inteligentes do Brain e dispositivos ligados. O ícone "Motor" no menu "Informações do dispositivo" é destacado para indicar que os itens podem ser selecionados para abrir os seus respetivos menus de informação.

Em seguida, na tela do Cérebro, selecione 'Dispositivos' e depois o ícone do Motor 2. O motor 2 controla o garfo esquerdo.

Robô Moby num campo com um alvo móvel posicionado entre os seus garfos levantados para o apanhar.

Levante manualmente os garfos até que a parte inferior da baliza móvel não bloqueie a visão do sensor de distância.

Ao levantar manualmente os garfos, certifique-se de levantar cada garfo do lado esquerdo e direito do Moby simultaneamente, pois cada um é controlado por seu próprio motor.

Nota: evitar pontos de esmagamento ao levantar manualmente os garfos.

O ecrã do cérebro é apresentado no menu Smart Motor, que lista os dados do dispositivo. O menu apresenta leituras e gráficos que exibem os dados do dispositivo. Nesta captura de ecrã, o valor em graus do motor está destacado e indica 604.

O número de graus que os Forks foram elevados é relatado na tela do Cérebro.

O mesmo projeto VEXcode V5 Blocks de antes, que avança até detetar um Objetivo Móvel, apanha-o e depois move-o. O número de graus de rotação do grupo Fork Motor no projeto é de 600 e está destacado.

Este é o valor que será utilizado no projeto ao subir e descer os Garfos para pegar e colocar a Baliza Móvel.

Usando blocos de operador

O bloco do operador "menor que" do VEXcode V5 é apresentado. Este bloco é utilizado para comparar dois valores e informar se o primeiro valor é inferior ao segundo.

Neste projeto, o bloco operador <Less than> é utilizado para codificar o Sensor de Distância.

O ecrã do cérebro é apresentado no menu do Sensor de Distância, que lista os dados do sensor. O menu apresenta dados sobre o tamanho, a velocidade e a distância de um objeto. O menu também tem um diagrama que visualiza a distância e como esta muda ao longo do tempo. Nesta captura de ecrã, o objeto tem um tamanho pequeno, a sua velocidade é de 0 metros por segundo e a sua distância é de 139 mm.

Isso ocorre porque à medida que o Sensor de Distância se aproxima cada vez mais de um objeto, a distância em milímetros entre o sensor e esse objeto diminui.

O mesmo projeto VEXcode V5 Blocks de antes, que avança até detetar um Objetivo Móvel, apanha-o e depois move-o. O valor com o qual a distância do objeto medida pelo sensor de distância é comparada no projeto é 139 e está destacado.

Os valores limite podem ser selecionados para acionar comportamentos do robô quando a distância for menor que um valor predeterminado.

Por exemplo, quando o robô estiver se dirigindo em direção ao objetivo móvel, use o bloco do operador <Less than> para acionar o comportamento do robô parando quando a distância for menor que , aproximadamente 139 milímetros (mm).

Robô Moby num campo com um Objetivo Móvel dentro dos seus garfos. A distância entre o sensor de distância e o objetivo móvel é realçada com uma seta vermelha.

Se esse valor mudasse para 10 milímetros (mm), por exemplo, o robô iria realmente colidir com o objetivo móvel e potencialmente se danificar, porque 10 milímetros (mm) de distância do sensor não é suficiente para evitar que os garfos do robô se toquem. o objetivo móvel.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: