This game requires that the robot manoeuvre to a fire position, lob five projectiles (the “food”) into the “aquarium”, then return to the start position. This process must then be repeated two more times so that 15 shots are fired in all. The whole game is timed, so firing five shots at once and a rapid reload system are desirable features. There are points available for a nicely decorated aquarium too.
We decided a catapult would be better than a gun for this game since it is useful for the projectiles to follow a more ballistic trajectory. Little power is required to propel the projectiles, so we have opted for an elastic band to store the energy required. And, following the advice on the PiWars website, we are using “Nerf Rival” balls as the projectiles.
This has, without doubt, been the most difficult game of all the PiWars challenges for us to date (as can be seen by our numerous blog posts on the subject). We have assumed that some teams will achieve 15 out of 15 shots, so this has always been our goal too. However, building a system that can deliver five shots frequently is far more difficult than building a system which sometimes delivers five shots. As a result, the catapult has gone through many designs. It’s evolution can be seen on our blog pages.
Here are details of the latest design.
The main features are:
- The elastic band can be tightened by turning the band tensioner. This uses a worm drive so that it does not move due to the tension in the band. Very delicate adjustments are possible with this mechanism.
- The trajectory adjuster screws vary the travel available to the arm. When they are relaxed the catapult fires with a long, low trajectory. When they are tight a taller, shorter trajectory is achieved. Differential adjustment of the screws allows the left and right trajectories to be “steered”.
- The arm stop is made from a Nerf dart tip. It reduces the shock in the arm when it reaches the end of travel.
- The catapult is mounted on a turntable, although this is not needed when the system is properly adjusted.
The robot makes the following moves during gameplay:
- The first move is an odometry controlled drive to half way across the arena.
- It then makes a 90o turn to the left (under IMU control).
- Video guidance is then used to drive towards a red circle target on the aquarium. The front facing time-of-flight sensor is used to stop the robot at the appropriate place.
- The catapult is triggered.
- Odometry and IMU based moves are then used to return the robot to the start position for reloading.
There are points available for a nicely decorated aquarium. We utilised Nathan’s Scratch programming skills to take it to the next level; take a look at this blog post.