Ir para o conteúdo principal

Aponte para o objetivo

Crie um algoritmo para encontrar a direção de lançamento ideal para o Hero Bot posicionado num local específico para garantir que a Triball marca com sucesso na baliza. Utiliza os blocos [Conduzir para] e [Virar para a direção], o Sensor GPS, o Motor do Braço e o Motor de Entrada para programar o Hero Bot para apanhar cada uma das três Triball destacadas, conduzir até à posição localizada em (600, 600), virar na direção ideal e lançar a Triball para o Golo da Aliança Vermelha. Ganha quem fizer o menor tempo!

  • 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é-carga do robô " " para o robô.
  • Crie um algoritmo para guiar o robô até uma posição específica.
  • Cria um algoritmo para guiar o robô até uma posição para apanhar uma Triball localizada num ponto específico.
  • Crie um algoritmo para encontrar a direção de lançamento ideal para marcar um golo com a Triball.
  • Programe o robô para rodar o motor do braço até que o braço esteja totalmente baixado para apanhar uma Triball no campo.
  • Programa o Robô Herói para apanhar a Tribola destacada localizada em (0,1500) e marcar um golo no Golo da Aliança Vermelha. 
    • Utiliza o algoritmo para conduzir o robô até uma posição para apanhar a Triball destacada localizada em (0, 1500).
    • Programe o robô para rodar o motor de entrada e apanhar a Triball.
    • Utilize o algoritmo para guiar o robô até às coordenadas (600, 600).
    • Utiliza o algoritmo para encontrar a direção de lançamento ideal para o Hero Bot marcar o golo com a Triball. Rode o robô na direção do lançamento.
    • Programa o robô para rodar o Motor de Admissão e lançar a Tribola em direção ao Gol da Aliança Vermelha.
  • Programa o Hero Bot para apanhar a Tribola destacada localizada em (1600, 1600) e marcar no Gol da Aliança Vermelha.
  • Programa o Robot Herói para apanhar a Tribola destacada localizada em (-125, 1075) e marcar um golo no Golo da Aliança Vermelha. 
  • Utilize o bloco [print] para imprimir o valor do temporizador na Consola de Impressão.

Dicas úteis

  • Planeie uma trajetória esperada para a Triball de forma a encontrar a direção de lançamento ideal.
    • Planeie uma trajetória para a Triball de forma a evitar que esta colida com os postes, os pinos da estrutura da baliza ou as Triballs dentro da baliza.
    • Selecione uma posição na trajetória planeada no Objetivo como ponto de mira e identifique as coordenadas X e Y desse ponto.
    • Utilize as coordenadas do robô (x1, y1), as coordenadas do ponto de mira (x2, y2) e a função arctan para encontrar a direção de lançamento.
      • Calcule o ângulo θ da reta que liga estes dois pontos. 

        Diagrama de duas expressões matemáticas. A primeira expressão lê-se 'theta é igual a atan((y2 - y1) / (x2 - x1))'. A segunda expressão diz 'menos pi / 2 é menor que theta, que é menor que pi / 2'.

        O diagrama matemático de cima para baixo mostra o robô na coordenada (X1, Y1) e uma linha que aponta para a coordenada (X2, Y2). A distância é representada pela variável d, e o ângulo é representado pela variável theta. A distância horizontal entre os pontos é representada como 'x2 - x1', e a distância vertical é representada como 'y2 - y1'.

    • Converter o ângulo theta θ na direção do robô.

      Exemplo de pseudocódigo para expressão matemática (Direção inicial: Norte):

      se X1 igual a X2:
      	se Y2 > Y1:
      		direcção = 0
      	senão:
      		direcção = 180
      senão:
      	se X2 > X1:
      		direcção = 90 - atan((Y2 - Y1) / (X2 - X1))
      	senão:
      		direcção = 270 - atan((Y2 - Y1) / (X2 - X1))

      O diagrama de cima para baixo mostra o robô dentro de um círculo com etiquetas a marcar o círculo'a 360 graus.

    • Utilize o bloco de função da categoria Operadores e seleccione a função atan para calcular o ângulo theta θ

      Bloco de função VEXcode vazio que lê 'atan de' em branco.

      • Comando Python correspondente:

        math.atan() / math.pi * 180

Para mais informações sobre como utilizar o sensor GPS no VRC Over Under Playground, clique aqui