Robot Theater in Portland

After our workshop and performance in Palo Alto, we packed up the robots and drove north to Portland, OR.  We held a workshop at Broadway Rose New Theater on Sunday, August 14, 2016.  We created some skits that involved movement and speech inflection, and talked with people involved with local theaters about holding the summer programs in 2017.

On Monday, we took the robots to Portland Center Stage.  The facilities were really cool, and we worked on creating some new skits and polishing up some old routines.  It will be really exciting to bring the robots back to Portland to put on some shows.

We picked up some Voodoo Donuts on our way out of Portland, and began the long drive back to Iowa City.  We are happy to be home, and are now focusing on our upcoming first-year seminar; classes start Monday!

I’d like to return to Portland in May, 2017 to give presentations to local schools and get the word out about this project.  I’d like to connect with K-12 teachers and university faculty members interested in getting involved in this project.  If you are affiliated with a school (as a parent or educator), and would like to help me connect with the administration, theater and computer science departments to arrange a visit to your school, please e-mail me.

My goal is to be able to offer a series of summer programs for 5th – 12th grade students in 2017, and in order to do that, I’ll need some help with finding the following:

  • students interested in participating in the camps
  • people to help staff the camps and bring their expertise to the project
    • undergraduate/graduate students
    • K-12 educators
    • performing artists
    • playwrights
    • university faculty

Fortunately, we have started forming partnerships with local theater groups!


Robot Theater in the Bay Area

We held 5 workshops in Santa Cruz, on the UCSC Campus.  These were small, hands-on workshops where participants learned the basics involved in programming our NAO robots.  The workshops were flexible, allowing people to explore the particular aspects of a robot’s capabilities that matched their interests.  Several participants were graduate students in, or alumni of, the Digital Arts and New Media (DANM) program at UCSC. Some people investigated the text-to-speech functionality, others wanted to create skits that involved human-robot interaction and robot-robot interaction with speech recognition.  One person wanted to work with the sensors on robot and understand balance and movement.  I always learn something new when I introduce the robots to a new audience.  Fresh perspectives and interests lead to new ways of thinking about the role that these robots can play in theater.

During these workshops, we talked about the overall vision of the program: to bring the robots to Santa Cruz for a series of summer programs for elementary, middle and high school students in 2017.  In order to make this happen, we need the following:

  • students interested in participating in the camps
  • people to help staff the camps and bring their expertise to the project
    • undergraduate/graduate students
    • K-12 educators,
    • performing artists,
    • playwrights
    • university faculty
  • local theater organizations to partner with us to put on performances.

As you can imagine, this project is extremely interdisciplinary in nature!

After our workshops in Santa Cruz, we drove over the hill to hold a workshop in Palo Alto.  The participants there wrote a program to have a robot function as an MP3 player, using the sensors on the head to serve as the controller.

In the evening, we gave a short presentation which included a few skits that were created over the past 4 years, and also a few that were created during our recent workshops and summer programs.  It would be great to offer a series of summer camps in Palo Alto, and we hope to start making connections to make that happen for 2018.  Palo Alto residents might want to participate in our 2017 Santa Cruz summer programs, given the closeness of the two communities.

I hope to return to the Bay Area in January and March, 2017.  I’d like to connect with local schools (in Santa Cruz and Palo Alto) to give short assemblies and presentations, and connect with teachers interested in getting involved in this project.  If you are affiliated with a school (as a parent or a teacher), and would like to help me connect with the administration to arrange a visit to your school, please e-mail me.

On the Road

We are taking the robots on the road!  We will be traveling to the west coast in August, to offer several 3-hour programming workshops.  These workshops will offer participants the opportunity to work directly with NAO humanoid robots and learn more about their capabilities and how to become involved in the project.

We will be in Santa Cruz, CA August 9-11, 2016, and Palo Alto August 12, 2016.  We will then travel to Portland, OR to offer workshops August 14-15, 2016.  To learn more about our robot theater project, check out our previous blogs, and visit the University of Iowa’s Computer Science Department website:

Registration for these workshops is free, but space is limited:

Feel free to contact us for more information:


Robot Theater 2016 JSI

We spent 5 days working with the NAO robots.  Starting with speech, then movement and conversation, we had the robots telling bedtime stories, having conversations and arguments, and even dueling with swords!  We had a few technical difficulties during the final presentations, but the audience was impressed with what the students were able to accomplish in such a short period of time.  We are looking forward to offering more opportunities to work with the NAO robots in the upcoming year.


Introduction to Robot Theater: Week 3

This week’s classroom session was almost completely dedicated to programming the robots to speak the lines of the skits we all wrote last week.  We each took one robot and worked through the scripts, pasting in our robot’s lines, connecting the server script, and figuring out the proper textedit message to send out to get the next robot to say the correct line.

This process involved a lot of shouting and quick, bouncing banter, somewhat reminiscent of an Aaron Sorkin script, except lacking the liberal bias and thinly veiled political overtones. Mostly it was me shouting “wait what’s my line!?” and “so what do I send out after that!?”

But, somehow, we did manage to get quite a bit done, programming about two and a half campfire skits into the robots. Our Choreographe documents started to get rather ridiculous in size, requiring lots of tedious zooming in and out (no one ever said right clicking on a Mac was an easy task). Like five brave soldiers marching through a seemingly endless, rainy jungle, separated from our platoon, facing certain death, yet moving forward for the sake of our country, our loved ones, and our souls, we managed to handle the ever increasing complexity of our programing.

Besides learning the valuable skills of teamwork, robot programming, and kickboxing, this week we also learned that robots struggle to pronounce the word “s’mores.” This may not seem like an important fact, but think about it, have you ever heard of a cruel, dictatorial overlord who couldn’t pronounce the word “s’mores?” I thought not. Surely this is a good sign that our little robots are not likely to turn on us and strip us of all that makes us human by enslaving us in incredibly efficient death camps.

If that’s not good news, I don’t know what is.

Until next time, keep your eyes peeled, your mind open, and your knife ever at the ready. And hey, smile once in a while. It costs you nothing, but could make somebody’s day.

Introduction to Robot Theater: Week 2

Week one left me with several questions and several answers. Prior to signing up for the class, I had no idea what “Robot Theater” meant. Week one gave an introduction, and I was thinking about what more could be done with the robots the whole week after. What really caught my eye (ear) was the eloquence with which the robots spoke. Luckily, that was the whole focus of the second week.

Speech recognition was not a feature I’d anticipated the robots having, so watching a classmate recreate the Hillshire Farm slogan excited me. Especially because it was registering commands originally created through text, as opposed to listening for a specific sound sequence. Two weeks into the class and it’s already clear: these robots are smart. Learning to program the robot to react to human speech proved easier than anticipated. Our class split into two groups of three, and we organized conversations between the robots and ourselves. The robots proved sassier than anyone could have predicted, but who can blame them in this day and age. The Choreographe program is simple and easy to use, at least on the surface. I’m sure there are millions of things within the realms of possibility through that program, and it fills me with a strange kind of motivating ignorance because I want to learn more. However many weeks we have with the robots, it isn’t nearly enough.

Introduction to Robot Theater: Week 1

I was unsure of what to expect from the class. I imagined a static metallic voice and some simple movements would be the only noteworthy actions of the robots. I was thoroughly surprised. The robots were only about two feet tall with small rounded features which did not allude to the sophistication of their functions. The first sentence from a robot named Denise was short but uncannily eloquent. It was a simple “Hello” that managed to shock the entire room of us six students. The voice was mechanical but not in any way that I had preciously heard. The robot enunciated with clarity, even stringing the words together so that they sounded like a thought-out phrase rather than a collection of sound bites. We found that we could also have the robots say words other than “Hello” and so we spent a considerable portion of class playing with sentences. I was able to get one robot to speak out the whole of Isaac Asimov’s Three Laws of Robotics which seemed appropriate for the occasion. There was an interesting anomaly in which the robot could pronounce the word “parts” but the phrase “fresh parts” sounded like “fresh ports”, we were told that the spelling would have to be altered in order to achieve the correct word. The process will be mostly trial and error but we will figure out how to say “fresh parts”.

We transitioned from words to basic movement after we grasped the concept of robotic speech. We did not have the robots walk yet but instead controlled the arms and upper torso. We managed to have the robots gesture by running them through several trials with the Choregraphe program. We learned about how the speech and movement functions operate simultaneously with each other so timing is imperative to properly convey the right gestures with the correct phrase. All gestures we used were a combination of us physically moving the robot into a position and having the Choregraphe program save the position of the limbs and previously made gestures. We drew on a gesture library that had been created by previous students so with each session the robots’ range of motion expands as we save new movements to the library. I’m very excited at the potential these little robots represent in regard to creating an entertaining production.

Day 10: Final Demonstration

Today is the last day of the summer program.  We ran through one last rehearsal for the final show, and fixed a few more problems.  Then it was time to set up for the kids to give a short demonstration of their projects to their family members.  The room was crowded, and it was difficult to hear the robots deliver their lines.  Overall, the kids did a great job running their programs, spotting the robots, and explaining what they did to their audience.  They took turns running their programs: each person had 15 minutes to run through a few short skits before giving another person a chance to run their programs.

After these short demonstrations, we put the robots in place for the final performance.  We found and fixed almost every problem…the only one left was at the end of the skit, when the robots were supposed to crouch to end the show:  Gini decided not to crouch.  We had a relatively large audience, and the kids did a great job putting everything together for the final show.

After the final show, the kids received certificates of completion.  It was time to power the robots down, and pack up.  It was a fabulous two weeks.  The visiting robots made their way back to Minneapolis, and the Iowa robots returned to my office, where they are getting ready for their next project: they will be part of a first-year seminar this fall.  We will be writing about that experience starting in August!

Final Surveys Setting up Robots & Action Figures Demonstrations Hanging Out Final Testing Getting Ready Final Drawings

Day 9: Rehearsal

Today is the day to rehearse the final skit.  Yesterday, all of the individual programs were finished.  Each block of dialogue was stored in a separate timeline, and the timelines were added to a “robot library”.  We then created the individual “conversation programs” for each robot, and brought in the movement timelines.  While it seems straightforward, getting seven robots to communicate, pass on messages to trigger the next robot to say its lines, make sure that all speeches and movements are timed properly, etc… can be tricky.

We fixed most of the typos in the messages being sent, and made it through most of the skit.  We had to run through it several times, fixing the problems as they came up, and then “taking it from the top.”  Fortunately, the robots are pretty patient, and don’t mind running through their lines as often as necessary.  The kids were also patient.  They were the ones spotting the robots, and then starting the scene over and over again.  It was great to have lots of eyes watching the movements of the robots, and giving feedback on things that needed to be changed in the delivery of the lines.  The final result will be impressive!

After the rehearsal, the kids finished up their “gratitude conversations” with the robots.  I am thankful to the individuals and organizations that supported this first Robot Theater Summer Camp.

Christopher plays pong
Christopher plays pong


Alberto, Amanda, Daniel, and Christopher
Alberto, Amanda, Daniel, and Christopher
Denise playing pong, Bobbi and Gini getting ready to meet the Iowa robots
Denise playing pong, Bobbi and Gini getting ready to meet the Iowa robots

Gini View from the floor

Debugging takes a long time!
Debugging takes a long time!

Day 8: Finishing Up

Today we continued to pose and program the robots, and create the art for the stage.  At this point in the program, the kids know their way around the robots.  They are gentle when they manipulate the robots, and are comfortable programming them to deliver their lines.

Each block of text (along with the movement) will be stored in its own timeline.  Once we have all of the individual timelines for a robot, we will create the final program for that robot.  Some of the roles were easier to put together than others.  For example, “Christopher” and “Denise” will be playing virtual pong throughout the skit, so their movements involve an infinite loop of random arm movements that look like they are hitting a ball back and forth.  They have a few lines of dialogue in the skit, but we didn’t have to create any deliberate movements outside of the pong gestures.

“Daniel” will be describing outdoor sports (mentioning football and archery, and then describing how to play baseball in more detail).  That series of movements took some effort to build, and the final result was outstanding.  “Gini” and “Bobbi” are the robots visiting from Minneapolis.  They will be locking their convertible car, and trying to figure out where to go for the Robot Theater Summer Camp.  They will be walking up to the other robots to ask for help.  “Gini” will be describing how to make a dump cake, and “Bobbi” will be talking about the winter sports that she plays.  “Alberto” will go into detail about gardening.  The kids in the camp created all of this dialogue and movement.

Programming Alberto's moves
Programming Alberto’s moves
Working out Amanda's movements
Working out Amanda’s movements
Getting Amanda's movements coded
Getting Amanda’s movements coded
Working on the background art
Working on the background art
Analog creativity
Analog creativity
Creating Daniel's movements
Creating Daniel’s movements
Ini starts the show, and had a lot of lines in the skit
Gini starts the show, and had a lot of lines in the skit

Almost Finished!