Taula de continguts:

Com escriure una transmissió senzilla per a FRC (Java): 12 passos (amb imatges)
Com escriure una transmissió senzilla per a FRC (Java): 12 passos (amb imatges)

Vídeo: Com escriure una transmissió senzilla per a FRC (Java): 12 passos (amb imatges)

Vídeo: Com escriure una transmissió senzilla per a FRC (Java): 12 passos (amb imatges)
Vídeo: EL BÚNQUER: Newton Knight (4x74) 2024, Juliol
Anonim
Com escriure una transmissió senzilla per a FRC (Java)
Com escriure una transmissió senzilla per a FRC (Java)

Aquest és un tutorial sobre com fer una transmissió simple per a un robot FRC. Aquest tutorial suposa que sabeu que els conceptes bàsics de Java, Eclipse i que ja tenen instal·lat wpilib, així com les biblioteques CTRE.

Pas 1:

Imatge
Imatge

Obre Eclipsi

Pas 2: creeu un nou projecte de robot

Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
Creeu un nou projecte de robots
  1. Feu clic amb el botó dret a l'explorador de paquets, feu clic a nou i, a continuació, a un altre.
  2. Desplaceu-vos cap avall fins que vegeu el desenvolupament de Java del robot WPILib (si no el veieu, no teniu els recursos wpilib instal·lats).
  3. Feu clic a Robot Java Project
  4. A continuació, empleneu el nom del projecte i feu clic al tipus de projecte de robot basat en ordres (el paquet ja s'hauria d'emplenar igual que amb el món de la simulació).

Pas 3: Creeu / Empleneu RobotMap

Crea / Emplena RobotMap
Crea / Emplena RobotMap
Crea / Emplena RobotMap
Crea / Emplena RobotMap

Creeu variables finals que continguin el nombre de diferents ports de taló

Pas 4: suprimiu l'ordre d'exemple i el subsistema d'exemple

Suprimeix l'exemple de comandament i el subsistema d'exemple
Suprimeix l'exemple de comandament i el subsistema d'exemple
Suprimeix l'exemple de comandament i el subsistema d'exemple
Suprimeix l'exemple de comandament i el subsistema d'exemple

Pas 5: creeu DriveTrainSubSystem

Creeu DriveTrainSubSystem
Creeu DriveTrainSubSystem
Creeu DriveTrainSubSystem
Creeu DriveTrainSubSystem
Creeu DriveTrainSubSystem
Creeu DriveTrainSubSystem
  1. Creeu un constructor nou al subsistema de transmissió recentment creat. A continuació, creeu objectes CANTalon que corresponguin als talons de la transmissió.
  2. Creeu un RobotDrive anomenat Drive
  3. Instanteu aquests objectes al constructor (assegureu-vos d’utilitzar els valors dels talons que hem creat al mapa del robot). Per a la unitat de robots utilitzarem el constructor que utilitza 4 controladors de motor (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. A continuació, creeu un mètode arcadeDrive () amb dues variables d’entrada si x està endavant i enrere i y és dreta i esquerra. A l'interior cridareu drive.arcade amb els valors d'avanç i rotació
  5. A continuació, canvieu initDefaultCommand () per contenir la línia setDefaultCommand (nova DriveTrainCommand ());.
  6. No us preocupeu encara per tots els errors.

Pas 6: creeu el DriveTrainCommand

Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
Creeu el DriveTrainCommand
  1. Primer comenceu anant al menú que hem utilitzat per crear el subsistema i el robot es projecta a si mateix (aquesta és l’última vegada que mostraré aquest pas real en els passos futurs, diré només per fer una ordre o per fer un subsistema i assumireu que es troba en aquest menú.) Feu clic a l'ordre i empleneu el nom de la classe amb DriveTrainCommand (si canvieu els noms d'aquests fitxers no podreu fer que siguin iguals).
  2. Al nou DriveTrainCommand veureu que hi ha 6 mètodes, un és el constructor i els altres 5 són parts del codi que el robot cridarà quan s’executi l’ordre. Sabem què fa el constructor, així que permet explicar Inicialitzar, executar, acabar, finalitzar i interrompre. S’inicia Initialize un cop cada vegada que es crida l’ordre, el mètode execute es diu contínuament fins que finalitza l’ordre, cosa que s’acaba quan el mètode isFinished torna a ser vertader, l’ordre deixarà d’executar-se. es diu mètode i la interrupció es diu quan una altra ordre utilitza els recursos d'ordres i l'ordre finalitzarà (sense trucar al mètode final).
  3. Primer a l’ordre DriveTrainComm del constructor, heu d’afegir la línia requerida (requereix (Robot. DriveTrainSub)) noteu que DriveTrainSub no és el mateix que el nom del subsistema i que és a propòsit.

Pas 7: aneu a Robot

Saltar a Robot
Saltar a Robot
Saltar a Robot
Saltar a Robot
Saltar a Robot
Saltar a Robot
Saltar a Robot
Saltar a Robot
  1. A continuació, anirem a saltar a la classe de robots
  2. llavors canviarem la línia (públic estàtic final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) a (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) notem que el primer nom després de final és el mateix que el nom del subsistema i el name after new també observeu que el DriveTrainSub és el mateix que el nom que hem posat al nostre darrer pas i que no és el mateix que el nom del subsistema (HA DE tenir un nom d’objecte (DriveTrainSub) que no sigui el mateix que el subsistema nom).
  3. A continuació, importeu el nostre DriveTrainSubSystem.
  4. A continuació, eliminarem la línia (chooser.addDefault ("Auto per defecte", nou ExampleCommand ());)
  5. A continuació, traieu les importacions no utilitzades.
  6. A continuació, estalvieu.

Pas 8: torneu a DriveTrainCommand

Torneu a DriveTrainCommand
Torneu a DriveTrainCommand
  1. importa el robot (el segon de la imatge)
  2. A continuació, desa

Pas 9: aneu a DriveTrainSub

Aneu a DriveTrainSub
Aneu a DriveTrainSub
  1. Importeu DriveTrainCommand
  2. A continuació, estalvieu.

Pas 10: a continuació, crearem el codi OI

A continuació, crearem el codi OI
A continuació, crearem el codi OI
  1. Aneu a OI.
  2. Creeu un nou objecte de joystick públic amb el port de 0.
  3. I elimineu les importacions no utilitzades.
  4. Desa.

Pas 11: aneu a DriveTrainCommand

Aneu a DriveTrainCommand
Aneu a DriveTrainCommand
  1. Aneu a DriveTrainCommand.
  2. Ara farem la part que agafa els joysticks i els aplicarem per moure el robot. Dins de l’execució (perquè s’executa constantment) afegiu la línia (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) on anomenem arcadeDrive al nostre subsistema amb els valors de Robot.io. Driver.getRawAxis (1) que retorna el valor del joystick i on 1 és l'eix de l'eix y esquerre i el mateix per al segon valor excepte 4 és l'eix x dret. de manera que això significaria que el pal esquerre aniria cap endavant i cap enrere i el pal dret aniria cap a la dreta i cap a l’esquerra. (si volíeu, podríeu tornar al RobotMap i crear nous valors per a l'eix del joystick, truqueu-los amb RobotMap. (nom de l'eix) i no us oblideu de fer-los finals si ho feu d'aquesta manera.)
  3. A continuació, elimineu les importacions no utilitzades de tot el projecte.

Pas 12: Finalment compileu i pengeu el codi al robot

Recomanat: