Cuprins:

Cum se scrie o transmisie simplă pentru FRC (Java): 12 pași (cu imagini)
Cum se scrie o transmisie simplă pentru FRC (Java): 12 pași (cu imagini)

Video: Cum se scrie o transmisie simplă pentru FRC (Java): 12 pași (cu imagini)

Video: Cum se scrie o transmisie simplă pentru FRC (Java): 12 pași (cu imagini)
Video: Cel mai întreținut BMW seria 5 filmat până azi 2024, Noiembrie
Anonim
Cum se scrie o transmisie simplă pentru FRC (Java)
Cum se scrie o transmisie simplă pentru FRC (Java)

Acesta este un tutorial despre cum să faci o transmisie simplă pentru un robot FRC. Acest tutorial presupune că știți că elementele de bază ale java, eclipse și deja au instalat wpilib, precum și bibliotecile CTRE.

Pasul 1:

Imagine
Imagine

Deschide Eclipse

Pasul 2: Creați un nou proiect robot

Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
Creați un nou proiect robot
  1. Faceți clic dreapta pe exploratorul de pachete, faceți clic pe nou, apoi pe altul.
  2. Derulați în jos până când vedeți WPILib Robot Java Development (dacă nu îl vedeți, nu aveți resursele wpilib instalate.)
  3. Faceți clic pe Robot Java Project
  4. Apoi completați numele proiectului și faceți clic pe tipul de proiect robot bazat pe comenzi (pachetul ar trebui să fie deja completat și același lucru cu lumea simulării).

Pasul 3: Creați / completați RobotMap

Creați / completați RobotMap
Creați / completați RobotMap
Creați / completați RobotMap
Creați / completați RobotMap

Creați variabile finale care conțin numărul diferitelor porturi de talon

Pasul 4: Ștergeți comanda de exemplu și subsistemul de exemplu

Ștergeți comanda de exemplu și subsistemul de exemplu
Ștergeți comanda de exemplu și subsistemul de exemplu
Ștergeți comanda de exemplu și subsistemul de exemplu
Ștergeți comanda de exemplu și subsistemul de exemplu

Pasul 5: Creați DriveTrainSubSystem

Creați DriveTrainSubSystem
Creați DriveTrainSubSystem
Creați DriveTrainSubSystem
Creați DriveTrainSubSystem
Creați DriveTrainSubSystem
Creați DriveTrainSubSystem
  1. Creați un constructor nou în subsistemul de transmisie nou creat. Apoi creați obiecte CANTalon care să corespundă unghiilor de pe transmisie.
  2. Creați un RobotDrive numit Drive
  3. Instantați aceste obiecte în constructor (asigurați-vă că utilizați valorile pentru unghiile create de noi pe harta robotului). Pentru Robot Drive vom folosi constructorul care folosește 4 controlere de motor (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Apoi creați o metodă arcadeDrive () cu două variabile de intrare unde x este înainte și înapoi și y este dreapta și stânga. În interior veți apela drive.arcade cu valorile înainte și rotire
  5. Apoi modificați initDefaultCommand () pentru a conține linia setDefaultCommand (noul DriveTrainCommand ());.
  6. Nu vă faceți griji cu privire la toate erorile încă.

Pasul 6: Creați comanda DriveTrain

Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
Creați comanda DriveTrain
  1. Mai întâi începeți mergând la meniul pe care l-am folosit pentru a crea subsistemul și robotul își proiectează sinele (aceasta este ultima dată când voi arăta acest pas efectiv în următorii pași, voi spune doar pentru a face o comandă sau pentru a face o subsistem și veți presupune că se află în acest meniu.) Faceți clic pe comandă și completați numele clasei cu DriveTrainCommand (dacă modificați numele fișierului, nu le puteți avea la fel).
  2. În noua DriveTrainCommand veți vedea că există 6 metode, una este constructorul, iar celelalte 5 sunt părți ale codului pe care robotul îl va apela atunci când comanda rulează. Știm ce face constructorul, astfel încât să explicăm Initialize, execute, isFinished, end, and interrupted. Initialize este apelat o dată de fiecare dată când este apelată comanda, metoda execute este apelată continuu până când comanda se termină, ceea ce este cauzat de este terminată când metoda isFinished revine adevărată comanda va înceta să ruleze, Metoda final este apelată o dată după ce este Finalizată se apelează metoda, iar întreruptul este apelat atunci când resursele comenzilor sunt utilizate de o altă comandă și comanda se va termina (fără a apela metoda finală).
  3. Mai întâi în DriveTrainCommand din constructor trebuie să adăugați linia require (necesită (Robot. DriveTrainSub)) observați că DriveTrainSub nu este același cu numele subsistemului și că este intenționat.

Pasul 7: Salt la Robot

Salt la Robot
Salt la Robot
Salt la Robot
Salt la Robot
Salt la Robot
Salt la Robot
Salt la Robot
Salt la Robot
  1. În continuare vom trece la clasa Robot
  2. apoi vom schimba linia (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) la (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) observați că prenumele după final este același cu numele subsistemului și nume după nou observați, de asemenea, că DriveTrainSub este același cu numele pe care l-am pus în ultimul nostru pas și că nu este același cu numele subsistemului (TREBUIE să aveți un nume de obiect (DriveTrainSub) care nu este același cu subsistemul Nume).
  3. Apoi importați sistemul nostru DriveTrainSubSystem.
  4. Apoi vom elimina linia (chooser.addDefault ("Default Auto", noua ExampleCommand ());)
  5. Apoi eliminați importurile neutilizate.
  6. Apoi salvați.

Pasul 8: Reveniți la DriveTrainCommand

Reveniți la DriveTrainCommand
Reveniți la DriveTrainCommand
  1. import Robot (al doilea din imagine)
  2. Apoi Salvați

Pasul 9: Accesați DriveTrainSub

Accesați DriveTrainSub
Accesați DriveTrainSub
  1. Importați DriveTrainCommand
  2. Apoi salvați.

Pasul 10: Apoi vom crea codul OI

În continuare vom crea codul OI
În continuare vom crea codul OI
  1. Mergeți la OI.
  2. Creați un nou obiect joystick public cu portul 0.
  3. Și eliminați importurile neutilizate.
  4. Salvați.

Pasul 11: Accesați DriveTrainCommand

Accesați DriveTrainCommand
Accesați DriveTrainCommand
  1. Accesați DriveTrainCommand.
  2. Acum vom face partea care ia joystick-urile și le vom aplica pentru a muta robotul. În interiorul executării (deoarece rulează constant) adăugați linia (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) unde numim arcadeDrive în subsistem cu valorile Robot.io. Driver.getRawAxis (1) care returnează valoarea joystick-ului și unde 1 este axa axei y stânga și aceeași pentru a doua valoare cu excepția 4 este axa x dreaptă. deci acest lucru ar însemna că bățul stâng ar merge înainte și înapoi și bastonul drept ar merge la dreapta și la stânga. (dacă doriți, puteți reveni la RobotMap și creați valori noi pentru axa joystick-ului, apoi sunați-le cu RobotMap. (numele axei) și nu uitați să le faceți finale dacă faceți acest lucru.)
  3. Apoi eliminați orice import neutilizat din întregul proiect.

Pasul 12: În sfârșit, compilați și încărcați codul pe robot

Recomandat: