Πίνακας περιεχομένων:

Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java): 12 βήματα (με εικόνες)
Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java): 12 βήματα (με εικόνες)

Βίντεο: Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java): 12 βήματα (με εικόνες)

Βίντεο: Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java): 12 βήματα (με εικόνες)
Βίντεο: Πώς να προσθέσετε Bluetooth σε laptop ή υπολογιστή που δεν έχει 2024, Ιούλιος
Anonim
Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java)
Πώς να γράψετε ένα απλό πρόγραμμα οδήγησης για FRC (Java)

Αυτό είναι ένα σεμινάριο για το πώς να φτιάξετε ένα απλό σύστημα κίνησης για ένα ρομπότ FRC. Αυτό το σεμινάριο προϋποθέτει ότι γνωρίζετε ότι τα βασικά της java, της έκλειψης και έχουν ήδη εγκαταστήσει το wpilib, καθώς και βιβλιοθήκες CTRE.

Βήμα 1:

Εικόνα
Εικόνα

Ανοίξτε το Eclipse

Βήμα 2: Δημιουργήστε ένα νέο έργο ρομπότ

Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
Δημιουργήστε ένα νέο έργο ρομπότ
  1. Κάντε δεξί κλικ στον εξερευνητή πακέτων, κάντε κλικ στο νέο και, στη συνέχεια, στο άλλο.
  2. Κάντε κύλιση προς τα κάτω μέχρι να δείτε το WPILib Robot Java Development (εάν δεν το βλέπετε, δεν έχετε εγκατεστημένους τους πόρους wpilib.)
  3. Κάντε κλικ στο Robot Java Project
  4. Στη συνέχεια, συμπληρώστε το όνομα του έργου και κάντε κλικ στον τύπο του έργου ρομπότ που βασίζεται σε εντολές. (Το πακέτο πρέπει να έχει ήδη συμπληρωθεί και το ίδιο με τον κόσμο προσομοίωσης.)

Βήμα 3: Δημιουργία/Συμπλήρωση RobotMap

Δημιουργία/Συμπλήρωση RobotMap
Δημιουργία/Συμπλήρωση RobotMap
Δημιουργία/Συμπλήρωση RobotMap
Δημιουργία/Συμπλήρωση RobotMap

Δημιουργήστε τελικές μεταβλητές που περιέχουν τον αριθμό των διαφορετικών θυρών talon

Βήμα 4: Διαγραφή παραδείγματος εντολής και παραδείγματος υποσυστήματος

Διαγραφή παραδείγματος εντολής και παραδείγματος υποσυστήματος
Διαγραφή παραδείγματος εντολής και παραδείγματος υποσυστήματος
Διαγραφή παραδείγματος εντολής και παραδείγματος υποσυστήματος
Διαγραφή παραδείγματος εντολής και παραδείγματος υποσυστήματος

Βήμα 5: Δημιουργήστε το DriveTrainSubSystem

Δημιουργήστε το DriveTrainSubSystem
Δημιουργήστε το DriveTrainSubSystem
Δημιουργήστε το DriveTrainSubSystem
Δημιουργήστε το DriveTrainSubSystem
Δημιουργήστε το DriveTrainSubSystem
Δημιουργήστε το DriveTrainSubSystem
  1. Δημιουργήστε έναν νέο κατασκευαστή στο νεοδημιουργημένο υποσύστημα κίνησης. Στη συνέχεια, δημιουργήστε αντικείμενα CANTalon που αντιστοιχούν στα τανάλια στο σύστημα μετάδοσης κίνησης.
  2. Δημιουργήστε ένα RobotDrive που ονομάζεται Drive
  3. Τεκμηριώστε αυτά τα αντικείμενα στον κατασκευαστή (βεβαιωθείτε ότι χρησιμοποιείτε τις τιμές για τα κορδόνια που δημιουργήσαμε στον χάρτη ρομπότ). Για το Robot Drive θα χρησιμοποιήσουμε τον κατασκευαστή που χρησιμοποιεί 4 ελεγκτές κινητήρα (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Στη συνέχεια, δημιουργήστε μια μέθοδο arcadeDrive () με δύο μεταβλητές εισόδου, το x είναι εμπρός και πίσω και το y είναι δεξιά και αριστερά. Στο εσωτερικό θα καλέσετε το drive.arcade με τις τιμές εμπρός και περιστροφής
  5. Στη συνέχεια, αλλάξτε το initDefaultCommand () για να περιέχει τη γραμμή setDefaultCommand (νέα DriveTrainCommand ());.
  6. Μην ανησυχείτε για όλα τα σφάλματα ακόμη.

Βήμα 6: Δημιουργήστε το DriveTrainCommand

Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
Δημιουργήστε το DriveTrainCommand
  1. Πρώτα ξεκινήστε πηγαίνοντας στο μενού που χρησιμοποιήσαμε για τη δημιουργία του υποσυστήματος και το ρομπότ προβάλλει τον εαυτό του (αυτή είναι η τελευταία φορά που θα δείξω αυτό το πραγματικό βήμα στα μελλοντικά βήματα που θα πω μόνο για να κάνω μια εντολή ή να κάνω υποσύστημα και θα υποθέσετε ότι βρίσκεται σε αυτό το μενού.) Κάντε κλικ στην εντολή και συμπληρώστε το όνομα της τάξης με το DriveTrainCommand (αν αλλάξετε τα ονόματα αυτών των αρχείων, δεν μπορείτε να έχετε τα ίδια).
  2. Στο νέο DriveTrainCommand θα δείτε ότι υπάρχουν 6 μέθοδοι, η μία είναι ο κατασκευαστής και οι άλλες 5 είναι μέρη του κώδικα που θα καλέσει το ρομπότ όταν εκτελείται η εντολή. Γνωρίζουμε τι κάνει ο κατασκευαστής για να σας εξηγήσει Αρχικοποίηση, εκτέλεση, ολοκλήρωση, λήξη και διακοπή. Η αρχικοποίηση καλείται μία φορά κάθε φορά που καλείται η εντολή, η μέθοδος εκτέλεσης καλείται συνεχώς έως ότου τελειώσει η εντολή, η οποία προκαλείται από την ολοκλήρωση όταν η μέθοδος isFinished επιστρέψει true η εντολή θα σταματήσει να εκτελείται, Η μέθοδος τερματισμού καλείται μία φορά μετά το isFinished η μέθοδος καλείται και η διακοπή καλείται όταν οι πόροι εντολών χρησιμοποιούνται από άλλη εντολή και η εντολή θα τελειώσει (χωρίς να καλέσει τη μέθοδο τερματισμού).
  3. Αρχικά στο DriveTrainCommand στον κατασκευαστή πρέπει να προσθέσετε τη γραμμή απαιτήσεων (απαιτεί (Robot. DriveTrainSub)) να σημειώσετε ότι το DriveTrainSub δεν είναι το ίδιο με το όνομα του υποσυστήματος και αυτό είναι επίτηδες.

Βήμα 7: Μετάβαση στο Robot

Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
Μετάβαση στο Robot
  1. Στη συνέχεια θα πάμε στην τάξη ρομπότ
  2. τότε θα αλλάξουμε τη γραμμή (δημόσιο στατικό τελικό ΠαράδειγμαSubsystem exampleSubsystem = νέο ΠαράδειγμαSubsystem ();) σε (δημόσιο στατικό τελικό DriveTrainSubsystem DriveTrainSub = νέο DriveTrainSubsystem ();) προσέξτε ότι το πρώτο όνομα μετά το τελικό είναι το ίδιο με το όνομα του υποσυστήματος και το όνομα μετά το νέο επίσης παρατηρήστε ότι το DriveTrainSub είναι το ίδιο με το όνομα που βάλαμε στο τελευταίο μας βήμα και ότι δεν είναι το ίδιο με το όνομα του υποσυστήματος (ΠΡΕΠΕΙ να έχετε όνομα αντικειμένου (DriveTrainSub) που δεν είναι ίδιο με το υποσύστημα όνομα).
  3. Στη συνέχεια, εισάγετε το DriveTrainSubSystem.
  4. Στη συνέχεια θα αφαιρέσουμε τη γραμμή (chooser.addDefault ("Default Auto", new ExampleCommand ());)
  5. Στη συνέχεια, καταργήστε τις αχρησιμοποίητες εισαγωγές.
  6. Στη συνέχεια αποθηκεύστε.

Βήμα 8: Επιστρέψτε στο DriveTrainCommand

Επιστρέψτε στο DriveTrainCommand
Επιστρέψτε στο DriveTrainCommand
  1. ρομπότ εισαγωγής (το δεύτερο στην εικόνα)
  2. Στη συνέχεια Αποθήκευση

Βήμα 9: Μεταβείτε στο DriveTrainSub

Μεταβείτε στο DriveTrainSub
Μεταβείτε στο DriveTrainSub
  1. Εισαγωγή DriveTrainCommand
  2. Στη συνέχεια αποθηκεύστε.

Βήμα 10: Στη συνέχεια θα δημιουργήσουμε τον κωδικό OI

Στη συνέχεια θα δημιουργήσουμε τον κωδικό OI
Στη συνέχεια θα δημιουργήσουμε τον κωδικό OI
  1. Μεταβείτε στο OI.
  2. Δημιουργήστε ένα νέο δημόσιο αντικείμενο χειριστηρίου με τη θύρα 0.
  3. Και αφαιρέστε τις αχρησιμοποίητες εισαγωγές.
  4. Αποθηκεύσετε.

Βήμα 11: Μεταβείτε στο DriveTrainCommand

Μεταβείτε στο DriveTrainCommand
Μεταβείτε στο DriveTrainCommand
  1. Μεταβείτε στο DriveTrainCommand.
  2. Τώρα θα κάνουμε το κομμάτι που παίρνει τα χειριστήρια και τα εφαρμόζουμε για να μετακινήσουμε το ρομπότ. Μέσα στην εκτέλεση (επειδή τρέχει συνεχώς) προσθέστε τη γραμμή (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) όπου καλούμε το arcadeDrive στο δικό μας υποσύστημα με τις τιμές του Robot.io. Driver.getRawAxis (1) το οποίο επιστρέφει την τιμή του joystick και όπου 1 είναι ο άξονας του αριστερού άξονα y και το ίδιο για τη δεύτερη τιμή εκτός του 4 είναι ο δεξιός άξονας x. οπότε αυτό θα σήμαινε ότι το αριστερό ραβδί θα πήγαινε μπροστά και πίσω και το δεξί ραβδί θα πήγαινε δεξιά και αριστερά. (αν θέλατε, μπορείτε να επιστρέψετε στο RobotMap και να δημιουργήσετε νέες τιμές για τον άξονα του joystick, καλέστε τις με το RobotMap. (όνομα άξονα) και μην ξεχάσετε να τις κάνετε τελικές, αν το κάνετε με αυτόν τον τρόπο.)
  3. Στη συνέχεια, αφαιρέστε τυχόν αχρησιμοποίητες εισαγωγές από ολόκληρο το έργο.

Βήμα 12: Τέλος, μεταγλωττίστε και ανεβάστε τον κώδικα στο ρομπότ

Συνιστάται: