koibots8230 / RumbleBot2024

MIT License
0 stars 0 forks source link

Powersaving with flywheels #7

Closed eskiles closed 1 month ago

eskiles commented 3 months ago

After the driver has shot the note, the command received sets the speed to 0. If the flywheel is spinning at that time, the motor controller will apply power to stop the flywheel. There is no competitive benefit for stopping the flywheel since it will have to be spun up again to shoot.

Recommend expanding the function to include a boolean value along with the target setpoint. The boolean should represent states of shoot and rest. The target setpoint is the flywheel speed for shooting at the current distance to target. When the flywheel is shooting, the motor controller should be set to the target reference velocity. When the flywheel is not shooting, power applied should be 0.

This robot's flywheel does not have a large inertia, so spin up time is low. For a flywheel with large inertia and high spin up time, we would want to maintain a rest velocity.

This robot will have a larger range for shooting. Will the shooting velocity be constant regardless of the distance to target or will it vary over the shooting range?

https://github.com/koibots8230/RumbleBot2024/blob/62df01fcafb80018675651ec7a72f0eea305d9dc/RumbleBot2024/src/main/java/frc/robot/subsystems/Shooter.java#L151

ConradSkelly commented 1 month ago

made it so that the min and max moter output range is 0 so it should slowly spin down when not in use