Giter VIP home page Giter VIP logo

diffswerve's Introduction

Diff Swerve

Some Background

This repository houses the code for Team 5818's Differential Swerve Drive prototype. A differential swerve drive is similar to a "classic" swerve drive, except it doesn't have dedicated motors for steering and throttle. Instead, two drive motors are linked through a mechanical differential, which allows for the module to either rotate or translate depending on the ratio of the individual motors' velocities. For more information on the mechanical setup, consult this thread: https://www.chiefdelphi.com/forums/showthread.php?threadid=166236

If you are looking for a guide on progamming a "standard" swerve drive, much of this code will still be applicable, but the code for controlling the individual modules will be different.

Repository Structure

All of the actual robot code for this project is located in the directory src/org/rivierarobotcs/. There are two other interesting directories in this repo: simulation/ and src-tests/javacontrols/. Both of these directories are remnants of our original intent to use state feedback and kalman filters to control the module. simulation/contains a MATLAB script for simulating a differential swerve module controller, while src-tests/javacontrols/ does the same thing in Java using the Efficient Java Matrix Library (EJML) to take care of the linear algebra. None of the state feedback code has gone on the robot (yet), but writing the simulation code was an excellent learning experience. All state feedback code draws heavy inspiration from 971's 2017 robot code.

Setup

This repository uses FRCGrantle, Team 5818's custom build system. FRCGrantle is a hybrid between Gradle and Ant. It uses Gradle tasks to fetch dependencies and automate setup, but the code still deploys using the Ant scripts provided by FIRST. To set up this repository:

  • Clone the repository
  • Navigate to the root directory of the repository and run ./gradlew eclipse
  • After the build finishes, import the project into Eclipse
  • To deploy, click Run As > WPILib Java Deploy in Eclipse.
  • Enjoy!

diffswerve's People

Contributors

jproney avatar

Stargazers

CAT avatar Jonas Garibay avatar  avatar Nicholas Gavalas avatar  avatar Shree Mandadi avatar Ryan Sjostrand avatar JJ avatar

Watchers

James Cloos avatar  avatar Mr. Moklestad avatar  avatar

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.