Sisällysluettelo:
- Vaihe 1:
- Vaihe 2: Luo uusi robottiprojekti
- Vaihe 3: Luo/täytä RobotMap
- Vaihe 4: Poista esimerkkikomento ja esimerkkialijärjestelmä
- Vaihe 5: Luo DriveTrainSubSystem
- Vaihe 6: Luo DriveTrainCommand
- Vaihe 7: Hyppää robottiin
- Vaihe 8: Palaa DriveTrainCommandiin
- Vaihe 9: Siirry DriveTrainSubiin
- Vaihe 10: Seuraavaksi luomme OI -koodin
- Vaihe 11: Siirry DriveTrainCommandiin
- Vaihe 12: Käännä ja lähetä koodi robotille
Video: Yksinkertaisen voimansiirron kirjoittaminen FRC: lle (Java): 12 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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:
Avaa Eclipse
Vaihe 2: Luo uusi robottiprojekti
- Napsauta paketinhallintaa hiiren kakkospainikkeella, valitse uusi ja sitten muu.
- Vieritä alaspäin, kunnes näet WPILib Robot Java -kehityksen (jos et näe sitä, sinulla ei ole wpilib -resursseja asennettuna.)
- Napsauta Robot Java Project
- 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 lopulliset muuttujat, jotka sisältävät eri puhelinporttien määrän
Vaihe 4: Poista esimerkkikomento ja esimerkkialijärjestelmä
Vaihe 5: Luo DriveTrainSubSystem
- Luo uusi rakentaja äskettäin luotuun voimansiirron osajärjestelmään. Luo sitten CANTalon -objekteja, jotka vastaavat voimansiirron kynsiä.
- Luo Drive -niminen RobotDrive
- 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))
- 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ä
- Muuta sitten initDefaultCommand () niin, että se sisältää rivin setDefaultCommand (uusi DriveTrainCommand ());.
- Älä vielä huolehdi kaikista virheistä.
Vaihe 6: Luo DriveTrainCommand
- 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).
- 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ää).
- 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
- Seuraavaksi siirrymme Robot -luokkaan
- 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).
- Tuo sitten DriveTrainSubSystem.
- Seuraavaksi poistamme rivin (chooser.addDefault ("Oletusautomaatti", uusi ExampleCommand ());)
- Poista sitten käyttämätön tuonti.
- Tallenna sitten.
Vaihe 8: Palaa DriveTrainCommandiin
- Tuo robotti (toinen kuvassa)
- Tallenna sitten
Vaihe 9: Siirry DriveTrainSubiin
- Tuo DriveTrainCommand
- Tallenna sitten.
Vaihe 10: Seuraavaksi luomme OI -koodin
- Mene OI: han.
- Luo uusi julkinen joystick -objekti, jonka portti on 0.
- Ja poista käyttämätön tuonti.
- Tallentaa.
Vaihe 11: Siirry DriveTrainCommandiin
- Siirry DriveTrainCommandiin.
- 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.)
- Poista seuraavaksi käyttämätön tuonti koko projektista.
Vaihe 12: Käännä ja lähetä koodi robotille
Suositeltava:
DIN -kiskoasennus Arduino YUN: lle, UNO: lle ja nanolle: 7 vaihetta
DIN -kiskokiinnitys Arduino YUN: lle, UNO: lle ja Nanolle: Joskus on hyödyllistä asentaa Arduino -projektisi pysyvästi kytkentäkaappiin - esimerkiksi kodin automaatioon tai teollisiin sovelluksiin. Tällaisissa tapauksissa ArduiBox -kotelomme Arduino Nanolle, UNO: lle ja Yun Rev2: lle voi auttaa sinua tulemaan matkaan
Lisätty todellisuus (AR) Dragonboard410c: lle tai Dragonboard820c: lle OpenCV: n ja Python 3.5: n avulla: 4 vaihetta
Lisätty todellisuus (AR) Dragonboard410c: lle tai Dragonboard820c: lle OpenCV: n ja Python 3.5: n käyttö: Tässä ohjeessa kuvataan OpenCV: n, Python 3.5: n ja Python 3.5: n riippuvuuksien asentaminen lisätyn todellisuuden sovelluksen suorittamiseen
Liike havaittu sähköposti -ilmoitus DVR: lle tai NVR: lle: 4 vaihetta
Liikkeentunnistettu sähköposti -ilmoitus DVR: lle tai NVR: lle: Tässä ohjeessa näytämme, kuinka voit määrittää liiketunnistetut sähköposti -ilmoitukset DVR: lle tai NVR: lle. Lähes jokainen rakennukseen murtautuva tietää, että ihmiset ovat turvautuneet CCTV -järjestelmien asentamiseen suojellakseen omaisuuttaan
Ilmoituslippu - loistava esittely Wi -Fi: lle, IFTTT: lle ja Huzzahille ESP8266: 9 vaihetta (kuvilla)
Ilmoituslippu - loistava esittely Wi -Fi: lle, IFTTT: lle ja Huzzahille ESP8266: Minulta puuttuu aina tärkeitä asioita … joten loin lipun. Internet of Things (IoT) -laite, joka ilmoittaa tai muistuttaa minua näistä tärkeistä asioista! Nyt katson nopeasti työpöydälleni ja näen, onko … Minulla on sähköposti, joka mainittiin tweessä
Telakointiasema T-mobile MDA: lle tai 8125: lle (ohjattu toiminto): 4 vaihetta
Telakka T-mobile MDA: lle tai 8125: lle (ohjattu toiminto): Yksinkertainen telakka T-mo MDA: lle (alias HTC Wizard). Valmistettu kokonaan pahvista ja ylimääräisestä USB -mini -USB -johdosta. Halusin telakan, mutta minulla ei ollut siihen varaa juuri nyt, joten minulla oli idea tehdä se itse. Se oli spontaani projekti, joka oli hauskaa ja hauskaa