You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The state machine in IntakeAssembly is great at avoiding collisions and smoothly transitioning between manual operation, position-preset operation, and hanging operation. The intaking operation is mucking up what would otherwise be a very clean state machine.
It's non-obvious but calling GoToIntakePosition changes the ControlMode to one of the position control modes. This does a great job of moving the intake to the ground but it leaves us in a state where we are no longer waiting for the cube to finish intaking.
track 3 states: VaultIntaking (on IsCubeIn, flash lights and set the wrist to holding mode), SwitchIntaking (on IsCubeIn, flash lights, go to stow position, and set the wrist to holding mode), and Idle (don't do anything... the user isn't intaking) and implement them in TeleopPeriodic
The text was updated successfully, but these errors were encountered:
The state machine in IntakeAssembly is great at avoiding collisions and smoothly transitioning between
manual
operation,position-preset
operation, andhanging
operation. Theintaking
operation is mucking up what would otherwise be a very clean state machine.https://github.com/Team973/2018-inseason/blob/silicon-valley/src/subsystems/IntakeAssembly.cpp#L407
It's non-obvious but calling GoToIntakePosition changes the ControlMode to one of the position control modes. This does a great job of moving the intake to the ground but it leaves us in a state where we are no longer waiting for the cube to finish intaking.
There are multiple ways to fix this. This is currently implemented in teleop as a quick hack (https://github.com/Team973/2018-inseason/blob/silicon-valley/src/TeleopMode.cpp#L80). One way to solve this issue would be to clean up the teleop implementation and store a member variable in Teleop.
VaultIntaking
(onIsCubeIn
, flash lights and set the wrist to holding mode),SwitchIntaking
(onIsCubeIn
, flash lights, go to stow position, and set the wrist to holding mode), andIdle
(don't do anything... the user isn't intaking) and implement them in TeleopPeriodicThe text was updated successfully, but these errors were encountered: