Cuprins:
- Pasul 1:
- Pasul 2: Creați un nou proiect robot
- Pasul 3: Creați / completați RobotMap
- Pasul 4: Ștergeți comanda de exemplu și subsistemul de exemplu
- Pasul 5: Creați DriveTrainSubSystem
- Pasul 6: Creați comanda DriveTrain
- Pasul 7: Salt la Robot
- Pasul 8: Reveniți la DriveTrainCommand
- Pasul 9: Accesați DriveTrainSub
- Pasul 10: Apoi vom crea codul OI
- Pasul 11: Accesați DriveTrainCommand
- Pasul 12: În sfârșit, compilați și încărcați codul pe robot
Video: Cum se scrie o transmisie simplă pentru FRC (Java): 12 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
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:
Deschide Eclipse
Pasul 2: Creați un nou proiect robot
- Faceți clic dreapta pe exploratorul de pachete, faceți clic pe nou, apoi pe altul.
- 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.)
- Faceți clic pe Robot Java Project
- 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 variabile finale care conțin numărul diferitelor porturi de talon
Pasul 4: Ștergeți comanda de exemplu și subsistemul de exemplu
Pasul 5: Creați DriveTrainSubSystem
- Creați un constructor nou în subsistemul de transmisie nou creat. Apoi creați obiecte CANTalon care să corespundă unghiilor de pe transmisie.
- Creați un RobotDrive numit Drive
- 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))
- 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
- Apoi modificați initDefaultCommand () pentru a conține linia setDefaultCommand (noul DriveTrainCommand ());.
- Nu vă faceți griji cu privire la toate erorile încă.
Pasul 6: Creați comanda DriveTrain
- 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).
- Î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ă).
- 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
- În continuare vom trece la clasa Robot
- 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).
- Apoi importați sistemul nostru DriveTrainSubSystem.
- Apoi vom elimina linia (chooser.addDefault ("Default Auto", noua ExampleCommand ());)
- Apoi eliminați importurile neutilizate.
- Apoi salvați.
Pasul 8: Reveniți la DriveTrainCommand
- import Robot (al doilea din imagine)
- Apoi Salvați
Pasul 9: Accesați DriveTrainSub
- Importați DriveTrainCommand
- Apoi salvați.
Pasul 10: Apoi vom crea codul OI
- Mergeți la OI.
- Creați un nou obiect joystick public cu portul 0.
- Și eliminați importurile neutilizate.
- Salvați.
Pasul 11: Accesați DriveTrainCommand
- Accesați DriveTrainCommand.
- 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.)
- 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:
Cum se scrie o instrucțiune folosind instructabile: 14 pași
Cum se scrie o instrucțiune folosind instructabile: Acest document arată cum se utilizează instructabile pentru scrierea unei instrucțiuni
Transmisie audio digitală laser simplă și ieftină: 4 pași
Transmisie audio digitală laser simplă și ieftină: De când am făcut arma cu laser, m-am gândit să modulez laserul pentru a trimite audio, fie pentru distracție (un interfon pentru copii), fie poate pentru a transmite date pentru un pistol laser mai sofisticat , permițând unui receptor să-și dea seama de cine a fost lovit
Lumina reactivă pentru muzică -- Cum să faci lumină reactivă pentru muzică super simplă pentru a face desktop-ul grozav .: 5 pași (cu imagini)
Muzică lumină reactivă || Cum să facem muzică super simplă lumină reactivă pentru a face desktopul grozav. basul care este de fapt semnal audio de joasă frecvență. Este foarte simplu de construit. Vom
Cum se scrie un program de interpolare liniară pe un TI-89: 6 pași
Cum se scrie un program de interpolare liniară pe un TI-89: lucruri de știut înainte de a începe. Titlurile cheie vor fi între paranteze (ex. (ENTER)), iar afirmațiile între ghilimele sunt informații exacte afișate pe ecran. Taste importante și șiruri de text introduse în fiecare pas sunt evidențiate în figuri. Whe
Cum se scrie o forță brută pentru numere (Visual BASIC 2008 Express): 5 pași
Cum se scrie o forță brută pentru numere (Visual BASIC 2008 Express): În acest instructiv vă voi arăta cum să scrieți așa-numita „forță brută”. în Visual BASIC 2008 Express pe care îl puteți descărca de aici - > http://www.microsoft.com/eXPress/download/ O forță brută este un „cracking” program care creează