I'm fairly new to robotics, but I have this idea for a machine. I've done a bit of research but can't find exactly what I'm looking for. I need something that can either move back and forth at at least a 90 degree angle (like swinging a bat), changing direction on-the-fly, or something that can push an object into a wall really fast, moving back and forth with little-to-no lag time between switching directions (like a fast piston). The object being moved will be 3 to 5 pounds and it needs to be slammed against a solid surface with roughly the force of a punch.
I spent all day yesterday researching it and haven't found much. I was thinking a piston would be good, but I can't find one that moves in and out quickly enough to generate the force I need. I then thought servos sounded good, but I could only find tiny ones for little robots. A motor now seems like the best bet, but I haven't been able to find a way to make one change direction on-the-fly. I have one from an old bandsaw, but it seems like I need to rewire it any time I want to make it change direction. I know motor controllers exist for tiny robots that accomplish this but am not sure if there's something like that for a bigger motor.