Didactic Robotic Fish Kit
Author(s):
Achim Reinhardt
Alvaro Chousa Esteban
Justyna Urbanska
Martin McPhee
Terry Greene
Team three would like to extend their appreciation towards ISEP and the EPS program. They brought this wonderful team together and gave them the opportunity and resources to complete a truly special project.
This team is also compelled to express gratitude for the members of ISEP's EPS advisory board, namely Abel Duarte, Fernando Ferreira, Benedita Malheiro, Cristina Ribeiro, Manuel Silva, Paulo Ferreira, Pedro Guedes. This group of individuals provided invaluable resources, providing patient advice and direction throughout the course of the project.
Finally, team members would be remiss in not extending sincerest deepest gratitude to ITSector, the company sponsorship behind this project.
| Abbreviation | Description |
|---|---|
| EPS | European Project Semester |
| ISEP | Instituto Superior de Engenharia do Porto |
| USB | Universal Serial Bus |
| EU | European Union |
| PLA | Polylactic Acid |
| ABS | Acrylonitrile butadiene styrene |
| PVA | Polyvinyl alcohol |
| SWOT | Strengths Weaknesses Opportunities & Threats |
| WBS | Work Breakdown Structure |
| STL | StereoLithography |
| IDE | Integrated Development Environment |
We are a multidisciplinary, international group of students brought together to work on a common project.
The team members are from Germany, Spain, Poland, Scotland and the U.S.A respectively. We arrived to Porto, Portugal to take part in a European Project Semester at the Instituto Superior de Engenharia do Porto. With such a diverse background, each team member comes with their own unique set of skills and knowledge. We are a creative, ambitious and hard working group of young people who aim to continue improving, developing and expanding on our horizons.
All members of Team Three choose to participate in EPS, believing it an amazing opportunity to develop their skills and gain exposure to students of varied backgrounds and fields of study. Team members relish the opportunity to learn about other cultures and increase both their technical and soft skills background.
When faced with the choice of a project for the semester, Team Three was presented with a wide range of options. Together, they were able to unanimously selected the Didactic Robotic Fish as the project to proceed with. Team members believed that their skill sets suited the project well, and that there is a place in the market for an inexpensive, educational toy to teach young children programming.
The 21st century is a digital world. In this world, the technologically literate flourish, while those stuck in the ways of the past may be left there. If technological education is left solely to a wildly varying set of international education standards, many children will miss out on the exposure to programming and electronics during their formative years. However if young children are introduced to these concepts, in the right way, it can foster a desire for continued learning and a much deeper understanding later in life.
A few educational toys, meant to introduce kids to programming and/or electronics are currently on the market. However these toys are offered at a relatively high price, effectively plucking them from the hands of many children in low income families. However, these are the children with the greatest need to access such toys. The pursuit of technical knowledge, which can be ignited with educational toys, is exactly tool a person needs to move up the socio-economic ladder.
As technology grows, it has also been becoming more successfully. Zettabytes of information is available on-line, 3D printing has brought fast custom manufacturing to a wide range of users, and new opensource technology and software is being created and shared every day. The convergence of these factors allows any motivated individual, to complete tasks that a decade ago would have only been feasible for the well educated and well financed. Team Three is using these resources and technologies to create the opensource didactic programming toy, Bubbles. Bubbles will be inexpensive enough to be wildly more accessible than similar products, and since it is open source, the design and programming will forever be open to improvement.
Team Three's primary aim is to create an innovative, fun, and engaging product that will teach young children the basics of programming. The end product needs to be attractive to children and parents, and simple enough for someone with no prior programming knowledge to use. In order to engage children´s curiosity and enthusiasm, the products learning curve should allow steady progress, remaining fun with a low to medium degree of difficulty. Since bubbles is a child's toy, its construction should be robust enough to survive mild abuse.
To supplement the toy itself, the product will come with a comprehensive digital user manual as well as website children and parents can turn to for fun activities and to answer any further questions.
The prototype of Bubbles will be required to meet the following standards:
The above are the project requirements as sated by the project proposal. However, it is also important to consider requirements which arise when examining the end users' needs. Since bubbles is a child's toy, its construction and operation should be very simple, and the design must be robust enough to survive minor falls and the like. Additionally, the design should be attractive to children, and it is essential that the product has a didactic element. Bubbles as a teaching tool is how parents will be attracted to the product and how this toy can really make a difference in the world.
A multitude of tests will be required to determine if Bubbles is prepared to be released to a commercial environment. A series of test both on dry land and in the water are outlined below.
During the first week Team Three completed a Gantt chart which was kept updated throughout the semester. This simple tool helped members stay on schedule, and helped the team divide up the tasks to the most qualified team members. Once the series of semester tasks were laid out, it was simple for each team member to identify where their skills and interests were well suited for tasks. After discussing individual strengths and weaknesses, the team was able to settle on the division of labor outlined in table 1.
| Task | Responsible |
|---|---|
| Planning | |
| Find the tasks | All |
| Create the Gantt | All |
| System Diagrams & Structural Drafts | Álvaro |
| System Schematics & Structural Drawings | Álvaro |
| Research | |
| Physical Characteristics Fish | Martin, Álvaro |
| Programming Research | Achim |
| Targets | All |
| Design | Terry, Alvaro |
| Engineering Development | Terry, Martin |
| State of the Art | All |
| Marketing Study | |
| Compare suppliers | Justyna |
| Compare budget and the project | Justyna |
| Modifications | All |
| Materials | |
| What | Achim, Terry |
| Quantity | Achim, Terry |
| Prototyping | |
| Materials | All |
| Design | Terry, Álvaro |
| Construction | All |
| Functional Tests | All |
| Improvement/modification | All |
| Report/Presentation | |
| Upload Final Report, Presentation, Video, Paper, Poster, Manual and Website | All |
| Final Presentation, Individual Discussion and Assessment | All |
| Wiki | |
| Update the wiki with all correction suggestions | All |
| Hand in a CD with the corrected deliverables together with all code produced to the EPS coordinator | All |
| Hand in one printed exemplar of the corrected report to the EPS coordinator | All |
| Final Submission | |
| Hand in the prototype and user manual | All |
| Certificate | All |
All the members of team three agreed that dividing the tasks as outlined in table 1 represented the best allocation of labor and a fair work load for all. Obviously as you progress through a new project, unexpected work is bound to crop up. Such tasks are dealt with based on team member expertise and current availability.
The report is divided into eight major sections, each section in turn containing several minor sub-section. This division is outlined as follows:
1. Introduction: In this section, team three introduces its members and project. Why the specific project was under taken, what the final product will look like, and how this goal will be achieved is discussed.
2. State of the Art: In the state of the art, modern technologies and research relating to Team Three's project is identified and discussed.
3. Project Management: This section examines how Team Three planned and managed their project throughout the semester, it includes several charts and tables outlining the time line and task allocation.
4. Marketing Plan: The marketing plan discusses who the target market for Bubbles is and how to effectively market to them.
5. Eco-efficiency Measures for Sustainability: This section discusses how economic, environmental and social responsibility concerns apply to Bubbles, and outlines a life-cycle analysis for the product.
6. Ethical and Deontological Concerns: This section outlines what ethical concerns were taken into consideration during the development, and how they effected the project.
7. Project Development: The project development section covers the ongoing design and development of Bubbles.
8. Conclusion: The conclusion wraps up the report with a discussion of the projects accomplishments and potential future.
The team has aimed to show what a didactic robotic fish is and to clearly show the market that will be targeted. Research was carried out on several existing products in the market, with several comparisons of products to identify the most suitable way to construct the project. It was recognised that the product, due to the target market of young children that the programming of the robot must be simple where movements would be restricted to left and right avoiding more complicated moves like for instance, moving up or enabling the robot to dive. This section will explore the products and materials that were investigated and reveal how the team came to the final conclusion of the chosen design for Bubbles.
Nowadays, programming is apparent in every daily life and it is important to understand the process. Therefore, educational programming languages were developed to aid in this understanding. Educational programming languages are designed for children and beginners interested in learning about programming. The focus of these languages is on the simplification of the programming process to help new programmers become familiar with the main functions and principles. These educational programming languages are important for educational purposes and are used throughout educational institutions. Not only is programming taught in education circles, but it is also becoming popular in private sectors. In general, the different educational programming languages can be categorized as text-based languages, block-based languages and languages that use the concept of programming by demonstration.
Karel is a text-based programming language for beginners. This language is used to control a robot named Karel. The robot is situated in a grid based environment. To control the it, there are five basic commands: move (moves to the next square), turnLeft (turns left), putBeeper (puts beeper on the square he stands), pickBeeper (takes beeper from the square he stands), and turnoff (ends the program). In Karel there are also control flow commands available, like if or while statements. Karels syntax has similarities to Pascal [1].
Like Karel, RoboMind is addressed to programming beginners and children. It uses a text-based language to move a robot in a two-dimensional world. The Robot is able to write on the ground, to pick up, and drop off objects called beacons. The functionality of RoboMind expands on the functions of Karel through advanced if-else statements, functions containing parameters, and recursive calls. The syntax of RoboMind is essentially a simplified version of C/C++ [2].
Scratch is a visual programming language based on block elements. The programming is realized by chaining different block elements together. With this approach, errors caused by syntax mistakes are avoided. The playful approach of this language engages children and teaches them basic programming concepts without being restricted by syntax standards. The colourful appearance is appropriate for children. Scratch includes the standard programming elements and even allows a kind of class structure. Scratch is available in a on-line version on the website and offline as a download [3].
Blockly is another block based programming language and resembles Scratch. It is based on JavaScript and is open-source. Blockly provides a simple, basic set of operations and function, but its functionality may be expanded through the creation of custom blocks. Custom blocks can be created in an application called Block Factory or by writing new source code. [4]
S4A (Scratch for Arduino) is a modified version of Scratch. It extends the functionality of Scratch by adding elements for the communication with various Arduino components such as micro-controller functionalities, analog and digital writes and reads, and also for high level controls [5].
ArduBlock is an extension for the Standard Arduino development environment. Its block based programming environment shares similarities with Scratch, Arduino, and Blockly. Additionally, ArduBlock is able to translate the block program into the Arduino programming language and transfers it directly to the Arduino development environment. As the user advances, this offers an easy transition into text-based programming [6].
Kodu Game Lab is an programming development environment based on different block elements. These elements represent specific actions and functions. When a certain conditions arise a self defined procedure of function will be conducted. In the case, there is no condition defined the procedures will be performed in a loop. The appearance of Kodu Game Lab has a clear structure. That is because of the use of icons to represent the different functions. In general the whole workspace of the program reminds more of a game than of a programming environment [7].
NXT-G is a graphical programming environment for the Lego NXT. Its programming is based on the manipulation of graphical blocks and wires. Via drag and drop, the user can combine different commands and requests. In this program, it is also possible to create sequences of parallel performed procedures. I addition to simple programs, NXT-G allows advanced connections to create a more complex program [8].
The virtual programming language Stagecast Creator is based on the concept of programming by demonstration.From these demonstrations the programming language creates rules. These rules define how an object reacts in the game. To teach an object to move, the object is first moved by the mouse. Based on this movement, the resulting movement of the object is created [9].
As shown in Table 2, the presented educational programming languages were compared in matters of the programming principle, the open-source availability and the compatibility to Arduino.
| Language | Programing principle | Open source | Compatible to Arduino |
|---|---|---|---|
| Karel | text-based | no | no |
| RoboMind | text based | yes | no |
| Scatch | block-based | yes | no |
| Blockly | block-based | yes | no |
| S4A | block-based | yes | yes (provides Arduino code) |
| ArduBlock | block-based | yes | yes (direct implemented in Arduino) |
| Kodu Game Lab | block-based | no | no |
| NXT-G | block-based | no | no |
| StageCast Creater | programming by demonstration | no | no |
Each of the presented education programming environment offers a good opportunity for taking first steps into programming. While text-based languages are more advanced because of the syntax restrictions and the complex handling, block-based languages offer a playful way to impart knowledge of programming to children. The programming by demonstration approach is also a great possibility for kids, but for the Didactic Fish Project it is not a viable solution. That is because of the independent nature of the robotic fish. Taking into consideration the the target group and the technical demands, block-based programming languages offer the best way to convey the thought process necessary, in programming to kids in a proper and playful way. With due regard to all the programming environments and considering their compatibility with Arduino, S4A and ArduBlock are clearly the best choices to create an appropriate educational programming environment for Bubbles. Because of its integration into Arduino IDE, ArduBlock offers new programmers a smoother transition into advanced and text-based programming. For this reasons, the decision was made to use ArduBlock to create the educational programming language for the project.
3D printing is a very versatile technology which can be used to produce parts in a wide range of plastics. Some special printers can even print in concrete and certain metals. So when choosing a material to print in, there are several options to consider, each with their own benefits and drawbacks. To assist in that decision, three of the most widely available plastics for printing were compared in Table 3. The table was provided by 3dprintingforbeginners.com.
As PVA is water soluble, it can be immediately discarded as a viable option for an aquatic robot. ABS and PLA are both potentially plastics which could be used for this project. ABS presents as the more durable and cheaper of the two plastics, where as PLA is advantageous due to its simple printing and the fact that it is a non-toxic and more environmentally friendly.
In order to be successful the robotic fish should be able to be fully submerged in water without the risk of sinking or damaging any of the electronics. There are three key problem areas concerning the seaworthiness of the robotic fish. The first comes from allowing access to the internal working of the robotic fish. Both the developers and the end users of the fish will require use of any micro-controller's serial port as well as the ability to change or recharge the fish's battery. The second critical waterproofing area is any breaches in the fish's body that will allow for external LEDs, buttons, and fin movement. The final major waterproofing concern is due to the means of production; untreated, 3D printed plastic typically is not entirely waterproof. Even in a perfectly enclosed 3D printed structure, moister will seep in. In the Table 4 can be found the different methods with the advantages and disadvantages of each of them.
| Method | Advantages | Disadvantages |
|---|---|---|
| NeverWet or other hydrophobic spray [11] | Simple & Fast Application | Expensive Toxic materials |
| Heated Acetone Vapor [12] | Ascetically pleasing No mess Fast Application | Fire hazard Requires heating apparatus (may be homemade) May change tolerances Toxic materials |
| Room Temperature Acetone Vapor [13] | Ascetically pleasing No mess | Slow Requires treatment container (may be homemade) May change tolerances Toxic materials |
| Wax Coating [14] | Non-toxic Cheap | Messy Application Leaves Residue |
| Epoxy Coating [15] | Cheap | Messy application Toxic materials |
As can be seen in the above table, each potential waterproofing method has its own advantages and draw backs. Additionally, some may only be used on specific kinds of plastic. This make it necessary to consider waterproofing and plastic selection together.
The simplest way to seal a breach in the boy of the fish will be to caulk it with an epoxy. This may be done for openings designed to allow immovable fixtures, such as buttons and LEDs. However, this obviously is not a workable solution in regards to the servo to fin interface or allowing access to the fish’s interior. To design in these features the simplest solution is likely the use of O rings and/or gaskets. O rings and gaskets are a time tested and well documented method of waterproofing. In order for these to be effective, several design considerations have to be taken into account. Thankfully plenty of information on proper gland design is readily available. One such source, for the type of face sealed, static O ring, likely to be used in the robotic fish, is shown in the Table 5 .
Before it has been decided how the product will be designed, it is essential to know how the robot is going to move. Due to its purpose as a product for children to learn about programming, the fish must have simple movements. Therefore, there is not going to be centre in, up or down movements but only the movements of turning to the left or to the right, keeping at the same depth at all times.
Studying the physiognomy of fishes, the research concluded that fins are the main organs that allows motion of the fish. Fins are composed bony spines protruding from the body. They are located in different places along the fish's serve for different purposes that are namely, moving forward, turning or keeping an upright position.
The most general type of fins are:
As an example other robots fish were examined to see different forms of movement. In the following Table 6 the different models can be seen.
In the market of electronic boards there are countless different models depending on their characteristics as it can be their size. Here are some different models that are available on the market Table 7
Although the product is a robot, it is also an educational toy. Samples of other robot toys available in the market are shown to compare the features offered with different prices in the Table 8.
| Robot | Descprition | Price [$] |
|---|---|---|
Sphero 2.0. [19] | Capability of rolling at speeds of up to 7 feet per second Works with iOS 4.0+ or Android devices with operating system 2.2+ Possibility of downloading free SPRK lessons and learn the basics of programming | 99.99 |
mBot Robot Kit [20] ![]() | Based on Arduino open source platform Easy to assemble within 10mins Based on Scratch 2.0 and Arduino IDE Support wireless connection via Bluetooth | 74.99 |
Ozobot [21] ![]() | Getting experience through creative drawing Sensors can even identify the colors and stick to one | 49.99 |
WowWee MiP Robotic Companion [22] ![]() | MiP multifunctional and autonomous robot Perched atop unique dual wheels Gesturesense technology for hand motion controls Includes app to drive, dance, battle, balance Requires a BLE 4.0 (Bluetooth Low Energy) connection | 99.99 |
Pleo rb [23] | Modelled Camarasaurus dinosaur autonomous robot Thinks and acts independently, just like a real animal Able to hear, to see, to sense touch, and to detect objects Good sense of orientation and motions | 469.00 |
To conclude, it was necessary to gather information on state of the art products and to expand previous learned knowledge. This lead to successfully designing and creating the didactic robotic fish. During research it was established that the most suitable target market will be children between the ages of five and ten years old due to the educational purposes of programming, robotics and the appeal of this toy to the younger generation. Throughout this section of the report comparisons of several different robots and products were made to draw conclusions for the production of the robotic fish. As a group it was decided that the best method was to build a robot that had fairly simple movement and programming to prevent over complicating things for the young children that will be using this product. It was also essential that the materials, parts and components that the group had chosen were within the budget provided at the beginning of the project allocation, this was achieved with in depth analysis of the best available options in the market and by studying previous, similar products on the market.
In the next area of the report, the topic that will be discussed is the project management of the project. This chapter explores details of the requirements of the project manager and to observe how the work must be undertaken.
This project’s main task is to develop and build a Didactic Robotic Fish Kit. When starting any project, it is important to define the main targets and scope of activities.
Targets
The determination of the specific targets outlined above will help with defining what tasks will be needed to complete the project. This will allow the team to pursue their goal with reduced interference. Work breakdown structure is presented below on Figure 1.
Time management is a very important concept in the accomplishment of a project. In this case, a Gantt Chart has proven useful because it is a trusty tool in planning how long project tasks should take. It also helps to sequence the events by laying them out in the order in which the tasks need to be completed. Gantt Chart is presented below on Figure 2.
Deadlines were attached to specific tasks based on the work plan, which was provided by the project supervisors. List of tasks is presented below in Table 9.
| Deliverables | Deadline |
|---|---|
| System Diagrams & Structural Drafts | 2016-03-14 |
| System Schematics & Structural Drawings | 2016-03-29 |
| List of Materials (what & quantity) | 2016-04-04 |
| List of Materials (local providers & price - including VAT and transportation) | 2016-04-11 |
| Upload the Interim Report and Presentation to the wiki. | 2016-04-16 |
| Interim Presentation, Discussion and Peer, Teacher and Supervisor Feedbacks | 2016-04-21 |
| Upload refined Interim Report (based on Teacher & Supervisor Feedbacks) | 2016-04-29 |
| Upload the Functional Tests' Results to the wiki | 2016-05-30 |
| Upload the Final Report, Presentation, Video, Paper, Poster and Manual | 2016-06-11 |
| Final Presentation, Individual Discussion and Assessment | 2016-06-16 |
| Update the wiki with all correction suggestions; hand in a CD with the corrected deliverables (source + PDF) together with all code produced to the EPS coordinator;hand in one printed exemplar of the corrected report to the EPS coordinator | 2016-06-21 |
| Hand in the prototype and user manual to the client; receive the EPS@ISEP certificate | 2016-06-23 |
Cost management is the planning of project’s budget. For this project, man hours are being considered as part of the budget. Therefore, the entire 50 € budget is allocated to materials cost. For materials ordered on-line, the shipping cost also should be considered. Staying within budget is a demanding task because the goals of producing the highest quality prototype and finding low cost materials must be balanced. List of material is presented below in Table 10.
| Material | Amount | Price (€) | Final Price (€) |
|---|---|---|---|
| Arduino nano board | 1 | 12.90 | 12.90 |
| DF15RMG Servo | 1 | 29.80 | 29.80 |
| LED (red, orange, green) | 3 | 0.25 | 0.75 |
| LED RGB | 2 | 1.00 | 2.00 |
| Resistor 330 Ω | 10 | 0.05 | 0.50 |
| Battery Charger | 1 | 10.70 | 10.70 |
| Battery 7.4 V 900 mAh | 1 | 11.95 | 11.95 |
| Reed switch | 1 | 1.10 | 1.10 |
In the Table 11 we can see the relation between the hours worked for each member and the cost of this hours for the project.
| Worker | Work (h) | Price (€/h) | Final Price (€) |
|---|---|---|---|
| Achim | 338.12 | 1.00 | 338.12 |
| Álvaro | 299.12 | 1.00 | 299.12 |
| Justyna | 290.12 | 1.00 | 290.12 |
| Martin | 275.12 | 1.00 | 275.12 |
| Terry | 339.62 | 1.00 | 339.62 |
Quality is significant for every product and brand. It is an essential consideration for companies because success is dependent on it. Customers can afford to buy only those products which meet their needs. It is expected that a company has to convince consumers to purchase product. What is more, the main target of a company should be to care about product’s quality and customers’ gratification. Quality in this project is extra important for one reason, the Didactic Robotic fish is intended for children. Therefore, materials have to be robust enough to handle potential misuse. In addition, components must be waterproofed because robot will be expected to operate in and under water. Robot is intended to be used as a teaching tool. These are the reasons unique to this project why Team Three will be held responsible to produce a high quality product. This robotic fish is meant to get young children excited about programming, making a high quality fish essential. A low quality product could potentially serve to frustrate children, turning them off of programming entirely.
Each member of the team studies a different subject matter. This has led to different knowledge sets, previous experiences, and abilities. Diverse backgrounds combined with a common commitment have come together well in creating the Didactic Robotic Fish Kit. It is a demanding, rewarding, and time consuming mission so individual tasks have been divided between team members. This division of labor ensures the best usage of time and that each team member is working in their areas of interest and expertise. Table 12 shows the participation by various roles in completing tasks or deliverables for a project.
Since project tasks are divided between team members, good communication is crucial to ensure everyone remains up-to-date with project developments. When not in the same room, team members communicate through the internet and phone applications. It is also important though that the team has regular face-to-face meetings, in which they discuss project developments and next steps. These meetings are used for open discussions about advantages and disadvantages of particular solutions. When not in direct contact, members utilize Facebook, email, Google Drive, and group messaging applications like WhatsApp. These allow team members to stay in constant contact in order to provide updates, make group decisions, and exchange files any time, any place. Communication is not only important between group members, but it is also essential to maintain a good dialogue between the supervisors and team. Every Thursday the project supervisors organize a meeting where the team may discuss their project and ask any pertinent questions. The supervisors will answer questions, to the best of their ability, and try to improve upon presented ideas, steering students in the best direction.
Risk management is a prediction of situations which can impact and break down project. In order to avoid unnecessary problems members should be prepared for any eventuality and try resolve it. List of risk and its description, effect, response is presented below in Table 13.
| ID | Description | Cause | Effect | Trigger | Response | Owner | Last review |
|---|---|---|---|---|---|---|---|
| 1 | Problems with communication between the Arduino software and hardware. | 1.Board doesn't work correctly. 2. Cables are broken. 3. Mistakes in wiring. | 1. Replace the board. 2. Check and replace the cables. 3. Reconceive the concept. [TIME,COST] | Check the board early enough. | 1-2 If board and cables don’t work it must be accepted and replace them. 3. Mitigate it by checking it frequently. [ACCEPT, MITIGATE] | Achim, Justyna | 2016-05-26 |
| 2 | Waterproofing problems | Fish is not waterproof and water gets inside. | Conduct tests without any electrical components inside. [TIME,COST,SCOPE] | Check waterproofness of every component. | Avoid by testing a waterproofness of the fish without any electrical components. [AVOID] | Terry, Martin | 2016-05-26 |
| 3 | 3D printer will not work as expected. | Printings are in a bad quality. | We have to print every component again. [TIME,SCOPE] | Try to print one part of model and check it. The next solution is to change 3D printer. | Transfer because it is responsibility of ISEP. [TRANSFER] | Terry, Alvaro | 2016-05-02 |
| 4 | Illness of team members | Don’t enough rest. | If it is possible, the absent member do task at home. Otherwise another member of the group can divide the absent persons task. [TIME,COST,SCOPE] | Care about your health. | Don’t go out at night. Go to bed early. [ACCEPT] | All | 2016-06-23 |
| 5 | Damaging electrical components or materials. | Improper use. | Replace electrical components [TIME,COST] | Functional test | Buying a new components. [ACCEPT] | Martin | 2016-06-23 |
Procurement management can aid with purchase goods and services from external suppliers. It is crucial to pay attention to quality and costs of goods, including costs related to postage. There are many potential suppliers in the market. Materials could come from any local shop or website. For this project we focus on following criteria when choosing a supplier:
Stakeholders management is relevant issue because thanks of it team is able to pinpoint people who have direct influence on the project. It includes also interest and power. Table 14 below shows stakeholders who have influence on the project.
| Who | Role | Expectations | Power | Influence |
|---|---|---|---|---|
| Team members | Creators of the project | Dedicated and successful. Complete scheduled tasks. Participation on weekly meeting. | High | High |
| Benedita Malheiro | Supervisor | Supervise an interesting project. | High | High |
| Manuel Silva | Team supervisor | |||
| Pedro Guedes | Team supervisor | |||
| Lecturers | Teacher | Expect taking part in classes and gain knowledge which is necessary to do WIKI | Low | Medium |
| ISEP | Sponsor | Deliver a project | High | Low |
| Suppliers | Provider | Provider of our components | Low | Low |
To conclude this section of the report, the main objective was to organise the project planning in a clear and efficient manner. This was vital to the project as it allowed a positive working environment and each team member could clearly identify time limit and the exact tasks that they had been provided. To begin this process, the team took part in constructing a Gantt chart that highlighted the time limits and specific tasks for individual members of the group and this helped to maintain a positive environment. It also allowed visible identification of certain areas that would require more time and effort than possible smaller and less time consuming areas. Quality control was another vital aspect of the report and had to be undertaken effectively to ensure that the product would satisfy the demands of the clients and customers.
Marketing is a society process in which an individual or groups get what they want by creating, offering, unfettered exchange goods and services. The main marketing tool is the marketing mix. The most popular market concept is 4P: product, price, place, promotion. The shortest definition of marketing is to “satisfy a need and make a profit”. Marketing divides on:
Figure 3 shows difference between Micro and Macro Environment.
In this chapter we focus on hardware that will help us to present robot’s market. To present macro environment we use PESTEL. It is helpful hardware that enables us in decision making in political, economic, social, technological, legal and environmental factors. It allows us to describe the impact another field has on enterprise.
PESTLE analysis is in effect an audit of an organisation's environmental influences with the purpose of using this information to guide strategic decision-making.
The government has a huge influence on a company’s marketing activities and they decide which goods and services should be delivered to its citizen. For instance, the government bankroll companies which will have a major impact on a companies’ organisation. Therefore, every enterprise should comply with the law and regulations of the country where they wish to market their products.
For this project, it is important that the design complies with The Toy Safety Directive 2009/48/EC [24]. The scope of the 2009 Toy Safety Directive is covered by Article 2. It provides a definition for what a toy is, and therefore determines whether a product falls under the scope of the Directive: “Any product or material designed or intended whether or not exclusively for use in play by children under 14 years of age”.
Manufacturers i.a. shall:
In Europe the toy industry develops dynamically. Every year about 60% of toys on the market are new products. Within European Union there are some 5.000 toy companies which employ 222.000 people in the sector. The EU market currently represents 28% of worldwide traditional toys and games sales. Figure 5 shows sales of traditional games and toys by country.
The most popular categories of traditional toys and games in EU markets are games and puzzles and infant and pre-school toys. Construction toys, dolls and accessories, and outdoor and sports toys follow top selling categories.
Traditional toys and games are dominated by brands such as Mattel Inc, LEGO Group, Hasbro Inc. Together their combined market share in the EU is almost 27%. The five leading toy markets in the EU – France, Germany, Italy, Spain and Great Britain.
Nowadays, people can only afford to buy products which meet their needs. In the market of robots, the most popular are household robots which make our life easier. This project presents a demanding task because there are already several robots for children on the market. Parents try to find something what develop their kid’s skills and that will be respectively at a low-cost. therefore, bubbles is an opportunity to teach kids more about programming.
Today everyone must move with the times and carefully follow innovation to stay up to date with technology. Industrial development is very fast thereby costumers/consumers have greater demands. For this project, specific concerns include technological details like breadboard, sensors and the battery.
Nowadays environmental concerns are a crucial aspect because creators are expected to use components which can be recycled and will not be dangerous for the environment. These concerns have become progressively more important due to the increasing scarcity of raw materials, pollution targets, ethical and sustainable concerns facing companies, carbon footprint targets set by governments (this is a good example were one factor could be classes as political and environmental at the same time). These are just some of the issues marketers are facing within the environmental realm. More and more consumers are demanding that the products they buy are sourced ethically, and if possible from a sustainable source. The components of Bubbles which are easily recycled are the 9 V battery and polylactic acid body.
The choice of suppliers is very significant concern. The team tries to choose the most reliable supplier who will deliver components in the shortest time and the lowest-cost of the package. It is also important to be sure that components will be delivered on time because of project deadlines. So it has been determined that Botnroll, Mouser Electronics, and Ptrobotics are reliable suppliers.
Customers play the main role in the creation of a company, brands. They are a major factor which has a big influence in developing a company. Thanks to the role of the customers, companies have an opportunity to relieve its position in the market. As regards to this project, the main customers will be:
When considering buying a didactic children’s toy, there are two main aspects a parent may consider. First is a price, which plays a crucial role in choice of this robot. Second is the usefulness in teaching new things their children.
Within a few years, competition within the robotics and automation industries will increase. While designing, Team Three has to be aware that every person who has proper components, money, and knowledge could create similar robots. The main agents to combat this are quality and advertisement. Therefore, the team has prepared the logo and a flyer. On the grounds of earlier gained knowledge and experience a user-friendly, low-cost robot will be created. The biggest competitors in the field are:
SWOT analysis involves segregation of the available information about four categories of strategic factors:
Figure 6 shows our SWOT analysis.
This section concerns the long-term success of Bubbles within the next 5 years. To set the objectives team members used a system called, SMART. SMART stands for: Specific, Measurable, Achievable, Realistic, Time-bound. Thanks to this system a realistic approach to a particular task can be reached. It is:
Market segmentation is a marketing strategy where the task is to determine customers who will purchase a product. Segmentation involves dividing the population into smaller parts called segments, which differ in terms of customers’ needs for the product, the method of purchase, and other selection criteria. After segmentation, the company must choose a segment in which it wants to sell their goods. The main purpose of segmentation is to analyse the structure of the market and the needs of the customers who make up the market. homogeneous markets can be distinguished in terms of structure and varied needs. To segment in the appropriate way, we used following division:
Bubbles is intended for boys and girls age 5-10. Therefore, the main clients will be fun of technology news, parents, and also grandparents. Running a business is easier if law and regulations of particular country is known by team members. After market research and learning particular directives concerning toys developed in Germany and Spain, an avenue for market expansion was planned. If this company can make a profit, the next markets will be France, Italy and Great Britain. Table 15 below shows the estimated percentage division of the population in 2020 to better understand the market.
| Country | Population | Children at age 5-10 (%) | Adults 20-100 (%) |
|---|---|---|---|
| Germany | 80 392 000 | male: 2.2 female: 2.1 | male: 40 female: 42.1 |
| Spain | 46 193 000 | male: 2.4 female: 2.3 | male: 39.2 female: 41.5 |
| France | 65 720 000 | male: 3.1 female: 2.9 | male: 36.5 female: 39.5 |
| Italy | 59 741 000 | male: 2.2 female: 2.1 | male: 39.5 female: 42.4 |
| Great Britain | 66 700 000 | male: 3.1 female: 3.0 | male: 37.2 female: 39.1 |
It is crucial to determine which countries that Bubbles should be launched in. Another important concern is minding status and region. The main task is to find market where there will be demand for product. Awareness that product will be better received in some countries than others, is an important because consideration. Noting that the marketability of the product is connected with social status, lifestyle, and interest in technology news, which varies by country and region. Bubbles is a robot fish, therefore and important concern it to find places and regions where people have access to swimming pools and/ or bodies of water where they can use the product.
Sales of toy definitely increase around Christmas time. In December and January, purchases in toy shops raise about 20%. For every company, this is the best occasion to improve their financial situation. However, Bubbles is a robot that people can use in amusement park where is access to swimming pool. So that demand for this robot will also increase in the spring and summer.
The main target reach customers who have the similar demands with regard to our product. Fans of technical news, parents, and grandparents will be preeminent clients. The first type of client demands new improvements and technological solutions. The second type of client require a robust toy, which should handle potential misuse and get young children excited about programming.
Positioning of company is a process that is aimed at creating positive associations. It focuses on how customers perceive a company and what positive qualities distinguish it from the competition. Skilful positioning leads to the formation of well-known brand with loyal customers. There are several options for positioning a company:
In this case, focusing on the second point is relevant in order to aid promotion and to increase the offer for additional services. Accordingly, offering different options like choice of fish colour and adding some accessories or signatures that may appeal to clients.
Bubbles will be built with Polylactic acid, which is robust enough to handle potential misuse. This is crucial because the product is intended for children in age range 5 – 10. The products programming language should be simple enough to use for children in the previously defined age range by means of ArduBlock. Connecting the robot to a computer and sending commands will enable the user to control its movement. The another thing is the shape which will be defined by the device’s of use. Furthermore, the robot is being created to play the role of a toy.
To determine the final price, the important thing is to compare prices from competitors. Thanks to this, company which want to develop itself in the market can be more appealing for customer because of lower price simultaneously offer a good quality product. In the case of when the product requires mass production, costs include direct and indirect costs of production. It means labour, raw materials, utilities, office equipment rental, promotion, delivery. The most crucial aspect is also profit and revenue. To buy the components will cost 67 euros and counted earlier mentioned costs team three suppose that product will be cost about 200 – 300 €.
Nowadays there are many devices to promote a product. Promotion is of utmost importance for and infant company because it will determine the future of the enterprise and the brand. To promote Bubbles, a website will be used as well as social media (Facebook). To increase communication with existing customers/consumers email may be used to offer them discounts. In terms of no digital advisement, flyers and billboards will be used. To plug the product, it can also advertised for on other websites. Furthermore, promotion within schools and shopping centres is meaningful as well.
In this part the focus is the distribution channels for Bubbles Distribution is the process in which embracive decisions regarding the manufacturer and a final recipient. Distribution channels set of all entities (cells) through which one or more streams, associated with the operation of my marketing, flow. These include streams of the physical product flow, payment for goods. Factors influencing the choice of distribution channels include the following:
Team three decided that for the beginning, the product will be sold in toy shops and also in supermarkets. Over time, once Bubbles will be more recognised, the team will try to sign exchange contract with big companies.
Marketing budget is a pool of funds set aside by a company for more dynamic selling of their products in the market. Marketing expenses, as well as most of the costs incurred represent a certain investment, causing a certain effect. The immediate goal of creating and spending marketing budgets may be: increase brand awareness among consumers and/or trading partners; increasing the purchase of products, resulting in increased turnover and market shares of the manufacturer; prevent similar actions of competitors to protect its sales or market share. Marketing budget includes elements related to the preparation of a new product to market, actions directed towards communication with customers and trading partners, and market research.
Our budget:
| Fair trade | City and country | Date |
|---|---|---|
| Suisse Toy | Bern, Switzerland | 06 Oct – 09 Oct, 2016 |
| Toyzeria | Istanbul, Turkey | 27 Oct - 30 Oct, 2016 |
| Interpädagogica | Vienna, Austria | 10 Nov - 12 Nov, 2016 |
| G! Come Giocare | Milan, Italy | 18 Nov - 20 Nov, 2016 |
The purpose of the control of the plan is to ensure that sales, profits and other objectives contained therein is achieved by the company. The company also needs control of profitability by product, geographic areas served segments or distribution channels. It helps decide whether any products or marketing operations should be extended, reduced or eliminated.
To assess the possibility of the development of our product on the market, we examined the macro and micro marketing. In order for micro marketing to be successful, team members used the method of PESTEL analysis. Bubbles will be developed in countries located within the European Union. As a result of this, the team has become familiar with the laws and regulations that apply to toys. In addition, we selected the 5 countries in which the product will be able to grow over the next 5 years, these are: Germany, Spain, France , Italy and Great Britain. With regards to macro marketing a SWOT analysis was created, to help identify the strengths, weaknesses, future opportunities and also any potential threats. The team carefully researched different suppliers to find out the best company to use for price and quality to provide the best possible components. The team has also established product promotion method. There will be a flyer , advertising and the creation of a website all contributing to boosting promotion of Bubbles. Another type of promotion shows where we will be able to familiarize potential customers with the product. To summarise, the product is designed for children aged 5 to 10 years, therefore it must be of very high quality and be easy to use.
The main purpose of sustainable development is to provide solutions for the preservation of natural resources. Its target is to spare water and to reduces humans' negative impact on the environment and human health. In general, there are three different subsections of Sustainability [25]:
In this project, sustainability is an important aspect regarding reusability, environment friendly materials, and eco friendly transportation.
The purpose of environmental sustainability is to protect the natural environment and its resources, preserving the human habitat. The interest in this topic has been on the rise in the last few decades and continues to be increase. The necessity of this topic has already reached a high awareness levels. As a consequence, many companies are trying to change their productions to be more environmental friendly. For this didactic fish, it is important to take the aspects of environmental sustainability into consideration when selecting materials and production techniques [26].
To create the body of the fish, team three is using PLA (polylactic acid). PLA is a plastic made of renewable resources. Commonly, the raw materials used to create it plant products like cornstarch or sugar cane because of this, the material is biodegradable and can disposed without having any long-time negative impact on the environment.
The product will be sourced using only local suppliers. This eliminates carbon footprint created by long distance transportation.
For the selection of the electrical components, it is important to use components with a low energy consumption. This aspect affects the products electric consumption and the longevity of its batteries. To keep a product consumer-friendly, regular batteries over the counter batteries will supply its power. Therefore, it is important that rechargeable batteries are used. These batteries are more expensive but may be recharged the up to 2000 times, meaning they are more eco-friendly and will save a user money over time. Nickel–metal hydride batteries are the preferred option because of their high number of recharge cycles and their high capacity compared to other batteries [27].
Bubbles design will allow for the easy to replacement of broken components. Consequently, the consumers will not have to buy a new product if any part of the toy should break. They will only have to replace the broken component. Therefore, the product will not create as much trash, which protects the environment.
The purpose of economical sustainability is to provide strategies which optimize the use of existing resources. This is necessary to produce efficiently and profitably over a long period of time [28].
An important aspect of an efficient economy is the contribution of the local economy. For this reason this project will acquire all components from local providers in Portugal. Through this, the economy of the country is supported.
By playing with the didactic robotic fish, kids are making their first steps in a programming environment. By keeping Bubbles price low, children disenfranchised by similar, but more expensive, products will be able to explore the world of programming for the first time. This initial exposure can foster talent the interest in the field of programming. In today's world, where software engineering is an important ever growing field, qualified programmers are an important force in the growth of the economy.
Along with economical and environmental sustainability, social sustainability is the third pillar of sustainability. However, social may be the weakest of the three pillars, largely because people cannot agree on which way is up. The general definition of social sustainability is the ability of a social system, such as a country, to function at a defined level of social well-being indefinitely [29]
Social sustainability can also be defined as the life-enhancing condition within communities, and a process within communities that can achieve that condition [30]
Based on these ideas, Bubbles has been developed with the ideals of help the society eradicate the gap between the rich and the poor, to build a society on equal terms. Horace Mann is famous for stating that, “education then, beyond all other devices of human origin, is the great equalizer of the conditions of men, the balance-wheel of the social machinery”, and it was with this in mind that Bubbles was developed. It its own small way, this project will contribute to defense human rights and push society towards more equal footing.
Bubbles is an affordably priced, manufactured toy, whereby children and their parents will be introduced into the electronic world. Children of all walks of life will be able to learn programming from their own toys. The digital world is rapidly expanding, and command of this world is arguably one of the most marketable and profitable skills you can have today. So getting children interested young and teaching them the basics of programming is one of the best things that can be done for their futures. Unfortunately the threshold price to access toys similar to Bubbles is much higher than many parents can afford. By keeping Bubbles price as low as possible, while still providing a fun a educational toy, lower income families will be able to set their children on an early path to success.
In short, with this robot fish many more children will have access to a fun and easy way of study something, which could help them to build a better future for themselves and the world.
During all the development of this project Team Three took into account the life cycle of their product. One of the main targets of the project is make children realize that it is not necessary to throw out something that has stopped working or lost its usefulness. Kids should know that if an object is not functioning in a useful way, there are several options besides the trash. When confronted with a broken or obsolete item, the first question to ask is can it be fixed? With a simple tune up or a couple replaced parts, would the object be operational again? If no, it cannot be fixed, there are still several better options than a landfill. Perhaps the object can be repurposed to perform a new task, and if not almost all materials can be recycled and reused.
As has been mentioned before, all components and materials for this project will be purchased from local suppliers. We have searched specifically for supplier in Porto that source recycled materials. Additionally the body of Bubbles will be printed in PLA plastic. PLA it is a biodegradable material, made of renewable resources.
Such us we are going to buy all the different components in Porto, we don not need to product or manufacture any electronic component. That is why the unique preliminary production that we have to do it is design the pieces of the fish and print them with a 3D printer. Therefore, the unique waste of energy it is consumed by the 3D printer.
During this phase, construction will be performed with human labor (team members) and the machines required to assemble all the pieces of the fish, with all the electronic components connected inside. This phase is the last one in which team members will have access to the product. So it is last opportunity to perform any modification in the project. After manufacturing the product will be packaged, distributed, and finally delivered to the customer.
Like the name of the project suggests, the Didactic Robotic Fish Kit is more than a simple toy for children five to ten years old. It is didactic meaning it has been developed to educate. Children using Bubbles will learn the basics of how to build and program their own robot. Upon receiving the kit, kids will need to assemble the main body and the tail prior to starting to program its motion. This step in the life of the product is as important as the manufacturing before because if the customer does not correctly follow the instructions in the provided manual, the fish will not function correctly.
In last phase of the cycle, Bubbles demonstrates one of the aspects that sets it apart from the competition. One of the main goals in this project is to provide a product with a long life cycle. To this end the customer will be allowed to purchase new parts to replace any damaged components, without having to buy a entire new fish. The customer simply has to buy a new component from a local supplier, and will receive a discount if returning the original, damaged component to be recycled.
Nowadays sustainable development is one of the most important aspects to consider in creating a product for all companies. Bubbles would not be less, so one of the objectives for which has been developed is to educate children that what it broken not need to be thrown away, but may have a second use or may be recycled for reuse. This fish robot intended as an aid for parents in educating their children in an environment that respects the environment, which supports sustainable development and raise awareness of the need to leave a better world to future generations.
An ethical concern is a set of problems that will affect a person or an organisation. Ethics is a study of morality and the organisation must decide upon whether concerns that are affecting them are morally ‘right’ or ‘wrong'. It will also determine which principles, policies, laws or actions are intact morally justified.
Deontological concerns follow the same principles as ethical concerns as they are defined by the morality of choice by an organisation to take certain actions they feel are necessary. Thus, it is essential that both of these sectors must be evaluated before finalised decisions are made by the organisation.
With regards to the project that the team has undertaken, there are five critical points that are in relation with both ethical and deontological concerns. These categories are as follows; Engineering, Marketing, Academics, Environmental and finally liability ethics. It is pivotal for the construction of the project that each one of the topics mentioned are fully taken into consideration when making decisions.
Engineering ethics consists of the responsibilities and rights that must to be declared by those working in engineering, and also of desirable ideals and personal commitments. This section is one of great importance due to the project focusing almost solely on engineering. This particular type of ethics is the study of decisions, policies and values that are morally desirable within both the research and practice of engineering. Once more engineering ethics involves being fair, honest, respectful and meeting the expectations of the client [31].
Safety is another critical aspect of engineering ethics to ensure that work being carried meets the standards set by health and safety regulations. Ethics are critical in stressing an engineers responsibilities but also the freedom to conduct them. The essential acts that engineers must oblige to are as follows:
Only engineers that are qualified to do so may complete tasks given to them. To ensure the safety regulations and standards are met even exceeding those expectations to provide the highest level of safety possible for the working environment. Engineers are required to carry out any assignments that have been appointed to them by their employers or customers to the utmost best of their ability.
The tasks that are provided to the engineer must be completed in an ethical, respectful, law abiding manner to prevent loss of reputation and professionalism and to honour agreements made prior to the beginning of construction. Finally, engineers must at all times when dealing with public, provide accurate and honest opinions, objectives and planning to the client. Thus, allowing the client not only to trust and respect your ideas but to enhance your own reputation.
Ethical marketing is a process that will promote a fair, honest and responsible working place in advertisement. It follows the same ideas as all ethics and is essentially analysing different options of what is morally ‘right’ or ‘wrong’. This particular form of ethics exists to form a main set of guidelines that will enable assistance to an organisation whilst they consider new strategies or ideas. Ethical reasoning must take place within the organisation and this can only be accomplished by reviewing the six different sections that exist within Marketing ethics [32].
First and foremost it is of great importance that research must be undertaken before moving on to any other sector. Problems often arise in the following areas of marketing research:
Once business has been completed between both the company and the client the research that has been completed must be private and also secure. More importantly if this research becomes no longer necessary then it must be deleted. Customers are the most important part of any organisation and therefore interactions with the customer must be done so in an honest and respectful manner. It is crucial for the group to ensure that they receive the product that fulfils both their needs and expectations.
Pricing is vitally important in terms of sales and marketing as not only must the project team make a profit but also provide the customer with a fair price of the product that meets expectations and both parties agree to. It is essential to avoid what is deemed as ‘unethical pricing’ such as:
Competition exists in any work environment with many different organisations producing similar products or working methods. Sales and marketing ethics comes into effect in order to compete in a respectful manner and to create fair competition between competitors.
Most importantly, safety is critical for the production of the project. The team has the responsibility to provide a product that is safe and provides no great risk to anyone involved. The monitoring of the manufacturing process is very important and to consider the common misconception that the majority of accidents are a result of the misuse or abuse of the product.
The final section that exists within Marketing ethics is once the product has been successfully constructed, it is then possible to move onto the promotion stage. It is key that during the promotion of the product that it will be done so in a professional manner without the introduction of any false promises or even deceptive marketing where customers could receive misleading information about their potential purchase.
Academic ethics or academic integrity is essential for educational purposes and to allow fairness in educational practices. It is fundamentally an ethical code that exists in the area of academic study, actively working to maintain academic standards within a school or higher education facility and to avoid the potential of plagiarism and even cheating.
To define the act of plagiarism, it exists in the case where a person has intentionally or unintentionally copied exactly from someone else work or where they have used words from another persons work without the use of appropriate references. Thus, in our group we have worked together to ensure the use of proper quotations to avoid an accusations of plagiarism.
On the other hand cheating is another heading that falls under the academic ethics code. The attempt from an individual or a group that presents work that is not their own or aided another individual by conferring answers when they have been informed that the work is to be performed on individually. Once more the team had to make sure that any ideas that were referenced for the project, were done so correctly and appropriately, ensuring it is individual work and to avoid any situation of being accused of cheating. It is important that the work produced is genuine and as original as it can possibly be, this making the product different from other competitors and allowing it to stand out in the market [33].
Environmental ethics is a is a study of how ethics play a part in the relationship between human beings and the environment. Within environmental philosophy, environmental ethics is a form of ethics that will examine the ethical relationship between humans and the natural environment. This form of ethics highlights the responsibilities of humans on the natural environment as humans are part of that environment and therefore should be protecting, not destroying it. Environmental ethics also takes into consideration a significant amount of regulations that include, law economics geography, sociology, theology and ecology.
It is vitally important that humans respect and honour the belief of the environmental ethics code that firmly believes that humans, plants and animals are both part of society. At present, the world is facing many problems that are affecting the natural environment due to incorrect disposal of harmful items and an increase in CO2 emissions. These factors have lead to the creation of several issues that are harming the earth, these include global warming, global climate change, pollution and the degrading of resources. Environmental ethics comes into effect to ensure that we as humans are helping to save the world and keep the environment protected [34].
Due to a significant and continuous rise in the Earth's population and ignorance towards the environment, there has been a rise of many environmental issues that are deeply concerning, these include, overpopulation, waste, the formation of acid rain, climate change, reduction in the ozone layer, urban sprawl and finally global warming.
This is why it is vital for the group to continue to follow the codes of environmental ethics and to do perform our duty by carefully selecting the best available materials that are not a danger to the natural world. It can be as simple and ensuring that everything possible has been done to attempt to reuse materials, preventing the need for the creation of new components. The design of the robotic fish will be done so with regard to the environment are where possible a design will be created that can be environmentally friendly.
The final section of ethics is called liability ethics. A legal liability is one in which a person is responsible for their own actions and involves a person breaking the law whilst taking part in certain work. As a group it is essential to acknowledge the main responsibilities towards the supervisors and to the customers. Therefore, in the unfortunate case of any error taking place whether it was intentional or unintentional we must accept the consequences of what has taken place.
Furthermore, the group must also be aware of potential complaints and dealings with unhappy customers. There is the potential to receive a variety of complaints from the general public and must ensure that reasonable complaints must be dealt with efficiently and respectfully. However it is possible to prevent an unfortunate situation like this occurring and that is by defining the terms of warranty clearly and any other aspects that the customer should be made aware of.
The finished product must also come with appropriate safety measures that will be listed within the users manual to prevent the risk of health and safety and to avoid a backlash from dissatisfied customers. This point is even more pivotal to the group as the target market has been set for young children between the ages of five and ten years old and there is the potential for a young child to swallow small pieces.
With regard to the groups particular project, it is key to respect and understand the concepts of both the liability measures and follow them correctly. We must also ensure that the health, safety and equipment that is used is at no risk to any of the team members, supervisors or the clients.
In order to complete the creation of the didactic robotic fish it is essential that we comply with the following EU directives:
To conclude, the main ethical and deontological concerns were examined and the group now has a greater and wider understanding of these concerns and how they should be addressed. The team looks to be ethical in every way possible throughout the continuing construction of the robotic fish to ensure the product meets the demands that were initially set. The team is one of a broad range of backgrounds and each one of the ethical sections applies to each person whether they are from a marketing or engineering background.
Bubbles is a didactic robotic fish that will be created as an educational learning tool aimed at targeting young children between the ages of five and ten years old. The team found inspiration in the development of the product by researching existing products and similar ideas before coming up with our own unique design. The project development stage will highlight team progress, focusing mainly on the development of a prototype. Throughout this stage, there is more of a focus on the engineering side of the project with different structural drawings, a 2D and 3D model, components list and finally a electronic schematic diagram to show how the fish will be electronically connected.
After researching available hardware and completing preliminary design consideration, this simple schematic outlining the projects hardware was compiled, shown in Figure 7
As shown in figure 12, there is an Arduino Nano used to operate all components. The 14 digital I/O and one Analog Input of the Arduino are used to drive the servo motor, to power the LED and readout the reed switch. The servo motor and Arduino are directly powered by the battery. To control the servo the digital output D2 is used. The three single colour LED and the two RGB LED are connected to the digital Outputs D5-D12. To limit the current in the LED to a safe value, every LED is serial connected to a 330 Ω resistor. In addition, the reed switch is connected to D12 which is set on pullup. In case of a closed reed switch the digital pin is directly connected with the GND.
The physical body of the fish has gone through many conceptual design changes. the realization of the design began with simple 2D sketches and evolved into increasingly complicated 3D models. This evolution and the though process behind the design is outlined in this section. After completing several hand sketches, Team Three created their first CAD design which may be seen in figure 9.
This 2D model above was created in AutoCAD and shows the original concept for Bubbles. Tough the design has since undergone a number a critical changes, the essence of the design remains the same as shown in figure 3, with one servo driving propulsion and two servos controlling pectoral fins. The team thought it would be important to give the final product more than the required one degree of freedom. This would provide children with a greater range of elements to program, and more fun toy. Hence the inclusion of the models pectoral fins. As and additional bonus, these fins will provide Bubbles with increased stability in the water.
After completing the first 2D design, a simple 3D structure was completed in order to conceptualise the shape of Bubbles body. This model is shown in figure 10 below.
The model in figure 10 was created in AutoCAD and shows the general shape that the final product will take.
The body of Bubbles will be created with a 3D printer. These printers read STL files which are typically created in a 3D modelling environment. To create these 3D models, team three utilized Siemens NX10. Several design iterations were created in NX before producing the model shown in Figure 11 below.

After completing and analysing the first model, team three decided on several important structural changes. First it was determined that a linkage should be created between the driving servo and the rear fin in order to reduce stress on the servo. It was also determined that the body of the fish should be re designed to allow sufficient room for batteries bellow all the servos and that additional support should be added to the fish's side walls. Finally, it was agreed that the fishes solid rear fin should be replaced with a two part fin. The new rear fin should consist of a solid plastic piece attached to the servo and a semi-flexible rear portion that will provide the bulk of the propulsion. With theses changes into a new design, the model shown in figure 12 was created.


The second complete 3D model incorporated the necessary design changes identified during previous design phases. As can be seen in figure 12, the orange block, which represents the battery, is located at the lowest possible point. As the battery is the heaviest component, this drastically lowers the design's center of gravity, making it more stable in the water. The body's walls have been slightly thickened and supports added in order to increase structural integrity. In this model, the tail has been split into two distinct pieces and is driven via a linkage, rather than directly by the servo. However in this design, there was insufficient space for any additional ballast, which was presumed to be needed. This led to the development of the final design, shown in figure 13.


This final design, made several improvements on its predecessors. The largest modification was removing the lateral fins, this reduces cost and eliminates the need to waterproof servos. Additional design changes include, increased space for ballast and adding an additional attachment point for the tail. This change divides the driving moment and places half at either end of the tail. The additional cylinder on top of the fish, is designed to house a magnet. This magnet will serve to control a reed switch, determining when the program will run.
Based on the research in the State of the Art section, the decision was made to create a block-based programming language on the open source-basis of ArduBlock. This chapter includes the import of the ArduBlock source files to compile a runnable version of ArduBlock. Further it is described which custom functions the software has to provide and how these functions were included into the source code.
To develop the ArduBlock source code, it is necessary to import ArduBlock and OpenBlock to Eclipse. Both source codes are provided by David Li on GitHub. ArduBlock and OpenBlock are compiled by Maven, a build automation tool used primarily for Java projects. To import OpenBlock, the following commands have to be executed.
mvn clean package mvn exec:java -Dexec.mainClass="edu.mit.blocks.controller.WorkspaceController" -Dexec.args="support/lang_def.xml"
Compared to OpenBlock the setup of ArduBlock is more complex and requires more steps. The following commands have to be executed to import ArduBlock to Eclipse.
cd ardublock mvn validate mvn clean mvn eclipse:clean mvn eclipse:eclipse
After these steps ArduBlock and OpenBlock can be imported to Eclipse by using the import Dialog File → Import → General → Existing Projects into Workspace ArduBlock will drop some errors because of missing OpenBlock packages. This problem will be solved by including OpenBlock to the Java Build Path of ArduBlock.This can be done in properties → Java Build Path → Projects → Add.
To run ArduBlock it has executed as Java Application using ‘Main - com.ardublock’.
Based on the used elements for the Robotic Fish, the Software has to provide blocks for the interaction with all of them. Additionally, the blocks have to be designed on a level which is proper for kids in the target age but provide enough variation possibilities to keep the programming process entertaining.
To create custom Blocks or delete existing Blocks, the following files have to be edited. Otherwise, the software can not be compiled or the function is not linked to the block.
ardublock.xml: In this file the blocks are declared. To declare a block a name, the kind, the color and the initlabel has to be set. Additionally, the connectors of the block are declared.
<BlockGenus name="example1" kind="command" color="20 175 255" initlabel="bg.example1">
<description>
<text>a block the demonstrate how to declare a block</text>
</description>
<BlockConnectors>
<BlockConnector connector-type="number" connector-kind="socket">
<DefaultArg genus-name="number" label="1" />
</BlockConnector>
</BlockConnectors>
<Images>
<Image>
<FileLocation>com/ardublock/block/arduBlock/example.png</FileLocation>
</Image>
</Images>
</BlockGenus>
Besides the declaration itself, in this file the structure, the members and the color of the block menu is defined.
<BlockDrawer button-color="0 155 255" name="bd.menu" type="factory"> <BlockGenusMember>exampleBlock1</BlockGenusMember> <BlockGenusMember>exampleBlock2</BlockGenusMember> <BlockGenusMember>exampleBlock3</BlockGenusMember> </BlockDrawer>
Additionally, the cohesiveness between blocks can be declared.
<BlockFamily> <FamilyMember>example1</FamilyMember> <FamilyMember>example2</FamilyMember> </BlockFamily>
ardublock.properties: In this file the properties of the blocks are defined. As can be seen in the code example.
bg.example1= example1 bg.example1.description= this an example block to demonstrate how to declare a custom block
block-mapping.properties: In this file the connection between the drawn block and the class which contains the functionally is made.
example1=com.ardublock.translator.block.example1
Additionally, a new class file has to be created. This class is based on the base class TranslaterBlock and overwrites to function this.toCode(). In the code example the function toCode() will give back a string containing example(“”);. The code of the block at socket 0 will be written between the quotation marks.
public class example1 extends TranslatorBlock
{
public example1(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
String ret = "";
TranslatorBlock translatorBlock = this.getTranslatorBlockAtSocket(0, "example(", ");\n");
if (translatorBlock != null) {
ret = translatorBlock.toCode();
}
return ret;
}
}
After accomplishing all these steps a working custom block will be available. The code of the block will be written to the loop() function of the arduino code. Additionally, code can be added beside the setup() or loop() functions by using the command translator.addDefinitionCommand(“”); and to the setup() function by using the command translator.addSetupCommand(“”);.
To help taking the step from block based programming to text based programming, an important demand to the provided code is to be clear structured and easy to read. To accomplish this, a set of predefined functions are always added to the code.
void forward(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos <180; pos++)
{
fin.write(pos);
delay(2);
}
for(pos = 180; pos>1; pos--)
{
fin.write(pos);
delay(2);
}
for(pos = 0; pos<90; pos++)
{
fin.write(pos);
delay(2);
}
}
}
void left(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos <180; pos++)
{
fin.write(pos);
delay(2);
}
for(pos = 180; pos>90; pos--)
{
fin.write(pos);
delay(2);
}
}
}
void right(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos >0; pos--)
{
fin.write(pos);
delay(2);
}
for(pos = 0; pos<90; pos++)
{
fin.write(pos);
delay(2);
}
}
}
void LED(boolean state, String color){
if (color=="red"){
if (state){
digitalWrite(red, HIGH);
}
else {
digitalWrite(red, LOW);
}
}
else if (color=="yellow"){
if (state){
digitalWrite(yellow, HIGH);
}
else {
digitalWrite(yellow, LOW);
}
}
else if(color=="green"){
if (state){
digitalWrite(green, HIGH);
}
else {
digitalWrite(green, LOW);
}
}
}
void eyeLED(String color,char side){
if(side=='l'){
r=rL;
g=gL;
b=bL;
}
if(side=='r' || side=='b'){
r=rR;
g=gR;
b=bR;
}
if (color=="white"){
digitalWrite(r, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
else if (color=="red"){
digitalWrite(r, HIGH);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
}
else if (color=="blue"){
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, HIGH);
}
else if (color=="green"){
digitalWrite(r, LOW);
digitalWrite(g, HIGH);
digitalWrite(b, LOW);
}
else if (color=="black"){
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
}
else if (color=="yellow"){
digitalWrite(r, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, LOW);
}
else if (color=="magenta"){
digitalWrite(r, HIGH);
digitalWrite(g, LOW);
digitalWrite(b, HIGH);
}
else if (color=="cyan"){
digitalWrite(r, LOW);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
if (side=='b'){
eyeLED(color,'l');
}
}
void buttonWait(){
if (digitalRead(button)==LOW){
while (digitalRead(button)==LOW){
delay(1000);
}
digitalWrite(red, HIGH);
delay(500);
digitalWrite(yellow, HIGH);
delay(500);
digitalWrite(green, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
delay(200);
eyeLED("white",'b');
delay(200);
eyeLED("black",'b');
delay(200);
eyeLED("white",'b');
delay(200);
eyeLED("black",'b');
}
}
Every block just provides the code to call one of these predefined functions and also handovers some parameters to specify the range of the function.
The category basic elements contains the elements loop, repeat, wait and the number block.
Loop
Loop is the basic element which contains the whole sequence of commands.
Repeat
The repeat block contains commands which are going to be repeated as often as defined with a number block.
Wait
The block wait has a connector for numbers. The program will wait as much seconds as set in the number block.
This category contains the blocks for the forward movement, turn left and turn right.
Forward
This block creates the command for the forward movement. It has a connector for numbers. The number defines how often this movement will be performed.
Left
This block creates the command for the movement to the left. It has a connector for numbers. The number defines how often this movement will be performed.
Right
This block creates the command for the movement to the right. It has a connector for numbers. The number defines how often this movement will be performed.
This category provides the blocks to control the single color LED.
Red LED
This block controls the red LED. It has a connector for the On/Off blocks.
Yellow LED
This block controls the yellow LED. It has a connector for the On/Off blocks.
Green LED
This block controls the green LED. It has a connector for the On/Off blocks.
In this category are blocks to set different color to the RGB LED, which are going to be the Eyes of the Fish.
Eye color left
This block sets the color of the RGB LED of the left eye of the fish. It has a connector for string commands which define the color.
Eye color right
This block sets the color of the RGB LED of the right eye of the fish. It has a connector for string commands which define the color.
Eye color both
This block sets the color of both RGB LED of the fish. It has an connector for string commands which define the color.
Table 16
| Material | Usage | Amount | Price [€] | Web Link |
|---|---|---|---|---|
| Arduino nano board | Board to control all sensors of the fish | 1 | 12.90 | botnroll |
| Servo Motor DF15 | Used for the tail | 1 | 21.22 | ptrobotics |
| LED (red, yellow, green) | Feedback | 3 | 0.25 | ptrobotics_LED_RED ptrobotics_LED_YELLOW ptrobotics_LED_GREEN |
| LED RGB | Eyes | 2 | 1.00 | botnroll |
| 330 Ω resistor | Resistor for the LEDs | 10 | 0.05 | ptrobotics |
| Battery 7.4V 900MAH | Power supply | 1 | 11.95 | botnroll |
| Cable Sleaves 2.4 mm 1.2 mm | Protection | 1 | 0.31 | ptrobotics |
| Reed Switch | Button | 1 | 1.10 | botnroll |
| Charger | Recharge the battery | 1 | 10.70 | botnroll |
To call the functional test of the software and electronics successful the following requirements have to be met.
Electronics
Software
Combination of electronics and software
Electronics
To test the electronics, all electronic components were connected as can be seen in Figure 8.
Software
The software was exported as runnable JAR file and saved in the folder /Users/userName/Documents/Arduino/tools/ArduBlockTool/tool/aquaBlock.jar. By this the software will be loaded into Arduino and appears in the tool tab.
Combination of electronics and software
The connection between the Arduino nano and the software is made by the standard USB cable.
Electronics
To test the functionality of the electronics, the code shown below was uploaded to the Arduino board. The code includes a wait function which stops the procedure of the code, as long as a magnet is close to the reed switch. After removing the magnet, the servo has to turn 90 degrees to the left and to the right. Afterwards, the single LED has to turn on and the RGB LED has to be red, after 0.5 seconds yellow and 0.5 seconds later white.
#include <Servo.h>
Servo fin;
int red = 3;
int yellow = 4;
int green = 5;
int r,g,b;
int rL = 6;
int gL = 7;
int bL = 8;
int rR = 9;
int gR = 10;
int bR = 11;
int button = 12;
void setup(){
fin.attach(2);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(rL, OUTPUT);
pinMode(gL, OUTPUT);
pinMode(bL, OUTPUT);
pinMode(rR, OUTPUT);
pinMode(gR, OUTPUT);
pinMode(bR, OUTPUT);
pinMode(button, INPUT_PULLUP);
}
void loop(){
buttonWait();
testServo();
testLED();
}
void testServo(){
int pos= 0;
for(pos = 90; pos <180; pos++)
{
fin.write(pos);
delay(2);
}
for(pos = 180; pos>1; pos--)
{
fin.write(pos);
delay(2);
}
for(pos = 0; pos<90; pos++)
{
fin.write(pos);
delay(2);
}
}
void testLED(){
digitalWrite(red, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(green, HIGH);
digitalWrite(rL, HIGH);
digitalWrite(rR, HIGH);
delay(500);
digitalWrite(gL, HIGH);
digitalWrite(gR, HIGH);
delay(500);
digitalWrite(bL, HIGH);
digitalWrite(bR, HIGH);
}
void buttonWait(){
if (digitalRead(button)==LOW){
while (digitalRead(button)==LOW){
delay(1000);
}
}
}
Software
To test software, an example code was created, as can be seen below. It was tried to use all blocks in all combinations, as can be seen in Figure 14. After arranging the blocks, the block code was translated into text code and transferred to the Arduino software. Where it is going to be compiled.
#include <Servo.h>
Servo fin;
int red = 3;
int yellow = 4;
int green = 5;
int r,g,b;
int rL = 6;
int gL = 7;
int bL = 8;
int rR = 9;
int gR = 10;
int bR = 11;
int button = 12;
int _ABVAR_1_a;
void setup()
{
fin.attach(2);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(rL, OUTPUT);
pinMode(gL, OUTPUT);
pinMode(bL, OUTPUT);
pinMode(rR, OUTPUT);
pinMode(gR, OUTPUT);
pinMode(bR, OUTPUT);
pinMode(button, INPUT_PULLUP);
pinMode(12, OUTPUT);
}
void loop()
{
buttonWait();
for (_ABVAR_1_a=1; _ABVAR_1_a<= ( 2 ); ++_ABVAR_1_a )
{
LED(true,"red");
LED(true,"yellow");
LED(true,"green");
forward(2);
LED(false,"red");
LED(false,"yellow");
LED(false,"green");
delay(1*1000);
}
eyeLED("red",'l');
eyeLED("green",'r');
delay(0.2*1000);
eyeLED("blue",'b');
delay(0.2*1000);
eyeLED("yellow",'l');
eyeLED("magenta",'r');
left(1);
delay(0.2*1000);
eyeLED("white",'b');
delay(0.2*1000);
eyeLED("cyan",'b');
delay(0.2*1000);
right(1);
eyeLED("white",'l');
eyeLED("black",'r');
delay(0.2*1000);
eyeLED("black",'l');
eyeLED("white",'r');
delay(0.2*1000);
eyeLED("white",'b');
}
void forward(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos <180; pos++)
{
fin.write(pos);
delay(2);
}
for(pos = 180; pos>1; pos--)
{
fin.write(pos);
delay(2);
}
for(pos = 0; pos<90; pos++)
{
fin.write(pos);
delay(2);
}
}
}
void left(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos <180; pos++)
{
fin.write(pos);
delay(2);
}
for(pos = 180; pos>90; pos--)
{
fin.write(pos);
delay(2);
}
}
}
void right(int repeat){
int pos= 0;
for (int i=0; i<repeat ; i++){
for(pos = 90; pos >0; pos--)
{
fin.write(pos);
delay(2);
}
for(pos = 0; pos<90; pos++)
{
fin.write(pos);
delay(2);
}
}
}
void LED(boolean state, String color){
if (color=="red"){
if (state){
digitalWrite(red, HIGH);
}
else {
digitalWrite(red, LOW);
}
}
else if (color=="yellow"){
if (state){
digitalWrite(yellow, HIGH);
}
else {
digitalWrite(yellow, LOW);
}
}
else if(color=="green"){
if (state){
digitalWrite(green, HIGH);
}
else {
digitalWrite(green, LOW);
}
}
}
void eyeLED(String color,char side){
if(side=='l'){
r=rL;
g=gL;
b=bL;
}
if(side=='r' || side=='b'){
r=rR;
g=gR;
b=bR;
}
if (color=="white"){
digitalWrite(r, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
else if (color=="red"){
digitalWrite(r, HIGH);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
}
else if (color=="blue"){
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, HIGH);
}
else if (color=="green"){
digitalWrite(r, LOW);
digitalWrite(g, HIGH);
digitalWrite(b, LOW);
}
else if (color=="black"){
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
}
else if (color=="yellow"){
digitalWrite(r, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, LOW);
}
else if (color=="magenta"){
digitalWrite(r, HIGH);
digitalWrite(g, LOW);
digitalWrite(b, HIGH);
}
else if (color=="cyan"){
digitalWrite(r, LOW);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
if (side=='b'){
eyeLED(color,'l');
}
}
void buttonWait(){
if (digitalRead(button)==LOW){
while (digitalRead(button)==LOW){
delay(1000);
}
digitalWrite(red, HIGH);
delay(500);
digitalWrite(yellow, HIGH);
delay(500);
digitalWrite(green, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
delay(200);
eyeLED("white",'b');
delay(200);
eyeLED("black",'b');
delay(200);
eyeLED("white",'b');
delay(200);
eyeLED("black",'b');
delay(200);
}
}
Combination of electronics and software
To test the functionality of the electronics and software. The created code was finally uploaded to the Arduino board. After that, the USB cable was unplugged and magnet was removed from the reed switch.
Electronics
After uploading the code to the Arduino nano, all components are reacting as expected regarding to the uploaded code. The electronics are even working correctly just powered by the battery. The Arduino board is recognized by the Arduino software and the compiled program can be uploaded smoothly.
Software
It is possible to compile the modified source code of ArduBlock. After exporting it, it is recognized by the Arduino software and shows up in the tools tab. The arranged blocks are correctly translated into text code and submitted to the Arduino software. Additionally, it starts autonomous to compile the code and upload it to the Arduino board. The generated code is in a correct syntax and is compilable.
Combination of electronics and software
The combination of blocks, the transfer to the Arduino software, the compilation and the upload to the Arduino board works without any problems. After uploading the program, the electronic components are reacting accordingly the arranged blocks. The performance of the code can be interrupted by triggering the reed switch with a magnet and continues after removing. Before starting the performance of the code a countdown sequence takes place.
The project development stage involved beginning of the process of development of an educational toy, designed for children. Here the main aim was to create the toy, bubbles as a didactic robotic fish that would be able to operate efficiently in an aquatic environment. Bubbles was required to be easily controlled as users would range between the ages of five to ten years old, therefore anything more complicated could not be used. Not only with this product allow children to have fun but it is also an excellent introduction into the world of electronics and programming, benefiting the young users in later life. The prototype was developed by analysing existing products on the market and each team member providing their own thoughts and ideas. This process enabled the team to establish the best type of robot to use and the most successful techniques to use. The prototype will contain a balanced body shape with an articulated tail, powered by a servo to support the body and allow easy control of the movements. Waterproofing was essential for the product and although some setbacks were encountered, these were overcome through teamwork and dedication to ensuring bubbles would be a success.
This challenging project was undertaken by the members of team three to successfully build a didactic robotic fish. This particular fish was targeted as an educational learning toy for children between the ages of five and ten years old. The prototype would be constructed to perform basic commands and be simple to control to ensure that the product did not become too complicated for the young people to understand properly. The team had to conduct detailed analysis of existing products, combined with their own unique ideas to create the perfect model. Team three had to implement many different working techniques throughout the creation of the robot such as project management, sustainability and marketing. Project management enabled the team to allocate members with specific task and to ensure there were tasks set out each week to stay up to date with the deadlines provided. Sustainability was important to the project as it is important for the product to be able to not only create a good product but to also be able to become a profitable company. Marketing was another major subject covered as this product had to target young children. It was pivotal to the project that this product would appeal to young children between the ages of five and ten years old and this was successfully implemented. Finally ethical concerns were addressed to ensure a safe and fair working environment and a product on the market that is of reasonable value. After a purchase of the robotic fish, bubbles the user will be provided with a manual detailing how to set up and then operate the toy. This can ensure the user can thoroughly enjoy playing and learning with bubbles but also to prevent them from any danger, as the safety of the user is of paramount importance.
Throughout the duration of the EPS programme the team encountered many obstacles a and without support and excellent team working skills it would not have been possible to finalise bubbles. It was vitally important for the team to utilise planning skills to remain up to date with all of the expected deadlines and to ensure that the budget was analysed to remain within the amount that was provided. The EPS programme at ISEP allowed the team to grow stronger and it was important to learn and move on from any mistakes that took place. It has also enabled team three experience for any future projects that could be encountered in the future. Every person in the team has only gained a much deeper insight into the engineering world as their were classmates with no previous engineering experience, this again can only enhance their knowledge and future career prospects. The EPS programme was a thoroughly enjoyable experience for the team as not only did people get to work and support people from across the world, bonds and friendships were also formed. Outwith of the continuous study that took place studying at ISEP enabled classmates to travel live within a completely different culture, visiting the many historic and beautiful points of the city, trying different cuisine and enjoying all that Porto has to offer. The EPS programme allowed the team to explore a truly wonderful country that many would not have been able to do if they hadn’t joined the programme.
Although the creation of bubbles was a success there is still always room for improvement and the team through continuous work on the project could have potentially tackled certain situations differently. The initial plan was to construct and fish that would contain two fins and a tail but after more research, the team opted for the use of one sole tail. Furthermore, the initial product that was created by a 3D printer could have involved more planning as once the model was available to use it was difficult to set up. This problem could have been prevented if the model was created to allow the top and bottom parts of the model to be directly connected to one another, saving the hassle of sanding the model parts to the suitable size. Overall the project was a success and the creation of bubbles was one that was enjoyable, challenging and life changing.