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.
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.
TrotBot's lower leg pins tend to come out when the legs experience sideways forces, as can happen when turning TrotBot on terrain with a lot of friction (like on thick carpeting).
If the legs aren't snapped back in place, then friction on the pin's lips will wear them down, and the pins will no longer join with a sharp "snap", causing them to pull out more easily. Ideally, joints should be 3 beams wide and symmetrical like the red chain of beams below, which prevents pins from pulling out or bending sideways when bearing weight:
However, using LEGO's parts to sandwich TrotBot's leg joints inline like the red beams above would add a lot of width to the robot. Instead, I sandwiched the leg joints by attaching an additional 3x5 L-shaped beam to the outside of the legs, which is a bit off center but still works well with LEGO's high strength-to-weight ratios. I tested these new attachments by turning TrotBot on some thick carpeting, which would usually cause a few of the leg's pins to pull out. Below the video are some pictures of how I added the parts, and I used these attachments in my TrotBot version 3 builds.
I've got a few other ideas to test over the next few weeks, and then I'll post some new TrotBot instructions with the improvements. UPDATE: Here are the new instructions with a part list.
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, 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, 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, so I wouldn't add them to an EV3 Strider. I only posted the sim to show the effect of these simple feet.
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.
UPDATE: I tested a 12-legged EV3 Strider Ver 2 using LEGO but it was too wide and didn't steer that well. It could be made much narrower with 3D printed leg parts, which is probably how a 12-legged Strider should be built. If you decide to give this a go, make sure your leg joints are designed to be sturdier than my LEGO Strider's joints so they can better handle sideways forces during turns.
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 what 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 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.
Can you come up with any other methods?
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 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.
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 for the past 5 years. 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!