For my assignment I decided to model a penguin using SOLIDWORKS and import it into Webots for my performance. The Penguin is 5 bodies: the feet, the body, the head and the two wings, and has 4 hinge joints: between the feet and the body, and the other three connecting the body to the head and wings. This allows for independent movement of the head, body and wings.

I started the project by sketching out the robot I wanted to make. I initially planned on using a blocky design as shown below:

Initial Ideation Sketch of Penguin

I then modeled the penguin in SOLIDWORKS. While it remained blocky, I added some more curvature and details to make it look a bit more like a penguin.

SOLIDWORKS Assembly of Penguin with 5 Different Components

I then imported my model into Webots. To set the stage for my performance, I created a world using the Mars background, which effectively works like a desert in environment for my penguin. The narrative of my performance that I was trying to convey was that of a lost penguin. Obviously, the penguin has found itself far from its icy home and is lost in the desert. It looks around for its friends or family, before wailing out for help, flapping its wings and looking all around. I think that the animation of this performance could be improved greatly with a PID controller, and without it, I was forced to make the movements minimal to preserve the narrative and avoid the robot from spinning out of control. Basing my code off of the example spirals.py, I used the motor.setPositon function to do the animations. I believe that I was able to effectively convey the feeling of a lost, lonely and scared penguin. Here is the video of my performance:

A Penguin Gets Lost in a Desert 🙁