Skip to content

Hermes

Maven Central Version

Hermes offers a revolutionary motion profiling and planning algorithm that builds on RoadRunner from ACME Robotics, FTC Team 8367.

Features

  • Path Planning with smooth continuity, such as Bézier curves, hermite splines, and more!
  • Motion Profiling paths to ensure the most optimal trajectory for your robot, using either time or displacement
  • Action Framework for easily scalable robot actions for asynchronous robot control
  • Advanced Following that uses PID control and voltage-compensated feedforward to accurately follow trajectories
  • Unparalleled Customization in path generation, profiling, and following

QuickStart

We recommend using the QuickStart, as it already has Localizer, Drive, and Follower implementations, the required tuning OpMode setup, and some convenient examples!

Adding To An Existing Project

If you are installing Hermes to an existing project, we recommend downloading the QuickStart and copying its TeamCode module package to the TeamCode module in your project.

You will also need to add the library as a dependency in your Gradle scripts. In your build.dependencies.gradle file, add the following three lines to the dependencies block:

    implementation 'me.zharel.hermes:core:<latest>>'
    implementation 'me.zharel.hermes:actions:<latest>'
    implementation 'me.zharel.hermes:ftc:<latest>'

Where latest is replaced by the latest version as displayed above.

Then, sync your project with Gradle files.

Tuning

If you are using the QuickStart, the tuning process is the exact same as the RoadRunner 1.0 tuning process. Future changes to the tuning process will be listed here.

API Documentation

API docs for Hermes can be found here. We recommend checking these docs pages, as they include many features not directly discussed here.

Questions? Feedback?

If you have any questions or feedback about Hermes, feel free to reach out to us through our Discord server!

If you find a bug or have a feature request, please open an issue on our GitHub Issues page; if the issue is related to the QuickStart, please open an issue on the QuickStart Issues page instead.

Contributing

If you would like to contribute to Hermes, please fork the repository and create a pull request. We are open to all contributions, and we will review your pull request as soon as possible.

Thank you!