What are important things to think about when building a shooter for the first time?

Last year my team decided to build our robot for low goal, since it was our second year. I’m not sure how everyone else feels about it, but I was hoping that we could try to build for high goal for 2021 instead. What do you think are the most important things to think about when building a shooter for the first time (assuming the game hasn’t changed too drastically from last year)?

Everything that gets the ball to the shooter is just as, if not more important than the actual shooter itself.

39 Likes

In terms of general, overarching ideas, keep in mind that accuracy of output (how offten your shots are actually scoring) is far more important that speed of output (how fast you can get them out of your bot)

4 Likes

There are three steps to scoring a gamepiece.

  1. Acquisition. Gotta get the gamepiece somewhere. Whether that’s off the ground or from the human loading station is a design choice and somewhat driven by whether you think there’ll be enough in your station or not.
  2. Storage/Indexing/Transport. Anything between intake and scoring device that handles the gamepiece.
  3. Scoring. Actually putting the gamepiece into the goal (hopefully!).

All three are VERY important, though for some gamepieces you can combine functions (particularly in a game like 2019, where you could only handle one piece at a time, and for Hatch Panels specifically, it’s not uncommon to have one device do all three functions). If you don’t get all three, and their handoff points, working properly, how good one of them is will be like the Control Panel RP this year in actual matches played.

I’m going to go with iteration and testing, repeat. You won’t get a working shooter the first time, at least not perfectly. You’ll need to test and tune by varying compression, wheel speeds, motor PIDs, wheel grip… Depending on what you’re doing you may be able to do some cool tricks (throwing a curveball is actually possible with the right shooter… but you can also do a knuckleball by doing the same shooter slightly differently). Shred up a game piece a bit and see how well your shooter can handle it; that’s a frequent complaint on the field.

A little note from experience: my team this year went through several tweaks to our shooter over the last 2-3 weeks before our competition. We’d test, it’d be “close but not quite”, so we’d tweak and it’d go all over the place. So we’d tweak again. And test again. IIRC, at our regional (Week 2) one of our early shots from the Trench started on a high goal trajectory, but scored in the LOW goal. (I think that was us… might not have been.)

7 Likes

I believe we did accidentally score in the low port in auto at one point. Another point I want to bring up for OP is that you really want to test with both worn balls and fresh balls. Torn balls probably won’t be as big of a problem next year, but, from experience worn balls absolutely ruined the performance of our shooter.

4 Likes

Part of my advice would depend on what tools you have available.

If you have CNC capability design your shooter side plate with as much adjustability as you can. Increase and decrease the amount of pinch you have with your shooter wheel and your hood. Design it so you can change your wheel easily. Design it so you can change the hood material easily. All of that will help you dial it in quickly. You’re unlikely to get everything right on your first try.

If you don’t have CNC ability I would still try to achieve the things above but it will be more difficult. Consider printing 1:1 drawings and use them as templates with a drill press and a band saw.

Our first side plates this year looked like this:

You can see some of what I’m talking about. Lots and lots of testing and documenting what worked informed our “final” design that looked like this:

Good luck!

6 Likes

Research successful designs from past games, or from week 1-2 last year, that your team could copy.

5 Likes

I wholeheartedly agree with everything said so far. If I had to pick my short-list:

Research Research Research

Pick the most-similar years and spend lots of time digging through successful designs. Note the size, weight, materials, and configurations of shooter wheels. Look at what gear ratios and motors they used. Look at how pieces are fed to the shooter itself, and how they are released out of the shooter. Look at how much compression was put on the piece, and how it was achieved (compliance on the piece itself, or on some backplane?) Note all this down, and look for trends. Then pick some of the most successful elements and start to order some parts.

Prototype

If in build season, block at least a two-week chunk of time to build and iterate on designs. Build some metric for success (ex: shoot from X distance with best accuracy?) and stick to it. Get at least ten samples of every iteration before you change something. Take rigorous data, and keep very well organized notes of exactly what was on each prototype. Change only one thing at a time to ensure you know what actions improve performance, and what actions degrade it.

Best of luck! Shooters are often tricky, because a “good shooter” consists a lot more of other good components to make work well. Additionally, the combination of rules, game piece, and target tend to change every year, so it’s hard to have a “single design” that always works (unlike a swerve module, for example).

5 Likes

Making a ball fly across the room is FUN!

So iteration is a lot of fun, because you get to make balls fly across the room over and over. Don’t stop, keep making improvements, keep having fun.

2 Likes

Shooters are like skiing, easy to start, hard to master (assuming you have an instructor and a snowy hill). Here are some things I suggest you consider:


Mechanical:
Start by building something fast. A basic guesstimation is 1 - 1.5 inches of compression for squishy game piece. If you build fast, you can hand something over to programming to test while you work on something else. Sometimes, you have big plans for something amazing, but they are foiled and you have to slap on a prototype. That’s ok, as long as you have a prototype to fall back on. (Pro-tip: Gears can be a great way to adjust the weight of your shooter wheels)

Any other advice I have to give in this area is covered in the above posts or this fantastic thread from last summer. I linked my response, but the entire thing is a fantastic read. It’s a good perspective from before knowing the 2020 game.


Programming:
How strong your programming is can greatly affect how you choose to design a shooter. I’ll share a key to success in 2016 that won us 2 events and got us to worlds.

Shoot anything hard enough and basically travels in a straight line.

Why is this important to know for programming? Well, this isn’t really a section on how to program a shooter. It’s a soul searching moment when your team needs to ask themselves, “How good is our programming really?” If you can tune a PID loop easily, get a prototype running quickly, and get auto tracking down, then go for some fancy calculation to determine how to fire a ball. However, if you don’t, feel free to brute force it.
Shooter wheels often need kept at a constant speed to make accurate shots. However, if you go for a “straight line” approach, you just have to keep your shooter above a certain speed to be accurate. This can be very beneficial when trying to create a accurate shooter without all the programming overhead. (Do watch out for bounce back, we didn’t see much, but test for it)

I’m all for good programming, but there is something I like more, a simple strong robot.


Strategy:
I think we all would agree, we all want to build super strong robots that can execute the most perfect strategy. However, in the quest to become the greatest, we must remember the following:

Many look at the most elite doing everything great, but many make the mistake of choosing to strive for everything before striving for great.

Keep it really simple to start. Simple robots have lead to the best seasons I’ve every had on two separate FRC teams. Make a robot that can play certain parts of the game really really well. Most likely for you OP, that means you will have to make some compromises. Pick a couple locations on the field you will always shoot from. I highly suggest protected zones, as your opponents have much more trouble defending those areas. Make your shooter to be super accurate from those locations, and you can be nearly as unstoppable as the strongest.
The protected zone directly in front of the goal was way under used. It’s an excellent location because you have a hard stop to align with when taking shots, requires no vision, and you have tons of tolerance.


Final Thoughts:
The difference between a good team and a great team will be a good indexer.
The 3 point goal is a trap for all but the 3%. (The 3% is approximately the top 100 teams)
Don’t get fancy, the hottest robot is the won that wins.

2 Likes

Lots of good thoughts already in this thread. Here’s a few of my thoughts:

  • In my experience there were generally plenty of balls in the loading station, so floor pickup is not 100% essential.
  • Keep your as much of your shooter drive mechanism as possible away from the balls (eg keep gears, chains, etc outside of the walls of the ball path).
  • Consistency is key. Inertia helps with consistency. Motor power helps with consistency. Rigidity helps with consistency.
  • If you are staying a short robot, consider positioning your shooter far enough back to shoot over tall robots on defense (although I saw few tall bots in defensive rolls).
  • If you don’t yet have a climber, you might consider that a higher priority.
  • Being able to consistently position your bot at known locations & orientation on the field is an alternative to (using a limelight to) compute your angle an distance. Bonus points of it is in a protected area so you can’t be bumped by an oppenent.
  • If you don’t have an auton that can at least score your initial 3 balls and get off the line, you might consider that a higher priority.
1 Like

@john3928 had some really good points and one I would like to emphasize is shooting from a consistent point. My team had a shooter that went from the target zone only and being able to slam into the wall and shoot saved so much time. If you aren’t going to be doing any vision system I highly recommend the wall

1 Like

If you’re down to indexer quality, I’m thinkin’ you’re probably at Einstein.

Our indexer was … well, let’s say all our other mechanisms were stronger – didn’t matter one bit at regionals.

1 Like

Initial gut feeling was to try to debate this but upon re-reading it, the sentiment is 100% right. A little bit of my “what would win everything” mentality slipped into my arguments. Thanks for calling me out on it.

1 Like

Please don’t think of it as “calling you out”. IMO, a successful team has both "what would win everything” people and “how can we get to good as fast as possible” people.

3 Likes

Based off (best guess) of team resources and experience, I just want to point out a few things:

  • Shooters and turrets are different mechanisms, don’t worry about a turret for a proto, if at all
  • Don’t even begin to worry about mid-match variable shooter geometry (hoods, flywheel axle offsets, etc) until you have gotten a “rigid” geometry prototype working. Compression on the ball and surface velocity of the flywheel(s) is really where you should be spending your time
  • Do some sketches of the ball trajectory from the location(s) you are interested in shooting from. Do this so you know the way you need to start adjusting variables for dialing things in within the tolerances of your shooting location (even if you want a single shooting location it is best if your alignment can handle a foot or three of offset from nominal, this will help massively with speed of cycles
  • Be aware of what your manufacturing capabilities are. Sometimes identical or perfectly symmetric parts can be a huge bear to make manually, so small inaccuracies in a prototype may make huge differences in the comp copy.
  • Same thing as the point above except for materials, if the proto is compliant in one axis do your best to replicate that in the comp (or at least be aware of how compliance in the proto transfers to a rigid comp copy.
  • Lastly, the first proto can be pretty simple, two pieces of plywood with bearing holes (screw the pieces together & drill holes as a matched pair to keep things aligned), some 2x4 standoffs to set the distance between the plates, and some angle to hold some thin polycarb hood geometry. don’t go overboard. (or use the match drill technique for a dual wheel shooter)
2 Likes

I was actually thinking about that area right infront of the goal, since we saw another team get pretty consistent results from there. However it seems like you could be sacrificing some cycle time for consistency. Since 2021 will only be my team’s 3rd year, I wasn’t very worried about having a super fast cycle, but nevertheless what are your thoughts?

For 2020, the advantages of “right in front” included using the wall for a “mechanical” lineup (ie, if you’re squished against a wall, your shooter always releases at the same point. No vision processing or anything fancy required). Additionally, there’s a protected zone there, which reduces the probability of somebody wacking into you as you attempt to shoot.

Higher level perspective - there’s two main motivations I can think of to drive design choices:

  1. Score the most points your team is able to
  2. Learn something new

IMO, a good FRC design is a tradeoff between the two, and team culture dictates how you skew toward one or the other.

With this in mind, motivation 1 would cause you to dig into that cycle time and consistency tradeoff. We definitely thought long and hard about this when we picked our shooting locations (assuming our “long cycle” would involve travel to the loading station). You can run the numbers on accuracy (which decreases with distance), shot rate (fairly constant, but probably tunable), and “sprint time” (non-linear with distance) figure out optimum arcs along which to shoot.

We did this week 1 in 2020, making some reasonable guesses for sprint times and shot rates, and used them to drive an accuracy requirement into prototyping.

Then, after the “cards fell” from our prototyping and and we had a design we liked, we re-ran similar calculations to help dictate our match strategy and define what our preferred shooter location was (turns out, it was different than where we had initially thought we’d be).

We’d made software and shooter tweaks after our first competition, and were (are?) fairly close to inverting the priority again, back to initial design intent. We’re hoping we can get there by 2021.

But… tl;dr of the story - assuming you’re driving for max points, the tradeoff might make sense. You can run numbers to drive requirements for it.

@gerthworm did an excellent high level analysis. Here are some numbers to back it up.


Some Basic Calculations
Let’s say you can make 10 cycles in a match close. You have 100% accuracy lined up and a 80% accuracy from a distance. This means that that close up, your cycle time would be 15 seconds a piece. From a distance, you would have to 12.5 cycles (allow fractions for a moment). This would be 12 second cycles. I could see an argument for how it could take an extra 3 seconds to get close.

However! If you are doing 10 cycles a match, you are destroying 97% of the competition.


Some Data
According to blue alliance, the average number of power cells scored by a playoff alliance was 19.75. Assuming 2 robots scoring, that’s only 2 full cycles per robot. The highest quals match score was made with 43 power cells, which, assuming 2 offense 1 defense, is only 4.3 full cycles per robot. The highest playoff score wasmade with 52 power cells, which averages to 5.1 full cycles per robot.
These numbers aren’t perfect. If you analysis the highest playoffs match, you will see the robots aren’t making full cycles, they are makes some “half” cycles. I counted a total of 15 between the 148 and 118, which comes out to what I believe to be the max average cycles in a match, 7.5 half cycles.


Some Basic Recalculations
So lets consider for a moment our above math with with 4.3, 5.1, and 7.5 as our average cycles, keeping the other constraints the same.

Cycles: 4.3 5.1 7.5
Time for close: 31.39 26.47 18
Time for far: 25.11 21.18 14.4
Time need to save: 6.28 5.29 3.6

6.28 seconds is a lot of time to allot for driving 10 more feet. And what if you are only an average robot in playoffs? You need to save 13.5 seconds. That’s a lot of time.


What These Numbers Speak To Me
These numbers seem to imply that, if you want a basic design, with very minimal fine tune adjustments, then shooting close is a very valid option. I would 100% stake my rep on saying it’s the strategy all the time, with so few choosing to shoot from that location, it definitely seems like a save bet.


Decide For Yourself!
But maybe you feel that defense will be a large factor, or that my assumptions are wrong. Or what about that pesky “time to climb” at the end! In the words of a wonderfully delightful resident of 100 Acre woods, “Oh Bother”.
I have good news, so pin that tail back on and bounce your way on over to the desmos graph I made, where you can fiddle with any and all numbers you want to suit your honey loving needs.


TDLR: Do the math, save the world, and here’s the graph to prove it.

5 Likes

Nice analysis. A couple of thoughts, though.

In my experience, at #MOKC, I didn’t see any bots that were using this strategy get to 100% accuracy. The steep angle makes the effective opening fairly small.

I would also suggest that being able to execute two strategies (say against the wall & at end of the trench) is extremely valuable to protect against the case where you get in an alliance with another bot who only knows the same one strategy as you. And thus, also to increase your “pickability”.

[aside]
As to the angle problem, I was interested nobody (that I saw) had a design which extended their shooter backward from the bot to decrease the angle (I’m assuming this would be legal just like extending your intake is?)

1 Like