x[s_] := s; y[s_] := -m*s

track[s_] := {x[s], y[s]}

m =  .5;

ParametricPlot[{x[s], y[s]}, {s, 0, 2}, 
      AspectRatio -> Automatic]

tan[
        s_] := track'[s]/(Sqrt[track'[s] . track'[s]])

n[s_]:=-tan[s].(({{0, -1}, {1, 0}}));

(Subscript[v, 0]) = 0; g = 9.8; R =  .3; b =  .5*R;

Plot[(Sqrt[((1/2) + ((R^2)/(5  (b^2)))) ((x'[s]^2 + y'[s]^2)/(-2 g*y[s]))]), {s, 0, 2  π}]

t[σ_] := 
      NIntegrate[(Sqrt[((1/2) + ((R^2)/(5  (b^2)))) ((x'[s]^2 + y'[s]^2)/(-2 g*y[s]))]), {s, 0, σ}]

Plot[t[σ], {σ, 0, 2  π}]

k = 2; dk =  .02;

Off[Solve::"nlim"]; 
    Off[NIntegrate::"nlim"]; << Graphics`Animation`

MatrixForm[
      Table[FindRoot[t[σ] == a, {σ, 0.1}, 
          Compiled -> False], {a, dk, k, dk}]]

A = Join[{0}, σ /. %];

B = 
        MatrixForm[
          Table[(((∫_0^(A[[a]]))(Sqrt[x'[s]^2 + y'[s]^2]) \[DifferentialD]s)/b), {a, 1, k/dk + 1}]];

F = 
        MatrixForm[
          Table[{n, A[[IntegerPart[((n + dk)/dk)]]], 
              B[[1, IntegerPart[((n + dk)/dk)]]]}, {n, 0, k, 
              dk}]];

G = 
        Table[{x[F[[1, IntegerPart[((t + dk)/dk)], 2]]], 
              y[F[[1, IntegerPart[((t + dk)/dk)], 2]]]} + 
            b*n[F[[1, IntegerPart[((t + dk)/dk)], 2]]], {t, 0, k, 
            dk}];

dir[θ_]:={1, 0}.(({{Cos[θ], -Sin[θ]}, {Sin[θ], Cos[θ]}}))

spoke[θ_, t_] := 
      Graphics[Line[{G[[t]], G[[t]] + dir[θ]*R}]]

g1 = 
      ParametricPlot[{x[s], y[s]}, {s, 0, x[A[[((k + dk)/dk)]]]}, 
        PlotRange -> {{- .1, 
              x[F[[1, ((k + dk)/dk), 2]]]}, {y[
                F[[1, ((k + dk)/dk), 2]]], 0.5}}, 
        AspectRatio -> -y[F[[1, ((k + dk)/dk), 1]]]/
            x[F[[1, ((k + dk)/dk), 1]]]]

Table[
      Show[{g1, 
          Graphics[{PointSize[ .05], 
              Circle[{x[F[[1, IntegerPart[((t + dk)/dk)], 2]]], 
                    y[F[[1, IntegerPart[((t + dk)/dk)], 2]]]} + 
                  b*n[F[[1, IntegerPart[((t + dk)/dk)], 2]]], R]}], 
          spoke[F[[1, IntegerPart[((t + dk)/dk)], 3]] + π/
                2, ((t + dk)/dk)], 
          spoke[F[[1, IntegerPart[((t + dk)/dk)], 
                  3]] + π, ((t + dk)/dk)], 
          spoke[F[[1, IntegerPart[((t + dk)/dk)], 3]] - π/
                2, ((t + dk)/dk)], 
          spoke[F[[1, IntegerPart[((t + dk)/dk)], 3]], ((t + dk)/dk)]}, 
        PlotRange -> {{-2 R, 
              x[F[[1, IntegerPart[((k + dk)/dk)], 2]]] + 
                2  R}, {y[F[[1, IntegerPart[((k + dk)/dk)], 2]]] - 2  R, 
              2  R}}
]
, {t, 0, k, 
        dk}]

Export["Roll_Line2.GIF", %, 
      AnimationDisplayTime -> dk]