Sisällysluettelo:

Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java): 12 vaihetta (kuvilla)
Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java): 12 vaihetta (kuvilla)

Video: Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java): 12 vaihetta (kuvilla)

Video: Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java): 12 vaihetta (kuvilla)
Video: MF Ideal 8T -puimuri puintihommissa 2024, Marraskuu
Anonim
Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java)
Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java)

Tämä on opetusohjelma yksinkertaisen voimansiirron tekemisestä FRC -robotille. Tässä opetusohjelmassa oletetaan, että tiedät, että Java-, eclipse- ja wpilib -perusasiat sekä CTRE -kirjastot on jo asennettu.

Vaihe 1:

Kuva
Kuva

Avaa Eclipse

Vaihe 2: Luo uusi robottiprojekti

Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
Luo uusi robottiprojekti
  1. Napsauta paketinhallintaa hiiren kakkospainikkeella, valitse uusi ja sitten muu.
  2. Vieritä alaspäin, kunnes näet WPILib Robot Java -kehityksen (jos et näe sitä, sinulla ei ole wpilib -resursseja asennettuna.)
  3. Napsauta Robot Java Project
  4. Täytä sitten projektin nimi ja napsauta komentopohjaista robottiprojektityyppiä. (Paketin pitäisi olla jo täytetty ja sama simulaatiomaailman kanssa.)

Vaihe 3: Luo/täytä RobotMap

Luo/täytä RobotMap
Luo/täytä RobotMap
Luo/täytä RobotMap
Luo/täytä RobotMap

Luo lopulliset muuttujat, jotka sisältävät eri puhelinporttien määrän

Vaihe 4: Poista esimerkkikomento ja esimerkkialijärjestelmä

Poista esimerkkikomento ja esimerkkialijärjestelmä
Poista esimerkkikomento ja esimerkkialijärjestelmä
Poista esimerkkikomento ja esimerkkialijärjestelmä
Poista esimerkkikomento ja esimerkkialijärjestelmä

Vaihe 5: Luo DriveTrainSubSystem

Luo DriveTrainSubSystem
Luo DriveTrainSubSystem
Luo DriveTrainSubSystem
Luo DriveTrainSubSystem
Luo DriveTrainSubSystem
Luo DriveTrainSubSystem
  1. Luo uusi rakentaja äskettäin luotuun voimansiirron osajärjestelmään. Luo sitten CANTalon -objekteja, jotka vastaavat voimansiirron kynsiä.
  2. Luo Drive -niminen RobotDrive
  3. Asenna nämä objektit konstruktoriin (varmista, että käytät robottikartassa luomiemme kynsien arvoja). Robot -ajamiseen käytämme konstruktoria, joka käyttää 4 moottorin ohjainta (RobotDrive (SpeedController frontLeftMotor, SpeedController takanaLeftMotor, SpeedController frontRightMotor, SpeedController takanaRightMotor))
  4. Luo sitten arcadeDrive () -menetelmä, jossa on kaksi syöttömuuttujaa: x on eteenpäin ja taaksepäin ja y on oikea ja vasen. Sisällä voit kutsua drive.arcadea eteenpäin ja kiertämällä
  5. Muuta sitten initDefaultCommand () niin, että se sisältää rivin setDefaultCommand (uusi DriveTrainCommand ());.
  6. Älä vielä huolehdi kaikista virheistä.

Vaihe 6: Luo DriveTrainCommand

Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
Luo DriveTrainCommand
  1. Aloita ensin menemällä valikkoon, jota olemme käyttäneet alijärjestelmän luomiseen, ja robotti projisoi itsensä (tämä on viimeinen kerta, kun näytän tämän todellisen askeleen tulevissa vaiheissa, joita sanon vain komennon tai alijärjestelmää ja oletat, että se on tässä valikossa.) Napsauta komentoa ja täytä luokan nimi DriveTrainCommandilla (jos muutat näiden tiedostojen nimiä, et voi olla samoja).
  2. Uudessa DriveTrainCommandissa näet, että on 6 menetelmää, joista yksi on konstruktori ja muut 5 ovat koodin osia, joita robotti kutsuu komennon ollessa käynnissä. Tiedämme, mitä konstruktori tekee, joten se selittää Initialize, Execute, isFinished, end ja interrupt. Alustus kutsutaan kerran joka kerta, kun komento kutsutaan, suoritustapaa kutsutaan jatkuvasti, kunnes komento päättyy. menetelmää kutsutaan ja keskeytettyä kutsutaan, kun toinen komento käyttää komentoresursseja ja komento päättyy (kutsumatta lopetusmenetelmää).
  3. Huomaa ensin konstruktorin DriveTrainCommand -komennossa pakollinen rivi (vaatii (Robot. DriveTrainSub)), että DriveTrainSub ei ole sama kuin osajärjestelmän nimi ja että se on tarkoituksellinen.

Vaihe 7: Hyppää robottiin

Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
Hyppää robottiin
  1. Seuraavaksi siirrymme Robot -luokkaan
  2. sitten aiomme muuttaa rivin (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) muotoon (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) huomaa, että etunimi viimeisen jälkeen on sama kuin osajärjestelmän nimi ja Huomaa myös nimi uuden jälkeen, että DriveTrainSub on sama kuin viimeisessä vaiheessa antamamme nimi ja että se ei ole sama kuin osajärjestelmän nimi (sinulla on oltava objektin nimi (DriveTrainSub), joka ei ole sama kuin osajärjestelmä) nimi).
  3. Tuo sitten DriveTrainSubSystem.
  4. Seuraavaksi poistamme rivin (chooser.addDefault ("Oletusautomaatti", uusi ExampleCommand ());)
  5. Poista sitten käyttämätön tuonti.
  6. Tallenna sitten.

Vaihe 8: Palaa DriveTrainCommandiin

Palaa DriveTrainCommandiin
Palaa DriveTrainCommandiin
  1. Tuo robotti (toinen kuvassa)
  2. Tallenna sitten

Vaihe 9: Siirry DriveTrainSubiin

Siirry DriveTrainSubiin
Siirry DriveTrainSubiin
  1. Tuo DriveTrainCommand
  2. Tallenna sitten.

Vaihe 10: Seuraavaksi luomme OI -koodin

Seuraavaksi luomme OI -koodin
Seuraavaksi luomme OI -koodin
  1. Mene OI: han.
  2. Luo uusi julkinen joystick -objekti, jonka portti on 0.
  3. Ja poista käyttämätön tuonti.
  4. Tallentaa.

Vaihe 11: Siirry DriveTrainCommandiin

Siirry DriveTrainCommandiin
Siirry DriveTrainCommandiin
  1. Siirry DriveTrainCommandiin.
  2. Nyt teemme sen osan, joka ottaa ohjaussauvat ja käyttää niitä robotin siirtämiseen. Lisää suorituksen sisälle (koska se toimii jatkuvasti) lisää rivi (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) jossa kutsumme arcadeDrive alijärjestelmä, jossa on Robot.io. Driver.getRawAxis (1) -arvot, joka palauttaa ohjaussauvan arvon ja jossa 1 on vasemman y -akselin akseli ja sama toisella arvolla, paitsi 4 on oikea x -akseli. niin tämä tarkoittaisi sitä, että vasen sauva siirtyisi eteen- ja taaksepäin ja oikea sauva oikealle ja vasemmalle. (Halutessasi voit palata RobotMapiin ja luoda uusia arvoja ohjaussauvan akselille ja kutsua ne sitten RobotMapilla. (akselin nimi) äläkä unohda tehdä niistä lopullisia, jos teet sen tällä tavalla.)
  3. Poista seuraavaksi käyttämätön tuonti koko projektista.

Vaihe 12: Käännä ja lähetä koodi robotille

Suositeltava: