next up previous contents
Next: Clothoid 2: Up: Joint Elements Previous: Clothoid 1:   Contents

Circular Region: $(a_{1}t_{1_{f}} \leq s \leq a_{1}t_{1_{f}} + r\delta )$

The vertical angle at any point on the circular region is determined with the following.

\begin{displaymath}
\phi = \gamma_{1} + \frac{s - a_{1}t_{1_{f}}}{r}
\end{displaymath}

The circular region is first calculated as if the joint began from horizontal. The end of the first clothoid occurs when $t=t_{1_{f}}$. The center of the circular region can be found from the following.

\begin{eqnarray*}
x_{c} & = & a_{1} \ensuremath\int_{0}^{t_{1_{f}}} \cos(\frac{...
...{0}^{t_{1_{f}}} \sin(\frac{\pi}{2} u^{2})\,du + r \cos\gamma_{1}
\end{eqnarray*}



The positions within the circular region are then determined as shown.

\begin{eqnarray*}
x & = & x_{c} + r \sin\phi \\
z & = & z_{c} - r \cos\phi
\end{eqnarray*}



If a downward joint is being calculated, $z$ is negated. The circular region is then rotated $\phi_{0}$ radians to line it up with adjacent regions. See figure 2.11.
$\displaystyle x$ $\textstyle =$ $\displaystyle (x_{c} + r \sin\phi) \cos\phi_{0} \mp (z_{c} - r \cos\phi) \sin\phi_{0}$ (2.127)
$\displaystyle y$ $\textstyle =$ $\displaystyle 0$ (2.128)
$\displaystyle z$ $\textstyle =$ $\displaystyle (x_{c} + r \sin\phi) \sin\phi_{0} \pm (z_{c} - r \cos\phi) \cos\phi_{0}$ (2.129)

Derivatives with respect to arclength will need to be taken to determine the remaining functions. Since the position vector is expressed in terms of $\phi$, the chain rule is applied.

\begin{eqnarray*}
\ensuremath \frac{d\phi}{ds} & = & \frac{1}{r}
\end{eqnarray*}



The forward vector is calculated by taking the derivative of the position vector as it was first calculated. It will then be transformed in the same way as the position vector was.

\begin{eqnarray*}
f_{x} & = & \ensuremath \frac{d\left( x_{c} + r \sin\phi \rig...
...\right)}{d\phi} \ensuremath \frac{d\phi}{ds} \\
& = & \sin\phi
\end{eqnarray*}



The $z$ coordinate is negated if a downward joint is being calculated. The vector is then rotated $\phi_{0}$ radians about the $y$ axis.
$\displaystyle f_{x}$ $\textstyle =$ $\displaystyle \cos\phi \cos\phi_{0} \mp \sin\phi \sin\phi_{0}$ (2.130)
$\displaystyle f_{y}$ $\textstyle =$ $\displaystyle 0$ (2.131)
$\displaystyle f_{z}$ $\textstyle =$ $\displaystyle \cos\phi \sin\phi_{0} \pm \sin\phi \cos\phi_{0}$ (2.132)

The radial vector is calculated as the derivative of the forward vector (with respect to arclength) as it was initially calculated.

\begin{eqnarray*}
r_{x} & = & \ensuremath \frac{d\left( \cos\phi \right)}{d\phi...
...hi} \ensuremath \frac{d\phi}{ds} \\
& = & \frac{1}{r} \cos\phi
\end{eqnarray*}



The unit vector in the direction of the radial vector must be determined.

\begin{eqnarray*}
r_{x} & = & -\sin\phi \\
r_{y} & = & 0 \\
r_{z} & = & \cos\phi
\end{eqnarray*}



The $z$ coordinate is negated if a downward joint is being calculated. The vector is then rotated $\phi_{0}$ radians about the $y$ axis. The result will still be a unit vector, as rotation does not alter magnitude.
$\displaystyle r_{x}$ $\textstyle =$ $\displaystyle -\sin\phi \cos\phi_{0} \mp \cos\phi \sin\phi_{0}$ (2.133)
$\displaystyle r_{y}$ $\textstyle =$ $\displaystyle 0$ (2.134)
$\displaystyle r_{z}$ $\textstyle =$ $\displaystyle -\sin\phi \sin\phi_{0} \pm \cos\phi \cos\phi_{0}$ (2.135)

The curvature is the magnitude of the (non-unit) radial vector.
\begin{displaymath}
k = \frac{1}{r}
\end{displaymath} (2.136)


next up previous contents
Next: Clothoid 2: Up: Joint Elements Previous: Clothoid 1:   Contents
Darla Weiss 2000-02-13