YASS: Yet Another Software Suite
What is YASS?
YASS (Yet Another Software Suite) is a collection of libraries designed to simplify FRC robot programming. Its goal is to make advanced features like swerve drive, mechanism control, and vision integration accessible to all teams, regardless of experience level. YASS promotes a philosophy of "mastering robot programming in days, not years."
The suite includes:
YAGSL (Yet Another General Swerve Library)
YAMS (Yet Another Mechanism System)
YAMG (Yet Another Mechanism Generator)
YALL (Yet Another Limelight Library)
Learn more: YASS Official Website
The suite includes:
YAGSL (Yet Another General Swerve Library)
YAMS (Yet Another Mechanism System)
YAMG (Yet Another Mechanism Generator)
YALL (Yet Another Limelight Library)
Learn more: YASS Official Website
YAGSL: Swerve Made Easy
YAGSL is a comprehensive swerve drive library that handles the complex math and hardware abstraction for you. It supports nearly every combination of motor controllers, encoders, and gyros via JSON configuration files.
Key Features:
- JSON-based configuration (change motors/offsets without recompiling).
- Built-in odometry and pose estimation.
- Simulation support out of the box.
- Support for various vendors (CTRE, REV, Thrifty, NavX).
Learn more: YAGSL Documentation | YAGSL Example Project
Key Features:
- JSON-based configuration (change motors/offsets without recompiling).
- Built-in odometry and pose estimation.
- Simulation support out of the box.
- Support for various vendors (CTRE, REV, Thrifty, NavX).
Learn more: YAGSL Documentation | YAGSL Example Project
YAMG: Mechanism Generator
YAMG (Yet Another Mechanism Generator) is a web-based tool that generates production-ready Java code for common mechanisms like elevators, arms, and pivots. You configure your mechanism visually (motor types, gear ratios, limits) and YAMG produces the code for you.
Features:
- Visual configuration interface.
- Generates command-based subsystems.
- Includes simulation support.
- Supports YAMS library integration.
Try it: YAMG Website
Features:
- Visual configuration interface.
- Generates command-based subsystems.
- Includes simulation support.
- Supports YAMS library integration.
Try it: YAMG Website
YAMS: Mechanism System
YAMS provides a high-level abstraction for mechanisms, making it easy to create complex systems that work in both reality and simulation. It standardizes motor control and sensor feedback.
Key Benefit: Simulation parity. YAMS allows your code to run in simulation almost exactly as it does on the real robot, often with just a single line of code difference (".simIterate()").
Learn more: YAMS Documentation | YAMS API
Key Benefit: Simulation parity. YAMS allows your code to run in simulation almost exactly as it does on the real robot, often with just a single line of code difference (".simIterate()").
Learn more: YAMS Documentation | YAMS API
YASS Best Practices
Getting the most out of the suite:
- Use the JSON configuration for YAGSL to keep hardware details out of code.
- Leverage YAMG to generate the boilerplate code for your arms and elevators.
- Test in simulation! YASS libraries are built with simulation priority.
- Join the YAGSL/YASS community for support and updates.