Close

Log 10: Hopping under a heavy beam (November 2, 2026)

A project log for LocksleyFox

A home-built, fox-styled quadruped with RobStride actuators, 3D-printed legs and sim-first design.

jeff-wisgoJeff Wisgo • 4 hours ago•0 Comments

Until now the leg had only moved its own weight, swinging in the air. A real leg has to hold up part of a robot, push it and catch it again. So this time I gave it something heavy to carry.

The setup is simple. A wooden beam lies flat on the table with one end sticking out over the edge. The hip mount is C-clamped under that end, and the foot stands on a rubber mat below. A brick sits on the far end of the beam. When the leg straightens, it lifts its end of the beam off the table. The leg measures the load itself from the knee torque, and it came to about 11 to 18 N, the weight of 1.1 to 1.8 kg on the foot. Later I took the brick off and held the far end by hand, which made it 21 to 25 N.

The PLA leg C-clamped under the end of a wooden beam with a brick on it, its foot standing on a black mat
The beam rig: hip mount clamped under the beam, foot on a mat

Holding and bouncing

First, two 30-second holds: 11 N with the foot 224 mm below the hip, and 22 N at 245 mm, where the beam end rose 7.5 cm. Both were steady. Then four bounces, with the foot moving up and down in a smooth wave, from 10 mm once a second up to 20 mm twice a second. The knee never needed more than 2.3 N·m, and the motors stayed at 25 to 27 °C.

Single hops

A hop here means the leg pushes down fast enough that the foot leaves the mat, then catches the beam as it comes back down. I asked for faster and faster pushes, measured as the speed of the foot at the end of the push.

Push asked forWhat happenedPeak knee torque
0.3 m/sThe foot barely left the mat2.1 N·m
0.5 m/sAbout 0.1 s in the air3.0 N·m
0.7 m/sFirst try stopped itself (see below), then 0.65 m/s4.5 N·m
1.0 m/sLaunched at only 0.73 m/s5.9 N·m

The first 0.7 m/s try was stopped by a safety check, because the top of the push came too close to a fully straight knee. Lowering the top of the push fixed that. For these hops I also used the higher current-loop gain from Log 9, and it made a clear difference. With the factory value the knee trailed its command by 10 to 14 ms during a push. With the new value that dropped to 2 to 4 ms.

The 1.0 m/s hop fell short, but the motor wasn't the reason. The knee reached 5.9 N·m with 8 allowed. The push only lasts about 54 ms, and my controller doesn't yet ask for enough torque early enough. That's a software fix.

Successive hops

Chaining hops is harder. Each landing has to be detected, slowed down and turned straight into the next push. Catching the beam with plain soft control let the knee sag up to 0.3 rad. So instead the leg follows a planned slowdown path as it lands, and the motor stiffness ramps back up during it. That kept the knee within about 0.1 rad of its path. Ten hops in a row at 0.7 m/s ran cleanly.

The leg pushing the beam up off the table while a hand steadies the far end of the beam
One of 20 hops in a row (watch the video)

At 0.8 m/s two new problems showed up. First, the beam pumps up. Each push lands while the beam is still moving, so with the same push every time the hops got higher and higher, from about 0.1 s in the air to as much as 0.25 s. The fix was to adjust each push based on how long the last hop stayed in the air. Second, the foot kept pushing about 50 ms longer than planned, because of the remaining lag. So the leg now times each hop from the moment the knee actually unloads. With both changes, 20 hops in a row at 0.8 m/s worked, twice. The second run aimed for 0.163 s in the air and averaged almost exactly that.

Chart of knee torque against time: about 2 N·m while holding, then 20 spikes of 3.5 to 6.5 N·m during the hops, all far under a dashed line at the 14 N·m peak rating
Knee torque through the 20 hops, against the motor's peak rating

What the motors showed

The weak link: a power wire

The knee motor's 48 V wire pulled out of its plug twice during chained hops. I soldered it back on. The lesson is that the leg cables need strain relief before this leg walks or hops on a robot.

A spark from the capacitors

Later, when I moved the power supply, the capacitors fell out. When I put them back in, with the supply off, there was a spark. When I checked them with a multimeter, they showed over 3 V, even though they were unplugged from the supply. I discharged them through a resistor for a few seconds until they read under 1 V, and the next try had no spark. Both motors were fine afterwards. The lesson here is to tape the capacitors tightly to the power supply, and to check their orientation when putting them back in.

Next steps

Strain relief for the knee cable. A better push that actually reaches 0.9 to 1.0 m/s. Planning each hop from where the foot lands. Then a slow squat under the beam, stepping in place under load, and finally a long run to test knee heat.

Discussions