Inhaltsverzeichnis:

So schreiben Sie einen einfachen Antriebsstrang für FRC (Java) – wikiHow
So schreiben Sie einen einfachen Antriebsstrang für FRC (Java) – wikiHow

Video: So schreiben Sie einen einfachen Antriebsstrang für FRC (Java) – wikiHow

Video: So schreiben Sie einen einfachen Antriebsstrang für FRC (Java) – wikiHow
Video: Kostenarten, Kostenstellen, Kostenträger: So werden sie EINFACH berechnet 2024, Dezember
Anonim
So schreiben Sie einen einfachen Antriebsstrang für FRC (Java)
So schreiben Sie einen einfachen Antriebsstrang für FRC (Java)

Dies ist ein Tutorial zum Erstellen eines einfachen Antriebsstrangs für einen FRC-Roboter. In diesem Tutorial wird davon ausgegangen, dass Sie die Grundlagen von Java, Eclipse und bereits installierten wpilib sowie CTRE-Bibliotheken kennen.

Schritt 1:

Bild
Bild

Öffne Eclipse

Schritt 2: Erstellen Sie ein neues Roboterprojekt

Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
Erstellen Sie ein neues Roboterprojekt
  1. Klicken Sie mit der rechten Maustaste auf den Paket-Explorer, klicken Sie auf Neu, dann auf Andere.
  2. Scrollen Sie nach unten, bis Sie WPILib Robot Java Development sehen (wenn Sie es nicht sehen, sind die wpilib-Ressourcen nicht installiert.)
  3. Klicken Sie auf Robot Java Project
  4. Geben Sie dann den Projektnamen ein und klicken Sie auf den befehlsbasierten Roboterprojekttyp. (Das Paket sollte bereits ausgefüllt sein und das gleiche mit der Simulationswelt.)

Schritt 3: RobotMap erstellen/ausfüllen

RobotMap erstellen/ausfüllen
RobotMap erstellen/ausfüllen
RobotMap erstellen/ausfüllen
RobotMap erstellen/ausfüllen

Erstellen Sie abschließende Variablen, die die Anzahl der verschiedenen Talon-Ports enthalten

Schritt 4: Beispielbefehl und Beispielsubsystem löschen

Beispielbefehl und Beispielsubsystem löschen
Beispielbefehl und Beispielsubsystem löschen
Beispielbefehl und Beispielsubsystem löschen
Beispielbefehl und Beispielsubsystem löschen

Schritt 5: DriveTrainSubSystem erstellen

DriveTrainSubSystem erstellen
DriveTrainSubSystem erstellen
DriveTrainSubSystem erstellen
DriveTrainSubSystem erstellen
DriveTrainSubSystem erstellen
DriveTrainSubSystem erstellen
  1. Erstellen Sie einen neuen Konstruktor im neu erstellten Antriebsstrang-Subsystem. Erstellen Sie dann CANTalon-Objekte, die den Krallen im Antriebsstrang entsprechen.
  2. Erstellen Sie ein RobotDrive namens Drive
  3. Instanziieren Sie diese Objekte im Konstruktor (stellen Sie sicher, dass Sie die Werte für die Talons verwenden, die wir in der Roboterkarte erstellt haben). Für den Roboterantrieb verwenden wir den Konstruktor, der 4 Motorcontroller verwendet (RobotDrive (SpeedController frontLeftMotor, SpeedController RearLeftMotor, SpeedController frontRightMotor, SpeedController RearRightMotor))
  4. Erstellen Sie dann eine arcadeDrive()-Methode mit zwei Eingabevariablen, wobei x für vorwärts und rückwärts steht und y für rechts und links steht. Im Inneren rufen Sie die drive.arcade mit den Vorwärts- und Rotationswerten auf
  5. Ändern Sie dann initDefaultCommand() so, dass es die Zeile setDefaultCommand(new DriveTrainCommand()); enthält.
  6. Machen Sie sich noch keine Sorgen wegen all der Fehler.

Schritt 6: DriveTrainCommand erstellen

DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
DriveTrainCommand erstellen
  1. Beginnen Sie zunächst mit dem Menü, das wir verwendet haben, um das Subsystem und das Roboterprojekt selbst zu erstellen (dies ist das letzte Mal, dass ich diesen tatsächlichen Schritt in den zukünftigen Schritten zeige, die ich nur sagen werde, um einen Befehl zu machen oder einen Befehl zu machen Subsystem und Sie werden davon ausgehen, dass es sich in diesem Menü befindet.) Klicken Sie auf den Befehl und geben Sie den Klassennamen mit DriveTrainCommand ein (wenn Sie die Namen dieser Dateien ändern, können sie nicht gleich sein).
  2. Im neuen DriveTrainCommand sehen Sie, dass es 6 Methoden gibt, eine ist der Konstruktor und die anderen 5 Teile des Codes, den der Roboter aufruft, wenn der Befehl ausgeführt wird. Wir wissen, was der Konstruktor tut, also können wir Initialize, execute, isFinished, end und Interrupt erklären. Initialize wird bei jedem Aufruf des Befehls einmal aufgerufen, die Methode execute wird kontinuierlich aufgerufen, bis der Befehl endet -Methode aufgerufen wird, und die unterbrochene wird aufgerufen, wenn die Befehlsressourcen von einem anderen Befehl verwendet werden und der Befehl beendet wird (ohne Aufruf der end-Methode).
  3. Zuerst müssen Sie im DriveTrainCommand im Konstruktor die Zeile require(requires(Robot. DriveTrainSub)) hinzufügen. Beachten Sie, dass der DriveTrainSub nicht mit dem Subsystemnamen identisch ist und das mit Absicht.

Schritt 7: Zum Roboter springen

Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
Zum Roboter springen
  1. Als nächstes werden wir zur Roboterklasse springen
  2. dann ändern wir die Zeile (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem();) in (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem();) Beachten Sie, dass der Vorname nach final mit dem Subsystemnamen identisch ist und die Name nach Neu Beachten Sie auch, dass der DriveTrainSub derselbe ist wie der Name, den wir in unserem letzten Schritt eingegeben haben, und dass er nicht mit dem Subsystemnamen identisch ist (Sie MÜSSEN einen Objektnamen (DriveTrainSub) haben, der nicht mit dem Subsystem identisch ist Name).
  3. Dann importieren Sie unser DriveTrainSubSystem.
  4. Als nächstes entfernen wir die Zeile(chooser.addDefault("Default Auto", new ExampleCommand());)
  5. Entfernen Sie dann die nicht verwendeten Importe.
  6. Dann speichern.

Schritt 8: Zurück zu DriveTrainCommand

Zurück zu DriveTrainCommand
Zurück zu DriveTrainCommand
  1. Roboter importieren (der zweite im Bild)
  2. Dann speichern

Schritt 9: Gehen Sie zu DriveTrainSub

Gehe zu DriveTrainSub
Gehe zu DriveTrainSub
  1. DriveTrainCommand importieren
  2. Dann speichern.

Schritt 10: Als nächstes erstellen wir den OI-Code

Als nächstes erstellen wir den OI-Code
Als nächstes erstellen wir den OI-Code
  1. Gehen Sie zu OI.
  2. Erstellen Sie ein neues öffentliches Joystick-Objekt mit dem Port 0.
  3. Und entfernen Sie die nicht verwendeten Importe.
  4. Speichern.

Schritt 11: Gehen Sie zu DriveTrainCommand

Gehe zu DriveTrainCommand
Gehe zu DriveTrainCommand
  1. Gehen Sie zu DriveTrainCommand.
  2. Jetzt werden wir den Teil erledigen, der die Joysticks nimmt und sie zum Bewegen des Roboters anwendet. Fügen Sie innerhalb des execute(da es ständig läuft) die Zeile (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) Subsystem mit den Werten von Robot.io. Driver.getRawAxis(1), das den Wert des Joysticks zurückgibt und wobei 1 die Achse der linken y-Achse und das gleiche für den zweiten Wert ist, außer dass 4 die rechte x-Achse ist. Dies würde also bedeuten, dass der linke Stick vorwärts und rückwärts und der rechte Stick nach rechts und links gehen würde. (Wenn Sie möchten, können Sie zur RobotMap zurückkehren und neue Werte für die Joystick-Achse erstellen, dann diese mit RobotMap aufrufen. (Name der Achse) und nicht vergessen, sie endgültig zu machen, wenn Sie dies auf diese Weise tun.)
  3. Entfernen Sie als Nächstes alle nicht verwendeten Importe aus dem gesamten Projekt.

Schritt 12: Kompilieren Sie schließlich den Code und laden Sie ihn auf den Roboter hoch

Empfohlen: