|
|
:toc:
|
|
|
:toc-position: right
|
|
|
|
|
|
|
|
|
= Clothoid based local path planning
|
|
|
Matthias Otto, MSc <matthias.otto@technikum-wien.at>
|
|
|
v1.0, 24-08-2016
|
|
|
|
|
|
== Abstract
|
|
|
|
|
|
This section mainly refers to the navigation module, especially the local path planning,
|
|
|
of the wheelchair called ROMEO. It explains the usage of clothoid segments as local path
|
|
|
planning relating to high driving comfort for the user. This includes the explanation
|
|
|
of the different types of clothoid segments as well as the calculation and the conclusion of which type
|
|
|
is the most suitable for the need application.
|
|
|
|
|
|
== Clothoid as trajectory
|
|
|
|
|
|
A clothoid is a special curve with linear increasing curvature. Because of this property, this type of curve will be mostly used in the section of highway construction. The special of this property is the impact on the lateral acceleration, because it acts proportional to the curvature of the curve. This effect solves the main problem of the transition of straight lines to circles. For example, figure 3.5 shows this problem and the solution with a clothoid as transition element. There is pictured a transition of a straight line to a circle. The two diagrams show the lateral acceleration (see section 3.4) and the curvature of both sections over the length. At the straight line the curvature and therefore the lateral acceleration is zero (see theorem 3.8), because the radius of a straight line is ∞.
|
|
|
|
|
|
However, the segment of the circle has a defined value for the curvature and consequently for the lateral acceleration too. The curvature of a circle depends on the radius. At the
|
|
|
transition of lines to circles a jump of both parameters occurs. This jump will be absorbed by the wheelchair and the patient. Further it is normally not comfortable for the patient and also very exhausting, if there are more of these jumps while driving (see section 1.1). Also the wheelchair could get damaged by these jumps. The solution for this problem is the usage of a clothoid.
|
|
|
|
|
|
image::fig/1.png[]
|
|
|
|
|
|
The clothoid also called spiral curve (see figure 3.6) has a different radius at every point on the curve and therefore consequential a different curvature. The endpoint of a clothoid is defined as followed.
|
|
|
|
|
|
[math,file="tex-formula1.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
x_{e} = y_{e} = \frac{A}{2} \cdot \sqrt{\pi}
|
|
|
\end{equation}
|
|
|
--
|
|
|
image::fig/2.png[]
|
|
|
|
|
|
For the trajectory only the beginning of the clothoid is used (see figure 3.7), this part reaches from 0 to 1/R. The point 1/R is very special in the calculation of a clothoid and will be explained later.
|
|
|
|
|
|
image::fig/3.png[]
|
|
|
|
|
|
The main formula, which holds in every point of the spiral curve is:
|
|
|
|
|
|
[math,file="tex-formula2.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
A^2 = R \cdot L
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
[math,file="tex-formula3.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\begin{split}
|
|
|
dx = cos t \cdot dL \\
|
|
|
dy = sin t \cdot dL \\
|
|
|
\end{split}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
The most important parameter of such curve is the parameter A. It specifies all properties of a clothoid. Further it is responsible, that all possible clothoids are similar to each other. This parameter also defines the speed of increasing of curvature of the curve. For example, if A is big, than the increase of the curvature is small in relation to the length of the clothoid. Furthermore, the parameter A is not freely selectable, because of the driving dynamic the value of A should be:
|
|
|
|
|
|
[math,file="tex-formula4.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\frac{R}{3} \leq \textit{A} \leq R
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
Another special feature of the clothoid is that the end angle of it could be calculated. The formula for this calculation deviates from the main theorem:
|
|
|
|
|
|
[math,file="tex-formula5.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\tau_{[Gon]} = \frac{L^2}{2 \cdot A^2} \cdot \rho
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
The unit of this angle is called Gon. It is no SI-unit. The translation to the SI-unit rad is π/200. The calculation of the x and y coordinates of the curve is not so easy as the calculation of the end angle τ. For this calculation, it is necessary to integrate the formula 3.3, but this step leads to a Fresnel Integral.
|
|
|
|
|
|
[math,file="tex-formula6.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\begin{split}
|
|
|
x = \int_0^L cos \frac{L^2}{2 \cdot A^2} \cdot dL \\
|
|
|
x = \int_0^L sin \frac{L^2}{2 \cdot A^2} \cdot dL
|
|
|
\end{split}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
The solution of this problem is a series expansion. Whereat x have to be replaced with L^2^/(2·A^2^).
|
|
|
|
|
|
[math,file="tex-formula7.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\begin{split}
|
|
|
sinx = \frac{x}{1!} - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \frac{x^9}{9!} - + \cdots \\
|
|
|
cosx = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \frac{x^8}{8!} - + \cdots
|
|
|
\end{split}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
In order to characterize the complete spiral curve, more calculations are needed. The parameters for this step are:
|
|
|
|
|
|
* X~e~, Y~e~ → Endpoint of the clothoid
|
|
|
* T~L~ → Long tangent
|
|
|
* T~K~ → Short tangent
|
|
|
* X~M~, Y~M~ → Centre of the osculation circle
|
|
|
|
|
|
All these parameters are important for the calculation of the clothoid as trajectory.
|
|
|
|
|
|
|
|
|
== Types of clothoids
|
|
|
|
|
|
Generally several different types of clothoids exist, which could be used as trajectory. This thesis treats three types for transition curves, to identify the assets and drawbacks of them and which type is the most appropriate. The information for the calculation of these types are taken from this source.
|
|
|
|
|
|
* Symmetrical transition curve
|
|
|
* Unsymmetrical transition curve
|
|
|
* Compound curve
|
|
|
|
|
|
Each of these types has advantages and disadvantages. The next sections only describes the symmetric transistion curve, because this type is used in the implementation.
|
|
|
|
|
|
== Calculation of the symmetric transition curve
|
|
|
|
|
|
This type of a transition curve is a combination a two equal spiral curves. That means that the length L and the clothoid parameter A are identical for both spiral curves. Through that, the calculation of the transition curve is much easier. Further, all other parameters like X~e~, Y~e~,T~L~ and T~K~ only have to be calculate for one clothoid branch. Through the two identical clothoids also the curvature of the whole transition curve is symmetrical, as shown in the figure below. The figure also shows the proof, that the parameters L and A have to be the same, because otherwise the picture of the curvature would not be symmetrical. The further process is to attend to the calculation of the symmetrical transition curve.
|
|
|
|
|
|
image::fig/4.png[]
|
|
|
|
|
|
The first step here is to estimate the end angle of the first clothoid. As mentioned above all parameters are valid for the second clothoid. The end angle of the first one is defined by the formula below. It shows that the angle is the half of the end angle of the whole curve. The angle τ has the unit radian.
|
|
|
|
|
|
[math,file="tex-formula8.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
\tau = \frac{\gamma}{2}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
After this step only one parameter is missing to describe and calculate the whole clothoid. This parameter is A. For this transition curve type A has not to be between
|
|
|
R/3 ≤ A ≤ R. This rule only takes effect by the type of the unsymmetrical transition curve and the compound curve.
|
|
|
|
|
|
[math,file="tex-formula9.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
A = R \cdot \sqrt{2 \cdot \tau}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
The next parameter which has to be estimated for the clothoid is the length L. Note that the following formulas are valid for all points of the transition curve. Thereby the range of the values is R → [0, L~max~]. L~max~ is the maximum length of one clothoid branch, which is defined by the formula below.
|
|
|
|
|
|
[math,file="tex-formula10.png"]
|
|
|
--
|
|
|
\begin{equation}
|
|
|
L = \frac{A^2}{R}
|
|
|
\end{equation}
|
|
|
--
|
|
|
|
|
|
Now it is necessary to estimate the radius in every point of the spiral curve for the calculation of the trend of the lateral acceleration, the curvature, the angle and the slope.
|
|
|
|
|
|
[math,file="tex-formula11.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
\begin{split}
|
|
|
R_{i} = \frac{A^2}{L_{i}} \quad\quad; i = \mathbb R \to [0, L_{max}]
|
|
|
\end{split}
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
[math,file="tex-formula12.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
\begin{split}
|
|
|
a_{i} = \frac{v^2}{R_{i}} \quad\quad; i = \mathbb R \to [0, R_{max}]
|
|
|
\end{split}
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
[math,file="tex-formula13.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
\begin{split}
|
|
|
\kappa_{i} = \frac{1}{R_{i}} \quad\quad; i = \mathbb R \to [0, R_{max}]
|
|
|
\end{split}
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
[math,file="tex-formula14.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
\begin{split}
|
|
|
tau_{i} = \frac{L_{j}}{2 \cdot R_{i}} \quad; i = \mathbb R \to [0, R_{max}] \quad; j = \mathbb R \to [0, L_{max}]
|
|
|
\end{split}
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
[math,file="tex-formula15.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
\begin{split}
|
|
|
k_{i} = tan(tau_{i}) \quad\quad; i = \mathbb R \to [0, tau_{max}]
|
|
|
\end{split}
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
These formula are responsible for the endpoints of the spiral curve and for the calculation of the coordinates for every single point of the clothoid. Further this formula is also used for the estimation of all coordinates on the clothoid. As mentioned above the range of the parameter L is R → [0, L~max~]
|
|
|
|
|
|
[math,file="tex-formula16.png"]
|
|
|
--
|
|
|
\begin{align}
|
|
|
X_{e} &= L_{i} - \frac{L_{i}^5}{40 \cdot A^4} + \frac{L_{i}^9}{3456 \cdot A^8} - \frac{L_{i}^{13}}{599040 \cdot A^{12}} - + \cdots \\
|
|
|
Y_{e} &= \frac{L_{i}^3}{6 \cdot A^2} - \frac{L_{i}^7}{336 \cdot A^6} + \frac{L_{i}^{11}}{42240 \cdot A^{10}} - + \cdots
|
|
|
\end{align}
|
|
|
--
|
|
|
|
|
|
The coordinates of the second clothoid will be calculated by another way. The reason for
|
|
|
that is that the relative coordinates of the first clothoid only have to be rotated and added at the end of the first clothoid. For this transformation the rotary matrix will be used.
|
|
|
|
|
|
The last step is about the description of scaling of the transition curve. This step includes the scaling of the length of the two clothoids to the defined area of ∆x and ∆y. The reason for that step is that the two clothoids are too long for the real curve. For the scaling, the length of the tangent of one clothoid branch in needed.
|
|
|
|
|
|
|
|
|
== Analysis and conclusion
|
|
|
The goal of this analysis is to determine the best possible transition curve type for the ULEA wheelchair. At this junction, the curvature and consequential the lateral acceleration of the specific transition curve has to be as small as possible. The reason for that analysis is, which impact has the passing of a curve for the patient. Therefore, the change of the centrifugal force over the driven distance will be estimate. The figure below shows the trend of the curvature of all three transition curve types. The red line shows the symmetrical transition curve, the blue line shows the unsymmetrical and the green line shows the compound curve. For the analysis, a test curve with the distances of ∆x = 3 and ∆y = 3 was chosen. The speed of the wheelchair was assumed with 2 m/s. As mentioned before, for the estimation itself only the length and the curvature is needed. The table shows the three sectors of trend of the curvature, as well as the corresponding values of the curvature, the lateral acceleration, the resulting centrifugal force and the G-force. The estimation of these values is related to the length of the different sectors. The important thing for this is that with increasing length, the time for the patient to absorb the change of the curvature increases, and so the variation will be alleviated. In general it is the best, if the patient has enough time to prepare all muscles for the absorption. The analysis of the three different types identifies, that in fact the change of the curvature, the lateral acceleration, the centrifugal force and the G-force is equal, but the length of the types differs enormous. This characteristic is the result of the differential types of the transition curve. The table 6.1 is the basis of, that the compound curve has the fastest increase of the curvature. The next one is the unsymmetrical with a four times longer increase. The symmetrical transition curve has the longest increase of the curvature.
|
|
|
It is circa fourteen times longer, than the increase of the compound curve and therefore the best.
|
|
|
|
|
|
However, the best decrease has the unsymmetrical transition curve, because of the unbalance of the curve the second clothoid is much longer as the first one, which is illustrated at the figure below. The drop of the compound curve is the same, as by the gain, because of the
|
|
|
symmetry. The following parameter are proportional to the trend of the curvature, therefore it is the determinant value for the driving comfort. All in all the best type for moving a
|
|
|
curve, with high driving comfort is the symmetrical transition curve, because it combines
|
|
|
the best behaviour over the complete length of the curve. Because of this behaviour, only
|
|
|
the symmetrical transition curve was implemented as trajectory of the ULEA wheelchair.
|
|
|
As well this type requires also a minimal computing time.
|
|
|
|
|
|
|
|
|
.Value range of the different sectors
|
|
|
[width="100%",options="header,footer"]
|
|
|
|====================
|
|
|
| *Sector* | *Type* | ∆*L*[m] | ∆*k* | ∆*a*[m/s^2^] | ∆*F~Zf~*[N] | ∆*G-force*
|
|
|
| sector 1 | symmetrical | 4,712389 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
| sector 1 | unsymmetrical | 1,3 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
| sector 1 | compound | 0,3 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
| sector 2 | symmetrical | 0 | 0 | 0 | 0 | 0
|
|
|
| sector 2 | unsymmetrical | 0 | 0 | 0 | 0 | 0
|
|
|
| sector 2 | compound | 4,3790 | 0 | 0 | 0 | 0
|
|
|
| sector 3 | symmetrical | 4,712389 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
| sector 3 | unsymmetrical | 8,0914 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
| sector 3 | compound | 0,3 | 0,3 | 1,3 | 160 | 0,1359
|
|
|
|====================
|
|
|
|
|
|
image::fig/5.png[]
|
|
|
|