Giter Site home page Giter Site logo

frc1711 / swervelib Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 4.46 MB

A library that seeks to provide a convenient swerve drive implementation for FRC teams.

HTML 6.87% JavaScript 5.33% CSS 3.84% Java 83.97%
frc wpilib swerve swerve-drive deprecated-library not-maintained

swervelib's Introduction

❌DEPRECATED❌

No Maintenance Intended

Swervelib is now deprecated. Use WPILibJ built-in swerve drive kinematics and other swerve drive utilities instead.

Implementing Swervelib

This is just a small library in order to help implement swerve drive more easily. In order to use it, first download the latest release from this release's assets and, in your wpilib project, create a new directory named libs and place the jar inside. Next, navigate to your project's build.gradle file and, under the dependencies section, add the following line:

implementation name: 'BUILDNAME'

Above the dependencies section, you should also add the following:

repositories {
	flatDir {
		dirs 'libs'
	}
}

Replace 'BUILDNAME' with the name of the .jar release.

Documentation

Documentation can be viewed online here.

Versioning

With the exception of very early versions of swervelib, versions will be named by v(version).(wpilib-version). For example, v2.2022.1.1 would be swervelib v2, built for wpilib version 2022.1.1.

swervelib's People

Contributors

gabrielseaver9678 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dr-wasabi

swervelib's Issues

Implement Sendable

Implement the Sendable interface so that swerve drive information can be more easily sent to the driver station

add a functional interface to allow speed to vary with distance for auton

In AutonDrive and AutonDriveSimple, speed is passed to the command as a double through the constructor method. I believe AutonDrive has an option to reduce the speed as the robot approaches the endpoint, but it’s clunky and only works so well.

Try to implement a system which allows a functional interface (taking proportion of distance to the endpoint as a parameter) to be passed in instead of a double to AutonDrive and AutonDriveSimple.

Make sure to talk to me before you implement this, though—I’m not quite finished with setting up all the other systems which you’ll need before adding this functionality and I’d like to talk before anyone spends time working on this.

Input deadbands for AutoSwerveDrive

fieldRelativeInputDrive doesn't apply deadbands to its parameters, but instead allows inputDrive from SwerveDrive to apply the deadbands from its input (from fieldRelativeInputDrive) and so the deadbands may not be applied properly

gradle 8.0.0 = big dumb

This:

The RepositoryHandler.jcenter() method has been deprecated. This is scheduled to be removed in Gradle 8.0. JFrog announced JCenter's sunset in February 2021. Use mavenCentral() instead. Consult the upgrading guide for further information: https://docs.gradle.org/7.3.3/userguide/upgrading_version_6.html#jcenter_deprecation       
        at build_ew9wuayqslcivrun87nnfd7q3$_run_closure1.doCall(C:\all\programming\Robotics\Swerve Library\swervelib\build.gradle:16)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)

Auton vs. gyro distinction

There should be a way to use AutoSwerveDrive for field-relative robot control without needing to implement autonomous functions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.