Μετάβαση στο κύριο περιεχόμενο

Πλοήγηση GPS

Δημιουργήστε έναν αλγόριθμο για να πλοηγήσετε το Hero Bot σε μια συγκεκριμένη θέση στο Field. Χρησιμοποιήστε τα μπλοκ [Drive for] και [Turn to heading], τον Αισθητήρα GPS, τον Κινητήρα Βραχίονα και τον Κινητήρα Εισαγωγής για να οδηγήσετε το Hero Bot στη θέση που βρίσκεται στο (1380,-1380) για να σηκώσετε την Triball που επισημαίνεται με κόκκινο χρώμα. Στη συνέχεια, οδηγήστε το ρομπότ στη θέση που βρίσκεται στο (600,-300) και σκοράρετε την Φυλή στον Κόκκινο Στόχο της Συμμαχίας.

  • Επιλέξτε τις Εικονικές Δεξιότητες VRC - Πάνω από την Παιδική Χαρά.
  • Χρησιμοποιήστε τη λίστα ελέγχου πριν από τον αγώνα για να επιλέξετε Θέση εκκίνησης «H», SΚατεύθυνση εκκίνησης «Βόρεια»και Προφόρτιση ρομπότ «Όχι» για το ρομπότ.
  • Δημιουργήστε έναν αλγόριθμο για να πλοηγήσετε το ρομπότ σε μια συγκεκριμένη θέση.
  • Κωδικοποιήστε το ρομπότ ώστε να περιστρέψει τον κινητήρα του βραχίονα για να χαμηλώσει πλήρως το χέρι για να σηκώσει μια Triball στο γήπεδο.
  • Χρησιμοποιήστε τον αλγόριθμο για να πλοηγηθείτε στο ρομπότ σε συντεταγμένες (1380, -1380) και να στρίψετε το ρομπότ σε κατεύθυνση 135 μοιρών.
  • Κωδικοποιήστε το ρομπότ ώστε να περιστρέψει τον κινητήρα εισαγωγής για να σηκώσει την πράσινη Triball που επισημαίνεται με κόκκινο χρώμα.
  • Χρησιμοποιήστε τον αλγόριθμο για να πλοηγηθείτε στο ρομπότ σε συντεταγμένες (600, -300) και να στρίψετε το ρομπότ σε κατεύθυνση 90 μοιρών.
  • Κωδικοποιήστε το ρομπότ ώστε να περιστρέψει τον κινητήρα εισαγωγής για να εκτοξεύσει την Triball προς τον στόχο της Κόκκινης Συμμαχίας. 

Χρήσιμες συμβουλές

  • Χρησιμοποιήστε τον αισθητήρα GPS για να προσδιορίσετε τις συντεταγμένες X και Y του Hero Bot στο πεδίο. Για περισσότερες πληροφορίες σχετικά με τη χρήση του αισθητήρα GPS στην παιδική χαρά VRC Over Under, κάντε κλικ στο εδώ.
  • Χρησιμοποιήστε τα μπλοκ Reporter από την κατηγορία Sensing για να λάβετε τιμές θέσης από τον αισθητήρα GPS.

    Μπλοκ θέσης GPS VEXcode που διαβάζει 'θέση GPS X σε'.

    Μπλοκ θέσης GPS VEXcode που διαβάζει 'θέση GPS Y σε'.

    • Αντίστοιχη εντολή Python:

      gps.x_position(MM)
      gps.y_position(MM)
  • Χρησιμοποιήστε τα μπλοκ set από την κατηγορία Variables για να δηλώσετε δύο μεταβλητές για να αποθηκεύσετε τις αρχικές συντεταγμένες X και Y του Hero Bot.

    Στοίβα από VEXcode Ορίστε μεταβλητά μπλοκ. Το πρώτο μπλοκ αναγράφει 'set X1 σε θέση GPS X σε mm'. Το δεύτερο μπλοκ έχει την ένδειξη ', ορίστε το Y1 στη θέση GPS Y σε mm'.

    • Αντίστοιχη εντολή Python:

      X1 = θέση_gps.x(MM)
      Y1 = θέση_gps.y(MM)
  • Για βοήθεια σχετικά με τη δήλωση μιας μεταβλητής και την αποθήκευση δεδομένων στο έργο, επιλέξτε το κουμπί "TUTORIALS" στο VEXcode VR και επιλέξτε το Αποθήκευση Δεδομένων Tutorial.

    Εικονίδιο εκπαιδευτικών προγραμμάτων από τη Γραμμή εργαλείων VEXcode VR.

    Εικονίδιο εκμάθησης αποθήκευσης δεδομένων VEXcode VR.

  • Για περισσότερες πληροφορίες σχετικά με τους κανόνες ονομάτων για μεταβλητές στο VEXcode VR, σε αυτό το άρθρο.
  • Χρησιμοποιήστε τις συντεταγμένες του ρομπότ (x1,y1), τις συντεταγμένες της θέσης-στόχου (x2,y2) και τη συνάρτηση atan για να βρείτε την κατεύθυνση της κίνησης.
    • Υπολογίστε τη γωνία θ θ της ευθείας που συνδέει αυτά τα δύο σημεία.

      Διάγραμμα δύο μαθηματικών παραστάσεων. Η πρώτη έκφραση έχει ως εξής: 'θήτα ισούται με atan((y2 - y1) / (x2 - x1))'. Η δεύτερη έκφραση γράφει ότι 'αρνητικό π / 2 είναι μικρότερο από θ, το οποίο είναι μικρότερο από π / 2'.

      Το μαθηματικό διάγραμμα από πάνω προς τα κάτω δείχνει το ρομπότ στη συντεταγμένη (X1, Y1) και μια γραμμή που δείχνει προς τη συντεταγμένη (X2, Y2). Η απόσταση επισημαίνεται με τη μεταβλητή d, η γωνία επισημαίνεται με τη μεταβλητή θ. Η οριζόντια απόσταση μεταξύ των σημείων αναπαρίσταται ως 'x2 - x1', και η κατακόρυφη απόσταση αναπαρίσταται ως 'y2 - y1'.

    • Μετατρέψτε τη γωνία θ θ σε κατεύθυνση κίνησης.

      Παράδειγμα ψευδοκώδικα για την μαθηματική παράσταση (Κατεύθυνση έναρξης: Βόρεια):

      αν X1 ίσο με X2:
      	αν Y2 > Y1:
      		επικεφαλίδα = 0
      	αλλιώς:
      		επικεφαλίδα = 180
      αλλιώς:
      	αν X2 > X1:
      		επικεφαλίδα = 90 - atan((Y2 - Y1) / (X2 - X1))
      	αλλιώς:
      		επικεφαλίδα = 270 - atan((Y2 - Y1) / (X2 - X1))
    • Το διάγραμμα από πάνω προς τα κάτω δείχνει το ρομπότ μέσα σε έναν κύκλο που έχει ετικέτες που τον σηματοδοτούν σε's 360 μοίρες.
  • Χρησιμοποιήστε το μπλοκ συνάρτησης από την κατηγορία Τελεστές και επιλέξτε τη συνάρτηση atan για να υπολογίσετε τη γωνία θ θ

    Κενό μπλοκ συνάρτησης VEXcode που διαβάζει 'atan από κενό'.

    • Αντίστοιχη εντολή Python:

      math.atan() / math.pi * 180
  • Χρησιμοποιήστε τις συντεταγμένες του ρομπότ (x1,y1), τις συντεταγμένες της θέσης-στόχου (x2,y2) και το Πυθαγόρειο Θεώρημα για να βρείτε την απόσταση οδήγησης.

    Η μαθηματική παράσταση διαβάζει 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)'

    Το ίδιο διάγραμμα από πάνω προς τα κάτω όπως πριν, που δείχνει τη διαφορά μεταξύ δύο συντεταγμένων. Το ρομπότ βρίσκεται στη συντεταγμένη (X1, Y1) και μια γραμμή δείχνει προς τη συντεταγμένη (X2, Y2). Η απόσταση επισημαίνεται με τη μεταβλητή d, η γωνία επισημαίνεται με τη μεταβλητή θ. Η οριζόντια απόσταση μεταξύ των σημείων αναπαρίσταται ως 'x2 - x1', και η κατακόρυφη απόσταση αναπαρίσταται ως 'y2 - y1'.

  • Χρησιμοποιήστε το μπλοκ συνάρτησης από την κατηγορία Τελεστές και επιλέξτε τη συνάρτηση sqrt για να υπολογίσετε την απόσταση οδήγησης.

    Κενό μπλοκ συνάρτησης VEXcode που διαβάζει 'sqrt κενού'.

    • Αντίστοιχη εντολή Python:

      math.sqrt()