Close

Servo smoothing via logistic function

A project log for TAST-E, the robot with a sense of taste and smell

An animatronic robot head with an artificial tongue and nose

m-bindhammerM. Bindhammer 12/16/2023 at 16:300 Comments

Smoothed servo movements are necessary in robotics to make them appear more organic. For this purpose, I use the logistic function (sigmoid curve) with the equation:

where x0 is the x value of the function's midpoint,  L is the supremum of the values of the function and k is the logistic growth rate or steepness of the curve.

Fig. 1 Standard logistic function where L = 1, k = 1 and x0 = 0

Of course, the logistics function is not yet usable in this way. Let x0 = 0 and f(x) = 0 if x = 0. These conditions lead to

But we can also simply use

then L is again our supremum.

Fig. 2 Modified logistic function where L = 50, and k = 0.2

We now have a nice normal function instead of an often-used recursive function that we can use for servo smoothing (accelerate and decelerate).

Discussions