- What do you mean “it varies widely from one side to another”? You mean that particular side always shoots farther, or sometimes one shoots way farther and sometimes the other does? If it’s consistently wrong in one way, that’s far better than simply inconsistent. It’s better for one to always shoot farther than for it to be different every time.
- This is long. I’m putting it at the bottom.
- There are two primary ways of holding balls. Ben Lipper: have a frame of beams connected at right angles and have the ball sit on the edges, and then add little sticks on the front to keep them from falling out. (You’re using this.) Mucci Gang: have an all-flat tray with standoffs around the edges to hold the balls in. For you, I would suggest making an actual beam as the back of your holes, instead of just a standoff and an axle. Also make it closer to the front so the hole is smaller.
Back to “what is a hard stop”. It’s what your catapult hits after it shoots to a) make it always stop at the same angle b) put less sudden stress on your choo-choo, and c) make it stop less wigly. Here are some hard stops:
On my robot, the back end hits a plate:
On my test catapult, a beam runs across the catapult arm and hits the frame:
On this year’s Herobot, the arm of the catapult hits an axle above it:

Incidentally, all three of these catapults hit the frame of their robots in different ways. Nevertheless, the idea is the same: release the energy shock into the balls and the frame, not the choo-choo; have the catapult stop at the same place every time; stops both sides at the same place, so wigly arms don’t matter as much.

