Hermes
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!