FRC-1250 / Team-1250-Crescendo2024

MIT License
0 stars 0 forks source link

Shooter right-side wheel sometimes doesn't spin up without a poke. #34

Closed qwbmo closed 6 months ago

qwbmo commented 7 months ago

It happened twice yesterday. It may be an electrical/hardware issue, but we should investigate if the speed controller is complaining about something like a missing encoder signal.

Interestingly, the code shows the left follows the right. How does that work if the right doesn't move? My understanding is that the left would get the same command as the right (the command appropriate for a 0 rpm motor).

Perhaps the follower feature is inappropriate here. Makes sense for the shoulder (they are mechanically coupled), but perhaps not for things in speed or position control modes like the shooter and indexers. In this case, the left side going to max is an appropriate fallback (compensates for no umph right side). However, if the left were to go down, the right side would be unaware and not know to go to max.

Rodney-Lewis commented 7 months ago

Known issue. Other things I remember about this:

My guess would be the motor. Maybe one of the phases has degraded, if that is possible.

The follower features works as a logical link to apply the same voltage level as its leader based on CAN status frames, the leader doesn't necessarily need to move. If we can still shoot with just one side (I assumed the note would just get stuck), we can decouple these.

qwbmo commented 7 months ago

A new motor needed v1.1 for the tapped shaft, but that doesn't preclude a bad motor or bad wiring. Will investigate and/or swap.

My point re: the follower is that the right (stuck) motor will have max P roportional and a growing I ntegral term applied to it, which the follower will follow, even though it is moving. OK for a continuous rotation (will get high speed) but would be very bad for something like the shoulder if it didn't have an independent feedback sensor.

Rodney-Lewis commented 6 months ago

The speed controller has been replaced after confirming it was not able invoke one of the motors phases. Verified that it was able to spin up consistently during PID tuning #37.

Follow logic was also removed due to lack of overall control over the follower when the leader is dead in PID loop situations.

https://github.com/FRC-1250/Team-1250-Crescendo2024/commit/f9973f4e789bf5ddf345d5c4f2372166d077a9ff