I decided to pivot my final project to the Strandbeest after I made a prototype during Kinetic Sculpture Week 03, using cardboard material and creating my own bespoke design based off of Dutch artist Theo Jansen's original proprietary kinetic sculpture design. My curiosity towards this project came from a place of interest in movement mechanics, specifically looking at robotic movement versus human movement. Additionally, I thought that doing this project was a nice integration of the various modules learned in class over this semester. I'm really happy that I went forward with this project. It was a massive learning curve for me across design and engineering technique, but I've come away with a tremendous amount of confidence in myself at building projects like this in the future.
Below is a video of my Strandbeest. Following that, I'll walk through my design and fabrication process.
The design process for this Strandbeest took place in three phases:
Design prototype of an initial single leg. I wanted to nail the movement mechanics of one leg and then connect to two and make sure that it would fully operate with an attached DC motor.
Build the full body. For this, I built eight legs and the interconnecting pieces to hold the body together.
The third phase was to connect the body with hardware in order to allow the Strandbeest to walk.
The following components were used in creating the Strandbeest:
4 x M4 16 mm Screws
4 x M4 20mm Screws
PLA Filament
1 LiPo 3.7V Battery
DC Motor
4 x M4 100mm thread peg
5V External Battery
2 x SEEED Xiao ESP32
Motor driver
Breadboard
Switch
USB-C Cables
In the first phase of this project, I designed a single leg in order to correctly replicate the movement mechanics. This process included developing an original design in Fusion 360, (which greatly expanded my CAD skills) that would be 3D printed. This included how to use the joint function in order to connect the interlocking bones of one single leg.
My first leg design was created with screws planned to connect the bones together. In order to do this, I extruded the components and used the joint function in Fusion to connect the interlocking bones of a single leg. I then made a test print to that and tested it out the next design I prototyped was a printing place method. This method worked, but after speaking with Nathan about print-in-place alternatives, I decided to design a second leg via this method.
To create the print-in-place, I extruded the end joint of all the interlocking components to create a snap-to-fit print. I made a test print to understand it's performance versus using the leg with screws. Initially there was so was so much friction and lack of movement, that I decided it wasn't worth it to print eight more legs. So I reverted back to using the model with screws to connect all the bones.
(After a few weeks time I did notice that the print-in-place version had more movement and so in the future I could try this method again).
After this I printed a second leg and connected the two legs together in order to make sure that they could connect to the motor and move effectively together. The movement for this comes directly from Jansen's design. As a brief mock-up video, you can see this simulation how the movement from one leg impacts the movement of the other as they're connected by one center interlocking joint at the motor.. I was able to get this working while attached to a simple stand and so from there I knew that I could print the rest of the lakes and begin construction on the body.
The second phase of the project involved creating the full body of the Strandbeest. I needed to print an additional seven legs and design interlocking body parts to connect them. While the waiting for the 3D prints, I got to designing how all the legs interconnect. Upon talking with Nathan, I decided to use threaded screws of about 90 to 100 millimeters in length. These pegs would screw into all of the interconnecting joints that interlock the body of the Strandbeest. I added spaces to connect the body pegs together and create additional length. I tested this out some and it worked effectively the final phase was to connect the motor and hardware to power the strong piece.
The final phase of the Strandbeest creation involved all hardware development. The hardware consisted of a DC Motor, a SEEED Xiao ESP32, a motor driver that transforms inputs from the Xiao to control the speed and execution of the motor, and an external 5V battery. I created a small motor box with small compartments to hold the motor, Xiao and motor driver which you can see this below.
I connected the Xiao ESP 32 to the motor and tested two different battery voltages to determine the correct battery voltage. First, I tried a 3.3V LiPo battery, this voltage would intermittently power the Strandbeest. Rather, a 5 Volt battery would consistently work each time to power the Strandbeest.
I wanted to have a external remote to power the Strandbeest on and off. In order to do this, I used a second Xiao ESP32 to send inputs across a sensor to the receiving Xiao in the motorbox. The sender Xiao includes a small on off switch, and had initially included a potentiometer to control the speed of the motor. However, I had some trouble connecting the potentiometer to the XiaoESP 32 (it was specifically running into issues with AnalogWrite in Arduino). So for this demo, I removed the potentiometer. I developed a small rudimentary stand to put the body of the Strandbeest a few centimeters above ground in order to enable the legs to move freely. So we can see the freedom of motion successfuly execute. Unfortunately, the Strandbeest was not able to walk by itself without falling over. I was quite bummed that it was unable to walk after so much effort, but the next period of phase of development will be focused on troubleshooting these mechanical issues
I would like to improve the design of the Strandbeest's body in order to allow it to walk fully. I need to debug where this issue emerges from and exactly why it falls over while walking. I was disappointed that it couldn't fully walk by the final demo, but was also very proud of myself for the learning so much through this project. I came away knowing Fusion, programming in arduino and working with sensors. It was extremely empowering to build something like this and I can't wait for more iterations!