The first thing we did for the course was to form a multidisciplinary group, consisting of 6 members:
Markus Liavik Kanton – (mechanical)
Alina Steshenko – (computer)
Kristian Alfheim – (computer)
Lenart Baraga – (electro)
Mark Aymerich – (electro)
Jon Azman – (electro)
We were instructed to brainstorm some ideas for what sort of project we would like to work on, and after some deliberation, we had 6 different ideas of various complexity:
- Rubik’s Cube Solver
- Autonomous Robot Builder
- Autonomous Sailboat
- Following Drone
- Autonomous Air Hockey
- Autonomous Obstacle Avoiding Car
To decide on which idea to go for, we held a vote, in which the autonomous sailboat and autonomous air hockey emerged most popular. One of the lecturers of the subject, Dag, informed us that an autonomous sailboat would likely present too much of a challenge in terms of workload and complexity for this subject, and consequently we settled on the autonomous air hockey idea, and appropriately named our team “The Unbeatable Air Hockey Team”.
With time to spare, we decided to begin with our ABC requirements. To facilitate an easy discussion for this we procured post-it notes, and found that we were able to come up with and agree on a number of requirements without great difficulty. The following list are the requirements we have settled on thus far:
A Requirements
- The system shall be able to defend the goal.
- The system shall prioritize defending the goal.
- The system shall be able to attack.
- The system shall be able to keep track of the disc.
- The system shall be able to play against a human player.
- The system shall be able to keep air pressure to keep the disc afloat.
- The system shall be able to charge with cable via power outlet.
B Requirements
- The system shall be able to present the disc back onto the board in the event of a goal on either side.
- The system shall be able to keep count on score with a score counter.
- The system shall be able to keep time with a timer.
C Requirements
- The system shall look appealing.
- The system shall be able to be mobile.
- The system shall be able to learn from its human enemy (machine learning).
- The system shall be able to accept payment.
- The system shall be able to produce a victory sound in the event of a goal.
- The system shall be able to light up in the event of a goal.
- The system shall be able to strategize.
- The system shall be able to facilitate different playmodes (timer, score, etc.).
These are all, of course, subject to change as we progress in the project, depending on complications or ideas that emerge along the way.
Next, we began discussing what sort of subsystems we envisioned would ultimately compose our system, as well as what sort of components we would need to realize it. After some investigation, we came to the conclusion that we would have (at least) the following subsystems:
- Air flow system
- Stick movement system
- Disc tracking system
- User interface
- Disc retrieval system
From our investigation we realized we would need components such as stepper motors, arduino to interface with the motors, raspberry pi for the camera tracking, and various other components and parts.
Finally, we discussed project management. To facilitate a simple platform to organize the tasks of the project, we decided to use Trello, and employ a simplified version of Scrum, wherein we make use of sprints of 2 week length, and weekly scrum meetings.
Once our meeting had concluded, the electro and computer students of the group went to ascertain what sort of components we had on campus; the stepper motors were of particular interest, and we had some time to spare to begin some very preliminary experimentation, namely just attempting to create the circuit and programming it to step. Furthermore, we were able to get our hands on a raspberry pi to begin experimenting with.