The elevator is affected by gravity caused by the totes, and gravity pushing down on the elevator itself. As such, we need to have seperate PID loops for moving up and down, as well as for having different amounts of totes. This means there will be a lot of different constants for us to tune, but that will get done. However, we still need to work on implementing the functionality for changing the PID constants depending on the state of the robot.
We need to know how many totes we’re carrying so we can change the PID constants accordingly. Ideally we would be able to do this automatically without the driver manually telling us how many totes we have lifted, but this might not be possible. We’re still discussing exactly how it will work, and there’s a lot of uncertainty. Here are specific instructions:
ElevatorSubsystem has a moveElevator method. In here, we should check the direction we're moving in, and set PID constants accordingly. Use the setPID method.
We also have a manualPIDPosition method, which should use a separate set of PID constants. When we use this method, the alternate PID constants should be used regardless of up/down movement or totes.
The elevator is affected by gravity caused by the totes, and gravity pushing down on the elevator itself. As such, we need to have seperate PID loops for moving up and down, as well as for having different amounts of totes. This means there will be a lot of different constants for us to tune, but that will get done. However, we still need to work on implementing the functionality for changing the PID constants depending on the state of the robot.
We need to know how many totes we’re carrying so we can change the PID constants accordingly. Ideally we would be able to do this automatically without the driver manually telling us how many totes we have lifted, but this might not be possible. We’re still discussing exactly how it will work, and there’s a lot of uncertainty. Here are specific instructions: