Giter Site home page Giter Site logo

cobracommanders / frc-2019-robot Goto Github PK

View Code? Open in Web Editor NEW
2.0 8.0 0.0 1012 KB

FIRST Deep Space 2019 - Category 5 | The bot code for the FRC 2019 season

Home Page: http://team498.com

Java 99.66% Batchfile 0.11% Shell 0.23%
frc-deep-space frc-java frc-robot frc

frc-2019-robot's Introduction

FRC-2019-Robot

This is our robot code for the 2019 FIRST Robotics Competition Season, Destination: Deep Space!

Our Team

  • Katy Hochstetler - Programming Lead (4th Year) - bandgeek2031
  • Jack Haehl - Programmer (4th Year) - PigInATuxedo
  • Randy Pham - Programmer (4th Year) - RandyyPham
  • Micah Neitz - Programmer (3rd Year) - Micalobia
  • Damien Piedra - Programmer (1st Year) - DamianPX
  • Kirshe Cornfield - Programmer (1st Year) - hershey2314
  • Bianca Arreola - Programmer (1st Year) - YeeYee1318

Our Mentors

  • Jason Barnes - Programming Mentor (since 2001) - vyrotek
  • Andy Hochstetler - Programming Mentor (since 2019) - imapcgeek

frc-2019-robot's People

Contributors

damianxp avatar hershey2314 avatar imapcgeek avatar jackhaehl avatar pcgeek2301 avatar randyypham avatar vyrotek avatar yeeyee1318 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frc-2019-robot's Issues

Apply FRC Team Update 4

Control System Update: An optional NI Update Suite update (2019.1.0) has been released. This update:
o contains a new roboRIO image (v13) that repairs an issue in interfacing with the Analog Devices IMU and
Gyro boards in all languages (so, updating to this new image is needed for teams working with these
sensors)
o fixes a Driver Station issue with launching Smartdashboard and Shuffleboard automatically.
โ€ข Q&A Updates: Q101 and Q146 have been revised to reflect the revision to G4 described below. Please accept
our apologies for any confusion.

See https://firstfrc.blob.core.windows.net/frc2019/Manual/TeamUpdates/TeamUpdate04.pdf for more information

Drivetrain Subsystem

The Drivetrain subsystem code should handle the following:

  • implementing the motor controllers

  • organize the motor controllers into speed controller groups

  • implement differential drive

  • drive function

  • in the init default command referencing the command for manual drive

Notes:

  • in the drive function use the method arcade drive from the differential drive provided by first
  • the arcade drive method gives the joystick capability to control the motors

Operator Class

The Operator Class code should be able to handle the following;

  • implementing the controller class

  • this is just the event handling for the buttons, this class is where we can call our commands that we want our robot to do and set them to a button on the controller.

Automatic Wrist Command

The Automatic Wrist Command code should handle the following:

  • Making two automatic wrist commands.

  • one for going up using certain set positions using the limit switches.

  • the other command doing the same thing but the opposite direction.

  • Set these commands to the bumpers on the operator class. ๐Ÿ‘

Notes:

  • Use enums for the set positions and keep them the same for both commands.

Controller Class

The Controller Class code should handle the following:

  • implementing the joystick and joystick button provided by first

  • implement the logic for the button mappings by mapping to the button ids for the xbox controller

  • implement the joystick axis class to be able to create the triggers on the back of the controller and the two joysticks as buttons that can be controlled.

Notes:

  • The joysticks on the controller has 2 axes for x and y.

Robot class

The Robot class code should handle the following:

  • implement the driver station
  • implement the operator class
  • implement all the subsystems

Manual Wrist Command

The Manual Wrist Command code should handle the following:

  • implementing the wrist subsystem
  • in the execute function giving the wrist power

Manual Drive Command

The Manual Drive Command code should handle the following:

  • implementing the operator class

  • create an instance of the drivetrain to drive a certain distance and turn a certain amount of rotation.

  • in the execute method implementing the logic for moving forward and back using the triggers

  • in the execute method implementing the logic for rotating using the left joystick

Notes:

  • In the isFinished method it should be returning false so it doesn't end the command prematurely
  • In the end method it should be giving the drive 0 power.
  • in the interrupted method it should be calling the end method

Autonomous (for Chezy)

  1. Make Grip Work with Robot's Camera
  • Source > Threshold > Filter Contour > Find Contour

  • Use PixyCam?

  1. Extract and save Pipeline.Java to robot src code folder

  2. Using the pipeline file, create a method in the vision subsystem (or any related file) that basically finds the contours.

  3. In the autonomous command files, incorporate the vision subsystem and the method and in Auto Turn, "scan" for the contours using the methods.

work in progress. Good luck at Chezy's!

Adding Limit Switches to Wrist

The Wrist Code should handle the following:

  • Adding two limit switches so that the wrist cant go past those points and break.

Toggle Clamps Command

The Toggle Clamps command code should handle the following:

  • create this as an instant command
  • implement the clamp subsystem
  • in the initialize method create the logic using the setClamps method

Notes:

  • You will need to use a if/else statement in the initialize method

Drivetrain Subsystem Error

In the master branch, there is an error with the drivetrain subsystem class.
It seems #10 created this error, and some possible fixes are:

  • Downloading the CTRE Toolsuite thing on each computer

  • Creating a "lib" folder inside "Team498" folder.

  • Moving "wpiapi-java-5.12.1" file located in
    C:\Users\Public\frc2019\maven\com\ctre\phoenix\wpiapi-java\5.12.1
    to the "lib" folder created earlier.

The "com.ctre" package cannot be resolved currently in the branch.
import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX;

Wrist Subsystem

The Wrist Subsystem code should handle the following:

  • implementing the victor motor controller
  • set the default command to the manaul wrist command
  • creating a function to give the wrist power

Clamp Subsystem

The Clamp Subsystem code should handle the following:

  • implement double solenoid
  • create a set clamps method

Notes:

  • The set clamps method is going to need a if/else statement.
  • the parameters is going to use a boolean

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.