/road-runner

Wheeled mobile robot motion planning library designed for FTC

Primary LanguageKotlinMIT LicenseMIT

Road Runner Download Trello

A simple Kotlin library for planning 2D mobile robot paths and trajectories designed for FTC. Note: this project is in alpha and many of the APIs are incubating.

(Courtesy of FTC Team 8393, Detroit 2019 Ochoa F2)

Installation

Core

  1. Open your ftc_app project in Android Studio.

  2. Open up the Gradle file for the module you'd like to install in (probably TeamCode/build.release.gradle).

  3. Add implementation 'com.acmerobotics.roadrunner:core:0.4.5' to the end of the dependencies block.

  4. (Android only) Although Road Runner only has a few dependencies, these may exceed the method reference limit imposed by some versions of Android. Fortunately, there are a few ways around this. For more information, see this article.

    1. If you do not need to target API level 19 (i.e., in FTC, you don't need to use ZTE speeds), then just add multiDexEnabled true to the defaultConfig closure (for FTC, this is located inside build.common.gradle).

    2. Otherwise, the next best solution is to enable Proguard (the pre Android 5.0 solution in the article is difficult to implement with the FTC SDK). To accomplish this, add the following lines to the debug and release closures inside buildTypes (this is also located in build.common.gradle for FTC):

      minifyEnabled true
      proguardFiles getDefaultProguardFile('proguard-android.txt'),
              'proguard-rules.pro'

      Now download the proguard-rules.pro file from the quickstart and save it to your module folder (TeamCode in the case of FTC).

    3. Finally, if the other solutions prove unworkable, you can download a slim jar from Releases. It lacks some of the features of the normal distribution, but it has fewer dependencies.

  5. Sync the project (Android Studio should prompt you to do this).

  6. You're finished.

GUI

Road Runner includes a simple GUI for generating trajectories from pose waypoints and constraints. You can download the latest version from the Releases tab (or build it with ./gradlew shadowJar).

Plugin

Road Runner also includes a simple IDEA/Android Studio plugin based upon the GUI. Here are some instructions for building and loading the plugin:

  1. Download the latest plugin zip from Releases or build it with ./gradlew buildPlugin.

  2. In Android Studio, navigate to Settings > Plugins.

  3. Click the button that reads Install plugin from disk....

  4. Select the zip archive from earlier.

  5. Restart Android Studio to activate plugin changes.

  6. Click on "Path Designer" on the right side of the editor and the tool window should appear.

Documentation

Check out our new online documentation.