Ir para o conteúdo principal

Desbloquear locais

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], [Rodar para posicionar] e [Rodar para para programar o Robô Herói para apanhar o Bloco Vermelho destacado a laranja, marcar ponto com ele no estacionar parcialmente o na Zona de Abastecimento. Crie um algoritmo para encontrar as coordenadas X e Y do local onde o robô deve ir buscar e pontuar o Bloco Vermelho e as coordenadas X e Y do local onde o robô deve estacionar o Robô Herói.

  • Selecione VIQRC Virtual Skills - Full Volume Playground.
  • Crie um algoritmo para calcular e registar as coordenadas X e Y da posição do robô após percorrer uma determinada distância  utilizando a distância percorrida e a direção do sistema de transmissão.
  • Programa o Robô Herói para conduzir até ao Bloco Vermelho destacado a laranja e apanhá-lo. 
    • Utilize o algoritmo para rastrear as coordenadas X e Y da posição do robô.
  • Utilize o bloco [print] para imprimir as coordenadas X e Y do local onde o robô deve recolher o bloco na consola de impressão.
  • Programa o Robot Herói para conduzir em direção ao Objetivo 1 e largar o Bloco dentro do Objetivo. 
    • Utilize o algoritmo para rastrear as coordenadas X e Y da posição do robô.
  • Utilize o bloco [print] para imprimir as coordenadas X e Y do local onde o robô deve largar o bloco no Objectivo I na Consola de Impressão.
  • Posiciona o Robô Herói de forma a que fique parcialmente dentro da Zona de Abastecimentos.
    • Utilize o algoritmo para rastrear as coordenadas X e Y da posição do robô.
  • Utilize o bloco [print] para imprimir as coordenadas X e Y da localização onde o robô deverá ficar parcialmente estacionado dentro da Zona de Abastecimento na Consola de Impressão.

Dicas úteis

  • Para identificar as coordenadas X e Y do Hero Bot no Campo de Habilidades Virtuais VIQRC, defina a posição inicial do Hero Bot como a origem (0,0) do sistema de coordenadas. 
  • Declare duas variáveis ​​para armazenar as coordenadas X e Y do Hero Bot. Utilize os blocos set da categoria "Variáveis" para definir os valores das coordenadas X e Y como 0 no início do projeto.  VEXcode Define o bloco de variáveis ​​que lê 'define currentX como 0'. VEXcode Define o bloco de variáveis ​​que lê 'define currentY para 36'.
    • Comando Python correspondente:

      atualX = 0
      atualY = 36
  • Utilize os blocos Reporter da categoria Sensing para obter o valor de direção da transmissão a partir do sensor inercial. Bloco de direção de acionamento VEXcode que lê 'direção de acionamento em graus'.
    • Comando Python correspondente:

      transmissão.direção(GRAUS)
  • Utilize a distância percorrida e a direção da transmissão para calcular as coordenadas X e Y após conduzir uma determinada distância.
    • Função matemática (impulsionar para a frente):

      X2 = X1 + distância_de_condução * sen(direção_de_condução)

      Y2 = Y1 + distância_de_condução * coseno (direção_de_condução)

      Dois diagramas lado a lado, vistos de cima para baixo, apresentando o Robô Herói. O primeiro diagrama mostra o robô com um círculo à sua volta, com etiquetas a indicar os 360 graus do círculo. O segundo diagrama mostra o robô nas coordenadas (X1, Y1) e a apontar para um ponto (X2, Y2). A distância é indicada como 'para a distância de condução' e o ângulo está marcado com o símbolo theta.

  •  Utilize o bloco função da categoria Operadores para expressar funções matemáticas. Uma pilha de dois blocos de variáveis ​​VEXcode Set com equações de bloco. O primeiro bloco lê 'define currentX como currentX + distância_de_acionamento * seno da direção de acionamento em graus'. O segundo bloco lê 'define currentY como currentY + distância_direção * coseno da direção de direção em graus'.
    • Comando Python correspondente: 

      currentX = currentX + distância_direção * math.sin(direção.heading(GRAUS) / 180.0 * math.pi)
      currentY = currentY + distância_direção * math.cos(direção.heading(GRAUS) / 180.0 * math.pi)
  • Para mais informações sobre as Dimensões de Campo das Competências Virtuais do VIQRC, clique aqui