FRCTeam3255 / 2023_Robot_Code

Other
8 stars 1 forks source link

Automate scoring sequence #250

Open AngelaKimmy opened 1 year ago

AngelaKimmy commented 1 year ago

Hitting wrong button after scoring on high can get stuck on the mid node

TaylerUva commented 1 year ago

Should also auto stow after backing up

IanSzalai commented 1 year ago

I think a lot of thought needs to be put in to how to actually automate the scoring sequence. Ideally, we automate everything, but I we should take smaller steps to ensure that we actually end up with something we can use. I think to start, it's useful to consider the current manual scoring sequence.

  1. The robot has a cone/cube
  2. Driver drives into the community, in front of the charge station but a few feet behind the grids
  3. Operator "prep places", or moves the arm to a scoring position
  4. Driver moves forwards
  5. Driver aligns drivetrain with node, (sometimes with feedback from operator and coach depending on relative position of driver and node)
  6. Operator "places" game piece, or (with cone) moves the arm down and spits or (with cube) spits
  7. Driver drives backwards
  8. Operator stows arm

That's a lot of steps. The thing that jumps out at me the most is the amount of collaboration required between the driver and operator. Each is waiting for the other several times, and if one isn't doing exactly the correct thing, there are risks of breaking the robot, or worse, dropping a game piece. I think this is the first thing that needs improvement.

A simple thing (that I've seen some other teams do) is let the driver also "place" the game piece, or move the arm down/spit. This lets either the driver or operator decide when the robot is properly aligned instead of having to communicate it.

A similar idea would be to have driver/operator feedback that tells them both when the drivetrain is positioned in the correct scoring location and keep the controls the same. This does require knowing where the node/robot is though, which has a bit more overhead. (I like this idea more)

I think we should eventually automate driving up to, and alignment with, each node, but this will take quite a lot of time to develop and tune such that it will be faster than manual control. Sure, simply automating driving backwards and stowing after scoring would be easy to develop and implement, and it may be more consistent and safe than human control, but it would be slow. Also given that we didn't have any major issues, and maybe only one or two close calls with the manual scoring sequence at PHR, I think we should focus more on speed than safety/consistency (though we should stay safe and consistent).