Quote:
Originally Posted by JABot67
You could try:
- Open loop speed control on the elevator, such as connecting the Y axis of an operator joystick directly to the elevator motor output
- Closed loop speed control on the elevator (instead of position control), such as using the Y axis of an operator joystick as the setpoint to a (rate/speed control) PID controller which controls the motor
- Limiting the maximum output of the PID controller using SetOutputRange (float mimimumOutput, float maximumOutput)
- Motion profiling
Honestly, the open loop control might be enough. It's basically closed loop control given that the operator can look at the position of the elevator from the driver station to determine if it's moving too fast. If you are trying to do this in autonomous, though, obviously you have to use some sort of closed loop control. Limiting the maximum output of the PID controller may be a good idea in that case.
|
Any sort of speed control won't really work, because our elevator is
really fast. It's about 0.75 seconds from bottom to top.
We have limited the max output of our PID controller, but that only provides a max speed, and no acceleration ramping.
I'm still looking into dynamic motion profiling, but I haven't figured it out yet.