Final Project Proposal:
My first iteration of the drawing machine, Spirobot, had some basic functionality: programable movement, simple GUI, push button delay, and behavior that allowed it to draw in a pattern.
For my final project, I would like to build upon my first iteration and add a few more functionalities.
1. Connectivity via bluetooth.
My first iteration needed to be connected via USB3 in order for it to function properly. The wire was cumbersome and often got in the way. By allowing connectivity via bluetooth, the Spirobot will have a more autonomous feel and a more open interaction from the user. For my first iteration of bluetooth connectivity I will be attempting to use Processing as it will be building directly on top of what I already have programmed. If I find more time and necessary components become available (a separate external HD that I can run as a bootable volume) due to my financing, I will attempt to create the bluetooth connection and a simple GUI through my Android phone. This is just more for another level of learning, and in my opinion, a bit more impressive.
2. Improvement to drawing capabilities.
Currently, the Spirobot can draw a set of standard shapes based on a timer. It can either, go straight, backwards, rotate left, or rotate right for a few seconds and then stop. Improvements to drawing can be made by making the Spirobot follow more complex drawing paths/instructions. For example, some paths will require a curve to be drawn, which can be accomplished by the Spirobot moving forward while turning, instead of just rotating in a particular direction.
I would also like to do more research into the actual drawing of more traditional “spirograph” shapes. In my recent iteration, the patterns drawn don’t necessarily have much resemblance to a traditional “spirograph” shape. Some basic aspects are present, the ability to retain a pattern and being able to repeat that pattern multiple times. Further research into this area may require me to search for better code examples or to create some of my own. Hopefully the calculations involved to make better patterns will not be an overwhelming task, but definite improvements can be made.
3. Improved GUI (pattern preview)
The current GUI is able to record the movements input by the user. An actual path is not displayed on the GUI, so no preview can be made right now. By improving the GUI, the user will have a better idea as to the shape that the Spirobot can draw. The GUI improvements will be a single path preview and a spirograph preview (a path repeated over and over).
4. New case for the Spirobot
The Spriographs body, presently, is more of a strict functional nature. It has very little flair other than the humorous “Hot Rod” siding placed on it. I still haven’t decided on what type of body modifications I would like to execute for this project. I definitely believe in creating a body that will draw attention, curiosity, and a desire to interact from the audience. Perhaps an animal shape or some iconic figure. The methods for achieving this are not set in stone, but I may try my hand at the 3D printer if I have sufficient time.
5. Added behavior
Since this is an interactive project, I would like to add certain behavior that may encourage people to interact more with the little Spirobot. Perhaps something as simple as adding a sound play when it confirms a path has been entered or when it is in a ready state. Another behavior that may be achieved is a sense of physical feedback when a person approaches the robot while its drawing. A simple proximity sensor can be used to display certain movement from the little Spirobot and encourage the audience to interact with it if they receive some sort of feedback in behavior. This may be a later iteration, as major improvements will probably take priority over this.
Feedback Questions:
1. As an audience and keeping in mind this is a drawing machine that will have to be interactive, how would you prioritize (which improvements would be most important) the proposed improvements for the final project?
2. Would an improved case/body to the Spirobot, such as an animal shape or iconic figure add to the design or encourage interactivity? Would a more original and quirky design be more effective?
3. How important would you consider the ability to run the application (programming the robot) via an Android phone be? This is more of a time management question to see if the payoff would be worth it.
Initial Tasks to be Completed:
1. Get Arduino to successfully communicate with my PC via Bluetooth.
2. Get Spirobot to play sound successfully
2. Improve movement of Spirobot
3. Improve changing of colored markers (via servo)
4. Improve drawing code. Based off online examples.
5. Improve behavior:
– need clapping to continue drawing. (Raise a sign, and audio input)
– audio feedback from spirobot to audience.
6. Improve casing. Decide on shape/form and get it done!
Shopping List & Budget:
$9.99 (1) usb bluetooth dongle: http://www.amazon.com/gp/aw/d/B00EW3WS9M/ref=redir_mdp_mobile?ref_=pe_385040_30332200_pe_309540_26725410_item
$5.99 (1) washable pip squeaks markers (better fit) http://www.toysrus.com/buy/markers/crayola-pip-squeaks-16-count-washable-markers-58-8703-3314255
Most of my other parts I have gotten from the last project or from the Arduino kit. I have also gathered materials for free from the university lab.
Links to code examples:
Sparkfun MP3 trigger code:
https://forum.sparkfun.com/viewtopic.php?t=17698
Arduino Bluetooth:
http://www.instructables.com/id/how-to-Control-arduino-by-bluetooth-from-PC-pock/?ALLSTEPS
Processing Bluetooth:
http://mobile.processing.org/reference/libraries/bluetooth/
Spirograph code:
http://cdn.makezine.com/make/2010/04/servoPrimerM19.pdf
http://www.make-digital.com/make/vol19/?pg=149#pg149



1. The number one thing that I would prioritize would be the operational aspect of this project. While I greatly approve of the Bluetooth aspect, I would not mind a longer cord. With a longer cord, the operation of your project would be made much easier, while keeping the look of "a dog on a leash." Also, I am unsure if a longer cord would case the machine to stumble on its own power source and cause it to stop.
2. I think that improving the case of the Spirobot would be a great way to attract attention. You just don’t see an R2D2 bot drawing crazy lines on the ground on a daily basis. One particular design that came into my mind while watching your peaceful Spirobot were the fighting robots on the TV show Robot Wars. I think making your robot look dangerous would be comical due to the fact that the Spirobot is a peaceful mechanical artist.http://www.youtube.com/watch?v=6NNY1_MoAjw (Robot Wars)
3. Personally, I believe that running the application should be the least important aspect. I would just want to see the robot run free for long periods of time and create a unique image.
1. The behavior/"personality" of the Spirobot is the most important thing to me. I think an increased level of interactivity with the bot's surroundings is what will really endear it to people and create a personal connection. I would also prioritize the drawing function over the GUI or bluetooth.
2. Personally, I don't think having the machine look like a pre-existing character will add to the experience. I feel like we all responded to Spirobot as a new entity that we could apply a personality to based on how it acted. If it looks like R2-D2, that would mean people come to the experience with preconceived ideas based on what R2-D2 is like.
3. I see bluetooth capability as more of an endgame, since it would be cool if the bot could act "independently." but if that would be a big time/money constraint, I think you'd be better off focusing on functionality for now.