Passer au contenu principal

Nouvelle hauteur

Créez un système de coordonnées sur le terrain de compétences virtuelles à volume complet avec la position du point rouge comme origine (0, 0) et la position initiale du centre du robot héros située aux coordonnées (0, 36). Utilisez les blocs [Drive for], [Turn to heading], [Spin ​​to position] et [Spin ​​for] pour programmer le Hero Bot afin qu'il ramasse chacun des quatre blocs violets mis en évidence et le marque dans l'objectif III. Créez un algorithme qui navigue le robot vers une position spécifique pour déposer le bloc et faire en sorte que l'objectif ait le niveau de remplissage 3.

  • Sélectionnez VIQRC Virtual Skills - Full Volume Playground.
  • Programmez le robot héros pour qu'il ramasse un bloc violet mis en évidence et le marque dans le but III. 
    • Créez un algorithme permettant de faire parcourir au robot une certaine distance et de suivre ses coordonnées X et Y. Utilisez l'algorithme pour diriger le robot vers le bloc violet mis en évidence.
    • Programmez le robot pour qu'il ramasse le bloc.
    • Créez un algorithme pour guider le robot vers une position spécifique. Utilisez l'algorithme pour faire naviguer le robot jusqu'aux coordonnées (-70, 1270) et orienter le robot vers un cap de -45 degrés.
    • Programmez le robot pour qu'il dépose le bloc.
  • Programmez le robot héros pour qu'il ramasse le deuxième bloc violet mis en évidence et le marque dans le but III au même endroit et avec la même orientation que pour le premier bloc violet. 
  • Programmez le robot héros pour qu'il ramasse le troisième bloc violet mis en évidence et le marque dans le but III à la même position et avec la même orientation que pour le premier bloc violet. 
  • Programmez le robot héros pour qu'il ramasse le quatrième bloc violet mis en évidence et le marque dans le but III au même endroit et avec la même orientation que pour le premier bloc violet. 

Conseils utiles

  • Utilisez les coordonnées du robot (x1,y1), les coordonnées de la position cible (x2,y2) et une fonction atan pour trouver le cap d'entraînement.
    • Calculez l'angle theta θ de la droite reliant ces deux points. Diagramme de deux expressions mathématiques. La première expression se lit 'theta est égal à atan((y2 - y1) / (x2 - x1))'. La deuxième expression se lit comme suit : 'moins pi / 2 est inférieur à theta, qui est inférieur à pi / 2'. Le diagramme de dessus montre le robot aux coordonnées (X1, Y1) et une ligne pointe vers les coordonnées (X2, Y2). La distance est désignée par la variable d, l'angle par la variable theta. La distance horizontale entre les points est représentée par 'x2 - x1', et la distance verticale est représentée par 'y2 - y1'.
    • Exemple de pseudocode pour une expression mathématique :

      si x1 = x2 :
      	si y2 > y1 :
      		cap = 0 degré
      	sinon :
      		cap = 180 degrés
      sinon :
      	si x2 > x1 :
      		cap = 90 degrés - θ
      	sinon :
      		cap = 270 degrés - θ
    • Convertissez l'angle theta θ en cap.  Le schéma vu de dessus, intitulé 'robot direction' , montre le robot entouré d'un cercle dont les 360 degrés sont indiqués par des étiquettes.
  • Utilisez les coordonnées du robot (x1,y1), les coordonnées de la position cible (x2,y2) et le théorème de Pythagore pour trouver la distance de déplacement. L'expression mathématique se lit 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' Le même schéma vu de dessus qu'auparavant montre la différence entre deux coordonnées. Le robot se trouve aux coordonnées (X1, Y1) et une ligne pointe vers les coordonnées (X2, Y2). La distance est désignée par la variable d, l'angle par la variable theta. La distance horizontale entre les points est représentée par 'x2 - x1', et la distance verticale est représentée par 'y2 - y1'.

 

  • Utilisez le bloc fonction de la catégorie Opérateurs pour exprimer une fonction permettant de calculer l'angle theta θ. Bloc de fonction VEXcode contenant des blocs d'opérateurs, qui lisent tous ensemble 'atan de ((Y2 - Y1) / (X2 - X1))'.
    • Commande Python correspondante : 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Utilisez le bloc de fonction de la catégorie Opérateurs pour exprimer le théorème de Pythagore afin de calculer la distance à parcourir. VEXcode Définir un bloc de variable contenant des blocs de fonction et d'opérateur, qui lisent tous ensemble 'définir driveDistance à la racine carrée de ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Commande Python correspondante : 

      distance de conduite = math.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))