Giter Site home page Giter Site logo

gongoliers / robot2020 Goto Github PK

View Code? Open in Web Editor NEW
3.0 4.0 1.0 1.17 MB

Team 5112's official competition code for FRC Infinite Recharge 2020 season

License: MIT License

Java 100.00%
frc frc-robot frc-java frc-infinite-recharge frcjava frc-2020 first-robotics-competition java

robot2020's Introduction

Java Gradle Build

Robot2020

Team 5112's official competition code for FRC Infinite Recharge 2020 season. Our robot code uses our homemade Library of Gongolierium, which you can easily implement in your robot code.

What is FRC?

The FIRST Robotics Competition is an international high school robotics competition that gives students just 7 weeks to design a 125 pound robot to complete challenges and play a sport! Learn more about this years game here.

Controls

We use a joystick / flightstick for driving the chassis and we use an Xbox controller for manipulating the other subsystems. Xbox Controller Mappings By default, the joystick plugged into port 0 will control drivetrain movement on the Y and Z axes, with button 09-10 being used for "stop all" and button 11-12 used for "align to target". Xbox controller is plugged into port 1. You may elect to use "single-player mode" by changing a flag in the OI class that will enable the thumbsticks on the Xbox controller to control drivetrain movement.

Design Synopsis

Our robot consists of four major subsystems: the drivetrain, the climber, the control panel manipulator, and the power cell manipulator.

Drivetrain

Team 5112's drivetrain consists of a drop-center West Coast chassis with six wheels. Three Victor SPXs are used to control the three miniCIMs for each side, but each side's motor controllers are spliced together (so the code only considers one controller per side). We use a NavX for rotational sensing and an encoder for each side of the chassis.

Climber

Team 5112's climber subsystem consists of a hook-delivery arm and a winch to do a pull-up on the shield generator switch. The hook-delivery arm is a telescopic design that lifts and attaches a hook to the bar. The arm then retracts, leaving the hook there, and a winch pulls to robot up to the hook. There is one Victor SPX used for the hook-delivery system, and one Victor SPX used for the winch. A limit switch can determine when the delivery is at the top, and another limit switch can determine when it is at the bottom.

Control Panel Manipulator

Team 5112's control panel manipulator is composed of a Victor SPX for spinning the control panel and a pneumatic piston for deploying the spinner. An encoder is attached to the spinner motor. A color sensor / proximity sensor is used for detecting the color of the control panel.

Power Cell Manipulator

Team 5112's power cell manipulator is composed of two Victor SPXs used for intaking power cells and two Victor SPXs for the flywheel/scoring the power cells. A pneumatic piston will be used for deploying the intake harvester. Another pneumatic piston will flip the hood between high/low goal positions. An encoder will be on the flywheel.

Vision

We use a Limelight for target processing, especially for aligning with the power port for shooting. As documented above, the control panel subsystem uses a color sensor / proximity sensor.

robot2020's People

Contributors

biancacapraro avatar nicholasbottone avatar rhbuckley avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

7232cma

robot2020's Issues

Conclusion

Overall, the code is really well-written.

seperate Vision and DriveTrain

Clear off the vision parameter from the DriveTrain constructor and put it at another appropriate location. Rather make a new TargetAlignmentModule and pass that in instead of the vision subsystem.

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.