Passer au contenu principal

Débloquer les lieux

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 [Conduire pour], [Tourner pour], [Pivoter pour positionner] et [Pivoter pour] pour programmer le Robot Héros afin qu'il ramasse le bloc rouge surligné en orange, marque dans l'objectif et gare partiellement robot dans la zone ravitaillement. Créez un algorithme pour trouver les coordonnées X et Y de l'emplacement où le robot doit ramasser et marquer le bloc rouge, ainsi que les coordonnées X et Y de l'emplacement où le robot doit garer le Hero Bot.

  • Sélectionnez VIQRC Virtual Skills - Full Volume Playground.
  • Créez un algorithme pour calculer et enregistrer les coordonnées X et Y de la position du robot après avoir parcouru une certaine distance, en utilisant la distance parcourue et le cap de la transmission. 
  • Programmez le robot héros pour qu'il se rende au bloc rouge surligné en orange et le récupère. 
    • Utilisez l'algorithme pour suivre les coordonnées X et Y de la position du robot.
  • Utilisez le bloc [print] pour imprimer les coordonnées X et Y de l'emplacement où le robot doit récupérer le bloc sur la console d'impression.
  • Programmez le robot héros pour qu'il se dirige vers l'objectif I et y dépose le bloc. 
    • Utilisez l'algorithme pour suivre les coordonnées X et Y de la position du robot.
  • Utilisez le bloc [print] pour imprimer les coordonnées X et Y de l'emplacement où le robot doit déposer le bloc dans l'objectif I sur la console d'impression.
  • Conduisez le Robot Héros de manière à ce qu'il se trouve partiellement dans la Zone de Ravitaillement.
    • Utilisez l'algorithme pour suivre les coordonnées X et Y de la position du robot.
  • Utilisez le bloc [print] pour imprimer les coordonnées X et Y de l'emplacement où le robot doit être partiellement stationné dans la zone d'approvisionnement sur la console d'impression.

Conseils utiles

  • Pour identifier les coordonnées X et Y du robot héros sur le terrain de compétences virtuelles VIQRC, définissez la position initiale du robot héros comme l'origine (0,0) du système de coordonnées. 
  • Déclarez deux variables pour stocker les coordonnées X et Y du robot héros. Utilisez les blocs et de la catégorie Variables pour initialiser les valeurs des coordonnées X et Y à 0 au début du projet.  VEXcode Définir le bloc de variable qui lit 'définir currentX à 0'. VEXcode Définir le bloc de variable qui lit 'définir currentY à 36'.
    • Commande Python correspondante :

      courantX = 0
      courantY = 36
  • Utilisez les blocs Reporter de la catégorie Détection pour obtenir la valeur de cap de la transmission à partir du capteur inertiel. Bloc de direction d'entraînement VEXcode qui lit 'direction d'entraînement en degrés'.
    • Commande Python correspondante :

      transmission.heading(DEGRÉS)
  • Utilisez la distance parcourue et le cap de la transmission pour calculer les coordonnées X et Y après avoir parcouru une certaine distance.
    • Fonction mathématique (avancer) :

      X2 = X1 + distance_de_conduite * sin (direction_de_conduite)

      Y2 = Y1 + distance_de_conduite * cos (direction_de_conduite)

      Deux schémas côte à côte, vus de dessus, présentant le Hero Bot. Le premier schéma montre le robot entouré d'un cercle avec des étiquettes indiquant les 360 degrés du cercle. Le deuxième diagramme montre le robot aux coordonnées (X1, Y1) et pointant vers un point (X2, Y2). La distance est indiquée comme 'distance de conduite' et l'angle est marqué par le symbole thêta.

  •  Utilisez le bloc de fonction de la catégorie Opérateurs pour exprimer des fonctions mathématiques. Une pile de deux blocs VEXcode Set variable avec des équations de bloc. Le premier bloc lit 'définir currentX à currentX + drive_distance * sin de la direction de conduite en degrés'. Le deuxième bloc lit 'définir currentY à currentY + drive_distance * cos de la direction de conduite en degrés'.
    • Commande Python correspondante : 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      currentY = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • Pour plus d'informations sur les dimensions du champ de compétences virtuelles VIQRC, cliquer ici.