GithubHelp home page GithubHelp logo

612-2018's People

Contributors

calvin-godfrey avatar davidrow avatar feeshee avatar kaifergerstrom avatar shixiaoqing avatar zachperkins1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

612-2018's Issues

Working mecanum drivetrain

Right now, the code we have for a mecanum drivetrain works for translational motion (moving forward, back, left, and right) but it cannot turn.

After extensive testing, I think individually controlling each talon is a good sanity check, and then we'll go from there. Read through this document, which explains how to control mecanum drive directly, and try to implement this in code. Some help getting started: a lot of math functions are already implemented, for example square root is Math.sqrt(). All these have the Math. syntax. The desired magnitude should be Math.sqrt(x*x+y*y) where x is the left-hand joystick x-direction and y is the right-hand joystick y-direction. The desired angle should be Math.atan2(y, x)+Math.PI, where x and y are the same thing. The desired rotation is the right-hand joystick x-direction.

If you have any questions, please ask for help!

Create Command ResetDisplacement

Base the code off of the kitbot branch.

In the code, there is a navX object in Robot.java. This command should simply call the resetDisplacement method of that object once, and then immediately end. It does not require any subsystem, and isFinished should just return true.

Setup the commands for the lift

Right now in DefaultLift.java, the command either uses the encoder or PID to control the lift, based on a variable in OI.java. Make a new command called SimpleLift.java and LITERALLY COPY AND PASTE THE CODE from DefaultLift.java to SimpleLift.java. Then, move the code from this commit into DefaultLift.java.

Finally, in the subsystem Lift.java, set DefaultLift as the default command in the initDefaultCommand() method. MAKE SURE TO MAKE A NEW BRANCH.

Make a command that sets the pivot arm to specific angles

The talon that controls the pivot arm has an encoder attached to it (read up on how to use it!), which lets it know exactly where it is. So create a number of preset angles, and when one button is pressed, have it move up to the next highest preset. When another button is pressed, have it move down to the next lowest preset.

Code Review

Code review the working code on the robot

Working omni-traction drivetrain

We are going to be prototyping two drivetrains to decide which the drive team likes better. The first is the mecanum drivetrain, which exists and we are working on now. The other is omni-traction. In this setup, there are two pairs of wheels horizontally. The first pair is omni wheel
image
while the other are are traction wheels
image

The idea with omni-traction is that in a normal drivetrain with four traction wheels, when the robot turns it spins around the center and all the wheels lose tractions. With this setup, the rollers on the omni wheels allow the robot to turn and the traction wheels stay in place, meaning that it pivots on a horizontal line going through the traction wheels. This makes it easier to line up the robot without having to do something clunky like a 3 point turn.

For this, read through documentation and other things you may find online and try to decide what the best way to do this is.

Create table for mapping of joysticks

On the wiki tab, create a table or diagram that shows what commands each button on BOTH joysticks (driver and gunner) are linked with. Update this as more things are linked together.

Look in OI to get the information as well as the Default commands for each subsystem.

Change readme

Change readme as it still has steamworks in the name

Make a command that sets the elevator to specific height

The talons on the elevator will have an encoder, that lets it figure out exactly where it is (read up on how to use encoders). So create a certain number of preset heights. When one button is pressed, it moves up to the next highest height, and when another button is pressed, it moves down to the next lowest levels. These buttons should be on the gunner joystick.

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.