Hello and welcome to the final portfolio for the Scribbler dog hack project. This project took a programmable Scribbler Robot and redesigned it to be a robotic dog that could interact with his surroundings. The team aimed to foster an emotional response from human beings using an emotionless piece of technology that simulated a real, organic lifeform. This way, the team contributed to both the hacker community's creative pool of unexpected technological innovation as well as to humanity's understanding of what constitutes an emotional connection.
Our mission statement: To stimulate an emotional response using an emotionless being; more specifically to transform a Scribbler Robot into an adorable puppy and demonstrate that humans can have an emotional connection with the robot.
To generate an emotional response, the team decided to turn a Scribbler Robot into a simulation of some recognizable life form. The team chose the form of a puppy simply because dogs are often viewed in society as lovable pets, and many positive emotions are associated with the companionship between humans and dogs. Simulating such a lovable animal would hopefully make humans more receptive to the robotic simulation and generate positive emotional responses.
A short video explaining the core of this project can be found here: http://www.youtube.com/watch?v=9thh6Jvlugk
Additionally, the project blog contains many articles written by the team during Scribbler Dog's design process, and sheds light on the thought process used to transform Scribbler Dog from a simple Scribbler Robot to a functioning puppy dog. It can be found here: http://www.boundariesofemotions.wordpress.com
Summaries of the team's design choices can be read in the sections below.
The Guts - Scribbler Dog's Electronics
The team began this project by dissecting the Scribbler Robot and taking note of all the sensors that could be used to allow the puppy to interact with his environment. The team eventually decided on utilizing three major sensors to help guide the puppy as he searched for and interacted with humans. A set of proximity sensors that utilized an infrared transmitter and two receivers, as well as a mounted camera that could analyze pixel coloration, were chosen to give Scribbler Dog "sight." This would allow Scribbler Dog to detect the presence of a human by either a close proximity to Scribbler Dog's face or a distinct block of color that stands out against the background (i.e., someone's clothes standing out against the color of the room).
Additionally, a set of light sensors chosen to be mounted on Scribbler Dog's back. The team chose to mount light sensors there because the sensors could also be used to detect the absence of light. The team decided this would be the best way for Scribbler Dog to detect that he is being pet. Since light would be momentarily blocked as a human's hand passes over Scribbler Dog's back, the light sensors were the ideal choice for Scribbler Dog's sense of touch.
The sensors mounted in Scribbler Dog's face (IR and camera) were part of a Bluetooth dongle that attached to the Scribbler Robot's serial port. This gave the team the added functionality of controlling Scribbler Dog wirelessly, which was a large contributing factor to Scribbler Dog's sense of realism.
Scribbler Dog also made use of the Scribbler Robot's motors and wheels by having them mounted on his back legs. This allowed Scribbler Dog to move freely as well as react to stimuli received through the mounted sensors.
If you would like to see a more in-depth analysis of the internal components of Scribbler Dog and how they were utilized, be sure to visit the Scribbler Dog: Electronics page.
The Skeleton - Scribbler Dog's Chassis
Once the team members were able to remove the Scribbler Robot components that would be used to create Scribbler Dog, they were able to take measurements of these components and begin designing a general layout for a custom chassis. The design process was tricky, as the team needed to keep a reasonably proportioned look (so that Scribbler Dog actually looked like a dog proportionally) while ensuring that the sensors were mounted in the anatomical areas they needed to be. Additionally, the sensors had to be accessible so they would be able to perform their jobs. Once this was decided upon, the team addressed custom wiring that would need to be done to ensure all the components were connected, receiving power, and communicating properly.
Once the team created a layout for the components, the dimensions measured were used to create a series of CAD drawings that gave the shape of the external chassis that would hold the components needed. The team then custom cut the pieces for this chassis out of Plexiglas to ensure a light but stable frame. The chassis was then assembled with the components mounted inside, and tests were run to make sure everything was working properly.
If you would like to see more on the chassis design, including dimensions and CAD drawings used to scale everything, be sure to visit the Scribbler Dog: Chassis page.
The Skin - Scribbler Dog's Shell
Scribbler Dog's shell was a very important aspect of the design process. The team understood that it was just as important, if not more important, for Scribbler Dog to simply look realistic, not just act realistic.
The team initially decided to design an outer shell for Scribbler Dog using paper mache, as this would be an easy way to fit the dimensions of the chassis. It would also provide stable, rigid front legs, so designs for front legs were not included in the original chassis design. The team later decided, however, that paper mache would not convey the look of realism necessary to make Scribbler Dog look like a convincing puppy. Instead, the team purchased a stuffed dog with dimensions very close to that of our chassis. The team then gutted the stuffed dog and mounted the skin to the chassis via small Velcro strips, which allowed for easy access should any internal components need to be examined or repaired. The Velcro straps proved to be extremely useful with a few internal issues in the mock run's of the puppy. Since no front legs had been made, the team compensated by using a pair of support wires that ran through the chassis support structure and down each from leg. These support wire's were a part of the original stuffed dog. The result was excellent, as Scribbler Dog took on a distinctly recognizable fuzzy puppy exterior.
If you would like to see more on Scribbler Dog's shell design, be sure to visit the Scribbler Dog: Shell page.
The Mind - Scribbler Dog's Code
The code that runs Scribbler Dog was written using Python, a programming language natively supported by Scribbler Robots. The design of this code posed a major challenge to the team, as they had to essentially invent a simple working mind that could respond to stimuli on-the-fly without influence from any sources other than itself. As a result, the team wrote the code to cater to the two "senses" given to Scribbler Dog: his sense of sight and his sense of touch.
Scribbler Dog would begin by searching the area around him for the presence of humans. He would do this by moving forward and checking the readings from his proximity sensors. If nothing was detected, Scribbler dog would turn and continue to search (by moving forward and checking sensor readings). If no one was found after a certain amount of time, Scribbler Dog was coded to "whine" (by playing a minor chord) to indicate loneliness. After a certain amount of time, the code would then restart and Scribbler Dog would begin to search anew. Once Scribbler Dog found someone, he would "bark" (by playing a major chord) to get the person's attention.
At any time, this process could be interrupted by receiving input from Scribbler Dog's sense of touch. If an absence of light was detected by the light sensors on Scribbler Dog's back, then Scribbler dog would stop and use his proximity sensors to check if a person was in front if him. If there is someone in front of him, Scribbler Dog wags his tail by rotating his rear end back and forth. If no one is detected, however, Scribbler Dog turns left and searches for the source of the petting until he finds someone. Once he finds someone, he wags his tail as described.
To learn more about how the Python code actually works, and how we designed the functions that run within it, visit the Scribbler Dog: Code page.
If you would like to download the source code for yourself, check the useful links section at the bottom of the page for a link to the file. It is hosted via Gitorious, and the links needed to acquire the version tracking software to access the source code are also provided.
Although we did our best to design a realistic robotic dog, there were a few limitations that we could not overcome. This section is dedicated to the improvements that could be made to the project, and is both an analysis of our shortcomings as well as a source of ideas for DIY enthusiasts to use to improve our design.
Scribbler Dog's Sight
Although the team's use of proximity sensors and the mounted camera was a clever solution to simulate sight, it came at a high price. Because the sensors were mounted across a several-inch-wide board in the face, the team had no choice but to remove a large rectangular section of the face to expose the sensors. This was a major break in the illusion, especially since it was removed at such a critical location for emotional interaction. The team found that many test subjects would come in to the room excited as they saw the back of Scribbler Dog. Once they came around to see the front, however, many changed expression from "happy" to "creeped out" because a large portion of the face, including the eyes, had been removed to expose a circuit board. Unfortunately, the locations of these sensors on the board were a technological limitation, and a future model of Scribbler Dog could utilize custom mounted sensors that more seamlessly blend in to the outer shell.
Scribbler Dog's Bark/Whine
Scribbler Dog did have a mounted speaker behind the head, and Scribbler Robots can play frequencies programmed into the code running them. The team felt this would be a great way to give Scribbler Dog a simulated reaction, as he could bark to respond like a normal puppy would. However, the Scribbler Robot did not have enough space to hold sound files of a dog barking and whining, and the sound generator could only "beep" programmed frequencies, which did not accurately simulate the "sound" of a bark. A future model of Scribbler Dog could contain enough storage space to play bark and whine sound files, even if that means using a simple trigger system to complete a separate circuit dedicated to a sound generation system (like the chips included in musical birthday cards).
Scribbler Dog's Tail Wag
The team grappled with the choice between using one motor to power the movement and one motor to wag the tail and using both motors to power the movement. The latter was chosen to ensure Scribbler Dog could move in two planar dimensions, not just forward or backward. As a result, however, the tail remained fixed. The team compensated for this by writing the program "scratch" (the program responsible for Scribbler Dog's tail wag) to command Scribbler Dog to rotate his rear right and left to simulate wagging. A future model of Scribbler Dog could incorporate a third motor dedicated to the tail that wags it back and forth.
Connections to Literature
This project has distinct connections to cyberculture and related "hacker literature" where authors explore how technology impacts our society in various ways. Below are a few examples of the connections between our project and prominent pieces of technologically centered literature.
Steven Levy's "Hackers"
This project relates to Steven Levy's "Hackers" through its open source nature and feel. The story "Hackers" takes place at the Massachusetts Institute of Technology (MIT) in the late 50s and early 60s, and discussed the rise of "hacker ethic." A main focus of this piece is emphasis on the idea that knowledge (and, by extension, innovation) should be free and open to the public, so that anyone may have the resources to access any amount of knowledge that they please, and then to use it as they please. The team was inspired by this idea, and as such used only open-source resources in the production of Scribbler Dog, such as programming in the Python Programming Language, designing a series of wiki pages to compile all project data, and hosting the source code under an open-source platform that allows the file to be accessible to all. The team feels that by embracing an open-source nature and encouraging DIY innovation, this project would be supporting the core values that "Hackers" presents.
If you would like to learn more about the story "Hackers," you can find a more in-depth summary and analysis of the story here: Hackers
William Gibson's "The Winter Market"
William Gibson's "The Winter Market" is a story about technological repurposement, revolving around the idea that "the street finds its own uses for things" (Gibson, The Winter Market). In his piece, Gibson contends that technological repurposement is a source for greater freedom from the filters normally placed on the average person's sense of innovation. Gibson criticizes the idea that technology is only meant to be used for what it is defined for, and encourages technological repurposement and innovation. Our project reflects the advantages of this mantra. Repurposing a Scribbler Robot into a functioning puppy created a new and interesting invention that simulates an organic being and explores the idea of an emotional connection.
This project reflects on how it is important for our society to keep an open mind to technology as it comes into existence, as resources already created may be repurposed to address more than one need. Our project embodies and encourages the ideas of creativity, innovation, and efficiency in how we interact with technological development. This is important, as recognizing the potential of something beyond its defined parameters is only a source for growth. After all, you wont end up any worse off if a piece of technology can only do what it was originally intended to do, but you can gain so much more if it can be applied beyond its original parameters. Because of this, our team believes this project correlates to "The Winter Market" and directly supports Gibson's praise for technological repurposement and innovation.
If you would like to learn more about the story "The Winter Market," you can find a more in-depth summary and analysis of the story here: The Winter Market
MIT professor Sherry Turkle has written several pieces regarding the "subjective side" of human relations with technology. In particular, two of her pieces "Who Am We?" and "Programmed For Love" reflect the idea of simulating emotional interactions through technology. In her earlier years, Sherry Turkle has expressed that use of technology can be a source of personal experimentation and growth. In her later works, however, Sherry Turkle warns of the dangers of becoming too emotionally invested in technology, condemning emotional connections with technology as one-sided and detrimental to our emotional development.
Our project aims at stimulating basic emotional responses from humans by mimicking an organic being. On that basic level, our project would support and relate to Sherry Turkle's early works, as most of the emotional interactions we are likely to see from humans towards Scribbler Dog are going to be rooted in personal experiences and memories. Scribbler Dog is more likely to remind humans of a cute puppy and allow them to project their memories and associated emotions towards dogs onto our Scribbler Dog, rather than making them feel as if they've made a new little friend by interacting with Scribbler Dog.
Sherry Turkle might still condemn our project because we are fostering a one-way emotional relationship, even if it is more of an emotional projection than a true "connection." In regards to this, our project is not meant to create a robotic dog that could ever serve as a replacement to a real dog. Rather, it is meant to remind those interacting with it of a dog, and stimulate whatever emotions they associate with dogs (hopefully happy ones!). The team does agree, however, that an intensely realistic Scribbler Dog could begin to blur the lines between a "real" versus "synthetic" dog. The implications of this, however, are well beyond the level of this project, and as such the question of "how far is too far" will be left to the reader to decide.
If you would like to learn more about Sherry Turkle's works, you can find a more in-depth summary and analysis here: Selections from Sherry Turkle
- The project blog, where direct updates from the team during the making of Scribbler Dog can be found: http://boundariesofemotions.wordpress.com/
- The synopsis video that explains the nuts and bolts of the project: http://www.youtube.com/watch?v=9thh6Jvlugk
- Scribbler Dog's in-depth electronics page: Scribbler Dog: Electronics
- Scribbler Dog's in-depth chassis page: Scribbler Dog: Chassis
- Scribbler Dog's in-depth appearance design page: Scribbler Dog: Shell
- Scribbler Dog's in-depth source code page: Scribbler Dog: Code
- The source link for Scribbler Dog's operating code, utilized and hosted under the open-source platform Gitorious: git://gitorious.org/scribbler-dog/scribbler-dog.git
- Getting the open-source version control system (used by many open-source projects): http://git-scm.org/