top of page

Quick Overview

My team modified a pair of regular jumping stilts to be powered to propel our 80kg team member forward with the same amount of energy it would take to propel himself upwards 1 ft in the air.

  • Devised a method to add a motor and spool to preload the leaf spring with additional compression in order to shorten foot-ground contact time and then suddenly release all the stored spring potential energy.

  • Calculated the amount of energy required from the spring-work and gravitational potential energy balance along with a K constant from our spring using MATLAB and a hydraulic press and force meter. Found the static spring constant to require more compression at all points than the dynamic spring constant for preload.

  • Calculated the required motor, battery, and gear ratio specifications for torque requirements to preload the spring.

  • Chose a 1.5 safety factor for all the components in terms of power output and then a 2X safety factor for the steel cable for a fail-safe design such the steel cable doesn’t snap under tension.

  • For Version 1, I designed a rudimentary cone clutch actuated by a linear solenoid to actuate the instant release.

  • For Version 2, we used a back-drive able 250W drone motor with a 150:1 gear reduction using a planetary gearbox and pulley ratio.

  • Controlled using an ESP32 in Arduino IDE by keeping the cable in constant tension. Hall sensors determine the torque of the motor, while an encoder reads the motor direction. The routine is as follows:

    • The motor preloads the leaf spring in the air.

    • During the strike phase, the motor and encoder holds the cable tension at a constant value by signaling the motor to turn counterclockwise to compensate for any slack due to additional compression.

    • During the spring off phase, the motor is no longer able to hold the additional tension and will turn clockwise. The encoder reads that that motor direction has changed and then shuts off the motor, releasing the preloaded tension of the spring.

Introduction

For this project, My team and I tried to figure out how to power regular jumping stilts in order propel our 80kg team member forward with the same amount of energy it would take to propel himself upwards 1ft in the air. We started with regular, unpowered, leaf-spring stilts, and added a motor and spool in order to preload the leaf spring with additional compression in order to shorten foot-ground contact time and then suddenly release all of our stored spring potential energy. I calculated the amount of energy required from the spring-work and gravitational potential energy balance along with a K constant from our spring. We then chose a 1.5 safety factor for all the components in terms of power output and then a 2X safety factor for the steel cable so that if any components were to catastrophically fail, We would rather it not be a steel cable under spring tension.

Our first version, I designed a rudimentary cone clutch actuated by a linear solenoid, which turned out to be too heavy at 25 lbs. in one single location and actuated by a switch. Our second version was based on a backdriveable 250W drone motor with a 150:1 gear reduction using a planetary gearbox and pulley ratio.

​

Due to the material cost and inherent danger of this device, this was never actually built in real life, and is only a theoretical product. However, everything was still designed as if it was going to be manufactured, save for some fasteners and fastener holes.

Approach

We purchased a pair of jumping stilts on Amazon. Utilizing a motor, we added an extra source of force (tension) other than the user’s body weight that would further compress the stilt. More compression of the stilt means more potential energy stored in the stilts, which in turn means higher jump, longer stride, faster run.

Fig. 1 Device in Action

For this to work, the motor has to release the tension at the right moment — as soon as it detects the stilt decompressing. The decompression of the stilt is analogous to the back-drive of the motor. In other words, when the motor detects itself back-driving, it should release the tension so that the stored energy would fully transfer to the propulsion of the system.

​

We used wire (blue line in the figure above) and pulley (red circle) to connect the bottom of the stilt to the motor (red circle inside the gray square). This would be further discussed in the following pages.

Analysis and Governing Physical Principles

The equations below are based on the conservation of energy. 

Stilt Energy = Gravitational Potential Energy = Rotational Kinetic Energy

The spring constant was experimentally determined by putting a stilt onto a hydraulic press with the end on a scale. The displacement was measured using a ruler and the corresponding weight was measured using the scale.

Figure 2: Spring k constant measurement setup
Figure 3: Force vs. Displacement Graph to determine a k constant

By testing the stilt on a press, we obtained the Force vs. Displacement graph as shown above. From the graph, we found the k constant of the stilt ≅ 16 kN/m. This is within the linear region of the graph.

​

First, a few assumptions and approximations have to be made prior to continuing with calculations to spec hardware. 

  • We remain in the Static Spring Constant (K) Range since from the earlier graph, we observe that this range requires a larger force than we need to propel ourselves 1 foot. This makes our calculations easier and ensures that we get enough power since the static spring constant power > dynamic spring constant power.

  • We need 1 second so that Power and Work is now 1:1

  • K takes into account the initial compression (bowing) of the spring and our spring-tension length required is the additional added length

Next, an approximate power output needed is to spec a motor. We use a 85 kg person to approximate the upper limit of the power output needed. A work vs. mass of a person is graphed to visually see how much power the motor needs to output based on how heavy the user is, which can be seen in Figure 3. For an 85 kg person, we would need about 250 W of power. The work is calculated using potential energy (Work=mgh).

 

Next, an approximation of how much additional height the user will be thrown into the air based on their pass is also calculated.

work and mass graph.jpg
Fig. 4 and Fig. 5, Work and Mass graph for lifting and a Mass vs Height thrown in ft.

Electronics Calculations and Specifications

Motor Used: Brushless Motor D2830/8 1300 KV DYS 

Table 1: Motor Specs

Battery Used: Rhino 450 mAh 4S 50C Lipo Battery Pack w/XT30

Table 2: Battery Specs

Calculation for battery life:

0.450 A*h / (200W/15V = 13.3A) = .0338h = 122 seconds

122 seconds / (1 second / spring compression cycle) = 122 Spring Compressions

 

ESC Used: YEP 30A (2~4S) SBEC Brushless Speed Controller

Table 3: ESC Specs

electronic specs 2.jpg

Gear Reduction Calculation

 

KV = 1300 rpm/V

Voltage = 15V

Max RPM = 20,000

Rotational speed at max power output = 10,000 RPM

Rotational speed of pulley = 66 RPM

 

A 150:1 gear reduction is needed.

Hardware Specifications

Cable and Pulley Spec

The tension that the cable needs to withstand is calculated is around 636 lbf. The calculation is shown below.

cable spec.jpg

This cable was chosen for this device. It is rated to 1000 lbf, which is much higher than needed. This allows for a safety factor of more than 1.5X. If this device were to fail, we would rather the motor to fail before the cable to prevent danger if the cable were to snap and cause whiplash. Additionally, the size of this cable drives how large the pulleys need to be for this device.

Hoist Ring Spec

A hoist ring is used to attach the cable to the bottom of the stilt so the motor can pull it upwards.

Figure 6: Hoist Ring Angle Range

Here are two extreme angle ranges of where we can place a pulley to lead our wire from our hoist ring into our driven cable pulley. We will place a pulley somewhere so that the angle of the wire will never cross these ranges.

McMaster Carr recommends a specification that our hoist ring does not exceed 30 degrees.

Figure 7: Hoist Ring FBD

We will assume both angles are 30 degrees since this is the worst case scenario and will far surpass the safety factor we need and make our calculations easier. We will also assume a load normal to the plane to max out our load.

Figure 8: Hoist Ring Load Calculation

If we use 1 hoist ring, we will need 2,543 lbs required force. If we use two, we only need 1271 lbs. McMaster Carr only sells 1000 lbs and 2500 lbs hoist rings which are in our range. We still need 0.1768 m = 7 inches of travel of our wire. So we need to place the pulley smartly.

Figure 9: Pulley Placement

This shows our load angle of our hoist ring vs load specifications. This is the Hoist Ring used. Since most of the hoist rings are from 600-1000 lbs specs are around the same height, we will just use a 1000 lbs hoist ring

Figure 10: Max Pulley Cable Angle

Here we place our pulley in an arbitrary position but also in an extreme position where the pulley is rubbing the structure. Therefore, 68.3 degrees will be our max angle.

Initial Design

A clutch was initially designed to stop backdriving of the motor to prevent damage when the spring is released. This is a electric solenoid and coil spring actuated cone clutch where four coil springs pushes against a male cone into a female cone to friction capture it and wind it under tension. The operation of clutch works as described:

  1. The electric solenoid releases it's tension which allows the four coil springs to push male cone from the side of a belt driven pulley into the female cone, capturing it with dry friction.

  2. The belt driven pulley has a sliding engagement of interlocked teeth with the male cone. When the pulley is driven by the belt, the male and female cone will also move with the pulley. The female cone is attached to the cable that is attached at the end of the leaf spring of the entire jumping stilt. This compresses the leaf spring.

  3. The electric solenoid suddenly engages at the top of compression, pushing the male cone away from the female cone and breaking the friction lock.

  4. The female cone is now free to spin, allowing the cable to unwind instantaneously and release all the stored potential energy of the leaf spring.

 

A series of spacers, rods, and bearings help to actuate this motion. Later on we found out that this is not necessary - motors can be backdriven. Also, the design is too heavy, it adds an additional 25 lb per stilt.

Figure 11: Clutch Design

Final Design CAD

These are the final components used in our design

Motor and Pulley Bracket
Figure 12: Motor and Pulley Bracket Assembly - side, front and isometric view
Figure 13: Motor and Pulley Bracket Assembly - cross sectional view and exploded view

Composed of two driven pulleys, one belt driven by the motors and the other attached to the cable. Two delrin spacers and pulleys attached and driven via interlocked teeth with flange and needle bearings aid the movement. Two different sized bearings are used in order to actually make the interlocked teeth design manufacturable in real life.

Idler Pulley Bracket
Figure 14: Idler pulley will lead the cable from the foot to the driven pulley. There are ribs for structural support. 

Final CAD Assembly
Figure 15: Final CAD Assembly - side, isometric, and front views

Pseudocode

The code below is a general outline as to how the device would be operated.

This device relies heavily on the encoder to determine the motor shaft’s rotational position as well as a motor controller that uses Hall sensors to determine torque of the motor. The code does all the initializations and setups first, and then there’s three main functions. This first function first reads whether the motor is turning clockwise or counterclockwise using the encoder. The second function takes that information from the encoder and if there is a switch from clockwise to counterclockwise, the motor is shut off. This third function determines the torque of the motor using current and keeps it at a constant value. In this loop function, the readEncoder function is triggered every time to check the motor’s direction to see if it has switched, and also keeps the torque constant.

During the transitionary period when the user’s foot has struck the ground, there is extra compression which allows the pulley cable to slack, which means the torque of the motor decreases, in which the code will signal the motor to turn more to compensate for that to keep the tension of the motor. After the user strikes the ground and is in the air again, the motor will no  longer be able to hold that additional tension and start to turn backwards, in which the encoder will detect this backwards rotation which shuts off the motor completely and prevents back driving while it is on and the spring completely compresses, and the cycle starts again immediately.

Appendix:

​

Contents MATLAB Code
  • Force vs Displacement

  • Work vs Mass of User

  • Mass of User vs Height Thrown

  • Hoist Ring Loads and Analysis

 

Force vs Displacement

force = [0 45 90 140 180 210 240 270 295 320]*9.8/2.205;

displacement = [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5]/39.37;

 

plot(displacement, force,'b','LineWidth',1)

% hold on

% plot(xlim,ylim,'--r')

 

grid on

xlabel('displacement [m]','Interpreter','latex','FontSize',20)

ylabel('force [N]','Interpreter','latex','FontSize',20)

title('Force vs. Displacement','Interpreter','latex','FontSize',25)

 

Work vs Mass of User

m = [50:0.0001:90]; %kg

g = 9.81; %m/s/s

h = 0.3;

 

W_exact = m*g*h;

figure

plot(m,W_exact,'b','LineWidth',1);

hold on

xline(85,'r--')

yline(250,'r--')

grid on

title("Work vs Mass of Person",'Interpreter','latex','FontSize',20);

xlabel("mass [kg]",'Interpreter','latex','FontSize',20);

ylabel("Work [J]",'Interpreter','latex','FontSize',20);

​

Mass of User vs Height Thrown

m2 = [40:.001:84]; %kg

W_exact2 = 200; %j

h2 = W_exact2./(m2*g);

figure

plot(m2,h2,'b','LineWidth',1)

grid on

title("Mass of Person vs Height thrown",'Interpreter','latex','FontSize',20);

xlabel("Mass [kg]",'Interpreter','latex','FontSize',20);

ylabel("Height [m]",'Interpreter','latex','FontSize',20);

 

Hoist Ring Loads and Analysis

W_estimate = 250; %J

k = 16000; %N/m

x = sqrt(W_estimate*2/k)

T = k*x

r = 0.0254; %m

theta1 = x/r

W = T*0.2248090795

 

theta1 = 30;

Load_1_hoist = W/sind(theta1)

Load_2_hoist = W/(2*sind(theta1))

Load_1_required = Load_1_hoist/cosd(90-theta1)

Load_2_required = Load_2_hoist/cosd(90-theta1)

 

figure

theta2 = [30:1:90];

Load = W./(2*sind(theta2));

Load_required = Load./cosd(90-theta2);

plot(theta2,Load_required);

title("Load of Hoist Ring"); xlabel("Angle(deg)"); ylabel("Load(Lbs)");

figure

theta2 = [30:1:90];

Load = W./(sind(theta2));

Load_required = Load./cosd(90-theta2);

plot(theta2,Load_required);

title("Load of 1 Hoist Ring"); xlabel("Angle(deg)"); ylabel("Load(Lbs)");

theta1 = 68;

Load_2_hoist = W/(2*sind(theta1))

Load_2_required = Load_2_hoist/cosd(90-theta1)

Siheng James Yang

  • alt.text.label.LinkedIn

©2023 by Siheng Yang. Proudly created with Wix.com

bottom of page