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.

Advertisements

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

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!

Day 7: Creating the Individual Pieces

The kids read through the overall script, but there are several components that still need to be written.  The kids will write a description of how to make a “dump cake”, various outdoor sports (winter and non-winter) that they enjoy playing, and things that are related to gardening.  We also need to create deliberate gestures for when the robots are speaking their other lines in the skit.  Then we need to create the programs that enable the robots deliver their lines (with appropriate gestures).  Finally, we need to put it all together into one large “conversation program” for each robot.

We started out the day by writing some of the descriptions that will be used in the skit.  Then some kids started programming the dialogue, and others started working on the backdrops for when the robots perform the skit.  This was a great day for creative juices to flow.  Putting on a robot theater performance involves more than just writing computer programs.  There is writing, posing, programming, drawing, and staging to be done.

Starting to draw
Starting to draw
Collaboration
Collaboration
Creating the movements
Creating the movements
Creating movements for outdoor sports for Daniel
Creating movements for outdoor sports for Daniel
Coding the lines and gestures for Gini's role
Coding the lines and gestures for Gini’s role
Putting Art into STEM makes STEAM!
Putting Art into STEM makes STEAM!