Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Time Walk's Team Code

Структура

Код делится на следующие разделы:

  • /func - Раздел с вспомогательными функциями
    • / - Классы, которые используются только для хранения в них статичных переменных
    • /classes - Классы с вспомогательными функциями
      • /superclasses - Классы-родители для классов, с вспомогательными функциями
  • /modules - Раздел с классами, относящиеся к роботу
    • / - Классы, реализующие модули с робота
    • /superclasses - Три класса: абстрактный родитель для всех классов "модулей" (Module.java), класс, хранящий базовые переменные (RobotPack.java) и класс, создающий все модули в себе (RobotPortal.java)
    • /camera - Классы, относящиеся к камерам и компьютерному зрению
      • /basic - Классы, реализующие камеры как модули с робота
      • /pipelines - Классы, наследующие OpenCvPipeline
      • /concepts - Реализация методов, связанных с компьютерным зрением
  • /scenes - Режимы OpMode
    • /superclasses - Абстрактные классы, собирающие все необходимое для режимов OpMode: создает RobotPortal.java и все неоходимые классы из func
    • /auto - Автономы
      • /field - Итоговые
      • /test - Отладочные
    • /tele - ТелеОпы
      • /field - Итоговые
      • /test - Отладочные

Информация о каждом классе

/func

/

Alliance.java - Класс, который используется как enum для цветов альянса, т. е. имеет в себе две статичгные переменные: BLUE (=0) и RED (=1)

/classes

DrivePD.java - Класс, для езды по экодерам по двум осям

DrivePD_1ENC_M.java - Класс, для езды по энкодерам по одной оси

DrivePD_OLD.java - Класс, для езды по энкодерам по двум осям с стабилизацией поворота

DriverHelper.java - Класс, содержащий измененные классы модулей, с облегченным управлением

LiftPD.java - Класс, с PD-регулятором для лифта

LiftPID.java - Класс, с PID-регулятором для лифта

RotatePD.java - Класс, с PD-регулятором поворота по гироскопу

VerySync.java - Класс, с синхронным PD-регулятором, для поворота в телеопе

/superclasses

PD.java - Класс для быстрого развертывания PD-регулятора, создается в каждом PD-регуляторе, описанном выше PID.java - Класс для быстрого развертывания PID-регулятора, создается в каждом PID-регуляторе, описанном выше

/modules

/

Ascent.java - Класс модуля робота для модуля восхождения

Grab.java - Класс модуля робота для модуля захвата

IMU.java - Класс модуля робота для датчика гироскопа встроенного в Control Hub старых ревизий (BNO055IMU)

IMUv2.java - Класс модуля робота для датчика гироскопа встроенного в Contorl Hub новых ревизий (BHI260IMU)

Lift.java - Класс модуля робота для модуля подъема

RGBps.java - Класс модуля робота для создания радужной подсветки на геймпаде PlayStation Wheelbase.java - Класс модуля робота для модуля колесной базы

/superclasses

Module.java - Абстрактный класс для модулей робота, сохраняет в себе RobotPack.java и заставляет модули реализовывать метод initModule()

RobotPack.java - Класс, который хранит в себе базовые переменные: LinearOpMode, HardWareMap, Telemetry и Gamepad

RobotPortal.java - Класс, который создает и инициализирует классы модулей робота

/camera

/basic

CameraOut.java - Класс модуля робота для камеры, которая используется для считывания AprilTag

/pipelines

Pipeline.java - Наследник OpenCvPipeline, использовался для тестирования

AprilTagDetectionPipeline.java - наследник OpenCvPipeline, обнаруживает AprilTag, рисует прямоугольник, и сохраняет результат обнаружения в публичную переменную. Использует детектор от openftc

/concepts

CamLocalization.java - Класс с реализацией локализации по камере

CalibrationForCamLocalization.java - In development...

/scenes

/superclasses

AutonomousPack.java - Абстрактный класс-наследник LinearOpMode, создает RobotPortal.java, DrivePD.java и RotatePD.java, имеет в себе классическую реализацию автонома: вызывает метод doSetup() до начала автонома и абстрактный метод doActions() после начала автонома

TeleOpPack.java - Абстрактный класс-наследник LinearOpMode, создает RobotPortal.java, имеет в себе классическую реализацию телеопа: вызывает метод doSetup() до начала телеопа, единожды вызывает метод doSetupMovings() после начала телеопа, и до конца телеопа вызывает абстрактный метод doActions()

/auto

/field

parkautobluetimer.java - Автоном для парковки в зону наблюдения по таймеру

parkautoredtimer.java - Автоном для езды налево по таймеру

parkprobeblueencoder.java - In development...

parkunitimerv2.java - Автоном для парковки в зону наблюдения по таймеру

/test

CameraTest123.java - Автоном для отладки компьютерного зрения

testdrive123.java - Автоном для отладки езды в автономе

testdrive321.java - Автоном для отладки езды в автономе

testrtate123.java - Автоном для отладки поворота

/tele

/field

teleop.java - Обычный телеоп

teleopwithdh.java - Телеоп с DriverHelper.java

/test

liftsetup.java - Телеоп для отладки регулятора лифта

testdrive2.java - Телеоп для меканум колес

testteleop123.java - Телеоп для отладки энкодеров колес

verytest.java - Телеоп для отладки чего-либо

Как запустить? Памятка

  1. Установить последнюю версию FTC контроллера
  2. Закинуть этот проект в /TeamCode/src/main/java/org/firstinspires/ftc/teamcode/
  3. Открыть build.dependencies.gradle и добавить в repositories { } строчку:
maven { url = 'https://maven.brott.dev/' }
  1. В этом же файле добавить в dependencies { } строчку:
implementation 'com.acmerobotics.dashboard:dashboard:0.4.16'
  1. Прожать Sync Project with Gradle Files и Make Selected Modules
  2. Гойда!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages