Posted by Wade Vagle
Just like how we appreciate Nike's when running on concrete, large scale walkers benefit from shock-absorbing feet. By increasing the spring's travel, shock-absorbing feet can also increase the percentage of ground-contact of each leg, which can smooth the gaits of high-stepping walkers like TrotBot and Strider. And of course, this can create new problems to be solved!
First, here's the Mondo Spider's feet in action, which provide some shock absorption, and they also slide on the smooth concrete, which helps with turning and with smoothing Klann's speed:
It walks amazingly fluidly considering how Klann's foot-path comes to a stop at each end, and the springs probably smooth the transition between feet somewhat:
Watching the video raises some questions, like:
Implementing Klann's linkage without shock-absorbing feet that slide results in a more halting gait, as can be seen in this version of the Walking Beast:
Next, here are some shock-absorbing feet ideas from Mechanical Walker pioneer, Professor Joseph Shigley:
Feet with such springs extend the feet toward the ground. So, in addition to absorbing shocks, the springs also increase the percentage of ground contact of each leg. For example, feet with very long springs could theoretically increase a 12-legged Strider's ground-contact of each leg to 50% of the crank's rotation, like is required by 8-legged Striders graphed in red below, but do so without causing the robot to drop at the two ends of the foot-path (where the red dots curl up).
However, a few of the (probably numerous) issues of long-spring feet are:
As you can see in the following images, Klann's foot-speed slows down significantly at each corner of its foot-path:
This causes robots using the Klann linkage to have a halting gait, which can be a problem on higher-friction terrain at higher speeds. One solution is to add feet that passively rotate as Klann's speed varies, like Strandbeest uses.
As you can in the following video, rotating feet also reduce how much the feet drag during turns, since the inner and outer feet can rotate at different speeds and function somewhat like a differential.
Strandbeest's foot-speed also slows at each corner of its foot-path, but less so than Klann's:
This may be part of the reason that Theo added rotating feet to Strandbeest?
Similar to Klann robots, adding rotating feet to LEGO Strandbeests smooths their speed:
TrotBots with 8 legs balance by having 4 feet in contact with the ground, one at each corner of the robot. If one of these feet were removed, then TrotBot would tip, similar to what would happen if you took one wheel off of a car.
For a tripod gait to be balanced, the feet need to be arranged like an equilateral triangle, so we removed the two outer pairs of legs, and added a pair of legs to the center of TrotBot, inside the frame:
Also, we needed to adjust the timing of TrotBot's front and rear feet. As shown in the image below, hexapod robots with tripod gaits transition from one tripod to another as they walk, which requires TrotBot's front and rear feet to be 180 degrees out of phase:
However, orienting TrotBot's front and rear cranks 180 degrees out of phase won't put the feet 180 degrees out of phase, because the location of the two leg's upper frame connections relative to the cranks is in the opposite direction. Looking from the side of the robot, the left leg's upper frame connection is 49.4 degrees to the left, and the right leg's is 49.4 degrees to the right. Here's a diagram of the left leg's frame connection relative to the crank:
So, in order to have the left and right feet touching the ground at the same time the right crank would need to be rotated clockwise by 49.4 degrees x 2, or 98.8 degrees. For the foot contact to be 180 degrees out of phase, the right crank would need to be rotated a further 180 degrees, or 278.8 degrees in total, as shown in the image below.
Here's a simulation of TrotBot's legs with this 278.8 degree phase shift of the right crank:
Also, I added 10 pounds to a toe-less TrotBot that used LEGO's plastic axles, but its bumpier gait required more torque than the plastic axles could handle. Those axles twisted so much that TrotBot could barely walk, so I replaced them with steel axles before filming this test. I should have included a clip of the plastic axle version to better show how heavy walkers with bumpy gaits may need LEGO's plastic axles replaced with steel axles to handle the torque.
Recently I’ve been working on getting TrotBot to climb 1/3-scale stairs. The first video below shows TrotBot climbing stairs at the standard 32 degree angle of life-size stairs, both with and without wheelie bars. The second video shows TrotBot attempting steeper 38 degree angle stairs without wheelie bars, and required a bit of expert driving to avoid flipping backwards!
In this process, I found that TrotBot’s center of gravity needed to be lowered to prevent it from flipping backwards, so I lowered the battery box.
In general, vehicles handle better with a lower center of gravity, so I should have mounted the battery box lower in my original instructions.
Instructions to modify TrotBot to lower its battery box:
These instructions require the vertically oriented 7 hole beams that mount the battery box to the frame be replaced by 11 hole beams. Using 11 hole beams allows the battery box to be mounted a half dozen holes lower than it would be otherwise.
Start by removing the battery box and vertical 7 hole beams from the TrotBot frame, and get four 11 hole beams to replace the 7 hole beams. NOTE: it's easier to pull the two sides of TrotBot apart incrementally while rotating each metal support rod between pulls so that the LEGO beams can slide along the rods.
The following photo shows the attachment of two 11 hole beams to the battery box along with the 9 hole beams that attaches to them to the metal support rods to form the hypotenuse of the frame triangle. The 9 hole beams that are used as the hypotenuse will remain on the metal support rods and are only in the pictures to provide context.
Attach the 11 and 9 hole beams together to form the basis for the frame triangle. The 9 hole beams must be mounted on the 5th hole from the top of the 11 hole beam.
Mount these parts onto the battery box. Notice that the 9 hole beams are mounted on the outside of the 11 hole beams, that they are facing away from the battery box.
Repeat this process for the other side of the battery box.
Next mount this structure back into the TrotBot frame.
And that's it, TrotBot with a lowered center of gravity!
I've been thinking about creating an EV3 Strider Ver 2, but to handle the increased weight and width Strider needs to be improved in a few ways, like by increasing the amount of foot-contact it has with the ground.
One way to increase foot-contact is to add four more legs. To check how this would smooth the gait I simulated one side of a 12-legged Strider (Ver 2), and if you watch the video below you'll see Strider bounce whenever the feet touching the ground switch. This bouncing shouldn't be much of a problem at LEGO scale, but it would be at large scale.
While a scaled-up Strider's linkage could be optimized for a smoother gait, it can also be smoothed by adding feet that are shaped to offset the gait's bumpiness. As an example, in the second half of the video I added small triangular feet to the front legs, which act like heels and toes. These feet reduce the gait's bumpiness by about 1/3rd. However, the toes are more likely to catch on obstacles, which can cause the linkage to lock and gears to grind.
Below is a simulation of Strider's linkage with a longer leg-base, which also bounces a little when the feet touching the ground switch. As you can see, adding toes smooths the gait.
Below is Strider Ver 3 which can also be smoothed by adding toes:
Feet with curved bottoms that are shaped to offset the bumpiness of a particular linkage should be even more effective at smoothing gaits - at least when walking on smooth ground.
Here's Strider Ver 3 in a LEGO prototype with these toes:
And here's a LEGO prototype with 8 legs plus longer toes:
I rushed my Klann Ver 2 build and didn't build the outer frames in an optimal way:
The only thing keeping this frame's corners at right angles are the two 3x5 L-shaped LEGO parts. If this frame were put under a lot of force, like would happen at a larger scale, the corners would be subjected to torque that could easily cause the rectangle to collapse. To avoid this diagonals need to be added, which will convert the rectangles into triangles and lock the corner's angles.
The challenge with walkers in LEGO is we often need diagonals for rectangles that define the linkage's parameters. In other words, these diagonals often need to be the hypotenuses of right triangles. As you can see below, my Klann's upper support rods are 7 holes above the motor's axle, and the lower support rods are 2 holes below the motor's axle. Neither of these lengths work with a 3-4-5 or 6-8-10 right triangle with LEGO parts for hypotenuses. What can we do using the integer lengths of LEGO's beams?
NOTE: When determining the length of LEGO beams the first hole is always counted as 0! If you don't measure LEGO beam lengths in this way you won't be able to use the Pythagorean theorem to calculate which beams to use as hypotenuses.
Fortunately, with LEGO we don't have to be at precise integer numbers, and we can use hypotenuses that are close enough.
1. Hypotenuses for rectangles of height 7.
Plugging in a 90 degree angle with a side length of 7, plus a few other whole number sides into the Pythagorean theorem yields this near integer number triangle:
I used this triangle for Klann's inner frame where two 9 hole beams create hypotenuses of length 8:
I also used this triangle for TrotBot's frame:
2. Hypotenuses for rectangles of height 9.
We can also connect the top and bottom beams of Klann's frame with a hypotenuse:
Plugging a 90 degree angle with a side length of 9, plus a few other whole number sides into the Pythagorean theorem yields another near integer number triangle:
So, 13 hole LEGO beams can be used to lock Klann's outer frames into triangles, like this:
Here are a few other useful triangles for LEGO frames:
Also, the below 5-3 bent beam can be used as a hypotenuse.
You can create more triangles by lengthening a side of the above parts by attaching a LEGO beam to it.
When two linked bars are nearly parallel their connecting joint can easily flip orientations and cause the linkage to lock. This phenomena is known as a "Dead Point". Here's an example of what Klann Ver 1 experienced, since it used a configuration of the linkage where the "shoulder" joint came close to being straight :
The below right picture is near the Dead Point, where two bars highlighted in red are nearly parallel:
Due to the force on the foot, the joint can "flip" as shown below, which causes the linkage to lock::
Linkages need to prevent joints from ‘flipping' at these Dead Points. Below are a few ideas to prevent joints from flipping in LEGO builds.
This solution for Klann Ver 1 simply blocked the joint from flipping by the addition of a 2-hole red LEGO beam:
As shown below, Strandbeest's knee joint can also flip:
Strider Ver 2 also has a dead point that needs to be managed:
Below is another possible solution that uses an additional linkage on the inside of the joint that allows the knee joint to bend toward the robot, but prevents bending away from the robot.
Below is another variation of Strider where Dead Point flipping is blocked by a 2x4 L-shaped part:
Walkers with multiple pairs of legs spaced out from the frame subject axles to more stress than what they are typically designed to handle. Furthermore, LEGO's plastic axles twist easily under torque, which can be especially problematic for walkers since such twisting can disrupt a walker's gait by delaying the leg's movement.
How much do LEGO axles twist?
The above experiment was run with LEGO's M-motor 8883, geared down in a 5:1 ratio - the same set up I used for TrotBot.
With some walkers the gait is smooth enough and the weight low enough that axle twisting doesn't harm the gait much. However, with heavy and wide walkers, like the Mindstorms TrotBot I just finished, axle twisting can be a problem. Fortunately, Brick Machine Shop makes stainless steel axles for LEGO:
These steel axles resist twisting and help to keep leg movement closer to the mechanism's designed movement. They also fit more tightly, so cranks won't come off axles while operating your walker - but this also means it can be difficult to insert these axles into parts. I usually use something like a flat piece of wood (Kapla block) to help press parts onto them, and needle nose pliers to take parts off.
Welcome to DIYWalkers! My name is Ben Vagle, I'm 18 years old and I've been building mechanical walkers since I was 11. I started this blog to share what I've learned, and to collaborate with you. Let's see if we can take walkers to the next level!