# 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
- 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)
- Click the big green download button
- Unzip/extract the folder into your directory of choice
- Open up the folder in Android studio.
- 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.
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).
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
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)
- Look for the
TeamCode/build.gradle
file. Specifically the one in theTeamCode
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
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'
}
- 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 greenCode
button and pressDownload ZIP
. - Navigate to the
TeamCode
folder, and move thedrive
,util
, andtrajectorysequence
folders into a location in your project, preferably in yourTeamCode
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.