Innholdsfortegnelse:
- Trinn 1:
- Trinn 2: Lag et nytt robotprosjekt
- Trinn 3: Opprett/fyll ut RobotMap
- Trinn 4: Slett eksempelkommando og eksempelundersystem
- Trinn 5: Lag DriveTrainSubSystem
- Trinn 6: Opprett DriveTrainCommand
- Trinn 7: Gå til Robot
- Trinn 8: Gå tilbake til DriveTrainCommand
- Trinn 9: Gå til DriveTrainSub
- Trinn 10: Neste lager vi OI -koden
- Trinn 11: Gå til DriveTrainCommand
- Trinn 12: Til slutt kompilerer og laster du opp koden til roboten
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er en opplæring om hvordan du lager et enkelt drivverk for en FRC -robot. Denne opplæringen forutsetter at du kjenner det grunnleggende om java, formørkelse og allerede har wpilib installert, samt CTRE -biblioteker.
Trinn 1:
Åpen Eclipse
Trinn 2: Lag et nytt robotprosjekt
- Høyreklikk på pakkeutforskeren, klikk på ny og deretter på andre.
- Rull ned til du ser WPILib Robot Java Development (hvis du ikke ser det, har du ikke wpilib -ressursene installert.)
- Klikk på Robot Java Project
- Fyll deretter ut prosjektnavnet og klikk på den kommandobaserte robotprosjekttypen. (Pakken bør allerede fylles ut og det samme med simuleringsverdenen.)
Trinn 3: Opprett/fyll ut RobotMap
Lag siste variabler som inneholder antall forskjellige talon -porter
Trinn 4: Slett eksempelkommando og eksempelundersystem
Trinn 5: Lag DriveTrainSubSystem
- Lag en ny konstruktør i det nyopprettede drivsystemet. Lag deretter CANTalon -objekter som tilsvarer kløene på drivverket.
- Lag en RobotDrive kalt Drive
- Instantier disse objektene i konstruktøren (sørg for å bruke verdiene for talonene som vi opprettet i robotkartet). For Robot Drive bruker vi konstruktøren som bruker 4 motorstyrere (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
- Lag deretter en arcadeDrive () -metode med to inndatavariabler der x er forover og bakover og y er til høyre og venstre. Inne vil du ringe drive.arcade med fremover og rotere verdier
- Endre deretter initDefaultCommand () for å inneholde linjen setDefaultCommand (nytt DriveTrainCommand ());.
- Ikke bekymre deg for alle feilene ennå.
Trinn 6: Opprett DriveTrainCommand
- Start først med å gå til menyen som vi har brukt til å lage delsystemet og roboten projisere seg selv (dette er siste gangen jeg vil vise dette faktiske trinnet i fremtidige trinn, jeg vil si bare for å lage en kommando eller lage en undersystemet, og du vil anta at det er i denne menyen.) Klikk på kommando og fyll ut klassens navn med DriveTrainCommand (hvis du endrer navnene på disse filene, kan du ikke la dem være de samme).
- I den nye DriveTrainCommand vil du se at det er 6 metoder den ene er konstruktøren og de andre 5 er deler av koden som roboten vil ringe når kommandoen kjører. Vi vet hva konstruktøren gjør, slik at vi kan forklare Initialize, execute, isFinished, avslutte og avbrutt. Initialiser kalles en gang hver gang kommandoen kalles, kalles utføringsmetoden kontinuerlig til kommandoen slutter, noe som er forårsaket av at er ferdig når isFinished -metoden returnerer sant, kommandoen slutter å kjøre. Sluttmetoden kalles en gang etter at isFinished metoden kalles, og den avbrutte kalles når kommandoressursene brukes av en annen kommando og kommandoen avsluttes (uten å ringe sluttmetoden).
- Først i DriveTrainCommand i konstruktøren må du legge til den nødvendige linjen (krever (Robot. DriveTrainSub)) at DriveTrainSub ikke er det samme som delsystemnavnet, og at det er med vilje.
Trinn 7: Gå til Robot
- Deretter skal vi hoppe til robotklassen
- så skal vi endre linjen (offentlig statisk endelig EksempelSubsystem eksempelSubsystem = nytt EksempelSystem ();) til (offentlig statisk endelig DriveTrainSubsystem DriveTrainSub = nytt DriveTrainSubsystem ();) legg merke til at fornavnet etter finalen er det samme som delsystemnavnet og navn etter nytt legg også merke til at DriveTrainSub er det samme som navnet vi la i vårt siste trinn, og at det ikke er det samme som delsystemnavnet (Du MÅ ha et objektnavn (DriveTrainSub) som ikke er det samme som delsystemet Navn).
- Importer deretter vårt DriveTrainSubSystem.
- Deretter vil vi fjerne linjen (chooser.addDefault ("Standard Auto", nytt eksempelkommando ());)
- Fjern deretter ubrukt import.
- Lagre deretter.
Trinn 8: Gå tilbake til DriveTrainCommand
- importrobot (den andre i bildet)
- Deretter Lagre
Trinn 9: Gå til DriveTrainSub
- Importer DriveTrainCommand
- Lagre deretter.
Trinn 10: Neste lager vi OI -koden
- Gå til OI.
- Lag et nytt offentlig joystick -objekt med porten 0.
- Og fjern ubrukt import.
- Lagre.
Trinn 11: Gå til DriveTrainCommand
- Gå til DriveTrainCommand.
- Nå skal vi gjøre den delen som tar styrespakene og bruke dem for å flytte roboten. I kjøringen (fordi den kjører konstant) legger du til linjen (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) der vi kaller arcadeDrive i vår delsystem med verdiene Robot.io. Driver.getRawAxis (1) som returnerer verdien til joysticken og hvor 1 er aksen til venstre y -akse og den samme for den andre verdien bortsett fra 4 er den høyre x -aksen. så dette ville bety at venstre pinne ville gå frem og tilbake og høyre pinne ville gå til høyre og venstre. (hvis du ville, kan du gå tilbake til RobotMap og lage nye verdier for joystick -aksen, så ring dem med RobotMap. (navn på aksen) og ikke glem å gjøre dem endelige hvis du gjør det på denne måten.)
- Fjern deretter ubrukt import fra hele prosjektet.