I highly encourage anyone who wants to help make YAGSL better to create pull requests with any modifications you have made that increases your quality of life.
YAGSL development is done on the dev branch of the YAGSL-Example repository here at src/main/java/swervelib.
dev
src/main/java/swervelib
All PR's should be based off of and merged into here. YAGSL is propagated often to the other repositories.
Modules will stay in the previous position if the desired velocity is 0.
Cosine compensation is now reported through telemetry as expected.
Updated heading correction to use getOdometryHeading() instead of getYaw() (PR #150arrow-up-right by @Blargleflakesarrow-up-right) This does impact heading correction PID values in controllerproperties.json and may NEED these value's increased by 50x.
getOdometryHeading()
getYaw()
controllerproperties.json
Added ability to disable the cosine compensator via config files. (PR #148arrow-up-right by @fovea1959arrow-up-right)
Added SwerveDrive.getGyro() to return SwerveIMU.
SwerveDrive.getGyro()
SwerveIMU
Added SwerveMotor.setVoltage and SwerveMotor.getVoltage and SwerveMotor.getAppliledOutput to the SwerveMotor wrapper for future use with SysId.
SwerveMotor.setVoltage
SwerveMotor.getVoltage
SwerveMotor.getAppliledOutput
SwerveMotor
Added functions to test setting voltage of all swerve module motor.
Added function to find coupling ratio of all swerve modules.
Added function to set steering/azimuth/angle using of all swerve modules.
Added function to find kV for drive motors to move.
Set the angle motor relative encoder position AFTER changing the conversion factor. (Issue #155arrow-up-right)
Fixed module open loop control by sending maxSpeed to the module. (by @nstrike and @MarshallTappenarrow-up-right)
maxSpeed
Fixed Pigeon2Swerve only using X acceleration (PR #146arrow-up-right by @dezash123arrow-up-right)
Prevent drive motors from moving when absoluteEncoderOffset is not tuned. (Found by @fovea1959arrow-up-right)
absoluteEncoderOffset
Updated javadocs for SwerveDrive.addVisionMeasurement so that they reflect the latest changes.
SwerveDrive.addVisionMeasurement
Fixed SwerveDrive.resetOdometry and utilize the pose estimation instead. (PR #142arrow-up-right by @MarshallTappenarrow-up-right and @nstrike commitarrow-up-right)
SwerveDrive.resetOdometry
Functionalize IMU inversion (PR #140arrow-up-right by @TechnologyMan00arrow-up-right and @nstrike)
Added SwerveDrive.getOdometryHeading()
SwerveDrive.getOdometryHeading()
Fixed SwerveDrive.addVisionMeasurement with vision standard deviations.
Added IMU readings to SmartDashboard via Raw IMU Yaw (gyro with invert applied) and Adjusted IMU Yaw (pose estimation rotation).
Raw IMU Yaw
Adjusted IMU Yaw
Changed navx_mxp to navx_mxp_serial to notate that it's serial over MXP.
navx_mxp
navx_mxp_serial
Added warning when using navx_mxp_serial or navx_usb.
navx_usb
Added back wheel speed desaturation.
Simplified SwerveMath.calculateDegreesPerRotation and SwerveMath.calculateMetersPerRotation to exclude encoder resolution and add a default.
SwerveMath.calculateDegreesPerRotation
SwerveMath.calculateMetersPerRotation
Changed Module[...] Raw Motor Encoder to Module[...] Raw Angle Encoder.
Module[...] Raw Motor Encoder
Module[...] Raw Angle Encoder
Added Module[...] Raw Drive Encoder
Module[...] Raw Drive Encoder
Fix for TalonFX Angle motor control (by @bhall-ctrearrow-up-right, and @Wackyvert 2225 Mentor) .
TalonFX's needed to use conversion factor as gear ratio rather than gear ratio + unit conversion.
Conversion factor needed to be inverted.
setPosition update to reflect current position.
Changed ma3 encoders to be read via analog input. (Discovered by @CoZm0arrow-up-right)
ma3
Support 3 wheel swerve module setups with PathPlanner helper function. (PR #139 by @TechnologyMan00arrow-up-right)
Added SwerveModule.getAbsoluteEncoder() SwerveDrive.getMaximumVelocity() and SwerveDrive.getMaximumAngularVelocity().
SwerveModule.getAbsoluteEncoder()
SwerveDrive.getMaximumVelocity()
SwerveDrive.getMaximumAngularVelocity()
Reccommend Tuner X when a compatible Tuner X config is used.
Added ability to change heading correction deadband.
Added feedforward to SparkMAX's.
Added Network Alerts (made by @TheGamer1002arrow-up-right PR #136arrow-up-right)
Added feedforward to TalonFX's
Fixed TalonFX conversion factor (made by @jkbo6arrow-up-right PR #128arrow-up-right)
CanAndCoder tweaks (made by @guineahawkarrow-up-right PR #134arrow-up-right)
Added missing SparkMAX status frame's (made by @RoboPenguin7arrow-up-right PR #130arrow-up-right)
Heading Correction update to make it less sensitive (made by @balien-12arrow-up-right PR #132arrow-up-right)
Fixed cosine compensator error (made by @jkbo6arrow-up-right PR #129arrow-up-right)
Updated PathPlanner path based off of alliance (made by @MarshalTappenarrow-up-right PR #122arrow-up-right)
Fixed Rotation being off, update getDriveBaseMeters (made by @TechnologyMan00arrow-up-right)
Last updated 2 years ago