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 6: Planning the Final Skit

Last week, the kids programmed the robot to participate in a conversation expressing their appreciation of the people who sponsored the summer camp.  This camp was funded by a few organizations.   John Deere donated money to help cover the costs involved in the development of the curriculum for the camp, and provided some support for staffing the camp.  The American Association of University Women awarded a Community Action Grant to cover the tuition cost for attending the camp.  The University of Iowa Computer Science Department provided technical resources, and the University of Iowa College of Liberal Arts and Sciences provided the money to purchase the robots.  The Belin-Blank Center provided camp-related logistical support.  Several community members also donated money so that we could provide healthy snacks and T-shirts to the participants.  Without this financial support, we would not have been able to offer this program.

This week, we added gestures to those “gratitude skits”, and we will record them once they are complete.  We are all grateful to the organizations who sponsored this camp.

At the end of the day, the kids read through a draft of the script for the final skit, and started thinking about some of the specific dialogue that needed to be written.  In this skit, two robots from Minneapolis travel to Iowa City to participate in a Robot Theater Summer Camp, and get to know the robots from Iowa City who are also part of the Robot Theater Summer Camp.

Enjoying Camp Acting things out Working Together Grandma Happy to be here!

Still working on posing the robots
Still working on posing the robots
The kids reading through the skit
The kids reading through the skit

Day 5: Speech Recognition

Earlier in the week, the kids were asked to write a conversation between a human and a robot that expressed their appreciation for the opportunity to participate in this summer camp and work with the robots.  One of today’s activities involved programming the robot to engage in this conversation.  For this program, no movements were included.  The focus was on how to use a robot’s speech recognition capabilities to engage in this conversation.  The kids also made progress coding their robot conversation skits.  They continued to work on posing the robot so that the robot would gesture while speaking.  They are becoming very familiar with posing the robot and storing the positions, and imagining how the robot should move while speaking.

Today the kids also finished some of their previous projects.  They put in gestures for their conversations between robots, and added gestures to the monologues that they created on the first day.

Working with the robots
Working with the robots
Coding the two halves of a conversation
Coding the two halves of a conversation
Everyone loves working with the robots!
Everyone loves working with the robots!
Getting ready to test the program
Getting ready to test the program
Everyone is getting the hang of the process
Everyone is getting the hang of the process
Creating a timeline
Creating a timeline

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 2: Posing

We spent most of the day working on posing the robot.  We created a library of gestures that we will be able to use when we make new skits.  It takes a lot of work to get the gestures to time up with the speech.  Using a random gesture routine is certainly easier, and will work in some situations, like when giving long speeches that don’t require specific movements.  But, when the movements must be deliberate, we have to take the time to get them right.

To pose the robot, we first drag a new Timeline onto the canvas.  Then we set up the keyframes to lay out the movement.  The default setting for the speed of the movement is 25 frames per second.  We select the initial keyframe that we want to store data regarding the position of the robot (typically frame 40).  We pose the robot into the position we want it to go into, and then store the joint information at that keyframe.  Then we move to the next keyframe that we want to specify the robot position, pose the robot, and store the joint information.  We continue this process until we have all of the movements that go along with the dialogue that the robot will deliver as it says its lines.

Creating gestures for monologues
Creating gestures for monologues
Fine-tuning the monologue
Fine-tuning the monologue
Putting the robot into position
Putting the robot into position

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

Hello world!

We are setting things up for our first robot theater summer camp! The final component:  the social media pieces for the program. The first day of the camp is July 6, 2015.

We will be writing about our experiences, and posting videos on YouTube.

Our YouTube channel is UICS Department.  Be sure to subscribe!

We are able to offer this camp thanks to the support of the following organizations: University of Iowa Department of Computer Science, The American Association of University Women, and John Deere.