Giter VIP home page Giter VIP logo

powerplay's People

Contributors

calkestis avatar cmacfarl avatar hcech64 avatar lukasmwerner avatar pdxaeroman avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

powerplay's Issues

Mecanum Drive Encoders

We want to be able to use the encoders from the motors to track where we are going to get a distance based driving implementation.

Finalize side panels.

If we're sticking with aluminum, we need to adapt it to Lukas' new quick mounts, and make panel designs to be vinyl cut.
If we're switching to wood, we need to laser cut proper panels with designs.

State Machine-ified Driver Control

I know @pdxaeroman will have some things to say about this.
Ultimate Goal:

  • Add the ability for the robot to do many different things at the same time
  • Improve the ability for the drivers to have subsystems work correctly together
  • allow for the robot to do separate aiding of the system
  • different state modes for drivers?

Improve claw

The claw was designed before we even really knew what our robot would look like. We should print some new fingers that better utilize the servos

Double bummer sensors

From cozzoli:

Use buttons to tell if hitting wall. Then auto close claw and raise arm and back up

Rewrite or fix the integral movement code

It is becoming clear that the math our robot uses to move is not exactly how we want it.

I recommend that in the time between now and when we have the official foam floor, coders should try this.

Physical Limit for Centering Cones in Claw

install a physical bumper on the robot that positions cones in the robot's optimal grip area instead of letting them fall too deep into the claw. May prove necessary when paired with #23

Kotlin Transition

Lets start transitioning our code from java to kotlin as we get functions as a first class option which unlocks many new abilities.

Kotlin Based Denouncer

We need a simple way to check if buttons are actually being pressed.

Sample API I tested:

val d = Debouncer();
d.ifPressed(gamepad1.circle) {
      // things here if the button is pressed
}

or if you prefer explicit if statements

if (d.isPressed(gamepad1.circle)) {
    // things here if the button is pressed
}

Shorter robot

The robot inefficiently uses space. It can be shrunk without a detriment to performance.

Ambitious-er autonomous

This would incorporate vision centering and gyroscope assistance to be much more situationally-based and improvisational rather than list/step-based like the current one, using the vision and gyro to adaptively locate cones and poles and score with them. This might be a bit optimistic, but I think using these tools we could get it to score all the poles necessary for a circuit before autonomous even ends

Reduce power usage while lift is idle

Proposed change: change the zero power mode of the lift. Current options are float and brake. By setting the lift power to 0 when the lift is at the bottom we can reduce the coil whine and energy use.

Note: the behavior should change once the lift is at any height above zero with some space for r (error) so enable braking while the lift is up and power is on

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.