Dear Bert,
the code seems to work just fine form me (MMA11.2).
You might want to modify the last lines like so:
Monitor[list = {}; u = 0; While[u <= 2 \[Pi], u = u + uStep[u];
AppendTo[list,Show[tube[u], track, ViewPoint -> {3, -2, 1}, Axes -> False, PlotRange -> {{-3.6, 3}, {-3.3, 3.3}, {-2.1, 2.4}}]]], u]
If you then run
ListAnimate[list]
you get
Cheers,
Marco