While I applaud your ingenuity in finding the physics affecting a game phenomenon and attempting to integrate it into your robot design/programming, aerodynamic effects can be particularly difficult to get a handle on. Furthermore, some papers I was reading earlier about the Magnus effect on spinning tennis balls (I think it was mainly Aerodynamics of spinning and non-spinning tennis balls, but there were others as well) seemed to indicate that calculating the actual lift in our particular case might have some extra issues.
Long story short, the lift coefficient is presented as a monolithic constant in the paper you linked, but it might actually vary quite a lot. The original height of the fuzz on the ball, as well as how worn the ball is, affects how strongly it interacts with the surrounding air. Additionally, the relative spin rate changes based on where in the arc the ball is. As the total velocity decreases near the top of the arc, is the ball still spinning at its original rate, slowed by some amount proportional to the drag, or something else that still needs to be determined? Also, I didn’t find any data specifically for tennis balls spinning at the rates we might expect for common FRC designs (i.e. a spin parameter of 1, where the slow side has 0 airspeed, like a no-slip hood), so I’m just assuming that they have similar high-spin behavior to baseballs, since the effect was comparable at the lower rates. To make matters worse, it looks like we might be sitting right in the middle of a change in flow regimes, depending on whether you use a high or low estimate of the exact speed and surface texture.
Now, I’m no aerodynamics engineer and I could be wrong, but I do have a bit of background and the information I did find made it look like a thoroughly messy problem. Regarding the integral itself, it’s been a bit of time for me, and I didn’t look too deeply into it specifically, but it looks like the sort where I wouldn’t expect to find a reasonable analytical solution, many times over if you factor in the changing lift coefficient, seeing as it is multivariable and not reducible to a system of linear differential equations. Using a good numerical integration method (it looks like the original algorithm was pretty simplistic, but they added a better one later) sounds like the way to solve it, and I think you might even be able to offload the calculation onto the driver station computer since you aren’t dealing with a large data stream like for vision processing.
Getting back to the original purpose, improving the accuracy of robot’s launching of cargo, I think this is an ideal scenario for doing some experimentation and generating a mapping or lookup table from your sensor readings to your controlled values. You really only have one input, the distance to the goal, since the height and angle of the goal is fixed; you probably have only one or two values to control, wheel speed plus either angle or secondary wheel speed; and you don’t really care about everything that’s happening between the robot and the goal, just how to control the robot and getting the ball into the goal. The physics itself is really messy, to the point where even if you did this type of analysis for a living, I wouldn’t trust its accuracy without matching it to real launcher data with these specific balls in your specific launcher, at which point you could skip the whole physics simulation and just compare directly to that data.
This post got away from me quite a bit, so TL,DR: Unfortunately, this is an incredibly hard physics problem and there are methods that will get you more reliable predictions, so I wouldn’t bother with it in the context of FRC, especially for someone who is still learning some of the foundational skills. If you’re interested in the problem for its own sake, I can try to scrounge up some other research or answer some more questions about the research or my understanding of the physics, but I’m certainly no expert on the subject.