<< Graphics`PlotField`; << Graphics`ImplicitPlot`

track[s_] := {Sin[s] + s/3, 1 - Cos[s]}

g1 = 
      ParametricPlot[{track[s]}, {s, 0, 2  π}, Compiled -> False, 
        AspectRatio -> Automatic]

κ[s_] := 
      Abs[((track'[s][[1]]*track''[s][[2]] - track''[s][[1]]*track'[s][[2]])/(((track'[s] . track'[s]))^(3/2)))]

Plot[κ[s], {s, 0, 2  π}]

\(\(n\&^\)[s_] := \(1\/\@\(\(track'\)[s] . \(track'\)[s]\)\) 
        Cross[\(track'\)[s] . {{1, 0, 0}, {0, 1, 0}}, {0, 0, \(-1\)}] . {{1, 
              0}, {0, 1}, {0, 0}}\)

\(ListPlotVectorField[
      Table[{track[s], \(n\&^\)[s]}, {s, 0, 2  π, π/8}]]\)

\(center[s_] := track[s] + \(1\/κ[s]\) \(n\&^\)[s]\)

t1 = 
      Table[ImplicitPlot[(x - center[
                        s][[1]])^2 +  (y - center[
                        s][[2]])^2 == ((((1/κ)[s]))^2), {x, -2, 4}, AspectRatio -> Automatic, 
          AxesOrigin -> {0, 0}], {s, 0, 2  π,  .05}]

p1 = 
      Table[ListPlot[{track[s]}, PlotStyle -> PointSize[ .02]], {s, 0, 
          2  π,  .05}]

Table[
      Show[g1, t1[[t]], p1[[t]], AspectRatio -> Automatic, 
        PlotRange -> {{0, 2  π/3}, {- .1, 2.1}}], {t, 1, 
        126}]

Export["FAMloop.GIF", %]