This reduces the degrees of freedom for the spline

and uses the method of least squares to fit the spline to the noisy data. The degrees of freedom are connected to the number of breaks (knots), so the smoothing effect is controlled by the selection of breaks.

The next step is to generate 2 more splines, one for the left side of the robot, one for the right side. This is very similar to the question posed by Ether: