Innehållsförteckning:

Hur man skriver en enkel drivlina för FRC (Java): 12 steg (med bilder)
Hur man skriver en enkel drivlina för FRC (Java): 12 steg (med bilder)

Video: Hur man skriver en enkel drivlina för FRC (Java): 12 steg (med bilder)

Video: Hur man skriver en enkel drivlina för FRC (Java): 12 steg (med bilder)
Video: Lär dig att skriva en insändare (argumenterande text) 2024, Juli
Anonim
Hur man skriver en enkel drivlina för FRC (Java)
Hur man skriver en enkel drivlina för FRC (Java)

Detta är en handledning om hur man gör en enkel drivlina för en FRC -robot. Denna handledning förutsätter att du känner till grunderna i java, eclipse och redan har wpilib installerat, liksom CTRE -bibliotek.

Steg 1:

Bild
Bild

Öppna Eclipse

Steg 2: Skapa ett nytt robotprojekt

Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
Skapa ett nytt robotprojekt
  1. Högerklicka på paketutforskaren, klicka på nytt och sedan på annat.
  2. Rulla ner tills du ser WPILib Robot Java Development (om du inte ser det har du inte wpilib -resurser installerade.)
  3. Klicka på Robot Java Project
  4. Fyll sedan i projektnamnet och klicka på den kommandobaserade robotprojekttypen. (Paketet bör redan fyllas i och samma med simuleringsvärlden.)

Steg 3: Skapa/fyll i RobotMap

Skapa/fyll i RobotMap
Skapa/fyll i RobotMap
Skapa/fyll i RobotMap
Skapa/fyll i RobotMap

Skapa slutvariabler som innehåller antalet olika talonportar

Steg 4: Ta bort exempelkommando och exempelundersystem

Ta bort exempelkommando och exempelundersystem
Ta bort exempelkommando och exempelundersystem
Ta bort exempelkommando och exempelundersystem
Ta bort exempelkommando och exempelundersystem

Steg 5: Skapa DriveTrainSubSystem

Skapa DriveTrainSubSystem
Skapa DriveTrainSubSystem
Skapa DriveTrainSubSystem
Skapa DriveTrainSubSystem
Skapa DriveTrainSubSystem
Skapa DriveTrainSubSystem
  1. Skapa en ny konstruktör i det nyskapade drivsystemet. Skapa sedan CANTalon -föremål som motsvarar talonerna på drivlinan.
  2. Skapa en RobotDrive som heter Drive
  3. Instantiera dessa objekt i konstruktören (se till att använda värdena för talonerna som vi skapade i robotkartan). För Robot Drive använder vi konstruktören som använder 4 motorstyrenheter (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Skapa sedan en arcadeDrive () -metod med två inmatningsvariabler var x är framåt och bakåt och y är höger och vänster. Inuti kommer du att ringa drive.arcade med värdena framåt och rotera
  5. Ändra sedan initDefaultCommand () för att innehålla raden setDefaultCommand (nytt DriveTrainCommand ());.
  6. Oroa dig inte för alla fel ännu.

Steg 6: Skapa DriveTrainCommand

Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
Skapa DriveTrainCommand
  1. Börja först med att gå till menyn som vi har använt för att skapa delsystemet och roboten projicera sig själv (det här är sista gången jag kommer att visa detta faktiska steg i de framtida stegen jag säger bara för att göra ett kommando eller göra ett delsystemet och du antar att det finns i den här menyn.) Klicka på kommando och fyll i klassnamnet med DriveTrainCommand (om du ändrar namnen på dessa filer kan du inte få dem att vara desamma).
  2. I det nya DriveTrainCommand ser du att det finns 6 metoder, en är konstruktorn och de andra 5 är delar av koden som roboten kommer att ringa när kommandot körs. Vi vet vad konstruktören gör så kan förklara Initiera, exekvera, är färdig, avsluta och avbrutna. Initialiseras kallas en gång varje gång kommandot anropas, exekteringsmetoden kallas kontinuerligt tills kommandot slutar, vilket orsakas av att det är klart när isFinished -metoden returnerar sant kommandot slutar köra, Slutmetoden anropas en gång efter att isFinished metoden kallas, och den avbrutna kallas när kommandoresurserna används av ett annat kommando och kommandot kommer att avslutas (utan att anropa slutmetoden).
  3. Först i DriveTrainCommand i konstruktören måste du lägga till den obligatoriska raden (kräver (Robot. DriveTrainSub)) märka att DriveTrainSub inte är samma som delsystemets namn och det är med avsikt.

Steg 7: Hoppa till Robot

Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
Hoppa till Robot
  1. Därefter ska vi hoppa till robotklassen
  2. då ska vi ändra raden (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) till (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) märka att förnamnet efter final är samma som delsystemets namn och namn efter nytt märker också att DriveTrainSub är detsamma som namnet som vi lade i vårt sista steg och att det inte är samma som delsystemets namn (Du MÅSTE ha ett objektnamn (DriveTrainSub) som inte är detsamma som delsystemet namn).
  3. Importera sedan vårt DriveTrainSubSystem.
  4. Därefter tar vi bort raden (chooser.addDefault ("Standard Auto", nytt Exempelkommando ());)
  5. Ta sedan bort den oanvända importen.
  6. Spara sedan.

Steg 8: Gå tillbaka till DriveTrainCommand

Gå tillbaka till DriveTrainCommand
Gå tillbaka till DriveTrainCommand
  1. importrobot (den andra i bilden)
  2. Spara sedan

Steg 9: Gå till DriveTrainSub

Gå till DriveTrainSub
Gå till DriveTrainSub
  1. Importera DriveTrainCommand
  2. Spara sedan.

Steg 10: Nästa skapar vi OI -koden

Därefter skapar vi OI -koden
Därefter skapar vi OI -koden
  1. Gå till OI.
  2. Skapa ett nytt offentligt joystickobjekt med porten 0.
  3. Och ta bort den oanvända importen.
  4. Spara.

Steg 11: Gå till DriveTrainCommand

Gå till DriveTrainCommand
Gå till DriveTrainCommand
  1. Gå till DriveTrainCommand.
  2. Nu ska vi göra den del som tar styrspakarna och applicera dem för att flytta roboten. Inuti körningen (eftersom den körs konstant) lägg till linjen (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) där vi kallar arcadeDrive i vår delsystemet med värdena för Robot.io. Driver.getRawAxis (1) som returnerar joystickens värde och där 1 är axeln för den vänstra y -axeln och samma för det andra värdet utom 4 är den högra x -axeln. så detta skulle innebära att den vänstra pinnen skulle gå framåt och bakåt och den högra pinnen skulle gå åt höger och vänster. (om du vill kan du gå tillbaka till RobotMap och skapa nya värden för joystickaxeln, ring dem sedan med RobotMap. (namn på axeln) och glöm inte att göra dem slutgiltiga om du gör det på det här sättet.)
  3. Ta sedan bort all oanvänd import från hela projektet.

Steg 12: Slutligen kompilera och ladda upp koden till roboten

Rekommenderad: