Turinys:
- 1 žingsnis:
- 2 žingsnis: sukurkite naują roboto projektą
- 3 veiksmas: sukurkite/užpildykite „RobotMap“
- 4 veiksmas: ištrinkite komandos pavyzdį ir pavyzdinį posistemį
- 5 veiksmas: sukurkite „DriveTrainSubSystem“
- 6 veiksmas: sukurkite „DriveTrainCommand“
- 7 žingsnis: pereikite prie roboto
- 8 veiksmas: grįžkite į „DriveTrainCommand“
- 9 veiksmas: eikite į „DriveTrainSub“
- 10 žingsnis: Toliau sukursime OI kodą
- 11 veiksmas: eikite į „DriveTrainCommand“
- 12 žingsnis: Pagaliau surinkite ir įkelkite kodą į robotą
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Tai yra pamoka, kaip padaryti paprastą pavarą FRC robotui. Šioje pamokoje daroma prielaida, kad žinote, kad „Java“, „Eclipse“pagrindai ir jau įdiegtas „wpilib“, taip pat CTRE bibliotekos.
1 žingsnis:
Atidarykite „Eclipse“
2 žingsnis: sukurkite naują roboto projektą
- Dešiniuoju pelės mygtuku spustelėkite paketų naršyklę, spustelėkite naują, tada kitą.
- Slinkite žemyn, kol pamatysite „WPILib Robot Java Development“(jei nematote, neturite įdiegtų „wpilib“išteklių.)
- Spustelėkite „Robot Java Project“
- Tada įveskite projekto pavadinimą ir spustelėkite komandomis pagrįsto roboto projekto tipą. (Paketas jau turėtų būti užpildytas ir tas pats su modeliavimo pasauliu.)
3 veiksmas: sukurkite/užpildykite „RobotMap“
Sukurkite galutinius kintamuosius, kuriuose yra skirtingų talonų prievadų skaičius
4 veiksmas: ištrinkite komandos pavyzdį ir pavyzdinį posistemį
5 veiksmas: sukurkite „DriveTrainSubSystem“
- Sukurkite naują konstruktorių naujai sukurtame pavaros posistemyje. Tada sukurkite „CANTalon“objektus, atitinkančius pavaros grandinės talis.
- Sukurkite „RobotDrive“, pavadintą „Drive“
- Įdiekite šiuos objektus konstruktoriuje (būtinai naudokite robotų žemėlapyje sukurtų nagų reikšmes). Robotų pavarai naudosime konstruktorių, kuris naudoja 4 variklio valdiklius („RobotDrive“(„SpeedController frontLeftMotor“, „SpeedController“galinis „LeftMotor“, „SpeedController frontRightMotor“, „SpeedController“galinis „RightMotor“))
- Tada sukurkite arcadeDrive () metodą su dviem įvesties kintamaisiais: x yra į priekį ir atgal, o y - į dešinę ir į kairę. Viduje paskambinsite į diską.arcade su pirmyn ir pasukti reikšmėmis
- Tada pakeiskite initDefaultCommand (), kad jame būtų eilutė setDefaultCommand (naujas DriveTrainCommand ());.
- Dar nesijaudinkite dėl visų klaidų.
6 veiksmas: sukurkite „DriveTrainCommand“
- Pirmiausia eikite į meniu, kurį naudojome kurdami posistemį, o robotas projektuoja save (tai paskutinis kartas, kai parodysiu šį faktinį žingsnį būsimuose žingsniuose, kuriuos pasakysiu tik norėdamas atlikti komandą arba atlikti posistemį ir jūs manysite, kad jis yra šiame meniu.) Spustelėkite komandą ir užpildykite klasės pavadinimą naudodami „DriveTrainCommand“(jei pakeisite šių failų pavadinimus, negalėsite, kad jie būtų vienodi).
- Naujajame „DriveTrainCommand“pamatysite, kad yra 6 metodai: vienas yra konstruktorius, o kiti 5 yra kodo dalys, kurias robotas iškvies vykdant komandą. Mes žinome, ką konstruktorius daro, todėl galime paaiškinti Inicijuoti, vykdyti, isFinished, baigti ir pertraukti. Inicializavimas iškviečiamas vieną kartą kiekvieną kartą iškviečiant komandą, vykdymo metodas yra nuolat vadinamas, kol komanda pasibaigia. metodas vadinamas, o nutrauktas vadinamas, kai komandų išteklius naudoja kita komanda ir komanda baigiasi (nepaskambinus pabaigos metodui).
- Pirmiausia „DriveTrainCommand“konstruktoriuje turite pridėti reikiamą eilutę (reikalauja („Robot. DriveTrainSub“)), pastebėkite, kad „DriveTrainSub“nėra tas pats kaip posistemio pavadinimas ir tai yra tikslinga.
7 žingsnis: pereikite prie roboto
- Toliau pereisime prie robotų klasės
- tada mes pakeisime eilutę (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) į (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) pastebėkime, kad pirmasis vardas po galutinio yra tas pats kaip posistemio pavadinimas ir Vardas po naujo taip pat atkreipkite dėmesį, kad „DriveTrainSub“yra tas pats, kurį pavadinome atlikdami paskutinį veiksmą, ir kad jis nėra tas pats, kaip posistemio pavadinimas (Jūs privalote turėti objekto pavadinimą („DriveTrainSub“), kuris nėra tas pats kaip posistemis) vardas).
- Tada importuokite mūsų „DriveTrainSubSystem“.
- Toliau pašalinsime eilutę (chooser.addDefault ("Numatytasis automatinis", naujas ExampleCommand ());)
- Tada pašalinkite nepanaudotą importą.
- Tada išsaugokite.
8 veiksmas: grįžkite į „DriveTrainCommand“
- importuoti robotą (antrasis paveikslėlyje)
- Tada Išsaugoti
9 veiksmas: eikite į „DriveTrainSub“
- Importuoti „DriveTrainCommand“
- Tada išsaugokite.
10 žingsnis: Toliau sukursime OI kodą
- Eikite į OI.
- Sukurkite naują viešą vairasvirtės objektą su 0 prievadu.
- Ir pašalinkite nepanaudotą importą.
- Sutaupyti.
11 veiksmas: eikite į „DriveTrainCommand“
- Eikite į „DriveTrainCommand“.
- Dabar mes padarysime tą dalį, kuri paims vairasvirtes ir pritaikys jas robotui perkelti. Vykdymo viduje (nes jis veikia nuolat) pridėkite eilutę (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) kur mes vadiname arcadeDrive posistemį su Robot.io. Driver.getRawAxis (1) reikšmėmis, kuri grąžina vairasvirtės vertę ir kur 1 yra kairės y ašies ašis, o ta pati antrosios vertės ašis, išskyrus 4, yra dešinė x ašis. taigi tai reikštų, kad kairioji lazda judėtų į priekį ir atgal, o dešinė - į dešinę ir į kairę. (jei norite, galite grįžti į „RobotMap“ir sukurti naujas vairasvirtės ašies vertes, tada paskambinkite joms naudodami „RobotMap“. (ašies pavadinimas) ir nepamirškite jas padaryti galutinėmis, jei tai padarysite.)
- Tada pašalinkite nepanaudotą importą iš viso projekto.