Tank Tread Mathematical Model

417 Views Asked by At

I am struggiling with tank tread behaviour. The tank treads moving indivually if I move only the left tread the tank will go to the right direction for sure it depends on tread’s speed value subatraction , if ı am not wrong.

İf the left track moves 50 km and right track moves with 40km tank will go to the right direction but if i decrease the right track speed around 30 tank has to turn right again but Which Angle ?

When I drive a tank 90 degree forward with remote control I want to turn left 5 degree how much speed difference should be realize to turn 5 degree or 45 degree or 275 degree ?

I tried to put 2 force on a stick which is show the lenght of 2 tread distance. The net force should be locate somewhere on this lenght. It is easy to find if i know the force value.

By the way I tried to imagine with tread’s speed. Tank treads must have angular speed respectively. How can i associate with turning angle between angular speed or do you have another view!

1

There are 1 best solutions below

2
On BEST ANSWER

enter image description here

Calling

$$ \cases{ r = \text{Tread's wheel radius}\\ d = \text{mid tread's front distance}\\ \vec v_i = \text{Wheels center velocities} } $$

assuming the whole set as a rigid body, we can apply the Poisson kinematics law.

$$ \vec v_1 \times(p_1-O) = \vec v_2 \times(p_2-O) $$

where $p_i$ are application points and $O$ is the rotation instantaneous center. Calling $G$ the arrangement geometrical center, $\vec V = V(\cos\theta,\sin\theta)$ and $p_G = (x_G,y_G)$ we have the equivalent kinematics

$$ \left( \begin{array}{c} \dot x_G\\ \dot y_G\\ \dot\theta \end{array} \right) = \left( \begin{array}{cc} \cos\theta & 0\\ \sin\theta & 0\\ 0 & 1 \end{array} \right) \left( \begin{array}{c} V\\ \omega \end{array} \right) $$

and also

$$ \left( \begin{array}{c} V\\ \omega \end{array} \right) = \left( \begin{array}{cc} \frac r2 & \frac r2\\ \frac{r}{2d} &-\frac{r}{2d}\ \end{array} \right) \left( \begin{array}{c} \omega_1\\ \omega_2 \end{array} \right) $$

Here $\omega$ is the rigid body angular rotation velocity, $\omega_i$ is the wheels angular rotation velocity. Assuming that the wheels do not skid laterally, should be considered the following restriction of movement:

$$ \dot x_G\sin\theta +\dot y_G\cos\theta = d_0\dot\theta $$

where $d_0$ is the distance between $p_G$ and the tread center. This is a rough qualitative approximation. The real tank kinematics are a lot more complex.

NOTE

Attached a MATHEMATICA script simulating the movement kinematics.

parms = {r -> 0.5, d -> 2, d0 -> 0.1, wr -> UnitStep[t] - UnitStep[t - 30], wl -> UnitStep[t - 10] - 2 UnitStep[t - 50]};
M = {{Cos[theta[t]], 0}, {Sin[theta[t]], 0}, {0, 1}};
D0 = {{r/2, r/2}, {r/(2 d), -r/(2 d)}};
equs = Thread[D[{x[t], y[t], theta[t]}, t] == M.D0.{wr, wl}];
equstot = equs /. parms;
cinits = {x[0] == 0, y[0] == 0, theta[0] == 0};
tmax = 100;
solmov = NDSolve[Join[equstot, cinits], {x, y, theta}, {t, 0,tmax}][[1]];
gr0 = ParametricPlot[Evaluate[{x[t], y[t]} /. solmov], {t, 0,tmax}];
car[x_, y_, theta_, e_] := Module[{p1, p2, p3, bc, M, p1r, p2r, p3r},
  p1 = {0, e};
  p2 = {2 e, 0};
  p3 = {0, -e};
  bc = (p1 + p2 + p3)/3;
  M = RotationMatrix[theta];
  p1r = M.(p1 - bc) + {x, y};
  p2r = M.(p2 - bc) + {x, y};
  p3r = M.(p3 - bc) + {x, y};
  Return[{p1r, p2r, p3r, p1r}]
]
nshots = 100;
dt = Floor[tmax/nshots];
path0 = Evaluate[{x[t], y[t], theta[t]} /. solmov];
path = Table[path0 /. {t -> k dt}, {k, 0, Floor[tmax/dt]}];
grpath = Table[ListLinePlot[car[path[[k, 1]], path[[k, 2]],path[[k, 3]], 0.2], PlotStyle -> Red, PlotRange -> All], {k, 1, Length[path]}];
Show[gr0, grpath, PlotRange -> All]

enter image description here