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

Advertisements

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!

Day 4: Writing

Today we broke up into small groups to practice writing dialogue between robots.  One of the writing prompts from the previous day involved having two robots talk about something that they enjoyed doing.  One person wrote about watching the Hunger Games, and another person wrote a conversation where the robots talked about adopting a robot.  The kids started programming those conversations on Day 3, and finished them up today.

After that activity, the kids collaborated on developing a new conversation and planning out the gestures to accompany the dialogue.  The script was written and the gestures determined by the entire group.  Then one person worked on coding the robot speeches while the others posed the robot and developed a library of gestures to be brought into the program.  The two pieces were brought together and the programs were de-bugged.  Developing just one small scene is time-consuming!

Developing a conversation between robots
Developing a conversation between robots
Determining the gestures for one of the performers in a conversation
Determining the gestures for one of the performers in a conversation
A different look
A different look
The Choregraphe program for the conversation
The Choregraphe program for the conversation
Developing the dialogue for the robots to say
Developing the dialogue for the robots to say
Getting the gestures just right
Getting the gestures just right
Getting the words on chalk
Getting the words on chalk

Day 3: Telling Stories and Having Conversations

Today we worked on story-telling and robot-robot communication.

One of the writing prompts for the kids was to write a bedtime story that a NAO robot would tell a smaller robot action figure.  The kids had a robot tell their bedtime story, and we video recorded the results.

After the robots told their bedtime stories, we saw a demonstration of a skit involving two robots talking to each other.  The two robots exchanged a few sarcastic remarks during the conversation.We broke up into groups to write conversations between robots.  In one group, the kids worked together to program a conversation about the Hunger Games, and in another group the topic was on adoption of a new robot.  The next writing prompt will involve having the kids write a conversation between two robots that we can then code.

The fun part of programming
The fun part of programming
Creating the bedtime story
Creating the bedtime story
Feeding the lines to the robots
Feeding the lines to the robots
Bedtime Story
Bedtime Story
Running the program
Running the program
Watching the performance
Watching the performance
Posing with a robot
Posing with a robot
Down time
Down time
Typing one half of the conversation
Typing one half of the conversation

Day 1: Speech

On the first day, we learned how to get the robots to speak their lines, and we programmed the robots to deliver a monologue.  It took some time to type out what the robot was supposed to say, and the robots could not always pronounce words correctly.  Sometimes we had to intentionally misspell words in order for them to be spoken correctly.

After we got the robot to say the text, we learned how to get the robots to move.  We start by turning the motors on (to engage the joints).  Then we have the robot stand and deliver its lines.  After it is finished, we have the robot crouch and turn the motors off.  This last step is important.  If the motors are engaged for too long, they will get too hot and the robot will have to be shut down to cool off.

At first, we used a random gesture generator so that the robot would move its arms as it spoke.  Then we started learning to pose the robot, to create specific gestures that matched what was being said.

That was all in the first day!

Watching the robot
Watching the robot
Coding in Choregraphe
Coding in Choregraphe
Watching the results
Watching the results