Little Kinematic Owl
Here is a little kinematic owl with 2 degrees of freedom, neck and eyelids.
For a good while now, I’ve been wanting to experiment on using rubber bands attached to servomotors as a method of creating soft and compliant actuation systems, and this assignment was a very good opportunity to test this idea.
While I did not draw any two dimensional paper sketches, I did create a comprehensive three dimensional sketch in Rhinoceros (its easier for me to think in 3D when building robots.)
When everything looked good, I then proceeded to 3D print all the parts (9 hours for 13 pieces:)
Assembly took the longest. While the majority of pieces fit nice and snug, I overlooked some screw hole sizes and had to improvise with a hand drill and hot glue:
Here is the owl fully assembled:
The eyelids worked very well, and the neck worked fairly well (I had expected a slightly higher range of motion.) Overall, I think this project was a success as I had learned that rubber bands attached to servo motors can indeed be used to generate compliant actuation. This project was also a success because I now have a cute kinematic owl sitting on my desk :)
Here is a Fritzing diagram:
The code is very simple and makes the owl randomly blink and tilt its head. When the code is loaded onto the Arduino, the result is a very energetically tired and sleepy-looking owl that is both curious and oblivious to its surroundings.
/* --- PRE SETUP --- */
#include
Servo eyes;
Servo neck;
int neckAction = 0;
int eyeAction = 0;
/* ----- SETUP ----- */
void setup() {
eyes.attach(31);
neck.attach(33);
}
/* --- MAIN LOOP --- */
void loop() {
//control neck
neckAction = random(6);
//neck.write(90);
switch(neckAction) {
case 0:
neck.write(90);
break;
case 1:
neck.write(0);
break;
case 2:
neck.write(180);
break;
}
//control eyes
eyeAction = random(10);
//eyes.write(45);
switch (eyeAction) {
case 0:
eyes.write(0);
break;
case 1:
eyes.write(45);
break;
case 2:
eyes.write(22);
break;
case 3:
eyes.write(0);
delay(100);
eyes.write(45);
break;
}
delay(1000);
}
A good thing to note: This project was heavily inspired by this USB Owl created by an unknown Japanese company: https://www.youtube.com/watch?v=xDy2vm5XvZc
Despite the fact that I have never actually seen any of these in person or their internal mechanisms, I thought about how they worked and built everything myself from scratch.