Skip to content

A reactive and predictive path follower that uses quadratic-damped PIDs to model the robot's real braking behavior due to the non-linear effects of friction, providing faster, more accurate, and more responsive control with up to 5× faster deceleration than libraries with coasting-based PIDs.

License

Notifications You must be signed in to change notification settings

TeamFrozenCodeFTC/Black-Ice-Path-Follower

FTC Black Ice Path Follower

Please visit our website and documentation: https://teamfrozencodeftc.github.io/Black-Ice-Path-Follower/

Jump to the code powering Black Ice: https://github.com/TeamFrozenCodeFTC/Black-Ice-Path-Follower/tree/main/TeamCode/src/main/java/org/firstinspires/ftc/blackice

Key Code Files:

Requirements

  1. Program in Java and use Android Studio. Steps to setup Android Studio here if you haven't already.
  2. Have odometry wheels or some form of localization.

Getting Started

If you already have a ftc reposition, install Black Ice into that existing project.

Otherwise you can create a new project with Black Ice pre-installed here.

Creating a New Project

Decide a folder location, open a terminal, and enter this command. Then open the project in android studio.

git clone https://github.com/TeamFrozenCodeFTC/Black-Ice-Path-Follower.git

Installing into an Existing Project

  1. Down the Black Ice and put the folder inside your repository here.
  2. Go to build.dependencies.gradle and add the following line to the repositories block:
maven { url = 'https://maven.brott.dev/' }

Then add this line to the dependencies block:

implementation 'com.acmerobotics.dashboard:dashboard:0.4.17'

It should look something like this:

repositories {
    mavenCentral()
    google() // Needed for androidx
    maven { url = 'https://maven.brott.dev/' }
}

dependencies {
    implementation 'org.firstinspires.ftc:Inspection:10.3.0'
    implementation 'org.firstinspires.ftc:Blocks:10.3.0'
    implementation 'org.firstinspires.ftc:RobotCore:10.3.0'
    implementation 'org.firstinspires.ftc:RobotServer:10.3.0'
    implementation 'org.firstinspires.ftc:OnBotJava:10.3.0'
    implementation 'org.firstinspires.ftc:Hardware:10.3.0'
    implementation 'org.firstinspires.ftc:FtcCommon:10.3.0'
    implementation 'org.firstinspires.ftc:Vision:10.3.0'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.acmerobotics.dashboard:dashboard:0.4.17'
}

About

A reactive and predictive path follower that uses quadratic-damped PIDs to model the robot's real braking behavior due to the non-linear effects of friction, providing faster, more accurate, and more responsive control with up to 5× faster deceleration than libraries with coasting-based PIDs.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages