Përmbajtje:
- Hapi 1:
- Hapi 2: Krijoni një Projekt të Ri Robot
- Hapi 3: Krijoni/Plotësoni RobotMap
- Hapi 4: Fshi Komandën Shembull dhe Nënsistemin Shembull
- Hapi 5: Krijoni DriveTrainSubSystem
- Hapi 6: Krijoni DriveTrainCommand
- Hapi 7: Shko te Roboti
- Hapi 8: Kthehuni te DriveTrainCommand
- Hapi 9: Shkoni te DriveTrainSub
- Hapi 10: Tjetra Ne do të krijojmë kodin OI
- Hapi 11: Shkoni te DriveTrainCommand
- Hapi 12: Së fundi, përpiloni dhe ngarkoni kodin në robot
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Ky është një mësim se si të bëni një makinë të thjeshtë për një robot FRC. Ky tutorial supozon se ju e dini që bazat e java, eklipsit dhe tashmë keni të instaluar wpilib, si dhe bibliotekat CTRE.
Hapi 1:
Hapni Eklipsin
Hapi 2: Krijoni një Projekt të Ri Robot
- Klikoni me të djathtën mbi eksploruesin e paketës, klikoni të ri, pastaj tjetër.
- Shkoni poshtë derisa të shihni WPILib Robot Java Development (nëse nuk e shihni nuk keni burime wpilib të instaluara.)
- Klikoni në Robot Java Project
- Pastaj plotësoni emrin e projektit dhe klikoni llojin e projektit të robotit të bazuar në komandë. (Paketa tashmë duhet të plotësohet dhe e njëjtë me botën e simulimit.)
Hapi 3: Krijoni/Plotësoni RobotMap
Krijoni variabla përfundimtare që përmbajnë numrin e porteve të ndryshme talon
Hapi 4: Fshi Komandën Shembull dhe Nënsistemin Shembull
Hapi 5: Krijoni DriveTrainSubSystem
- Krijoni një konstruktor të ri në nënsistemin e sapo krijuar të drivetrain. Pastaj krijoni objekte CANTalon që korrespondojnë me talons në drivetrain.
- Krijoni një RobotDrive të quajtur Drive
- Instaloni këto objekte në konstruktor (sigurohuni që të përdorni vlerat për talons që kemi krijuar në hartën e robotëve). Për Robot Drive ne do të përdorim konstruktorin që përdor 4 Motor Controllers (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
- Pastaj krijoni një metodë arcadeDrive () me dy ndryshore hyrëse ishin x është përpara dhe prapa dhe y është djathtas dhe majtas. Brenda do të thërrisni drive.arkadë me vlerat përpara dhe rrotulluese
- Pastaj ndryshoni initDefaultCommand () për të përmbajtur linjën setDefaultCommand (DriveTrainCommand i ri ());.
- Mos u shqetësoni për të gjitha gabimet akoma.
Hapi 6: Krijoni DriveTrainCommand
- Filloni së pari duke shkuar në menunë që kemi përdorur për të krijuar nënsistemin dhe roboti projekton vetveten (kjo është hera e fundit që do ta tregoj këtë hap aktual në hapat e ardhshëm që do të them vetëm për të bërë një komandë ose për të bërë një nënsistemit dhe ju do të supozoni se është në këtë meny.) Klikoni komandën dhe plotësoni emrin e klasës me DriveTrainCommand (nëse ndryshoni emrat e këtyre skedarëve nuk mund t'i keni të njëjta).
- Në DriveTrainCommand të ri do të shihni se ka 6 metoda, njëra është konstruktori dhe 5 të tjerat janë pjesë të kodit që roboti do të thërrasë kur komanda të jetë në punë. Ne e dimë se çfarë bën konstruktori, kështu që ju lejon të shpjegoni Initialize, ekzekutoni, përfundon, përfundon dhe ndërpritet. Initialize thirret një herë sa herë që komanda thirret, metoda e ekzekutimit thirret vazhdimisht derisa komanda të përfundojë, e cila shkaktohet nga përfundimi kur metoda isFinished kthehet e vërtetë komanda do të ndalojë së funksionuari, Metoda e fundit thirret një herë pasi isFinished metoda thirret, dhe e ndërprera thirret kur burimet e komandave po përdoren nga një komandë tjetër dhe komanda do të përfundojë (pa thirrur metodën fund).
- Së pari në DriveTrainCommand në konstruktorin ju duhet të shtoni vijën e kërkuar (kërkon (kërkon (Robot. DriveTrainSub)) vëreni se DriveTrainSub nuk është i njëjtë me emrin e nënsistemit dhe që është me qëllim.
Hapi 7: Shko te Roboti
- Tjetra ne do të hidhemi në Klasën e Robotëve
- atëherë do të ndryshojmë vijën (publiku përfundimtar statik ShembulliSubsystem shembullSubsystem = Shembulli i riSubsystem ();) në (publik përfundimtar statik DriveTrainSubsystem DriveTrainSub = DriveTrainSubsystem i ri ();) vëreni se emri i parë pas përfundimit është i njëjtë me emrin e nënsistemit dhe emri pas të rive gjithashtu vini re se DriveTrainSub është i njëjtë me emrin që vendosëm në hapin tonë të fundit dhe se nuk është i njëjtë me emrin e nënsistemit (Ju DUHET të keni një emër objekti (DriveTrainSub) që nuk është i njëjtë me nënsistemin emri).
- Pastaj importoni sistemin tonë DriveTrainSubSystem.
- Tjetra ne do të heqim rreshtin (chooser.addDefault ("Default Auto", Shembull i ri Komandë ());)
- Pastaj hiqni importet e papërdorura.
- Pastaj ruani.
Hapi 8: Kthehuni te DriveTrainCommand
- Roboti i importit (i dyti në imazh)
- Pastaj Ruaj
Hapi 9: Shkoni te DriveTrainSub
- Importo DriveTrainCommand
- Pastaj ruani.
Hapi 10: Tjetra Ne do të krijojmë kodin OI
- Shkoni në OI.
- Krijoni një objekt të ri publik të levës me portën 0.
- Dhe hiqni importet e papërdorura.
- Ruaj.
Hapi 11: Shkoni te DriveTrainCommand
- Shkoni te DriveTrainCommand.
- Tani do të bëjmë pjesën që marrim levë dhe i zbatojmë për të lëvizur robotin. Brenda ekzekutimit (sepse funksionon vazhdimisht) shtoni linjën (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) ku ne e quajmë arcadeDrive në tonë nënsistemi me vlerat e Robot.io. Driver.getRawAxis (1) i cili kthen vlerën e levës dhe ku 1 është boshti i boshtit y të majtë y dhe e njëjta për vlerën e dytë përveç 4 është aksi x i djathtë. kështu që kjo do të thotë që shkopi i majtë do të shkonte përpara dhe prapa dhe shkopi i djathtë do të shkonte djathtas dhe majtas. (nëse dëshironi, mund të ktheheni në RobotMap dhe të krijoni vlera të reja për boshtin e levës, atëherë telefonojini ato me RobotMap. (emri i boshtit) dhe mos harroni t'i bëni ato përfundimtare nëse e bëni këtë në këtë mënyrë.)
- Tjetra hiqni çdo import të papërdorur nga i gjithë projekti.