3D Printed Strandbeest Walking Robot - WIP

by sinnedwood in Circuits > Robots

216 Views, 3 Favorites, 0 Comments

3D Printed Strandbeest Walking Robot - WIP

Jansen's_Linkage.svg.png
Strandbeest--Full-Walking-Animation.gif

This project was inspired by Theo Jansen's walking Strandbeest robot model, a wind-powered automaton that uses precise joint lengths and complex angle relations to mimic a leg walking motion powered by a single rotating joint. As shown in the attached GIF, the base component is relatively simple, the rotating axis moving every part of the leg at such an angle that the "foot" drags on the ground a set distance, then lifts itself up and plants again at a further distance. Theo Jansen, the inventor of this 2D walking mechanism, labelled this set of line ratios the Jansen Linkage, and the multicolored image attached shows the newest iteration of the leg ratio numbers which I followed and converted to a real-scale centimeter model. The singular leg model is relatively simple and straightforward, and the project attains its complexity through the combination of multiple of these legs, as at least eight joints are required to make the robot move properly, each leg being slightly offset to ensure stability in motion. This project is my attempt at mimicking this design using 3D printed PLA plastic parts, an unreasonable amount of nuts and bolts, Fusion 360 for modelling and the Creality K1 Max 3D printer for the printing.

Supplies

792a5727-c1e2-401a-a4c6-8565af6b150f (1).JPG
fd18ee38-ac92-4bb2-807a-4e36e0d25a78.JPG
973196f8-d1d4-4f57-8a52-b91f38a72d89.JPG

Materials per assembled leg:

  • Super Glue
  • 1x 12mm screw
  • 2x 15mm screws-2x 18mm screws
  • 5x 2 / 2.5 / 3 mm hex bolts
  • ~25g of PLA plastic filament
  • 1x 3mm washer to fit over a 15mm screw
  • Extended 3mm axle piece - minimum of 9cm, maximum of 12cm, any strong material, plastic, metal, etc.

Minimum of 8 legs, no maximum, simply multiply above materials list by the number of legs built.

Materials for chassis:

  • 4x 18mm screws
  • 4x 3mm hex bolts
  • 2x DC Gear Motors 3V ~ 6V
  • ~50g of PLA plastic filament for chassis body
  • Arduino Motor Circuit Board with attached wires, UNO R3 chip
  • ~30g of PLA plastic filament for rotational motor joints and offset bar

Assembling the Individual Leg

IMG_8356.JPG
IMG_8357.JPG
IMG_8355.JPG

Using the materials as instructed per individual leg, once all of the individual parts have been 3D printed, we can begin to assemble the leg structure utilizing multiple different screws of variable lengths. The file to print a single leg piece is attached below, and should be assembled as shown in the attached images.

Assembly Instructions:

  1. Choose a side to print first. The strandbeest's legs come in pairs of two, and the pairs are mirror images of each other. Ensure that if you choose to assemble the left-side leg first, the parts are oriented to the left, and vice versa for the right. Step 2 highlights the differences between the two sides, refer to those images for further clarification.
  2. Each leg piece is exactly 3mm in width, and the pieces fit together snugly to form 6mm, 9mm and 12mm thick 3D printed joints, out of the combination of 2, 3 and 4 different parts. There is only one part that joins 2 pieces together, this being the very peak of the leg, the top of the triangle. For this piece use the smallest 12mm screw, as its 3mm head and extra 3mm of space after the pieces will allow you to fit a hex nut snugly over the screw without much extra protrusion.
  3. There are a few 3- 3mm joint parts, for these use the second longest screws, with all the same warnings and ideas as the previous 2- 3mm joint parts.
  4. Lastly, use the longest screws to join together the 4- 3mm joint parts, these especially with not too much extra material to not risk part failure.
  5. It is crucial that the top triangular piece, the short arm and both long arms are left unattached to any other part. This is because the pieces are meant to be connected to external joints / axles, not glued to one another.


A few tips to keep in mind while screwing together these leg pieces:

  • Orientation is important - all of the pieces must be put together in the proper order to match with its mirrored counterpart that will be attached in step 2.
  • When making the legs, half must be oriented in one direction, and the others must be mirrored on the y-axis to work in opposite order.
  • The design is not tolerance-friendly, and for this reason, the joints must be wiggle-proof while still being free enough to rotate along their axes. To ensure proper fitting, especially for the 4-piece joints, pinch together each piece while screwing on the hex bolts. Oftentimes without pinching, the pieces will seem to be fitted snugly, but this fit will be off-center or angled in such a way that prevents further screwing, and once the part is fully assembled the piece becomes incredibly loose and fails to function properly.
  • To improve aesthetics and quality of life when disassembling the piece, orient all screws so that the heads are on the same side, and the hex nuts are on the other.
  • For long-term stability, super glue can be applied to the hex bolts to seal them to the screw thread. If you choose to super glue the nut and bolt together, ensure that the glue does not stick to the 3D printed part itself, or else the part will fail to move freely.

To move onto step 2, assemble a minimum of 4 pairs of legs for future use.

Combining Legs, Combining Combinations of Legs

IMG_8358.JPG
IMG_8359.JPG
dual leg image 1.png
dual leg image 2.png
dual leg image 3.png
dual leg image 4.png

The first detail to keep in mind during this step is that the two legs being joined together must be mirror images of one another, flipped over a vertical axis. Referring to the red/yellow joint images above, it is important to remember that the pieces connecting the lower triangle to the upper triangle will be kept rigid in the final design, and should not be glued together, rather connected to the main body in the next step. On the other hand, the black/yellow protruding joint is the piece that connects to the other leg, and then to the main body, and is the part that revolves in a circle to complete the projected movement.

  1. Print the 3D file attached below named "leg connection axle parts", ensure at least 20% infill is used with enough overhang tolerance to print the right shape.
  2. Referring to the images above, push the protruding axle through the holes connecting the two mirrored legs together. The fit should be snug, yet loose enough to rotate without too much resistance.

At this point, my initial design was to connect two pairs of legs to the main robot chassis, the four separate legs resembling something like a dog or a similar animal. After joining the full mechanism to the body, it became clear that the mechanism worked perfectly, rotated about its axis and completed the "walking" movement that I expected, however, the robot would not stand on its own. The issue that I had not expected to arise was that the main body, with its motor and wire attachments was too heavy to be supported by only four legs, and once the robot completed a full revolution, it collapsed on itself and could not continue moving. My first reaction was that this was an issue with my tolerances, and perhaps that I did not tighten the joints enough so the excess wiggle room make the structure weak, but this was not the case. The issue was simply that the weight was not distributed enough along the four joints, and an extension was necessary to continue the design. This was the point where I realized the design would have to include a minimum of four legs per side rather than four legs total, if the weight was going to be properly distributed and the robot were to walk properly.

Connecting Legs to Chassis

strandbeest_4X3.gif
4ae04fe2-64ed-4c5e-b535-417b9ef00bcf.JPG
leg connection axle parts img2.png
leg connection axle parts img1.png
leg connection axle parts img4.png
leg connection axle parts img3.png

My progress in this project halted at this stage, with the assembly fully printed and the chassis yet to be fully connected. Nevertheless, we can continue with the instructions as theoretical steps, the steps that I would take should I have had more time and better resources.

In the previous step, we brought together all of the legs, threading each joint through the same axle. This step, we connect that axle to the main chassis and secure it in place with a 2-part center joint. Refer to the GIF provided above to demonstrate the general functionality. Keep in mind that the two separate pairs of legs are isolated by a main central body module.

The first step is to connect the axle and legs to the body. As shown in the image above, take one side of the axle and push the part through the gear connector. The gear connector is the piece with the arrow decorations on it, and is the piece that rotates when powered. Make sure to push the axle joint all the way until the legs touch the gear connector, then using the miniature 3D printed clamps provided, secure the axle in place so that it cannot fall back out of the joint. If the robot were to be turned on at this point, the axle would begin moving the legs in a circular motion, but the axle itself would be fixed in one position. This is not the correct movement yet. To achieve the proper motion we must ground the center of the axle in the center of the body, and have the center remain in one place while the offset arms rotate in circles around the main piece. This will be done with the two-part joint connection tool shown in the images above, the piece with long rectangular holes that is split down its center.

Once the axle has been connected to the main body's movement gear, the two-part axle ground piece comes into play. The circular holes on either ends of the shape are meant to fit on the rods grounding the two leg pieces, and must be placed after the first leg but before the second, where it has access to the central axle's middle body piece. Once the two-part piece is between the two legs and secured on the grounded rod, move the two pieces so that they cover the rectangular body of the main rotation axle. These two pieces are meant to be glued together, and secured in such a way that the axle's central body stays in place while rotating. One important factor to remember when attempting to glue these two sides together is that the axle in between the parts must remain in motion, and so the glue must only connect the two separate grounded parts and not make contact with the moving part. A tip to help with proper placement of adhesive is to only drop a very small amount at a time, let the drops cool and combine the two pieces, then top it off with more adhesive. Pouring a lot of glue on the part at once will most likely make the glue leak in between the two pieces and lock the axle in place forever, effectively ruining the motion.

As shown in the GIF above, the offset axles should work in offsetting the movement of the legs, while the axles themselves stay rotating about a centered point. This offsetting mechanism is the solution to my initial problems with the strandbeest, and the increase in the number of legs should theoretically be able to uphold the weight of the entire beast. I want to reiterate that this is the point at which my project came to a halt, as the massive amount of small moving parts is a lot to assemble at once under the given time constraints.

Conclusion

I ended up making one side of the strandbeest's leg mechanisms and attached them to the body, with a functional rotation mechanism using a single servo motor. At the time of writing this, the body is still a work in progress and it is yet to be determined whether or not the additional legs are sufficient in holding up the body as it moves. In general, I would consider the project somewhat of a success, as the initial build was made and the whole robot worked, the only issue being the weight constraint. If I were to use lighter materials, the project would be already completed by now. Nevertheless, the robot is not moving or standing on its own, and thus my end goal of a moving beast was not met.