# Test case: pivot irrigation kinematics

Consider a pivot irrigation system with following points:

* A: pivot
* B: attachment of pipe to rolling support
* C: wheel center
* D: wheel-ground contact point

The pivot rotates at an angular rate of $\omega_z$,
the wheel center is a distance $R$ from the pivot,
the wheel has a radius $r$,
and the wheel rolls without slip with angular rate $\omega_x$,
which implies the following relationship:

$ R \omega_z = r \omega_x $

The linear acceleration at points B and C is purely centripetal, pointing towards the pivot.
The linear acceleration at point D is a bit more complicated, so an analytical solution is derived here.

The position of point C:

$C = \\
R [\cos \omega_z t \\
   \sin \omega_z t\\
   0]^T$
 
and has linear acceleration:
 
$\ddot{C} = \\
-R \omega_z^2 [\cos \omega_z t \\
               \sin \omega_z t\\
               0]^T$
   
$\ddot{C} = -R \omega_z^2 C$

The position of point D relative to C:

$D - C= \\
r[ \sin \omega_x t \sin \omega_z t \\
  -\sin \omega_x t \cos \omega_z t \\
  -\cos \omega_z t]^T$


```
from sympy import *
R = Symbol('R')
r = Symbol('r')
t = Symbol('t')
wx = Symbol('wx')
wz = Symbol('wz')
```


```
# Position of D relative to C
Dx =  r * sin(wx*t) * sin(wz*t)
Dy = -r * sin(wx*t) * cos(wz*t)
Dz = -r * cos(wx*t)
```


```
# Acceleration of D relative to C
print(simplify(diff(diff(Dx, t), t)))
print(simplify(diff(diff(Dy, t), t)))
print(simplify(diff(diff(Dz, t), t)))
```

    r*(-wx**2*sin(t*wx)*sin(t*wz) + 2*wx*wz*cos(t*wx)*cos(t*wz) - wz**2*sin(t*wx)*sin(t*wz))
    r*(wx**2*sin(t*wx)*cos(t*wz) + 2*wx*wz*sin(t*wz)*cos(t*wx) + wz**2*sin(t*wx)*cos(t*wz))
    r*wx**2*cos(t*wx)


and has linear acceleration:

$\ddot{D} - \ddot{C} = \\
r [-(\omega_x^2 + \omega_z^2) \sin \omega_x t \sin \omega_z t + 2 \omega_x \omega_z \cos \omega_x t \cos \omega_z t \\
   (\omega_x^2 + \omega_z^2) \sin \omega_x t \cos \omega_z t + 2 \omega_x \omega_z \cos \omega_x t \sin \omega_z t \\
   \omega_x^2 \cos \omega_x t]^T$

$\ddot{D} - \ddot{C} = \\
r [-(\omega_x^2 + \omega_z^2) \sin \omega_x t \sin \omega_z t \\
   (\omega_x^2 + \omega_z^2) \sin \omega_x t \cos \omega_z t \\
   \omega_x^2 \cos \omega_x t]^T \\
+ 2r \omega_x \omega_z \cos \omega_x t
[\cos \omega_z t \\
 \sin \omega_z t \\
 0]^T$

which has a relative centripetal acceleration of $2r \omega_x \omega_z t$
when point D is at the contact point ($cos \omega_x t = 1$).
Using the no-slip condition, this is equivalent to $2R \omega_z^2 t$.
The xy centripetal acceleration components of D towards the pivot are then

$\ddot{D}_{xy} = R \omega_z^2 C_{xy}$

which is the exact opposite of the centripetal acceleration at $C$.


```

```

e5a629c0577e24aee3c1e34111b1fbcb1654f649
ipynb
Jupyter Notebook
test/integration/FrameSemantics.ipynb
diegoferigo/ign-physics
8f0d8ce3229f53fbf4e05cb0273530169e6d9fef
ECL-2.0 Apache-2.0
2020-04-15T16:56:50.000Z
2022-03-23T19:53:01.000Z
test/integration/FrameSemantics.ipynb
diegoferigo/ign-physics
8f0d8ce3229f53fbf4e05cb0273530169e6d9fef
ECL-2.0 Apache-2.0
2020-04-17T22:46:45.000Z
2022-03-30T21:34:29.000Z
test/integration/FrameSemantics.ipynb
diegoferigo/ign-physics
8f0d8ce3229f53fbf4e05cb0273530169e6d9fef
ECL-2.0 Apache-2.0
2020-04-16T08:08:56.000Z
2022-01-12T07:47:34.000Z
Qwen/Qwen-72B
1. YES
2. YES