Ir para o conteúdo principal

Desafio de Carregamento de Partidas

Crie um algoritmo que utilize os blocos [Drive for] e [Turn to heading], o sensor GPS, o motor do braço e o motor de admissão para programar o Hero Bot para marcar primeiro com a Triball de pré-carga do robô na baliza da Aliança Azul, depois lançar três Triballs de carga combinada na baliza da Aliança Vermelha e marcar três Triballs de carga combinada na zona ofensiva. Utilize o cronómetro para avaliar a eficiência dos dois métodos de pontuação Match Load Triballs.

  • Selecione a opção VRC Virtual Skills - Over Under Playground.
  • Utilize a lista de verificação pré-jogo para selecionar um local de partida, uma direção de partida e pré-carregar o robô ( "Sim").
  • Utilize a lista de verificação de pré-jogo para selecionar um local de pré-carregamento de campo pretendido .
  • Programa o Robô Herói para marcar um golo com a Tribola Pré-carregada do Robô, marcando o golo da Aliança Azul. 
  • Programa o robô para apanhar separadamente Match Load Triballs no canto inferior esquerdo do Campo e marcá-las no Gol da Aliança Vermelha. Utilize o cronómetro para medir a duração deste processo.
    • Reinicie o cronómetro.
    • Leva o Hero Bot até à posição para apanhares a Tribola de Carregamento da Partida, localizada no canto inferior esquerdo do campo. Roda o motor de admissão para apanhar a Triball. 
    • Conduz o robô em direção ao objetivo da Aliança Vermelha. Roda o motor de admissão para lançar a Tribola em direção à baliza da Aliança Vermelha.
    • Clique no botão 'LZ 2' destacado a laranja para colocar uma Triball na Zona de Carregamento do Jogo.
    • Utilize um loop para programar o robô para repetir as ações acima um número determinado de vezes, de forma a marcar três Triballs Match Load no Golo da Aliança Vermelha.
    • Utilize o bloco [print] para imprimir o valor do temporizador na Consola de Impressão.
  • Programa o robô para apanhar separadamente Match Load Triballs no canto inferior esquerdo do Campo e marcá-las na Zona Ofensiva. Utilize o cronómetro para medir a duração deste processo.
    • Reinicie o cronómetro.
    • Leva o Hero Bot até à posição para apanhares a Tribola de Carregamento da Partida, localizada no canto inferior esquerdo do campo. Rode o motor de admissão para apanhar o Triball.
    • Conduza o robô em direção à Zona Ofensiva. Roda o motor de admissão para lançar a Triball para a zona ofensiva.
    • Clique no botão 'LZ 2' destacado a laranja para colocar uma Triball na Zona de Carregamento do Jogo.
    • Utilize um loop para programar o robô para repetir as ações acima um número determinado de vezes, de forma a marcar três Triballs Match Load na Zona Ofensiva.
    • Utilize o bloco [print] para imprimir o valor do temporizador na Consola de Impressão.

Dicas úteis

  • Para obter ajuda sobre a utilização de Match Loads no VRC Over Under para VEXcode VR, este artigo.
  • Utilize o bloco reset timer da categoria "Sensing" para repor o valor do temporizador para 0 segundos.

    Bloco de temporizador de reinicialização VEXcode que lê 'reinicia o temporizador'.

    • Comando Python correspondente:

      cérebro.temporizador.limpar()
  • Para evitar que a Tribola ricocheteie ou se empilhe sobre outra Tribola, evite lançar as Tribolas para a baliza ou para a zona ofensiva sempre da mesma posição e na mesma direção.
  • Utilize o bloco da categoria Operadores para ajustar a direção do robô dentro de um intervalo e lançar as Triballs em diferentes direções de pontuação.

    Bloco VEXcode "Turn to heading" contendo um bloco aleatório que, em conjunto, se lê 'turn to heading (pick random 30 to 120) degrees'.

    • Comando Python correspondente:

      drivetrain.turn_to_heading(random.randint(30, 120), DEGREES)
  • Utilize o bloco repetir da categoria "Controlo" para programar o robô de realidade virtual para repetir os blocos nele contidos um determinado número de vezes.

    Bloco VEXcode Repeat vazio que lê 'repeat 3'.

    • Comando Python correspondente:

      para contagem_repetição em intervalo(3):
      	espera(5, MSEC)