Design changes and justification
Compared to our previous design that we showcased for the fall prototype, we completely changed the physical design of Glitchi from a cubic robot into a flower, because its appearance felt too generic and did not have that artistic appeal to the design. We wanted to create a design with a heart and a brain to express how Glitchi has a heart filled with emotions and a brain that can communicate with us. The leaves represent the heart and the petals represent the brain. Also, a flower is something that is beautiful and possibly one of the most perfect creations that you can find on planet earth and we wanted users to form a bond with something that is more “natural” in appearance. We also got the idea of using an extraterrestrial flower from the book “The Secret Life of Plants.” Additionally, we believe that having a flower that glitches and talks would provide a unique experience for users. Some of the glitches that were formed, were natural glitches from both the hardware and software aspects. Some other examples of glitches: the servos themselves glitch naturally for a short time in the beginning once they are given power. As a result, it causes the petals to jerk and move in different directions in the beginning or sometimes in between conversations. It is unexpected for us and the users to know when the servos would decide to jerk. The speech recognition itself is imperfect in a way that the software (Glitchi) would sometimes not hear what the user says accurately or sometimes Glitchi would choose really bazaar tweets that have links in them and repeat it consistently to the user. We wanted the glitches to be as natural as possible and not forced.
The design of the flower was modeled after a lego flower that we bought and assembled. The top part of the flower was created with a large metal nut and 6 right angled pieces of metal were glue onto the nut. Six servos were angled appropriately, then glued onto each of the right-angled metal. We then drew the petal shape onto a plastic-like paper and glued a petal on top of each servo. We also used a styrofoam ball with a flower neopixel inside of it to light up the ball in the middle of the flower. Unfortunately, the neopixel shorted out possibly due to a power surge the night before the presentation and as a back-up plan, we glued a neopixel strip to the base. For the steam, we used a copper coloured, metal pipe. The two leaves were also created with the same materials as the petals with a nut were we glued two of the right-angled metals downwards on either side of the nut. Then the servos were glued onto the metal and then the plastic leaves. The metal nuts are perfectly able to screw and unscrew from the pipe. The metal pipe was also screwed and glued into a metal holder which was then screwed onto a wooden box, the base which was constructed with 6 pieces of wood canvas. A rectangular window was also cut out to place the 7” HDMI screen into. We did not take into consideration the HDMI cable being so big that it did not fit into the box, which is why the screen is bent inside of the box. The plan was to place the two Arduinos we used inside of the box. We then realized on the presentation day that the wires were too short, after we braided and wrapped it around the pipe, so we placed the two Arduinos on top of some other boxes.
During our draft presentation, we found out that the servos were overheating and melting the glued petals. We tried using a Servo Motor Shield, which did help the overheating, but it would not move in the specific angles we wanted nor stop when it was at the specific angle, so we decided not to use the shield and still had to find a way to give the servos enough power and not have them overheat. The night before the presentation we found out that if we power 6 servos from the same arduino, we would not be able to find the port on our computer, because too much power was needed that the laptop would reject the connection. Therefore we decided to use two Arduino UNOs to power the 8 servos needed for the petals and the leaves. We had 3 servos powered from the Arduino reading the code to move all 6 servos for the petals and the neopixels. We had 5 servos and the neopixels powered from the second Arduino that was reading the code for the 2 servos on the leaves. This solved the problem of overheating and also made the servos move at a faster speed.