Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Step-based Automatic Climber #16

Open
numerator opened this issue Feb 9, 2022 · 0 comments
Open

Feature: Step-based Automatic Climber #16

numerator opened this issue Feb 9, 2022 · 0 comments

Comments

@numerator
Copy link
Contributor

numerator commented Feb 9, 2022

Description

Automatic Mode

When the operator and driver simultaneously press (and release) the A and B buttons, the robot begins the "next cycle" of the climb until it has completed it or is interrupted by the operator's A button.

Cycle:

  1. Winch Extends (20% extension)
  2. Piston Forward (hook arm swings out)
  3. Winch Forward (hook arm telescopes out/longer)
  4. Piston Reverse (hook arm swings in)
  5. Winch Reverse (hook arm telescopes in/shorter)

Climbing mechanism should be back in original state.

If in automatic mode, operator presses A button to return to manual mode. (This needs to be further specified--what happens if each auto-mode step is interrupted -- does the motor stop immediately or finish the step? Perhaps this should be thought of more as "cancel current operation and reset to step 0". Also, are there any cases where we don't want to reset to step 0?)

Acceptance Test:

Preconditions:

Robot with climber mechanism
Driver station connected to robot over network
2 XBox Controllers ("Driver" and "Operator") connected to Driver Station

Tests:

Auto Mode Tests

Action: Driver & Operator Press and release A & B on controller
Result: Winch arm extends to 20%

Action: Driver & Operator Press and release A & B on controller
Result: Winch arm swings out

Action: Driver & Operator Press and release A & B on controller
Result: Winch arm extends

Action: Driver & Operator Press and release A & B on controller
Result: Winch arm swings in

Action: Driver & Operator Press and release A & B on controller
Result: Winch arm retracts

Action: While executing an auto mode step, operator presses A
Result: Robot responds to manual control, winch matches stick position (see below; assuming stick is neutral, winch speed will go to 0 and it will stay where it is) and piston stays in its current state

Action: While executing a step in auto mode, operator presses B or moves left stick
Result: Robot should not be affected (should continue the current step)

Action: While not executing a step in auto mode, operator presses B or moves left stick
Result: Robot should respond according to manual mode operation (see below)

Notes

  • controlling winch in and out steps should ideally use an encoder to sense position rather than a timer, and end the step when a desired position is reached
    ** this ticket only describes the timer-based climber mechanism
@numerator numerator changed the title Feature: Feature: Step-based Automatic Climber Feb 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant