Giter Club home page Giter Club logo

2017-robot's People

Contributors

argos1756dev avatar dkt01 avatar fusionstein avatar tpegthb17 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

2017-robot's Issues

Add sensors to begin and periodic tasks refnum

Add the following in Begin.vi and in periodic tasks refnum

Analog inputs:

  • Potentiometer: Gear gate
  • Potentiometer: Gear rail
  • Potentiometer: Turret position

Encoders:

  • Drive speed
  • Shooter wheel speed

Ultrasonic (use blocks Nick wrote in Extra/Sensors/Ultrasonic):

  • Gear peg position

Digital input:

  • Gear collected beam break

Set up basic shooter code

Two motors: shooter and shooter feeder
Button to toggle shooter on/off
Button to run shooter feeder while held

Operator Assist: Collect Gear

The following states need to be implemented:

  1. Wait for gear
  2. Store gear
  3. Idle

In "Wait for gear", the carriage should position at the far end of the rail, the gear gate should move to the "catch" position, and the gear chute should be extended until the gear beam break sensor is triggered (debounce this input). Then the state should change to "Store gear" where the carriage should slide across to the near side of the rail, the gear gate should move to "hold", and the gear chute should retract. Once the carriage is returned, the gate is clamped, and the chute is retracted, the state should advance to "Idle". "Idle" state should do nothing.

One boolean input should trigger an immediate transition to "Wait for gear". This is the "reset" input.
Another boolean input should trigger an immediate transition to "Idle". This is the "disable" input and it shall have precedence over all other inputs.

Setup PWM and CAN switching

Make it easy to switch from a competition CAN setup to a testing PWM setup in begin.vi

Create case structure that allows us to switch between initializing motors as PWM Talon SRs to CAN Talon SRXs.

Basic gear rail control

Analog input: Yo-yo potentiometer
1 Motor: side to side control
2 buttons for left/right movement

Test & Tune Yo-Yo

Check yo-yo distance so output of read corresponds to inches extended

Operator Assist: Turret Aim

States:

  1. Idle
  2. Search Left
  3. Search Right
  4. Target Acquired
  5. Find New Target

Inputs:

  1. Start
  2. Reset
  3. Reacquire
  4. Target Position
  5. Turret Position

Outputs:

  1. Turret Motor

Plan and document manual controls

Choose which joysticks and buttons control all robot functions, document, and implement in code

Control everything in #41

Document in an excel spreadsheet and set up in Teleop.vi

Basic gear gate control

1 Motor: Open/Close movement
1 analog input: potentiometer for rotation position
Support for three target positions: catch, clamp, open
Manual control using open & close buttons

Test Xbox controllers

Verify all Xbox controllers (especially new black ones) read correct inputs in existing LabVIEW code.
Fix if necessary.

Operator Assist: Gear Placer

The following states need to be implemented:

  1. Wait for lift (or peg, not sure what is the best term)
  2. Align to lift
  3. Return to wait
  4. Arm gear
  5. Place gear
  6. Return to ready
  7. Disarm gear
  8. Idle

Robot remains in "Wait for lift" until the ultrasonic sensor detects the lift (debounced) then transitions to "Align to lift". In "Align to lift" the rail moves to the position of the detected lift, but the state may transition "Return to wait" if the lift is no longer available. When the robot is in "Align to lift state" a boolean input will trigger transition to "Arm Gear" state. In "Return to wait", the carriage returns to the near side of the rail, then transitions to "Wait for lift". In "Arm gear" the gear gate is lowered and the state immediately transitions to "Place gear". In place gear, the gear pusher pistons are extended and the state transitions to "Return to ready" when the place boolean input is deactivated and the pistons have completed motion. In "Return to Ready", the gear pusher pistons retract and the state transitions to "Disarm gear" as soon as the pistons retract. In "Disarm gear", the gear gate is returned to hold position and the gear carriage returns to the far side then the state transitions to "Idle". "Idle" should do nothing.

One boolean input should trigger a transition from "Idle" to "Wait for lift". This is a "start" trigger that does nothing to any other states.
Another boolean input should trigger an immediate transition to "Return to ready" from states 1-5 and do nothing in states 6-8. This is a "reset" button and should have precedence over all other inputs.

Gear shift code

Write routines to shift between high and low gear.
Control using one solenoid for each side

Add additional motor and sensor input for shooter feeder

Shooter feeder should consist of two motors: one for the bottom rollers and one for the top roller. This will enable gathering fuel into the feeder apparatus without shooting.
Additionally, we will have a beam break sensor to detect when a ball is in position to shoot.

Changes necessary:

  • Add the sensor and motor to begin.vi
  • Add controls in feeder to control both motors
  • Update I/O spreadsheet to reflect updates

Full system IO claim

Document all robot inputs (analog, digital) and outputs (CAN, solenoid, PWM, digital)

See #40 for sensors

Motors:

  • Left drive motors (2)
  • Right drive motors (2)
  • Shooter motor (1)
  • Shooter turret (1)
  • Shooter feeder (1)
  • Gear rail (1)
  • Gear gate (1)
  • Intake (1)
  • Climber (1)

Pneumatics:

  • Gear pusher: dual-direction
  • Gear chute: dual-direction
  • Drive gear shifter: dual-direction

Generic arbiter

Input an array of type T and a boolean array and output the element of the type T array corresponding to the first true value in the boolean array

Operator Assist: Shoot

This should feed fuel into the feeder when a boolean input is true, the shooter speed is adequate, and the turret is correctly aimed.
Another input should allow manual shooting when the other criteria are not satisfied (manual override).

Add "Position Reached" output to control blocks

The following VIs need a "position reached" boolean output to indicate a setpoint positionl/speed has been achieved:

  • Gear gate
  • Gear rail
  • Turret
  • Shooter speed (at least set speed)

The following pneumatics need a "position reached" boolean output to indicate the extension/retraction should have completed:

  • Gear pusher
  • Gear chute

For all of these outputs, the value produced should be debounced

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.