Innholdsfortegnelse:

Hvordan skrive et enkelt drivverk for FRC (Java): 12 trinn (med bilder)
Hvordan skrive et enkelt drivverk for FRC (Java): 12 trinn (med bilder)

Video: Hvordan skrive et enkelt drivverk for FRC (Java): 12 trinn (med bilder)

Video: Hvordan skrive et enkelt drivverk for FRC (Java): 12 trinn (med bilder)
Video: Hvordan rense og smøre DRIVVERKET på SYKKELEN | MEKKEHJELPEN 2024, November
Anonim
Hvordan skrive et enkelt drivverk for FRC (Java)
Hvordan skrive et enkelt drivverk for FRC (Java)

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:

Bilde
Bilde

Åpen Eclipse

Trinn 2: Lag et nytt robotprosjekt

Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
Lag et nytt robotprosjekt
  1. Høyreklikk på pakkeutforskeren, klikk på ny og deretter på andre.
  2. Rull ned til du ser WPILib Robot Java Development (hvis du ikke ser det, har du ikke wpilib -ressursene installert.)
  3. Klikk på Robot Java Project
  4. 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

Opprett/fyll ut RobotMap
Opprett/fyll ut RobotMap
Opprett/fyll ut RobotMap
Opprett/fyll ut RobotMap

Lag siste variabler som inneholder antall forskjellige talon -porter

Trinn 4: Slett eksempelkommando og eksempelundersystem

Slett eksempelkommando og eksempelundersystem
Slett eksempelkommando og eksempelundersystem
Slett eksempelkommando og eksempelundersystem
Slett eksempelkommando og eksempelundersystem

Trinn 5: Lag DriveTrainSubSystem

Lag DriveTrainSubSystem
Lag DriveTrainSubSystem
Lag DriveTrainSubSystem
Lag DriveTrainSubSystem
Lag DriveTrainSubSystem
Lag DriveTrainSubSystem
  1. Lag en ny konstruktør i det nyopprettede drivsystemet. Lag deretter CANTalon -objekter som tilsvarer kløene på drivverket.
  2. Lag en RobotDrive kalt Drive
  3. 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))
  4. 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
  5. Endre deretter initDefaultCommand () for å inneholde linjen setDefaultCommand (nytt DriveTrainCommand ());.
  6. Ikke bekymre deg for alle feilene ennå.

Trinn 6: Opprett DriveTrainCommand

Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
Opprett DriveTrainCommand
  1. 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).
  2. 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).
  3. 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

Gå til Robot
Gå til Robot
Gå til Robot
Gå til Robot
Gå til Robot
Gå til Robot
Gå til Robot
Gå til Robot
  1. Deretter skal vi hoppe til robotklassen
  2. 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).
  3. Importer deretter vårt DriveTrainSubSystem.
  4. Deretter vil vi fjerne linjen (chooser.addDefault ("Standard Auto", nytt eksempelkommando ());)
  5. Fjern deretter ubrukt import.
  6. Lagre deretter.

Trinn 8: Gå tilbake til DriveTrainCommand

Gå tilbake til DriveTrainCommand
Gå tilbake til DriveTrainCommand
  1. importrobot (den andre i bildet)
  2. Deretter Lagre

Trinn 9: Gå til DriveTrainSub

Gå til DriveTrainSub
Gå til DriveTrainSub
  1. Importer DriveTrainCommand
  2. Lagre deretter.

Trinn 10: Neste lager vi OI -koden

Neste vil vi lage OI -koden
Neste vil vi lage OI -koden
  1. Gå til OI.
  2. Lag et nytt offentlig joystick -objekt med porten 0.
  3. Og fjern ubrukt import.
  4. Lagre.

Trinn 11: Gå til DriveTrainCommand

Gå til DriveTrainCommand
Gå til DriveTrainCommand
  1. Gå til DriveTrainCommand.
  2. 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.)
  3. Fjern deretter ubrukt import fra hele prosjektet.

Trinn 12: Til slutt kompilerer og laster du opp koden til roboten

Anbefalt: