A single solenoid will not give you enough airflow to extend with enough force to launch the ball. What you need is a way to help the piston along. I have seen two different ways to do this.
-
I haven’t done this, but I have read about it. You can add a spring to the arm of the piston so that it extends outward more quickly.
-
The second way is how my team did it. You pull the piston in and have it lock in somehow(we use a gate latch). You then push the piston outward. The piston tries to extend but can’t because it is locked in. Then when the lock is released, the piston releases with more energy because you have pre-pressurized the piston. (The one problem is that our catapult system requires two huge pistons. These two pistons take a lot of air and therefore require several tanks.)
I hope this helps but it might be hard to implement on your robot because it has already been mostly built.