This week, we finished a rough full system integration. We exposed some faults that needed addressing, such as gantry pitch decoupling and audio bugs. We explored adding two axes to the gantry, improved the robustness of wiring connections, and are working to tie up any other loose ends to create a robust system for public demos.
As for our unit tests, we conducted the following:
1. Bat Swing -> Servo Actuation. Actuated servo based on different measured swing speeds. Adjusted base level measured on on our own strengths, made room for it to be adjustable.
2. Bat Swing Strength. Measured the servo’s torque, the bat’s strength, and the swing power (ball distance traveled).
3. Scoring Detection. Measured detection (trigger/no trigger) for each pocket, revised pocket design. Measured correct base state changes for each scoring type with different runners on base. Created routing scheme for balls to route to bottom of board.
4. Pitch Coupling and Decoupling. Coupling was tested by dragging our magnets under our surface by hand, with the ball coupled on top, we can test how strong the connection is between the magnet and the ball. This was important as it informed how strong to size our magnet. If our magnet didn’t couple well enough, we wouldn’t be able to produce fast and variable pitch movements (like a start-stop pitch, which requires high acceleration). But we also needed the ball to be able to decouple relatively easily. We tested this with the flick of our fingers on the same setup. If we could flick the ball off the magnet coupling, we were sure that the real flipper could do the same easily. This informed an upper bound for our magnet strength, since if the magnet was too strong, we wouldn’t be able to decouple it or hit the ball cleanly.
5. Pitch Speed. This was tested by sweeping parameters of the gantry control software, FluidNC. It has a steps_per_mm and acceleration parameter, and we pushed it until we noticed motor whirring or extreme vibration. We were satisfied with the speed we were able to achieve. We were able to get up to ~250 mm/s for velocity. This was below our original target, but the eye test suggests that our original target was way higher than necessary, and that these speeds suffice.
To test the full system, we ran through full game cycles of pitch -> hit -> score (-> pitch). The full system testing revealed some flaws, such as the aforementioned gantry pitch decoupling and audio bugs, as well as issues such as the ball getting stuck on wires below the table. This informed us on what needed revision this week to make our game a complete, fun playing experience.
