## 3 Smoothing Methodology
### Dubins Path Approximation  
Our goal is to construct a 3D path with continuous curvature for given multiple waypoints that all must be passed through. Although the proposed 3D Dubins path algorithm produces the shortest path in 3D space, its curvature is discontinuous at the transition point between a straight line and a circular arc. Since the cubic Bezier curve is a G2-continuous curvature curve, it can be used as a transition curve between a straight line and a circular arc of Dubins path to make a smooth connection. In this paper, we propose a 3D Dubins-path-guided continuous curvature path-smoothing algorithm using the cubic Bezier curve. The proposed algorithm generates a parametric path that simultaneously satisfies curvature continuity and maximum curvature requirements. Once the 3D Dubins path is designed, the pull-out and wheel-over points and their direction vectors are determined, which are the transition points where a straight line and a circular arc meet. The angle between two-direction vectors at the waypoint and its corresponding pull-out or wheel-over point, i.e., the turning angle \(\theta\), can also be computed. In the case of a circular arc departure, if a waypoint \(\mathbf{p}_{i}\) and a pull-out point \(\mathbf{q}_{0,i}\) are assigned as a control point \(\mathbf{a}_{0}\) and \(\mathbf{b}_{0}\) in (15) and (20), respectively, the circular arc can be approximated as a Bezier curve. Similarly, if a wheel-over point \(\mathbf{q}_{1,i}\) and a waypoint \(\mathbf{p}_{i+1}\) are assigned as a control point \(\mathbf{a}_{0}\) and \(\mathbf{b}_{0}\), respectively, the circular arc can also be approximated as a Bezier curve in a case of arrival, as shown in Figure 10. Since the Bezier curve passes through points \(\mathbf{a}_{0}\) and \(\mathbf{b}_{0}\), all waypoints are guaranteed to pass through. Different from the conventional Bezier curve design, a design parameter \(L\) in (18), which is selected considering maximum allowable curvature, is now computed as a function of turning angle in our method. \[L=\frac{\|\mathbf{p}_{i}-\mathbf{q}_{i}\|_{2}}{2\cos\left(\frac{\theta}{2} \right)} \tag{22}\]  
Figure 10: Circular arc approximation. Figure 9: Two Bezier curves. where \(\mathbf{p}_{i}\) is a waypoint and \(\mathbf{q}_{i}\) is a corresponding pull-out or wheel-over point. With the computed \(L\), the maximum curvature \(\kappa_{max}\) is also determined from (19) and (22) as  
\[\kappa_{max}=\frac{1.1228}{R\cos\left(\frac{\theta}{2}\right)} \tag{23}\]  
The problem is that the calculated maximum curvature is always greater than the maximum permissible curvature constraint, and this tendency worsens as the turning angle provided by the Dubins path increases. Moreover, a Bezier curve is possible only when the turning angle is less than 180 degrees. Because the maximum curvature is calculated only with a turning angle, the turning angle must be reduced to much less than 180 degrees to reduce the maximum curvature and overcome the limitation of the Bezier curve. In this paper, we propose to divide the circular arc into several parts and approximate each piece with a Bezier curve until the approximation curve does not deviate too far from the circular arc and the maximum permissible curvature constraint. The maximum curvature and the largest deviation occur at the midpoint of the split circular arc and are, respectively, given as follows:  
\[\kappa_{split}=\frac{1.1228}{R\cos\left(\frac{\theta_{s}}{2} \right)} \tag{24}\] \[\frac{\delta_{max}}{R}=\frac{1}{\cos\left(\frac{\theta_{s}}{2} \right)}-1-0.4533\tan\left(\frac{\theta_{s}}{2}\right)\sin\left(\frac{\theta_ {s}}{2}\right)\]  
where \(\theta_{s}\) is the split turning angle. Figure 11 represents the largest deviation \(\delta_{max}\) and split turning angle \(\theta_{s}\). The reasonable value for \(\theta_{s}\) can be chosen based on (24).