Simulation of Balls Bouncing out of the High Goal

Hello! I’m Austin and I run programming and scouting on team 5148. I noticed that many teams this year are opting to focus their efforts on shooting in the high goal. The benefits look great on paper! However, after seeing the game piece itself, and watching some matches of xRC Simulator, I’m wondering how worthwhile the low goal in comparison to the high goal.

In order to quantify this, I created a quick simulation in Unity that randomly spawns robots around the field that have almost perfect aim (adds a slightly variance to each shot). The result is what you see below:

robotsim

Robot Count is the amount of robots
Shots is the amount of shots taken
Contacts is the amount of balls that have made contact with the inside of the hub
Goals is the amount of goals
Accuracy is the ratio between shots and goals
Bounce-In is the ratio between contacts and goals
Ball-to-ball and Ball-to-robot collision is disabled.
The ball has 90% bounciness and 60% friction in this simulation, but real world results will vary.

After about ~11,000 goals, I exported the data into Tableau where I made these charts:


(Scatter plot of all of the goals made)


(Heat map of all of the goals made)

One thing is immediately apparent: The closer you are to the goal, the more likely you are to actually make a goal. Even with a perfect aim (looking at you, 254…)


(Histogram of Distance vs Goals. Note: Measured in In-Game units, not IRL)


(Same Scatter plot but with Distance vs Goals as a color-scale)

Everything inside the green area is about a 50-70% chance of making it.
Everything inside the red area is about a 20-40% chance of making it.

This pattern continues across all of my testing. I believe this is primarily caused by the horizontal velocity balls are given causing the ball eject itself out of the goal:

bounce

From these simulations, I believe robots will need to be on or near the tarmac in order to profit off of the high goal.

88 Likes

Omg, what is life, this looks beautiful!

6 Likes

I think you’re going places Austin. This is amazing!

17 Likes

Just want to see this for lower-hub. amazing job Austin!

4 Likes

Love it.
Now enable backspin and see what happens! :wink:

14 Likes

That was my thought too. It’s a great simulation and certainly useful, so DigiWorm should be very proud of their work on this. But like the other attempts to judge bounce-out it’s only looking at part of the picture. Backspin is one of the parts that is missing and will likely make the trajectories from longer distances less likely to produce a bounce-out. But there’s also another things that’s being overlooked by these sims that should be taken into account: the spinning deflection wheel at the bottom of the hub cone. Not only is it a knobby, 8" pneumatic wheel, but it’s also spinning at a fairly good rpm (judging by the field tour video.) That is going to have a very interesting effect on the cargo and how it bounces, as the field tour video shows.

I think that, given these factors, a lot of teams may be overestimating the amount of bounce-out we’re going to see. How that will affect team strategies is an interesting question.

1 Like

This is awesome! I don think bounce outs will be somewhat common and trying to simulate it is a great idea. Thank you for doing it and sharing your results.

Some things I think you could look at to get more insights from this project:

  1. Robots can shoot two cargo at a time. You might consider running a sim with 0.5 or 1 sec gap between shots from the same location, and allowing collisions between balls.

  2. A coefficient of restitution of 0.9 strikes me as very high. It might be correct for ball to ball collisions, but I would guess hitting the hub cone is more like 0.6 (based on the wood and polycarb hub that I played with). You might consider running sims with a variety of values here.

  3. There may be more than one robot shooting at a time. So it might be smart to simulate matches where 6 robots are shooting at random intervals on the order of 20 sec.

4 Likes

Great work! Wondering what you mean by this. Does this mean that the ball lands dead center of the hub? What about different trajectories?

Here’s an interactive simulator that @jthorne developed, that lets you take a look at the impact of different trajectories and spin rates. I found it to be very illuminating.

https://sharonacademy.org/prog/projects/jthorne/RapidReact.html

Determining the optimal shot(s) (velocity, trajectory, spin rate) to minimize bounce outs might be the most important high end challenge in this game.

7 Likes

Indeed it might be, though I’m not sure that shooting into the low goal will be as free of this as some seem to think. It’s worth noting that the only bounce-out in the field tour video (which I refer back to because it is actual cargo and field elements) occurs on a low hub shot when the cargo hits the cluster of chain in the middle and bounces off it without every contacting the rest of the hub. So those who are really concerned and want to pursue a low hub strategy might want to think in terms of a dumper rather than a shooter, like that of this year’s Everybot.

2 Likes

Seriously very cool work here. You talked about how closer-in shots have a higher likelihood of going in, which makes total sense. Layups go in more than 3-pointers (even not considering bounce angles). However, the results indicate shooting too close reduces the likelihood of a shot going in…
image
When I park a long-configured kitbot chassis at the bumper, the results suggest a shot should be from the very back of the robot to be in the green zone.
image

Do you think that aspect of the results may be significant (or maybe an anomaly due to assumed robot geometry in the sim)? Might it be the case that shooting from the bumper with a shooter mounted mid robot or front robot is out of the goldilocks shooting zone? I have my doubts about that… It seems to me a just-over-the-goal-rim shot from the bumper with minimal spin may be the highest percentage shot of all, but the simulation results suggest being that close is suboptimal unless the shooter is mounted way back on the robot.

3 Likes

Pretty awesome. From our empirical evidence, I think you need to lower ball bounciness. This is probably because your simulation is assuming a completely rigid goal, and in our experience even a ‘competition’ like version isn’t rigid. The lexan absorbs an appreciable amount of the bounce.

2 Likes

This is fantastic! My limited testing is actually remarkably close to this as well; we found that the fender shot was the easiest to get “in” the goal but had the highest chance of bouncing out, while the farthest shots were relatively difficult to get in or keep in. We’re planning to shoot primarily from the protected zone because 1. It’s the only protected zone 2. It was the most consistent spot in our testing

Really well done, thank you for doing this!

1 Like

The only protected zone is with your back to the plate on the climbing truss. The tarmac is not a protected area.

1 Like

It will absorb some, but I this video by FRC4481 (shared in their open alliance thread) does indicate to me the balls are going to be bouncing out quite a bit. https://youtu.be/vv0pW8CguRc

I’ve been watching that video on repeat all morning. Their upper hub doesn’t seem to move at all. FIRST’s does in the field video. It warps every time a ball hits it. I still can’t tell whether or not the tests we’re seeing in any of these videos teams are posting are representative of the competition field.

8 Likes

I don’t know - they seem pretty similar to me. Here’s the field tour hub video cued to the right spot. What do folks think? https://youtu.be/OXkeAkWwex8?t=69

EDIT: Maybe differences in ball inflation?

Yeah, that’s where we’re shooting from

1 Like

I thought I saw the real goal had some plastic chains or the like in it — I assume to dampen the balls’ energy. Did I imagine that?

1 Like

The lower hub has chains, the upper does not.