Developed by FRC Team #1868 and Girls Scout Troop #62868 the Space Cookies. Named after one of our favorite Girl Scout cookies and in the hope this library tags-a-long with us for years to come!
TagalongLib is a standalone library that packages its dependencies into its release jar. When using TagalongLib as a standalone library, add it to your project using the vendor dependency file TagalongLib.json
found in the TagalongLib releases. Please also insert the following code snippet into your project's build.gradle:
repositories {
maven {
url = uri("https://maven.pkg.github.com/team1868/TagalongLib")
credentials {
username = "space-cookies-bot"
password = "\u0067\u0069\u0074\u0068\u0075\u0062\u005f\u0070\u0061\u0074\u005f\u0031\u0031\u0042\u004e\u0057\u0049\u0045\u0042\u0041\u0030\u0035\u006b\u0053\u006c\u0052\u0049\u0032\u0059\u0077\u006d\u0047\u0072\u005f\u006c\u004e\u0056\u0039\u004b\u0049\u0076\u006f\u0077\u0050\u004b\u0065\u0030\u0046\u0045\u0031\u004e\u0077\u0053\u0073\u0047\u004c\u0055\u0033\u0035\u0064\u0070\u0074\u0079\u0079\u0057\u0043\u0031\u0074\u004c\u0049\u0036\u0072\u0039\u0071\u0064\u007a\u0036\u0044\u0037\u004b\u0056\u004c\u005a\u0056\u004c\u006d\u006e\u0073\u0038\u004a\u0035\u0056\u0051"
}
}
}
We encourage everyone to use the Tagalong Robot Builder for automatic generation and integration of Tagalong based subsystems.
We believe Tagalong has utility for every team, either by speeding up their mechanism testing process or replacing their subsystem core entirely. However, we believe that any team that has not utilized feedforward control with trapezoidal motion profiles effectively in the past would benefit the most from using Tagalong.
We currently only support Java. We don't currently have plans to support C++ or any of the common FRC languages, but we will consider adding additional language support if there is demand for it.
Right now we only support the brushless motors from CTRE (Falcon, Kraken x60, and Kraken X44) in FOC and non-FOC mode. We struggled to replicate the predictable functionality that we expect of ourselves with REV motors and controller API’s. Ultimately we simply did not feel comfortable providing semi-functional code that could put robots and mechanisms at risk.
Tagalong uses closed loop PID to augment feedforward control. If you would like to use profiled PID instead, you can simply set all the feedforward constants to 0.
- 2025 vendor package support
- More included configurations for Microsystem subtypes
- Pivot variant without a fused encoder or mechanically zeroed
- Simulation based unit tests
- AdvantageKit logging for RobotBuilder subsystems
- Support for treating generated subsystems as singletons
Check out our release notes and repository issues for your problem! Don’t see your issue there? Open an issue or feature request against TagalongRobotBuilder for issues with generating subsystem code and TagalongLib for issues related to underlying functionality!
Please see our guide to contributing to TagalongLib
The Space Cookies understand that it is hard to rely on and build on top of new open source projects without commitments for long term support. At this time, we are willing to commit to improving and maintaining these projects until the new control system is released – currently slated for the 2027 FRC season.
Due to the required pairing of specific WPILib versions and other dependency versions to a TagalongLib version, the version number uses the following format:
(WPILibVersion in format YYYY.MajorMinor).MMDD
For example, a TagalongLib release on January 1st, 2025 using WPILib version 2024.1.0 would be version 2025.10.0101
.