DriveLab
Account

S-curves, positioning and leveling

Jerk and the seven-phase S-curve, what comfort costs in trip time, and how an encoder and hoistway vanes stop the car level with the floor.

30 min

Show me

A passenger does not feel speed, and hardly feels a steady acceleration. What the body notices is a change of acceleration. This lesson shapes the speed profile for comfort, then stops the car exactly at the floor (course sections 3.2.2 and 3.2.3).

Jerk

The rate of change of acceleration is the jerk:

j(t)=dadt=d2vdt2=d3xdt3j(t) = \frac{da}{dt} = \frac{d^2 v}{dt^2} = \frac{d^3 x}{dt^3}

A trapezoidal speed profile switches the acceleration on and off instantly: the jerk is infinite at every corner. Machines tolerate it; passengers feel a kick, and the ropes start to oscillate. The drive therefore limits the jerk and turns each corner into a smooth curve: the S-curve, in seven phases:

  1. jerk-in: acceleration ramps from 0 to amaxa_\text{max} (+j+j);
  2. constant acceleration (j=0j = 0);
  3. jerk-out: acceleration ramps back to 0 (−j-j);
  4. constant speed at vratedv_\text{rated} (a=j=0a = j = 0);
  5. to 7. the same three phases mirrored for the deceleration.

Typical comfort limits for a good passenger lift are amax=0.8a_\text{max} = 0.8 to 1.2 m/s² and jmax=1.0j_\text{max} = 1.0 to 2.0 m/s³. Each jerk phase lasts amax/jmaxa_\text{max} / j_\text{max}, so the smooth ride costs a little time.

Try it: the S-curve designer
  • S-curve speed
  • Acceleration
  • Jerk
  • Trapezoid speed

Within the comfort limits (a ≤ 1.2 m/s², j ≤ 2 m/s³)

S-curve trip time
11.17 s
Trapezoid trip time
10.50 s
Time the comfort costs
+0.67 s
Peak speed · acceleration
2.50 m/s · 1.00 m/s²

j = da/dt ; t_jerk = a_max / j_max = 0.67 s

Predict first

The Lab III trip (20 m, 2.5 m/s, 1 m/s²) takes 11.17 s at j = 1.5 m/s³. Raise the jerk limit to 6 m/s³. How much time do you save?

The course's example is a 50-storey express lift at 6 m/s. With j=4j = 4 m/s³ the passengers feel a sudden heaviness in the legs and the ropes can oscillate. With j=1.2j = 1.2 m/s³ the acceleration builds up over about 0.8 s: the trip takes one or two seconds longer, and the ride is far better.

FoundationStart here if this is new to you

Put a glass of water on the floor of the car. A smooth S-curve tilts the water surface gently and it settles; a trapezoid makes it slosh at every corner. Jerk is how hard the water gets pushed when the acceleration changes.

Where is the car? The encoder

Leveling matters for safety (a step at the door is a trip hazard) and comfort. Lifts use two kinds of position feedback.

The primary one is the motor encoder. It gives the speed for the vector control of the S-curve, and it measures distance by counting pulses. With a quadrature encoder of PPR pulses per revolution, each turn gives 4×PPR4 \times \text{PPR} edges, and

d=Nedges4⋅PPR⋅πDi⋅kgear(3.6)d = \frac{N_\text{edges}}{4 \cdot \text{PPR}} \cdot \frac{\pi D}{i \cdot k_\text{gear}} \tag{3.6}

With a 1024 PPR encoder on the Lab III gearless 0.60 m sheave, one turn is 4096 edges and 1.885 m of travel: a resolution of 0.46 mm.

Counting alone, however, drifts. The rope creeps on the sheave and stretches with temperature, and the count cannot see either. A 0.1 % slip error over 100 m of travel is 10 cm at the landing: far too much.

Resetting the count: vanes and direct-to-floor

The second loop is absolute. Vanes or magnets fixed in the shaft are detected by sensors on the car, and each one overwrites the drive's position counter as the car approaches a floor.

Modern drives land direct to floor. The drive keeps computing the distance it needs to stop, dbraking=v2/(2a)d_\text{braking} = v^2 / (2a) (3.1 m from 2.5 m/s at 1 m/s², before the jerk phases). It starts the braking S-curve at a slow-down vane, which also zeroes the accumulated slip, and targets the floor level directly. The old method, creep to floor, slowed to a crawl, found the vane, then crawled until level: accurate, but slow and wasteful.

Re-leveling. The course's freight lift arrives level, then a 2-tonne forklift drives in. The ropes stretch and the car sinks 20 mm. The sensors see the drift and, with the doors still open, the drive produces full torque at zero speed, lifts the car back up 20 mm, and closes the brake again.

ExplorerGo deeper: derivations and open questions

Trip time in closed form. For a trip long enough to reach both amaxa_\text{max} and vmaxv_\text{max}, show that ttrip=H/vmax+vmax/amax+amax/jmaxt_\text{trip} = H / v_\text{max} + v_\text{max} / a_\text{max} + a_\text{max} / j_\text{max}. Check it against the widget for the Lab III values. What changes when the trip is too short to reach vmaxv_\text{max}?

Rope oscillation. A rope of length LL with the car on its end is a spring-mass system. Why does a smooth jerk excite it less than a step in acceleration? Relate this to the frequency content of the acceleration profile.