Sadržaj:

Kako napisati jednostavan pogonski sklop za FRC (Java): 12 koraka (sa slikama)
Kako napisati jednostavan pogonski sklop za FRC (Java): 12 koraka (sa slikama)

Video: Kako napisati jednostavan pogonski sklop za FRC (Java): 12 koraka (sa slikama)

Video: Kako napisati jednostavan pogonski sklop za FRC (Java): 12 koraka (sa slikama)
Video: Архитектура ЭВМ | Основы Операционных Систем | Ассемблер | 01 2024, Novembar
Anonim
Kako napisati jednostavan pogonski sklop za FRC (Java)
Kako napisati jednostavan pogonski sklop za FRC (Java)

Ovo je vodič o tome kako napraviti jednostavan pogonski sklop za FRC robota. Ovaj vodič pretpostavlja da znate da su osnove jave, eclipse i već instalirani wpilib, kao i CTRE biblioteke.

Korak 1:

Image
Image

Otvorite Eclipse

Korak 2: Kreirajte novi projekt robota

Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
Kreirajte novi projekt robota
  1. Desnom tipkom miša kliknite istraživač paketa, kliknite novo, a zatim drugo.
  2. Pomaknite se prema dolje dok ne vidite WPILib Robot Java Development (ako ga ne vidite, nemate instalirane wpilib resurse.)
  3. Kliknite na Robot Java Project
  4. Zatim unesite naziv projekta i kliknite na tip projekta robota zasnovanog na naredbama. (Paket bi već trebao biti ispunjen i isto sa svijetom simulacije.)

Korak 3: Kreirajte/Popunite RobotMap

Kreiraj/Popuni RobotMap
Kreiraj/Popuni RobotMap
Kreiraj/Popuni RobotMap
Kreiraj/Popuni RobotMap

Kreirajte konačne varijable koje sadrže broj različitih talon portova

Korak 4: Izbrišite naredbu Primjer i primjer podsistema

Izbrišite naredbu Primjer i primjer podsistema
Izbrišite naredbu Primjer i primjer podsistema
Izbrišite naredbu Primjer i primjer podsistema
Izbrišite naredbu Primjer i primjer podsistema

Korak 5: Kreirajte DriveTrainSubSystem

Kreirajte DriveTrainSubSystem
Kreirajte DriveTrainSubSystem
Kreirajte DriveTrainSubSystem
Kreirajte DriveTrainSubSystem
Kreirajte DriveTrainSubSystem
Kreirajte DriveTrainSubSystem
  1. Kreirajte novi konstruktor u novostvorenom podsustavu pogonskog sklopa. Zatim kreirajte objekte CANTalon koji odgovaraju kandžama na pogonu.
  2. Napravite RobotDrive pod nazivom Drive
  3. Instantirajte ove objekte u konstruktoru (obavezno upotrijebite vrijednosti za kandže koje smo stvorili na karti robota). Za Robot Drive koristit ćemo konstruktor koji koristi 4 kontrolera motora (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Zatim kreirajte metodu arcadeDrive () sa dvije ulazne varijable x je naprijed i natrag, a y desno i lijevo. Unutra ćete pozvati drive.arcade s vrijednostima naprijed i rotiranje
  5. Zatim promijenite initDefaultCommand () da sadrži red setDefaultCommand (novi DriveTrainCommand ());.
  6. Ne brinite se još o svim greškama.

Korak 6: Kreirajte DriveTrainCommand

Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
Kreirajte DriveTrainCommand
  1. Prvo započnite odlaskom na izbornik koji smo koristili za stvaranje podsistema i robot se projektuje sam (ovo je zadnji put da ću pokazati ovaj stvarni korak u budućim koracima koje ću reći samo da izvršim naredbu ili da napravim podsistema i pretpostavićete da se nalazi u ovom meniju.) Kliknite na komandu i popunite naziv klase pomoću DriveTrainCommand (ako promenite nazive ovih datoteka, ne možete im omogućiti da budu isti).
  2. U novoj DriveTrainCommand -i vidjet ćete da postoji 6 metoda, jedna je konstruktor, a ostalih 5 su dijelovi koda koje će robot pozvati kada se naredba izvrši. Znamo šta konstruktor radi pa objasni Inicijalizacija, izvršavanje, završetak, završetak i prekid. Initialize se poziva jednom svaki put kada se naredba pozove, metoda execute se neprestano poziva sve dok se naredba ne završi, što je uzrokovano završetkom kada metoda isFinished vrati true naredba će prestati izvoditi, metoda End se poziva jednom nakon isFinished metoda se poziva, a prekinuti se poziva kada resurse naredbi koristi druga naredba i naredba će završiti (bez pozivanja metode end).
  3. Prvo u DriveTrainCommandu u konstruktoru morate dodati liniju require (required (Robot. DriveTrainSub)) primijetiti da DriveTrainSub nije isti kao naziv podsistema i da je to namjerno.

Korak 7: Skočite na robota

Skoči na robota
Skoči na robota
Skoči na robota
Skoči na robota
Skoči na robota
Skoči na robota
Skoči na robota
Skoči na robota
  1. Zatim idemo na klasu robota
  2. tada ćemo promijeniti liniju (javni statički konačni ExampleSubsystem exampleSubsystem = novi ExampleSubsystem ();) u (javni statički konačni DriveTrainSubsystem DriveTrainSub = novi DriveTrainSubsystem ();) primjetite da je ime nakon finalnog isto kao naziv podsistema i ime po novom također primijetite da je DriveTrainSub isto ime koje smo unijeli u zadnjem koraku i da nije isto kao naziv podsistema (MORATE imati naziv objekta (DriveTrainSub) koji nije isti kao podsistem ime).
  3. Zatim uvezite naš DriveTrainSubSystem.
  4. Zatim ćemo ukloniti liniju (Chooseser.addDefault ("Default Auto", novi ExampleCommand ());)
  5. Zatim uklonite neiskorišteni uvoz.
  6. Zatim spremite.

Korak 8: Vratite se na DriveTrainCommand

Vratite se na DriveTrainCommand
Vratite se na DriveTrainCommand
  1. import Robot (drugi na slici)
  2. Zatim Sačuvaj

Korak 9: Idite na DriveTrainSub

Idite na DriveTrainSub
Idite na DriveTrainSub
  1. Uvezite DriveTrainCommand
  2. Zatim spremite.

Korak 10: Zatim ćemo stvoriti OI kod

Zatim ćemo stvoriti OI kod
Zatim ćemo stvoriti OI kod
  1. Idite na OI.
  2. Kreirajte novi objekt javne palice s priključkom 0.
  3. I uklonite neiskorišteni uvoz.
  4. Save.

Korak 11: Idite na DriveTrainCommand

Idite na DriveTrainCommand
Idite na DriveTrainCommand
  1. Idite na DriveTrainCommand.
  2. Sada ćemo odraditi dio koji uzima džojstike i primjenjuje ih za pomicanje robota. Unutar izvršenja (jer se neprestano izvodi) dodajte liniju (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) gdje zovemo arcadeDrive u našem podsustav s vrijednostima Robot.io. Driver.getRawAxis (1) koji vraća vrijednost joystick -a i gdje je 1 os lijeve y osi, a ista za drugu vrijednost osim 4 je desna x osa. pa bi to značilo da bi lijevi štap išao naprijed i natrag, a desni bi se kretao desno i lijevo. (ako želite, mogli biste se vratiti na RobotMap i stvoriti nove vrijednosti za os joystick -a, a zatim ih nazvati pomoću RobotMap -a. (naziv osi) i ne zaboravite ih učiniti konačnim ako to učinite na ovaj način.)
  3. Zatim uklonite sav neiskorišteni uvoz iz cijelog projekta.

Korak 12: Konačno sastavite i prenesite kôd u robota

Preporučuje se: