p1[t_] := {l Sin[\[Theta][t]], -l Cos[\[Theta][t]]};
p2[t_] := p1[t] + {l Sin[\[Phi][t]], -l Cos[\[Phi][t]]};
T[t_] := FullSimplify[1/2 m Norm[D[p1[t], t]]^2 + 1/2 m Norm[D[p2[t], t]]^2, Assumptions -> {m > 0, l > 0, \[Theta][t] > 0, \[Theta]'[t] > 0, \[Phi]'[t] > 0, \[Phi][t] > 0}];
V[t_] := FullSimplify[m g p1[t][[2]] + m g p2[t][[2]], Assumptions -> {m > 0 , l > 0}];
L[t_] := T[t] - V[t];
e1[t_] := FullSimplify[D[D[L[t], \[Theta]'[t]], t] - D[L[t], \[Theta][t]]];
e2[t_] := FullSimplify[D[D[L[t], \[Phi]'[t]], t] - D[L[t], \[Phi][t]]];
(**)
tmax = 1000; m1 = 1; m2 = 1; g = 1; l = 1;
s1 = NDSolve[{e1[t] == 0, e2[t] == 0, \[Theta][0] == \[Pi], \[Phi][0] == \[Pi]/2, \[Theta]'[0] == 0, \[Phi]'[0] == 0}, {\[Theta], \[Phi]}, {t, 0, tmax}, MaxSteps -> Infinity]
frames = Table[
prediction = Table[NDSolve[{e1[t1] == 0, e2[t1] == 0, \[Theta][0] == Evaluate[(\[Theta][t] /. s1)][[1]], \[Phi][0] == Evaluate[(\[Phi][t] /. s1)][[1]] + \[Delta], \[Theta]'[0] == Evaluate[(\[Theta]'[t] /. s1)][[1]], \[Phi]'[0] == Evaluate[(\[Phi]'[t] /. s1)][[1]]}, {\[Theta], \[Phi]}, {t1, 0, 10}, MaxSteps -> Infinity]
, {\[Delta], -0.002, 0.002, 0.00025}];
Show[
ParametricPlot[p2[t] /. prediction, {t, 0, 10}, PlotStyle -> Directive[Gray, Opacity[0.1]] , Axes -> False]
,
Graphics[{
Black, Thickness[0.01], Line[{{0, 0}, (p1[t] /. s1)[[1]], (p2[t] /. s1)[[1]]}], Orange, Disk[(p1[t] /. s1)[[1]], 0.15], Disk[(p2[t] /. s1)[[1]], 0.15], Black, Thick, Circle[(p1[t] /. s1)[[1]], 0.15],
Circle[(p2[t] /. s1)[[1]], 0.15]
,
Black, Disk[{0, 0}, 0.1]
}, PlotRange -> {{-3, 3}, {-3, 3}}], PlotRange -> {{-3, 3}, {-3, 3}}]
, {t, 0, 100, 0.3}];
ListAnimate[frames, 10]