In[]:=
Clear["Global`*"]
(*--------Equations=,=,=,=,=,=,*'[t]+(-)*[t]*[t]0,*'[t]+(-)*[t]*[t]0,*'[t]+(-)*[t]*[t]0,[t]=ϕ'[t]*Sin[θ[t]]*Sin[ψ[t]]+θ'[t]*Cos[ψ[t]],[t]=ϕ'[t]*Sin[θ[t]]*Cos[ψ[t]]-θ'[t]*Sin[ψ[t]],[t]=ϕ'[t]*Cos[θ[t]]+ψ'[t].andmotionx,y,z∑Fxm*x''[t],∑Fym*y''[t],∑Fzm*z''[t],*)
I
x
I
1
I
y
I
2
I
z
I
3
ω
x
ω
1
ω
y
ω
2
ω
z
ω
3
I
1
ω
1
I
2
I
3
ω
3
ω
2
I
2
ω
2
I
3
I
1
ω
1
ω
3
I
3
ω
3
I
1
I
2
ω
2
ω
1
ω
1
ω
2
ω
3
In[]:=
Clear["Global`*"]
In[]:=
TIME=2;ma=0.15;(*Ringmass[kg]*)a=0.13;(*Ringradius[m]*)ml=0.18;(*Rodmass[kg]*)l=0.38;(*Rodradius[m]*)g=9.81;(*Gravitationalacceleration[m/s^2]*)m=ma+ml;(*RodandRingmass[kg]*)R=;(*centerofmass*)=*ma*;(*Momentofinteriathe1-axis[kg*]*)=*ma*+ma*+*ml*+ml*a+-R;(*Momentofinteriathe2-axis[kg*]*)=+;(*Momentofinteriathe3-axis[kg*]*)
ml*a+
l
2
ma+ml
I
1
1
2
2
a
2
m
I
2
1
2
2
a
2
R
1
12
2
l
l
2
2
m
I
3
I
1
I
2
2
m
In[]:=
{Phi,Theta,Psi,Xx,Yy,Zz}=NDSolveValue[{m*x''[t]0,m*y''[t]0,m*z''[t]-m*g,*(Cos[θ[t]]*Sin[ψ[t]]*θ'[t]*ϕ'[t]-Sin[ψ[t]]*θ'[t]*ψ'[t]+Cos[ψ[t]]*Sin[θ[t]]*ϕ'[t]*ψ'[t]+Cos[ψ[t]]*θ''[t]+Sin[θ[t]]*Sin[ψ[t]]*ϕ''[t])+(-)*(ϕ'[t]*Cos[θ[t]]+ψ'[t])*(ϕ'[t]*Sin[θ[t]]*Cos[ψ[t]]-θ'[t]*Sin[ψ[t]])0,*(Cos[θ[t]]*Cos[ψ[t]]*θ'[t]*ϕ'[t]-Cos[ψ[t]]*θ'[t]*ψ'[t]-Sin[θ[t]]*Sin[ψ[t]]*ϕ'[t]*ψ'[t]-Sin[ψ[t]]*θ''[t]+Cos[ψ[t]]*Sin[θ[t]]*ϕ''[t])+(-)*(ϕ'[t]*Sin[θ[t]]*Sin[ψ[t]]+θ'[t]*Cos[ψ[t]])*(ϕ'[t]*Cos[θ[t]]+ψ'[t])0,*(-Sin[θ[t]]*θ'[t]*ϕ'[t]+Cos[θ[t]]*ϕ''[t]+ψ''[t])+(-)*(ϕ'[t]*Sin[θ[t]]*Cos[ψ[t]]-θ'[t]*Sin[ψ[t]])*(ϕ'[t]*Sin[θ[t]]*Sin[ψ[t]]+θ'[t]*Cos[ψ[t]])0,x[0]0,x'[0]0,y[0]0,y'[0]0,z[0]-1,z'[0]6,ϕ[0]π/2,θ[0]π/2,ψ[0]0,ϕ'[0]-4π,θ'[0]π/16,ψ'[0]π/16},{ϕ,θ,ψ,x,y,z},{t,0,TIME}];
I
1
I
2
I
3
I
2
I
3
I
1
I
3
I
1
I
2
In[]:=
Animate[Graphics3D[GeometricTransformation[{Blue,Cylinder[{{-0.03,0,0.15},{0,0,0.15}},0.1],Green,Cylinder[{{0,0,0.15},{0.03,0,0.15}},0.1],Black,Cylinder[{{0,0,0.05},{0,0,-0.25}},0.033]},Composition[TranslationTransform[{Xx[t],Yy[t],Zz[t]}],Composition[RotationTransform[Phi[t],{1,0,0}],RotationTransform[Psi[t],{0,1,0}],RotationTransform[Theta[t],{0,0,1}]]]],BoxedTrue,SphericalRegionTrue,PlotRange1.1,AxesTrue,TicksNone,AxesLabel{x,y,z},BackgroundLightGreen],{{t,0,"time"},0,1.25},AnimationRunningFalse,SaveDefinitionsTrue]
Out[]=