Оглавление:

Как написать простую трансмиссию для FRC (Java): 12 шагов (с изображениями)
Как написать простую трансмиссию для FRC (Java): 12 шагов (с изображениями)

Видео: Как написать простую трансмиссию для FRC (Java): 12 шагов (с изображениями)

Видео: Как написать простую трансмиссию для FRC (Java): 12 шагов (с изображениями)
Видео: Приделал ТРЕУГОЛЬНЫЕ КОЛЁСА к велосипеду 2024, Июль
Anonim
Как написать простую трансмиссию для FRC (Java)
Как написать простую трансмиссию для FRC (Java)

Это руководство о том, как сделать простую трансмиссию для робота FRC. В этом руководстве предполагается, что вы знаете основы java, eclipse и уже установили wpilib, а также библиотеки CTRE.

Шаг 1:

Изображение
Изображение

Откройте Eclipse

Шаг 2: Создайте новый проект робота

Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
Создать новый проект роботов
  1. Щелкните правой кнопкой мыши проводник пакетов, выберите «Создать», затем «Другой».
  2. Прокрутите вниз, пока не увидите WPILib Robot Java Development (если вы его не видите, у вас не установлены ресурсы wpilib).
  3. Нажмите на Robot Java Project.
  4. Затем введите имя проекта и щелкните тип проекта робота на основе команд (пакет уже должен быть заполнен, как и мир моделирования).

Шаг 3: Создайте / заполните RobotMap

Создать / заполнить RobotMap
Создать / заполнить RobotMap
Создать / заполнить RobotMap
Создать / заполнить RobotMap

Создайте конечные переменные, которые содержат количество различных портов талона

Шаг 4: Удалить пример команды и пример подсистемы

Удалить пример команды и пример подсистемы
Удалить пример команды и пример подсистемы
Удалить пример команды и пример подсистемы
Удалить пример команды и пример подсистемы

Шаг 5. Создайте DriveTrainSubSubSystem

Создать DriveTrainSubSubSystem
Создать DriveTrainSubSubSystem
Создать DriveTrainSubSubSystem
Создать DriveTrainSubSubSystem
Создать DriveTrainSubSystem
Создать DriveTrainSubSystem
  1. Создайте новый конструктор во вновь созданной подсистеме трансмиссии. Затем создайте объекты CANTalon, соответствующие когтям трансмиссии.
  2. Создайте RobotDrive под названием Drive
  3. Создайте экземпляры этих объектов в конструкторе (обязательно используйте значения когтей, которые мы создали на карте робота). Для Robot Drive мы будем использовать конструктор, который использует 4 контроллера мотора (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Затем создайте метод arcadeDrive () с двумя входными переменными: x - вперед и назад, а y - вправо и влево. Внутри вы вызовете drive.arcade со значениями forward и rotate.
  5. Затем измените initDefaultCommand (), чтобы он содержал строку setDefaultCommand (new DriveTrainCommand ());.
  6. Пока не беспокойтесь обо всех ошибках.

Шаг 6. Создайте команду DriveTrainCommand

Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
Создайте команду DriveTrainCommand
  1. Сначала начните с перехода в меню, которое мы использовали для создания подсистемы, и робот спроецирует себя (это последний раз, когда я покажу этот фактический шаг в следующих шагах, я скажу, просто чтобы сделать команду или сделать подсистемы, и вы предположите, что она находится в этом меню.) Щелкните команду и введите имя класса с помощью DriveTrainCommand (если вы действительно измените имена этих файлов, они не могут быть одинаковыми).
  2. В новой команде DriveTrainCommand вы увидите 6 методов, один из которых является конструктором, а другие 5 являются частями кода, который робот будет вызывать при выполнении команды. Мы знаем, что делает конструктор, поэтому давайте объясним Initialize, execute, isFinished, end и interrupted. Инициализация вызывается один раз при каждом вызове команды, метод execute вызывается непрерывно, пока команда не завершится, что вызвано завершением, когда метод isFinished возвращает true, команда перестанет выполняться, метод завершения вызывается один раз после isFinished вызывается метод, а прерванный вызывается, когда ресурсы команды используются другой командой, и команда завершится (без вызова метода завершения).
  3. Сначала в DriveTrainCommand в конструкторе вам нужно добавить строку required (требует (Robot. DriveTrainSub)), обратите внимание, что DriveTrainSub не совпадает с именем подсистемы, и это сделано специально.

Шаг 7. Перейти к роботу

Перейти к роботу
Перейти к роботу
Перейти к роботу
Перейти к роботу
Перейти к роботу
Перейти к роботу
Перейти к роботу
Перейти к роботу
  1. Далее мы перейдем к классу роботов.
  2. то мы собираемся изменить строку (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) на (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) обратите внимание, что первое имя после final совпадает с именем подсистемы и имя после нового также обратите внимание, что DriveTrainSub совпадает с именем, которое мы указали на нашем последнем шаге, и что оно не совпадает с именем подсистемы (у вас ДОЛЖНО быть имя объекта (DriveTrainSub), которое не совпадает с именем подсистемы имя).
  3. Затем импортируйте нашу DriveTrainSubSystem.
  4. Затем мы удалим строку (chooser.addDefault ("Default Auto", new ExampleCommand ());)
  5. Затем удалите неиспользованный импорт.
  6. Тогда сохраните.

Шаг 8: вернитесь к DriveTrainCommand

Вернуться к DriveTrainCommand
Вернуться к DriveTrainCommand
  1. импортный робот (второй на изображении)
  2. Затем сохраните

Шаг 9: перейдите в DriveTrainSub

Перейти в DriveTrainSub
Перейти в DriveTrainSub
  1. Импортировать DriveTrainCommand
  2. Тогда сохраните.

Шаг 10: Далее мы создадим код OI

Затем мы создадим код OI
Затем мы создадим код OI
  1. Идите к OI.
  2. Создайте новый общедоступный объект джойстика с портом 0.
  3. И удалите неиспользованный импорт.
  4. Сохранить.

Шаг 11: перейдите в DriveTrainCommand

Перейти к DriveTrainCommand
Перейти к DriveTrainCommand
  1. Перейдите в DriveTrainCommand.
  2. Теперь мы займемся той частью, которая возьмем джойстики и применим их для перемещения робота. Внутри выполнения (потому что он выполняется постоянно) добавьте строку (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));), где мы вызываем arcadeDrive в нашем подсистема со значениями Robot.io. Driver.getRawAxis (1), которая возвращает значение джойстика, где 1 - ось левой оси y и то же самое для второго значения, за исключением того, что 4 - правая ось x. так что это будет означать, что левый стик будет двигаться вперед и назад, а правый стик будет двигаться вправо и влево. (если вы хотите, вы можете вернуться к RobotMap и создать новые значения для оси джойстика, затем вызвать их с помощью RobotMap. (имя оси) и не забудьте сделать их окончательными, если вы сделаете это таким образом.)
  3. Затем удалите неиспользуемый импорт из всего проекта.

Шаг 12: Наконец, скомпилируйте и загрузите код в робота

Рекомендуемые: