Spisu treści:

Jak napisać prosty układ napędowy dla FRC (Java): 12 kroków (ze zdjęciami)
Jak napisać prosty układ napędowy dla FRC (Java): 12 kroków (ze zdjęciami)

Wideo: Jak napisać prosty układ napędowy dla FRC (Java): 12 kroków (ze zdjęciami)

Wideo: Jak napisać prosty układ napędowy dla FRC (Java): 12 kroków (ze zdjęciami)
Wideo: Praktyczne zastosowanie czynnościowej pojemności zalegającej (FRC) w wentylacji płuc 2024, Lipiec
Anonim
Jak napisać prosty układ napędowy dla FRC (Java)
Jak napisać prosty układ napędowy dla FRC (Java)

To jest samouczek, jak zrobić prosty układ napędowy dla robota FRC. Ten samouczek zakłada, że znasz podstawy java, eclipse i masz już zainstalowane wpilib, a także biblioteki CTRE.

Krok 1:

Obraz
Obraz

Otwórz zaćmienie

Krok 2: Utwórz nowy projekt robota

Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
Utwórz nowy projekt robota
  1. Kliknij prawym przyciskiem myszy eksplorator pakietów, kliknij nowy, a następnie inny.
  2. Przewiń w dół, aż zobaczysz WPILIb Robot Java Development (jeśli go nie widzisz, nie masz zainstalowanych zasobów wpilib).
  3. Kliknij Projekt Robot Java
  4. Następnie wpisz nazwę projektu i kliknij typ projektu robota opartego na komendach. (Pakiet powinien być już wypełniony i tak samo ze światem symulacji.)

Krok 3: Utwórz/wypełnij RobotMap

Utwórz/wypełnij RobotMap
Utwórz/wypełnij RobotMap
Utwórz/wypełnij RobotMap
Utwórz/wypełnij RobotMap

Utwórz końcowe zmienne, które zawierają liczbę różnych portów talonu

Krok 4: Usuń przykładowe polecenie i przykładowy podsystem

Usuń przykładowe polecenie i przykładowy podsystem
Usuń przykładowe polecenie i przykładowy podsystem
Usuń przykładowe polecenie i przykładowy podsystem
Usuń przykładowe polecenie i przykładowy podsystem

Krok 5: Utwórz podsystem DriveTrain

Utwórz podsystem pociągu napędowego
Utwórz podsystem pociągu napędowego
Utwórz podsystem pociągu napędowego
Utwórz podsystem pociągu napędowego
Utwórz podsystem pociągu napędowego
Utwórz podsystem pociągu napędowego
  1. Utwórz nowego konstruktora w nowo utworzonym podsystemie napędowym. Następnie utwórz obiekty CANTalon, które odpowiadają szponom w układzie napędowym.
  2. Utwórz RobotDrive o nazwie Drive
  3. Utwórz wystąpienie tych obiektów w konstruktorze (upewnij się, że używasz wartości dla szponów, które utworzyliśmy na mapie robota). Do napędu robota użyjemy konstruktora, który wykorzystuje 4 sterowniki silnika (RobotDrive(SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Następnie utwórz metodę arcadeDrive() z dwiema zmiennymi wejściowymi: x to przód i tył, a y to prawa i lewo. Wewnątrz wywołasz drive.arcade z wartościami forward i rotate
  5. Następnie zmień initDefaultCommand() tak, aby zawierała wiersz setDefaultCommand(new DriveTrainCommand());.
  6. Nie martw się jeszcze o wszystkie błędy.

Krok 6: Utwórz polecenie DriveTrainCommand

Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
Utwórz polecenie DriveTrainCommand
  1. Najpierw zacznij od przejścia do menu, którego użyliśmy do stworzenia podsystemu, a robot sam się projektuje (jest to ostatni raz, kiedy pokażę ten rzeczywisty krok w przyszłych krokach, powiem tylko, aby wykonać polecenie lub wykonać podsystem i założysz, że jest w tym menu.) Kliknij polecenie i wpisz nazwę klasy za pomocą DriveTrainCommand (jeśli zmienisz nazwy tych plików, nie możesz mieć ich identycznych).
  2. W nowym DriveTrainCommand zobaczysz, że istnieje 6 metod, jedna to konstruktor, a pozostałe 5 to części kodu, które robot wywoła, gdy polecenie zostanie uruchomione. Wiemy, co robi konstruktor, więc wyjaśnijmy Initialize, execute, isFinished, end i interrupted. Initialize jest wywoływana raz przy każdym wywołaniu polecenia, metoda execute jest wywoływana w sposób ciągły aż do zakończenia polecenia, co jest spowodowane przez zakończenie, gdy metoda isFinished zwróci true polecenie przestanie działać, Metoda end jest wywoływana raz po isFinished wywoływana jest metoda, a przerwana jest wywoływana, gdy zasoby poleceń są używane przez inne polecenie i polecenie zostanie zakończone (bez wywoływania metody end).
  3. Najpierw w DriveTrainCommand w konstruktorze musisz dodać wymaganą linię (requires(Robot. DriveTrainSub)) zauważ, że DriveTrainSub to nie to samo co nazwa podsystemu i jest to celowe.

Krok 7: Przejdź do robota

Przejdź do robota
Przejdź do robota
Przejdź do robota
Przejdź do robota
Przejdź do robota
Przejdź do robota
Przejdź do robota
Przejdź do robota
  1. Następnie przejdziemy do klasy Robot
  2. następnie zmienimy linię (publiczny statyczny końcowy PrzykładPodsystemuPrzykładowyPodsystem = newPrzykładowyPodsystem();) na (publiczny statyczny końcowy PodsystemNapędowyDriveTrainSub = nowyPodsystemNapędowy();) zauważ, że imię po zakończeniu jest takie samo jak nazwa podsystemu i nazwa po nowej zauważ, że DriveTrainSub jest taka sama jak nazwa, którą umieściliśmy w naszym ostatnim kroku i że nie jest taka sama jak nazwa podsystemu (MUSISZ mieć nazwę obiektu (DriveTrainSub), która nie jest taka sama jak podsystem Nazwa).
  3. Następnie zaimportuj nasz DriveTrainSubSystem.
  4. Następnie usuniemy wiersz(chooser.addDefault("Default Auto", nowy ExampleCommand());)
  5. Następnie usuń nieużywane importy.
  6. Następnie zapisz.

Krok 8: Wróć do DriveTrainCommand

Wróć do polecenia DriveTrain
Wróć do polecenia DriveTrain
  1. importuj Robota (drugi na obrazku)
  2. Następnie Zapisz

Krok 9: Przejdź do DriveTrainSub

Przejdź do DriveTrainSub
Przejdź do DriveTrainSub
  1. Importuj polecenie DriveTrain
  2. Następnie zapisz.

Krok 10: Następnie utworzymy kod OI

Następnie stworzymy kod OI
Następnie stworzymy kod OI
  1. Przejdź do OI.
  2. Utwórz nowy publiczny obiekt joysticka z portem 0.
  3. I usuń niewykorzystane importy.
  4. Zapisać.

Krok 11: Przejdź do DriveTrainCommand

Przejdź do polecenia DriveTrain
Przejdź do polecenia DriveTrain
  1. Przejdź do polecenia DriveTrain.
  2. Teraz zrobimy część, która bierze joysticki i używa ich do poruszania robotem. Wewnątrz execute (ponieważ działa on stale) dodaj linię (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) gdzie nazywamy arcadeDrive w naszym podsystem z wartościami Robot.io. Driver.getRawAxis(1), który zwraca wartość joysticka i gdzie 1 jest osią lewej osi y i to samo dla drugiej wartości, z wyjątkiem 4 to prawa oś x. więc oznaczałoby to, że lewy drążek poruszałby się do przodu i do tyłu, a prawy drążek poruszałby się w prawo i w lewo. (jeśli chcesz, możesz wrócić do RobotMap i utworzyć nowe wartości dla osi joysticka, a następnie wywołać je za pomocą RobotMap.(nazwa osi) i nie zapomnij, aby były ostateczne, jeśli zrobisz to w ten sposób.)
  3. Następnie usuń wszelkie nieużywane importy z całego projektu.

Krok 12: Na koniec skompiluj i prześlij kod do robota

Zalecana: