This is composed of several parts, as per our discussion:
Determination of onscreen angle between target and camera boresight, in elevation and in azimuth
this should be continuously updated, since the top of the target might be above the top of the screen at the start
Determination of range to target, based on the current shooter elevation and the above.
Code to use the ballistic equations to determine the elevation and roller speed required to place the apogee of the ball's flight in the center of the goal
Code to slew the shooter in elevation, to yaw the robot in azimuth, and to spin up the shooter rollers, probably all at the same time. Maybe bound to a couple of different buttons. Should fire the shooter at the end of it all, when there is small enough difference between actual angles and desired angles, and small enough difference between actual roller velocity and desired roller velocity.
SHould have some sort of light on the smart dashboard that lights up when we're ready to auto-aim and fire
This is composed of several parts, as per our discussion: