# Installing

There are two methods to installing the Road Runner library.

WARNING

As Road Runner becomes legacy software, the quickstart might not be up to date with the minimum legal SDK after the 2023-24 season. If you get an error on your driver station saying that the robot controller is obsolete, download the official SDK from FIRST here (opens new window) and use Method #2.

Method #1, the simpler option, is to simply download the quickstart repo (opens new window). The quickstart repo is an empty FTC season repo along with the preinstalled dependencies and tuning opmodes to get Road Runner up and running. However, this does not work if you already have an existing codebase.

Method #2 will go through installing Road Runner via gradle and copying over the necessary files from the quickstart repo into your existing team project.

Afterwards, it is highly recommended to upgrade your Rev Expansion Hub or Control Hub Firmware. Directions can be found below.

# Method 1: Downloading the Quickstart

  1. Navigate to https://github.com/acmerobotics/road-runner-quickstart/tree/quickstart1 (opens new window) (this is a quickstart maintained by Iris_TheRainbow, not acmerobotics, but should remain more up to date than the official quickstart)
  2. Click the big green download button
  1. Unzip/extract the folder into your directory of choice
  2. Open up the folder in Android studio.
  3. Voilà! You now have everything you need to get Road Runner up and going.

# Method 2: Installing RR on Your Project

WARNING

These installation instructions are accurate as of SDK 9.1. There is no guarantee that they will stay accurate for future SDK releases.

  1. We are are going to assume you have the same file structure as the latest (9.1 at the time of writing) standard FTC provided project. This can be found here (opens new window).

  2. Look for the build.dependencies.gradle file at the root of your project.

FtcRobotController ├── .github ├── FtcRobotController ├── TeamCode ├── doc ├── gradle/wrapper ├── libs ├── .gitignore ├── README.md ├── build.common.gradle ├── build.dependencies.gradle (This one) ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle

  1. Add the following snippet at the end of the repositories block:

    maven { url = 'https://maven.brott.dev/' }

    Then, add the following snippet at the end of your dependencies block:

    implementation 'com.acmerobotics.dashboard:dashboard:0.4.15'

WARNING

These instructions are up to date as of writing (2/17/2024), and the version number will not always be accurate. Especially once the 2024-2025 FTC season starts, you will have to visit this website (opens new window) and used the latest version to have an updated field diagram in the field view.

If you are using OpenRC (opens new window), please read the Dashboard specific instructions here (opens new window)

  1. Look for the TeamCode/build.gradle file. Specifically the one in the TeamCode folder.

FtcRobotController ├── .github ├── FtcRobotController ├── TeamCode │ ├── src/main │ └── build.gradle (This one) ├── doc ├── gradle/wrapper ├── libs ├── .gitignore ├── README.md ├── build.common.gradle ├── build.dependencies.gradle ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle

  1. In TeamCode/build.gradle, add the following dependencies:

    • implementation 'org.apache.commons:commons-math3:3.6.1'
    • implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.7'
    • implementation 'com.acmerobotics.roadrunner:core:0.5.6'








 
 
 


/* TeamCode/build.gradle */
apply from: '../build.common.gradle'
apply from: '../build.dependencies.gradle'

dependencies {
    implementation project(':FtcRobotController')
    annotationProcessor files('lib/OpModeAnnotationProcessor.jar')

    implementation 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.7'
    implementation 'com.acmerobotics.roadrunner:core:0.5.6'
}
  1. Go to this repo (opens new window) and download it either using git clone --single-branch -b quickstart1 https://github.com/acmerobotics/road-runner-quickstart.git (if you have git installed) or clicking on the green Code button and press Download ZIP.
  2. Navigate to the TeamCode folder, and move the drive, util, and trajectorysequence folders into a location in your project, preferably in your TeamCode folder. These classes include all the files and utilities required for tuning and dashboard logging.

FtcRobotController ├── .github ├── FtcRobotController ├── TeamCode │ ├── lib │ ├── src/main │ │ ├── java/org/firstinspires/ftc/teamcode │ │ │ ├── drive (This one) │ │ │ ├── trajectorysequence (This one) │ │ │ ├── util (This one) │ │ │ └── readme.md │ │ ├── res │ │ └── AndroidManifest.xml │ └── build.gradle ├── doc ├── gradle/wrapper ├── libs ├── .gitignore ├── LICENSE ├── README.md ├── build.common.gradle ├── build.dependencies.gradle ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle

├── build.dependencies.gradle ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle

# Upgrading Firmware

It is highly recommended that you upgrade the firmware on your Control Hub or Expansion Hub to the latest version. Firmware version 1.8.2 brings a number of improvements including: DC motor output linearity, improved close-loop controls, improved I2C speeds, and USB recovery for ESD faults. Road Runner's performance directly benefits from these improvements.

Directions to upgrade the Control/Expansion Hub firmware can be found in the REV docs (opens new window).

That's it! You're set! The installation process is done. Now go on ahead and start tuning.