We actually don’t do any trajectory generation or path following in the conventional sense. We use a pretty simplistic drive controller that’s similar to a pure pursuit controller. 1114 has some very good sample code posted that’s very similar.
We had about 2" of compression. With this type of ball (2020, 2016, 2012, 2006) and a wheeled shooter, my rule of thumb is start at 25% compression and iterate from there.
We are in fact using Motion Magic on the turret. The accel is fairly aggressive however. The relative turret rotational velocity is actually very low when doing an on the fly shot like what we demonstrated in our auto. In our experience, motion magic was more than fast enough to keep up(we also never actually tried anything else). Our control loop isn’t capable of maintaining on-target doing really aggressive driving maneuvers, but in the use case of a turreted shooter, are you really going to be firing under those conditions?
We are leading or trailing the target based on robot linear velocity, rotational velocity. This is what makes the on the fly shot possible. The exact implementation, we’ll keep to ourselves for now. Adjusting for the rotational velocity is not really necessary. How often do you actually spin in circles while shooting? Not very often, but it does look really cool when you do it and the balls actually go in. I wish we had video of that. We just never took any and like many others, we’re currently locked out of our facility.