For those of you running all-ctre drivetrains, what swerve code are you useing this year? (And why?)
- Phoenix Swerve API
- YAGSL
- 364 Base Falcon Swerve
- Advantage Kit swerve
- Other Library
- In-house code
For those of you running all-ctre drivetrains, what swerve code are you useing this year? (And why?)
We are going with the CTRE generated swerve because it takes advantage of fused sensors, tunes the turn PID, makes use of FOC on the motors, and has its own background odometry thread.
Wdym by “it tunes the turn PID” like, automatically, sysid style?
Steer pid not robot turn pid. The steer pid are pretty much based on the motor and gear ratio and the rest of the robots physical attributes don’t change it much, it is like SDS had steer pid values for its modules. If you have phoenix pro it uses a foc torque for the steer and it comes out of the box with good values with no jitter.
Same here, we’re going with CTRE’s generated project. Over the summer I put together some team code that takes advantage of most of the same features, but there’s no advantage to rolling our own. CTRE has been super responsive to feedback over the last few months and they built a really great extensible and configurable solution.
@nstrike Wait… aren’t you the YAGSL lead dev? You are useing the Phoenix API?
I am not using the Tuner X Swerve Generator, i was curious on results but believe anyone using all CTRE Swerve Drives (i dont have the pleasure of owning one). The Tuner X Swerve Generator is superior and always will be since it can take full advantage of CTRE’s firmware and API. It gets even better if the team purchases Pro too.
I have a notice at the top of my docs to use it too.
We kinda did 3 of these combined. We initally usd 364’s code, and then revamped it to our own swerve code with config files and to fit our own custom IO library. The code changed substantially from 364’s structure… We then updated our swerve drive to use AdvantageKit based off AdvantageKit’s Swerve
Phoenix Pro
We are a lower resource team, especially with programming. We tried YAGSL, looked at others, couldn’t get much working 100%
Then tried phoenix pro (we were using all CTRE components anyways) and it took all of 45 minutes to get swerve working perfectly
It’s a game changer and well worth it
A stupid question, but what is Phoenix Swerve API and how does it work?
CTRE’s Phoenix 6 API comes with a Swerve API that is very easy to set up and use if your swerve is using all components from their ecosystem (Kraken/Falcon motors, CANcoders, Pigeon 2 IMU) - they have info about it on their documentation site here: Swerve Overview
We’ve been using it this year and it’s a game changer. Easy to set up and use, simulation support, better odometry if you have Phoenix Pro and a CANivore… a 10/10 experience.