Sommario:

Come scrivere una trasmissione semplice per FRC (Java): 12 passaggi (con immagini)
Come scrivere una trasmissione semplice per FRC (Java): 12 passaggi (con immagini)

Video: Come scrivere una trasmissione semplice per FRC (Java): 12 passaggi (con immagini)

Video: Come scrivere una trasmissione semplice per FRC (Java): 12 passaggi (con immagini)
Video: Tip Jar #14 (3of3)- Speeding Up Slow Tele-Op Code and How Parallel Loops Can Communicate 2024, Luglio
Anonim
Come scrivere una trasmissione semplice per FRC (Java)
Come scrivere una trasmissione semplice per FRC (Java)

Questo è un tutorial su come realizzare una semplice trasmissione per un robot FRC. Questo tutorial presuppone che tu conosca le basi di java, eclipse e che abbia già installato wpilib, così come le librerie CTRE.

Passo 1:

Immagine
Immagine

Apri Eclipse

Passaggio 2: crea un nuovo progetto robot

Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
Crea un nuovo progetto robot
  1. Fare clic con il pulsante destro del mouse su Esplora pacchetti, fare clic su nuovo, quindi su altro.
  2. Scorri verso il basso fino a visualizzare WPILib Robot Java Development (se non lo vedi non hai installato le risorse wpilib.)
  3. Fare clic su Robot Java Project
  4. Quindi inserisci il nome del progetto e fai clic sul tipo di progetto del robot basato su comandi. (Il pacchetto dovrebbe essere già compilato e lo stesso con il mondo di simulazione.)

Passaggio 3: Crea/Compila RobotMap

Crea/Compila RobotMap
Crea/Compila RobotMap
Crea/Compila RobotMap
Crea/Compila RobotMap

Crea variabili finali che contengano il numero delle diverse porte di Talon

Passaggio 4: eliminare il comando di esempio e il sottosistema di esempio

Elimina comando di esempio e sottosistema di esempio
Elimina comando di esempio e sottosistema di esempio
Elimina comando di esempio e sottosistema di esempio
Elimina comando di esempio e sottosistema di esempio

Passaggio 5: creare DriveTrainSubSystem

Crea sottosistema DriveTrain
Crea sottosistema DriveTrain
Crea sottosistema DriveTrain
Crea sottosistema DriveTrain
Crea sottosistema DriveTrain
Crea sottosistema DriveTrain
  1. Crea un nuovo costruttore nel sottosistema di trasmissione appena creato. Quindi creare oggetti CANTalon che corrispondono agli artigli sulla trasmissione.
  2. Crea un RobotDrive chiamato Drive
  3. Istanzia questi oggetti nel costruttore (assicurati di usare i valori per gli artigli che abbiamo creato nella mappa del robot). Per il Robot Drive utilizzeremo il costruttore che utilizza 4 Motor Controller (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController retroRightMotor))
  4. Quindi creare un metodo arcadeDrive() con due variabili di input dove x è avanti e indietro e y è destra e sinistra. All'interno chiamerai drive.arcade con i valori forward e rotante
  5. Quindi cambia initDefaultCommand() in modo che contenga la riga setDefaultCommand(new DriveTrainCommand());.
  6. Non preoccuparti ancora di tutti gli errori.

Passaggio 6: creare il comando DriveTrain

Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
Crea il comando DriveTrain
  1. Per prima cosa inizia andando nel menu che abbiamo usato per creare il sottosistema e il robot si proietta da solo (questa è l'ultima volta che mostrerò questo passaggio effettivo nei passaggi futuri dirò solo per fare un comando o per fare un sottosistema e si presume che sia in questo menu.) Fare clic su comando e inserire il nome della classe con DriveTrainCommand (se si modificano i nomi di questi file non è possibile che siano gli stessi).
  2. Nel nuovo DriveTrainCommand vedrai che ci sono 6 metodi uno è il costruttore e gli altri 5 sono parti del codice che il robot chiamerà quando il comando è in esecuzione. Sappiamo cosa fa il costruttore, quindi spieghiamo Inizializza, esegui, isFinished, end e interrotto. Initialize viene chiamato una volta ogni volta che viene chiamato il comando, il metodo execute viene chiamato continuamente fino alla fine del comando, il che è causato dal fatto che è terminato quando il metodo isFinished restituisce true il comando smetterà di funzionare, Il metodo end viene chiamato una volta dopo isFinished viene chiamato il metodo e l'interrupt viene chiamato quando le risorse dei comandi vengono utilizzate da un altro comando e il comando terminerà (senza chiamare il metodo end).
  3. Prima nel DriveTrainCommand nel costruttore è necessario aggiungere la riga require(requires(Robot. DriveTrainSub)) notare che DriveTrainSub non è lo stesso del nome del sottosistema e questo è apposta.

Passaggio 7: passa al robot

Vai al robot
Vai al robot
Vai al robot
Vai al robot
Vai al robot
Vai al robot
Vai al robot
Vai al robot
  1. Successivamente passeremo alla classe Robot
  2. quindi cambieremo la riga (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem();) in (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem();) notare che il nome dopo final è lo stesso del nome del sottosistema e il nome dopo nuovo nota anche che il DriveTrainSub è lo stesso del nome che abbiamo inserito nel nostro ultimo passaggio e che non è lo stesso del nome del sottosistema (DEVI avere un nome oggetto (DriveTrainSub) che non è lo stesso del sottosistema nome).
  3. Quindi importa il nostro DriveTrainSubSystem.
  4. Successivamente rimuoveremo la riga (chooser.addDefault("Default Auto", new EsempioCommand());)
  5. Quindi rimuovere le importazioni inutilizzate.
  6. Quindi salva.

Passaggio 8: torna a DriveTrainCommand

Torna a DriveTrainCommand
Torna a DriveTrainCommand
  1. import Robot (il secondo nell'immagine)
  2. Quindi salva

Passaggio 9: vai a DriveTrainSub

Vai a DriveTrainSub
Vai a DriveTrainSub
  1. Importa ComandoTrasmissione
  2. Quindi salva.

Passaggio 10: successivamente creeremo il codice OI

Successivamente creeremo il codice OI
Successivamente creeremo il codice OI
  1. Vai all'OI.
  2. Crea un nuovo oggetto joystick pubblico con la porta 0.
  3. E rimuovi le importazioni inutilizzate.
  4. Salva.

Passaggio 11: vai a DriveTrainCommand

Vai a DriveTrainCommand
Vai a DriveTrainCommand
  1. Vai a DriveTrainCommand.
  2. Ora faremo la parte che prende i joystick e li applica per spostare il robot. All'interno dell'exe(perché funziona costantemente) aggiungiamo la riga (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) dove chiamiamo arcadeDrive nel nostro sottosistema con i valori di Robot.io. Driver.getRawAxis(1) che restituisce il valore del joystick e dove 1 è l'asse dell'asse y sinistro e lo stesso per il secondo valore tranne 4 è l'asse x destro. quindi questo significherebbe che la levetta sinistra andrebbe avanti e indietro e la levetta destra andrebbe a destra ea sinistra. (se lo desideri, puoi tornare a RobotMap e creare nuovi valori per l'asse del joystick, quindi chiamarli con RobotMap. (nome dell'asse) e non dimenticare di renderli definitivi se lo fai in questo modo.)
  3. Quindi rimuovi tutte le importazioni inutilizzate dall'intero progetto.

Passaggio 12: infine compila e carica il codice sul robot

Consigliato: