Ir para o conteúdo principal

Nova altura

Crie um sistema de coordenadas no Campo de Habilidades Virtuais de Volume Total com a posição do ponto vermelho como origem (0, 0) e a posição inicial do Centro do Robô Herói localizado nas coordenadas (0, 36). Utiliza os blocos [Conduzir para], [Virar para a direção], [Rodar para a posição] e [Rodar para] para programar o Robô Herói para apanhar cada um dos quatro Blocos Roxos destacados e marcar no Gol III. Crie um algoritmo que navegue com o robô até uma posição específica para largar o Bloco e fazer com que o Objectivo tenha o Nível de Preenchimento 3.

  • Selecione VIQRC Virtual Skills - Full Volume Playground.
  • Programa o Robô Herói para apanhar um Bloco Roxo destacado e marcar um golo no Gol III. 
    • Crie um algoritmo para conduzir o robô por uma determinada distância e rastrear as suas coordenadas X e Y. Utiliza o algoritmo para guiar o robô até ao bloco roxo destacado.
    • Programe o robô para apanhar o bloco.
    • Crie um algoritmo para guiar o robô até uma posição específica. Utilize o algoritmo para navegar o robô até às coordenadas (-70, 1270) e rode o robô para a direção -45 graus.
    • Programe o robô para largar o bloco.
  • Programe o Robô Herói para apanhar o segundo Bloco Roxo destacado e marcá-lo no Gol III na mesma posição e orientação em que marcou o primeiro Bloco Roxo. 
  • Programe o Robô Herói para apanhar o terceiro Bloco Roxo destacado e marcá-lo no Gol III na mesma posição e orientação em que marcou o primeiro Bloco Roxo. 
  • Programe o Robô Herói para apanhar o quarto Bloco Roxo destacado e marcá-lo no Gol III na mesma posição e orientação em que marcou o primeiro Bloco Roxo. 

Dicas úteis

  • Utilize as coordenadas do robô (x1, y1), as coordenadas da posição alvo (x2, y2) e a função arctan para encontrar a direção de deslocamento.
    • Calcule o ângulo theta θ da recta 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 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'.
    • Exemplo de pseudocódigo para expressão matemática:

      se x1 igual a x2:
      	se y2 > y1:
      		direcção = 0 graus
      	senão:
      		direcção = 180 graus
      senão:
      	se x2 > x1:
      		direcção = 90 graus - theta
      	senão:
      		direcção = 270 graus - theta
    • Converta o ângulo theta θ para determinar a direção.  O diagrama de cima para baixo, rotulado como "robô 'direção' , mostra o robô com um círculo à sua volta, com etiquetas a marcar os 360 graus do círculo.
  • Utilize as coordenadas do robô (x1, y1), as coordenadas da posição alvo (x2, y2) e o Teorema de Pitágoras para encontrar a distância percorrida. A expressão matemática é dada por 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' O mesmo diagrama de cima para baixo de antes, mostrando a diferença entre duas coordenadas. O robô está na coordenada (X1, Y1) e uma linha está a apontar 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'.

 

  • Utilize o bloco de função da categoria Operadores para expressar a função arctan para calcular o ângulo theta θ. Bloco de função VEXcode contendo blocos de operadores, que juntos lêem 'atan de ((Y2 - Y1) / (X2 - X1))'.
    • Comando Python correspondente: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Utilize o bloco de função da categoria Operadores para expressar o Teorema de Pitágoras e calcular a distância percorrida. VEXcode Define bloco de variáveis ​​contendo blocos de função e operador, que juntos lêem 'define driveDistance como sqrt de ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Comando Python correspondente: 

      distância de condução = matemática.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))