Introduction
Trajectory planning, a core module in an autonomous driving system, is designated to generate spatio-temporal curves that are kinematically feasible, collision-free, passenger-friendly, and energy/time efficient [1], [2]. The existing trajectory planners for autonomous vehicles are broadly classified into search-based, sampling-based, and numerical optimal control-based methods [3], [4], [5], [6]. Search-/sampling-based planners seek a globally optimal path, while numerical optimal control-based planners aim for local optimality. This paper concentrates on numerical optimal control-based planning.
A numerical optimal control-based planner describes a nominal trajectory planning scheme as an optimal control problem (OCP). The OCP is discretized into a nonlinear program (NLP) problem before the NLP is solved by a gradient-based NLP solver [7]. This converts the continuous-time OCP into a problem with finite variables and constraints [8]. However, this conversion is imperfect because the time-continuous constraints in the original OCP are only enforced on finite collocation points, ignoring constraint satisfaction between adjacent collocation points. Increasing the density of collocation points can help, but it does not entirely solve the problem and results in high-dimensional NLPs that require extensive runtime. This constraint ignorance issue has been a common and silent drawback of numerical optimal control-based planners, particularly when constraints are highly non-convex [9], [10], [11].
Collision-avoidance constraints are widely acknowledged as the most complex type of constraint in a trajectory planning problem [12]. As depicted in Fig. 1, ignorance of collision-avoidance constraints between adjacent collocation points easily fails a planned trajectory [13]. This study aims to propose a constraint formulation method that theoretically guarantees safety between adjacent collocation points in an optimal control-based trajectory planner.
Schematics on violations of collision-avoidance constraints between adjacent collocation points. Two discretized footprints are collision-free while collisions do occur between them.
A. Related Works
This subsection reviews the previous studies that explored the violations of collision-avoidance constraints between adjacent collocation points or waypoints. For brevity, we refer to this violation as a non-collocation error throughout this paper.
Most prior works silently assume that non-collocation errors don’t occur if 1) collocation points are sufficiently dense [14], [15], 2) each polygonal obstacle is sufficiently dilated to form a buffer [16], [17], or 3) a cost function with sufficiently large penalty weights is designed to keep the planned trajectory away from obstacles [18]. However, these assumptions lack a quantitative analysis of sufficiency, preventing them from becoming standardized knowledge.
The use of a convex hull to encompass the area swept by the vehicle footprint between two adjacent points has been considered [19], [20]. Nevertheless, a convex hull does not guarantee full coverage of the swept region (Fig. 2). Schulman et al. [21] suggested expanding the convex hull, but the implementation was not detailed. They proposed a repulsive penalty in the cost function as a solution to non-collocation errors, but this does not fully eliminate collision risks. Scheuer and Fraichard [22] proposed a motion polygon to cover the swept-by region between adjacent collocation points, but part of the swept-by region is still out of the motion polygon (Fig. 3a). Additionally, their motion polygon cannot handle instances where adjacent poses overlap. Ghita and Kloetzer [23] proposed a polygonal over-approximation method, which is about building an expanded polygon with the intersection of two tangents to the swept-by region (Fig. 3b). However, that method is still too complex for a gradient-based NLP solver because the vertexes of the swept-by region are not easy to present. As seen from Fig. 3, the swept-by region is over-approximated in [22] or [23], leading to overcautious trajectories or even solution failures. To summarize, modeling the swept-by region as a compact polygon is inapplicable.
Schematics on the usage of a convex hull to cover non-collocation point footprints. The edges of the convex hull are colored blue, which does not fully cover the swept-by region.
Contrary to compact polygon approaches, Li et al. [24] employed multiple polygons to cover the swept-by region. This strategy entails the interpolation of equidistant waypoints between two adjacent collocation points and the imposition of a collision-avoidance constraint at each interpolated waypoint. However, this strategy is still incomplete due to lingering minor collision risks. Zhang et al. [25] proposed a virtual protection frame (VPF) method, which covers the swept-by region by laterally expanded rectangles at each collocation point (Fig. 4). Unlike the compact polygon models, the VPF method ensures that the OCP dimension remains unchanged after addressing the non-collocation error. Nevertheless, the size of each expanded rectangle is established through trial and error, necessitating repeated iterations of the OCP solution process and consuming excessive runtime. More critically, determining the expanded rectangle’s size via trial-and-error risks failure of the iterative solution process, particularly in a tiny environment (this is demonstrated through comparative simulations in Section V). Similar to VPF, methods like the adaptive mesh refinement by Yershov and Frazzoli [26], and the moving finite element method by Chen et al. [27] also exist. In [26], the trajectory resolution is enhanced by continually adjusting the discretized mesh grids, while [27] persistently shifts the non-uniform collocation points until the non-collocation error is minimized. However, both [26] and [27] operate on a trial-and-error basis, making them challenging for quick execution.
Schematics on the usage of virtual protection frames to cover the swept-by region. Notably, the entire swept-by region is covered by two rectangles (i.e., the blue dashed boxes), which are derived by expanding the ego vehicle’s footprints laterally.
In summary, no previous study has satisfactorily addressed the non-collocation error issue considering both completeness and solution speed.
B. Motivations and Contributions
Upon reviewing previous studies, we noted that 1) increasing the density of collocation points would not completely address the issue of concern, and 2) the compact polygon-based methods are excessively complex. The VPF method is promising because it addresses the non-collocation error issue by operating only on collocation points. However, the VPF method is imperfect because it calls for an iterative planning process to determine the expansion buffers, which consumes runtime and easily makes the planner incomplete. In response to the limitations of the VPF method, this work aims to theoretically define expansion buffers, eliminating the need for time-consuming iterative computation.
The contribution of this work lies in the theoretical development of a collision-avoidance constraint model, referred to as the embodied footprint model, which ensures complete safety between adjacent collocation points in using a numerical optimal control-based planner. Specifically, the vehicle footprint at each collocation point is expanded longitudinally and laterally by buffers that fully cover the swept-by region between adjacent collocation points. These buffers, directly related to vehicle speed and curvature, are treated as decision variables along with other state/control variables within the OCP. This gives a numerical optimal control-based planner enough flexibility to find a safe trajectory without resorting to iterative computation.
C. Organization
In the rest of this paper, Section II states the concerned problem in a generic trajectory planning background. Section III proposes a safe collision-avoidance constraint modeling method. Section IV introduces a trajectory planner embedded with the modeling method introduced in Section III. Section V presents and discusses the simulation and experimental results. Finally, Section VI concludes the paper.
Trajectory Planning Problem Statement
This section outlines the trajectory planning problem. A generic formulation of a trajectory planning task is provided in the form of an OCP, which is then discretized into an NLP problem.
A. OCP Formulation
A trajectory planning task is cast into the following OCP:\begin{align*} & \mathop {\text {minimize}}\limits _{{ \mathbf{z}(t), {\mathbf{u}}(t), \textrm {}T}} J, \\ &\,\textrm {s.t.,}\quad \dot {{{\mathbf{z}}}}(t)=f\left ({ { \mathbf{z}(t), \textrm {}{\mathbf{u}}(t)} }\right ), t\in [0,T]; \\ &\hphantom {\,\textrm {s.t.,}\quad }{\underline{ \mathbf {z}}}\le {\mathbf{z}}(t)\le \bar {{{\mathbf{z}}}}, {\underline{ \mathbf {u}}}\le {\mathbf{u}}(t)\le \bar {{{\mathbf{u}}}}, t\in [0,T]; \\ &\hphantom {\,\textrm {s.t.,}\quad }{\mathbf{z}}(0)={\mathbf{z}}_{\textrm {init}}, {\mathbf{u}}(0)={\mathbf{u}}_{\textrm {init}}; \\ &\hphantom {\,\textrm {s.t.,}\quad }{\mathbf{z}}(T)={\mathbf{z}}_{\textrm {end}}, {\mathbf{u}}(T)={\mathbf{u}}_{\textrm {end}}; \\ &\hphantom {\,\textrm {s.t.,}\quad }fp({\mathbf{z}}(t))\subset \Upsilon _{\textrm {FREE}}, \textrm {}t\in [0,T]. \tag{1}\end{align*}
We assume that the single-track bicycle model [7] is able to describe the kinematic constraints \begin{align*} \frac {\textrm {d}}{\textrm {d}t}\left [{ {{\begin{array}{cccccccccccccccccccc} {{\begin{array}{cccccccccccccccccccc} {x(t)} \\ {y(t)} \\ \end{array}}} \\ {v(t)} \\ {\phi (t)} \\ {\theta (t)} \\ \end{array}}} }\right ]=\left [{ {{\begin{array}{cccccccccccccccccccc} {{\begin{array}{cccccccccccccccccccc} {v(t)\cdot \cos \theta (t)} \\ {v(t)\cdot \sin \theta (t)} \\ \end{array}}} \\ {a(t)} \\ {\omega (t)} \\ {v(t)\cdot \tan \phi (t) \mathord {\left /{ {\vphantom {v(t)\cdot \tan \phi (t) {\textrm {L}_{\textrm {W}}}}} }\right . } {\textrm {L}_{\textrm {W}}}} \\ \end{array}}} }\right ],\quad t\in [0,T]. \tag{2}\end{align*}
\begin{align*} \left [{ {{\begin{array}{cccccccccccccccccccc} {\textrm {a}_{\textrm {min}}} \\ {0} \\ {-\Omega _{\textrm {max}}} \\ {-\Phi _{\textrm {max}}} \\ \end{array}}} }\right ]\le \left [{ {{\begin{array}{cccccccccccccccccccc} {a(t)} \\ {v(t)} \\ {\omega (t)} \\ {\phi (t)} \\ \end{array}}} }\right ]\le \left [{ {{\begin{array}{cccccccccccccccccccc} {\textrm {a}_{\textrm {max}}} \\ {\textrm {v}_{\textrm {max}}} \\ {\Omega _{\textrm {max}}} \\ {\Phi _{\textrm {max}}} \\ \end{array}}} }\right ],\quad t\in [0,T]. \tag{3}\end{align*}
\begin{align*} x_{A} (t)&=x(t)+\textrm {L}_{\textrm {F}} \cdot \cos \theta (t)-0.5\textrm {L}_{\textrm {B}} \cdot \sin \theta (t), \\ y_{A} (t)&=y(t)+\textrm {L}_{\textrm {F}} \cdot \sin \theta (t)+0.5\textrm {L}_{\textrm {B}} \cdot \cos \theta (t), \\ x_{B} (t)&=x(t)+\textrm {L}_{\textrm {F}} \cdot \cos \theta (t)+0.5\textrm {L}_{\textrm {B}} \cdot \sin \theta (t), \\ y_{B} (t)&=y(t)+\textrm {L}_{\textrm {F}} \cdot \sin \theta (t)-0.5\textrm {L}_{\textrm {B}} \cdot \cos \theta (t), \\ x_{C} (t)&=x(t)-\textrm {L}_{\textrm {R}} \cdot \cos \theta (t)+0.5\textrm {L}_{\textrm {B}} \cdot \sin \theta (t), \\ y_{C} (t)&=y(t)-\textrm {L}_{\textrm {R}} \cdot \sin \theta (t)-0.5\textrm {L}_{\textrm {B}} \cdot \cos \theta (t), \\ x_{D} (t)&=x(t)-\textrm {L}_{\textrm {R}} \cdot \cos \theta (t)-0.5\textrm {L}_{\textrm {B}} \cdot \sin \theta (t), \\ y_{D} (t)&=y(t)-\textrm {L}_{\textrm {R}} \cdot \sin \theta (t)+0.5\textrm {L}_{\textrm {B}} \cdot \cos \theta (t), \quad t\in [0,T]. \tag{4}\end{align*}
B. NLP Formulation
The previous subsection casts the trajectory planning scheme as an OCP. This subsection briefly outlines the principle for discretizing it into an NLP. For simplicity, the OCP constructed in the previous subsection is abstracted as\begin{align*} &\mathop {\text {minimize}}\limits _{{ \mathbf{z}(t), {\mathbf{u}}(t), \textrm {}T}} J, \\ &\textrm {s.t.,}g\left ({ { \mathbf{z}(t), \dot {{{\mathbf{z}}}}(t), {\mathbf{u}}(t)} }\right )\le 0, t\in [0,T]. \tag{5}\end{align*}
Discretizing (5) into an NLP is about sampling finite moments along the time dimension \begin{equation*} 0=t_{0} < t_{1} < t_{2} < \ldots < t_{\textrm {N}_{\textrm {fe}}} =T. \tag{6}\end{equation*}
\begin{align*} & \mathop {\text {minimize}}\limits _{z_{i}, u_{i}, t_{i}} \textrm {}J\left ({ {z_{i}, u_{i}, t_{i}} }\right ), \\ &\,\textrm {s.t.,}\,g\left ({ {z_{i}, u_{i}, t_{i}} }\right )\le 0, i=0,\ldots ,\textrm {N}_{\textrm {fe}}. \tag{7}\end{align*}
Embodied Footprint-Based Collision Avoidance
Nominally, one uses an NLP solver to solve (7), thereby deriving a numerical solution to the original OCP (5). However, the derived trajectory is not guaranteed to be safe because collision-avoidance constraints are only imposed at finite moments
This section introduces how to model safe collision-avoidance constraints in the NLP formulation (7). As a basic step, the modeling task is identified in Section III-A before details are provided in the next few subsections.
A. Collision-Avoidance Constraint Modeling Task Statement
This subsection states the safety-oriented collision-avoidance constraint modeling. Since the collision-avoidance constraints are used in the formulated NLP, we have to impose a finite number of collision-avoidance constraints, but we expect that each collision-avoidance constraint is modeled in a way that ensures the ego vehicle is safe within a time interval. Specifically, we expand the ego vehicle’s footprint laterally and longitudinally to define an “embodied box” and require that the swept-by region from
Schematics on embodied box A’B’C’D’ that covers the swept-by region from
Without loss of generality, we rotate the ego vehicle in Fig. 6 to an axially aligned pose (see Fig. 7) for the convenience of analysis, i.e., \begin{align*} e_{\textrm {left}} (t_{k} )&=-\frac {\textrm {L}_{\textrm {B}} }{2}-\textrm {x}_{\textrm {min}}, \\ e_{\textrm {right}} (t_{k} )&=\textrm {x}_{\textrm {max}} -\frac {\textrm {L}_{\textrm {B}}}{2}, \\ e_{\textrm {up}} (t_{k} )&=\textrm {y}_{\textrm {max}} -\textrm {L}_{\textrm {F}}, \\ e_{\textrm {down}} (t_{k} )&=-\textrm {L}_{\textrm {R}} -y_{\min }, \tag{8}\end{align*}
B. Determination of \text{y}_{\mathrm{min}}
This subsection introduces how to identify
Nominally, the shape of the swept-by region is determined by control variables
Assumption 1:
Any a
If
Assumption 1 yields that the steering angle variable \begin{align*} \theta (t)&=\theta (t_{k} )+\int _{\tau =t_{k}}^{t} {\frac {v(\tau )\cdot \tan \phi (\tau )}{\textrm {L}_{\textrm {W}}}\textrm {d}\tau } \\ &=\frac {\pi }{2}+\frac {v_{k} \cdot \tan \phi _{k} }{\textrm {L}_{\textrm {W}}}\cdot (t-t_{k} ), t\in [t_{k},t_{k+1} ]. \tag{9}\end{align*}
\begin{equation*} \theta (t)=\frac {\pi }{2}+v_{k} \cdot \kappa _{k} \cdot t, \textrm {}t\in [0,\Delta T], \tag{10a}\end{equation*}
\begin{equation*} x(t)=\frac {\cos (v_{k} \cdot \kappa _{k} \cdot t)-1}{\kappa _{k}}, \textrm {}t\in [0,\Delta T], \tag{10b}\end{equation*}
\begin{equation*} y(t)=\frac {\sin (v_{k} \cdot \kappa _{k} \cdot t)}{\kappa _{k}}, \textrm {}t\in [0,\Delta T]. \tag{10c}\end{equation*}
Substituting (10) into (4) yields the trajectories of the ego vehicle’s four vertex points:\begin{align*} x_{A} (t)&=\frac {\cos (v_{k} \cdot \kappa _{k} \cdot t)-1}{\kappa _{k} }-\textrm {L}_{\textrm {F}} \cdot \sin (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad -\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \cos (v_{k} \cdot \kappa _{k} \cdot t), \\ y_{A} (t)&=\frac {\sin (v_{k} \cdot \kappa _{k} \cdot t)}{\kappa _{k} }+\textrm {L}_{\textrm {F}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad -\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t), \\ x_{B} (t)&=\frac {\cos (v_{k} \cdot \kappa _{k} \cdot t)-1}{\kappa _{k} }-\textrm {L}_{\textrm {F}} \cdot \sin (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \cos (v_{k} \cdot \kappa _{k} \cdot t), \\ y_{B} (t)&=\frac {\sin (v_{k} \cdot \kappa _{k} \cdot t)}{\kappa _{k} }+\textrm {L}_{\textrm {F}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t), \\ x_{C} (t)&=\frac {\cos (v_{k} \cdot \kappa _{k} \cdot t)-1}{\kappa _{k} }+\textrm {L}_{\textrm {R}} \cdot \sin (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \cos (v_{k} \cdot \kappa _{k} \cdot t), \\ y_{C} (t)&=\frac {\sin (v_{k} \cdot \kappa _{k} \cdot t)}{\kappa _{k} }-\textrm {L}_{\textrm {R}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t), \\ x_{D} (t)&=\frac {\cos (v_{k} \cdot \kappa _{k} \cdot t)-1}{\kappa _{k} }+\textrm {L}_{\textrm {R}} \cdot \sin (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad -\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \cos (v_{k} \cdot \kappa _{k} \cdot t), \\ y_{D} (t)&=\frac {\sin (v_{k} \cdot \kappa _{k} \cdot t)}{\kappa _{k} }-\textrm {L}_{\textrm {R}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &\quad -\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t), ~~ t\in [0,\Delta T]. \tag{11}\end{align*}
\begin{align*} \textrm {x}_{\textrm {min}}& =\min \left \{{{x_{A} (t),x_{B} (t),x_{C} (t),x_{D} (t), \forall t\in \left [{ {0,\Delta T} }\right ]} }\right \}, \tag{12a}\\ \textrm {x}_{\textrm {max}}& =\max \left \{{{x_{A} (t),x_{B} (t),x_{C} (t),x_{D} (t), \forall t\in \left [{ {0,\Delta T} }\right ]} }\right \}, \tag{12b}\\ \textrm {y}_{\textrm {min}}& =\min \left \{{{y_{A} (t),y_{B} (t),y_{C} (t),y_{D} (t), \forall t\in \left [{ {0,\Delta T} }\right ]} }\right \}, \tag{12c}\\ \textrm {y}_{\textrm {max}}& =\max \left \{{{y_{A} (t),y_{B} (t),y_{C} (t),y_{D} (t), \forall t\in \left [{ {0,\Delta T} }\right ]} }\right \}. \tag{12d}\end{align*}
According to the definitions of \begin{equation*} \left |{ {v_{k} \cdot \kappa _{k} \cdot t} }\right |\le \frac {\pi }{2}, \forall t\in [0,\Delta T]. \tag{13}\end{equation*}
\begin{equation*} \left |{ {v_{k} \cdot \kappa _{k} \cdot \Delta T} }\right |\le \frac {\pi }{2}. \tag{14}\end{equation*}
Assumption 2:
Assumption 2 ensures that
Recall that negative velocity is not considered in this present work, thus we state the following:
Assumption 3:
With Assumption 3 at hand, the subsequent analyses are divided into two branches as per the sign of
Condition 1:
When \begin{align*} y_{D} (t)&=\left({\frac {1}{\kappa _{k}}-\frac {\textrm {L}_{\textrm {B}}}{2}}\right)\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t)-\textrm {L}_{\textrm {R}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &=\textrm {M}\cdot \sin (v_{k} \cdot \kappa _{k} \cdot t)-\textrm {N}\cdot \cos (v_{k} \cdot \kappa _{k} \cdot t) \\ &=\sqrt {\textrm {M}^{2}+\textrm {N}^{2}} \cdot \sin (v_{k} \cdot \kappa _{k} \cdot t-\alpha ), \tag{15}\end{align*}
\begin{equation*} \alpha =\arccos \left({\frac {\textrm {M}}{\sqrt {\textrm {M}^{2}+\textrm {N}^{2}} }}\right). \tag{16}\end{equation*}
If \begin{equation*} {y}'_{D} (t)=v_{k} \cdot \kappa _{k} \cdot \sqrt {\textrm {M}^{2}+\textrm {N}^{2}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot t-\alpha ).\end{equation*}
\begin{equation*} \sin (v_{k} \cdot \kappa _{k} \cdot t^{\ast }-\alpha )=-1,\end{equation*}
To make \begin{equation*} v_{k} \cdot \kappa _{k} \cdot \Delta T-\alpha \le -\frac {\pi }{2}. \tag{17}\end{equation*}
This inequality is further described as \begin{equation*} 0 < v_{k} \cdot \kappa _{k} \cdot \Delta T\le \arctan \left({-\frac {\frac {1}{\kappa _{k}}-\frac {\textrm {L}_{\textrm {B}}}{2}}{\textrm {L}_{\textrm {R}}}}\right). \tag{18}\end{equation*}
\begin{align*} y_{D} (\Delta T)&=\left({\frac {1}{\kappa _{k}}-\frac {\textrm {L}_{\textrm {B}} }{2}}\right)\cdot \sin (v_{k} \cdot \kappa _{k} \cdot \Delta T) \\ &\quad -\textrm {L}_{\textrm {R}} \cdot \cos (v_{k} \cdot \kappa _{k} \cdot \Delta T). \tag{19}\end{align*}
\begin{equation*} \sin (v_{k} \cdot \kappa _{k} \cdot \Delta T)\le v_{k} \cdot \kappa _{k} \cdot \Delta T, \tag{20a}\end{equation*}
\begin{equation*} \cos (v_{k} \cdot \kappa _{k} \cdot \Delta T)\le 1. \tag{20b}\end{equation*}
\begin{equation*} \left({\frac {1}{\kappa _{k}}-\frac {\textrm {L}_{\textrm {B}}}{2}}\right)\cdot v_{k} \cdot \kappa _{k} \cdot \Delta T-\textrm {L}_{\textrm {R}} \le y_{D} (\Delta T). \tag{21}\end{equation*}
\begin{equation*} \textrm {y}_{\textrm {min}} =\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \kappa _{k} \cdot s_{k} -s_{k} -\textrm {L}_{\textrm {R}}, \tag{22}\end{equation*}
The aforementioned analysis assumes that
Condition 2:
In dealing with
Summarizing the analyses for
1° When \begin{equation*} \textrm {y}_{\textrm {min}} =\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |\cdot s_{k} -s_{k} -\textrm {L}_{\textrm {R}}, \tag{23a}\end{equation*}
\begin{equation*} \left |{ {\kappa _{k}} }\right |\cdot s_{k} \le \arctan \left({-\frac {\frac {1}{\left |{ {\kappa _{k}} }\right |}-\frac {\textrm {L}_{\textrm {B}} }{2}}{\textrm {L}_{\textrm {R}}}}\right). \tag{23b}\end{equation*}
\begin{equation*} \textrm {y}_{\textrm {min}} =-\textrm {L}_{\textrm {R}}, \tag{23c}\end{equation*}
\begin{equation*} \left |{ {\kappa _{k}} }\right |\cdot s_{k} \le \frac {\pi }{2}. \tag{23d}\end{equation*}
Assumption 4:
Empirically, Assumption 4 holds for a passenger vehicle, which means \begin{equation*} \frac {1}{\left |{ {\kappa _{k}} }\right |}-\frac {\textrm {L}_{\textrm {B}} }{2}=\left |{ {\frac {\textrm {L}_{\textrm {W}}}{\tan \phi _{k}}} }\right |-\frac {\textrm {L}_{\textrm {B}}}{2}\ge \frac {\textrm {L}_{\textrm {W}} }{\tan \phi _{\max }}-\frac {\textrm {L}_{\textrm {B}}}{2}>0. \tag{24}\end{equation*}
The final conclusion of this subsection is that
C. Determinations of \text{y}_{\mathrm{max}}
, \text{x}_{\mathrm{min}}
, and \text{x}_{\mathrm{max}}
This subsection introduces the definitions of ymax, xmin, and xmax. The analyses are similar to those in Section III-B, thus details are omitted.
ymax is written as \begin{equation*} \textrm {y}_{\textrm {max}} =s_{k} +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |\cdot s_{k} +\textrm {L}_{\textrm {F}}, \tag{25a}\end{equation*}
\begin{equation*} s_{k} \cdot \left |{ {\kappa _{k}} }\right |\le \arctan \left({\frac {\frac {1}{\left |{ {\kappa _{k}} }\right |}+\frac {\textrm {L}_{\textrm {B}} }{2}}{\textrm {L}_{\textrm {F}}}}\right). \tag{25b}\end{equation*}
\begin{align*} \textrm {x}_{\textrm {min}} =-\frac {\textrm {L}_{\textrm {B}}}{2}-\max \left \{{ {-\textrm {L}_{\textrm {R}} \cdot \kappa _{k} \cdot s_{k}, \textrm {}\left({\textrm {L}_{\textrm {F}} +\frac {s_{k}}{2}}\right)\cdot \kappa _{k} \cdot s_{k}} }\right \}, \tag{26a}\end{align*}
\begin{equation*} s_{k} \cdot \left |{ {\kappa _{k}} }\right |\le \arctan \left({\frac {\textrm {L}_{\textrm {R}}}{\frac {1}{\left |{ {\kappa _{k}} }\right |}+\frac {\textrm {L}_{\textrm {B}}}{2}}}\right). \tag{26b}\end{equation*}
\begin{align*} \textrm {x}_{\textrm {max}} =\frac {\textrm {L}_{\textrm {B}}}{2}+\max \left \{{ {\textrm {L}_{\textrm {R}} \cdot \kappa _{k} \cdot s_{k},-\left({\textrm {L}_{\textrm {F}} +\frac {s_{k}}{2}}\right)\cdot \kappa _{k} \cdot s_{k}} }\right \}, \tag{27a}\end{align*}
\begin{equation*} s_{k} \cdot \left |{ {\kappa _{k}} }\right |\le \arctan \left({\frac {\textrm {L}_{\textrm {R}}}{\frac {1}{\left |{ {\kappa _{k}} }\right |}+\frac {\textrm {L}_{\textrm {B}}}{2}}}\right){.} \tag{27b}\end{equation*}
D. Definition of an Embodied Box
Sections III-B and III-C have defined ymin, ymax, xmin, and xmax. This subsection further forms an embodied box based on the aforementioned definitions. Eq. (8) yields that \begin{align*} (-\textrm {x}_{\textrm {min}} )-e_{\textrm {left}} (t_{k} )&=\frac {\textrm {L}_{\textrm {B}}}{2}, \\ \textrm {x}_{\textrm {max}} -e_{\textrm {right}} (t_{k} )&=\frac {\textrm {L}_{\textrm {B}}}{2}, \\ (-\textrm {y}_{\textrm {min}} )-e_{\textrm {down}} (t_{k} )&=\textrm {L}_{\textrm {R}}, \\ \textrm {y}_{\textrm {max}} -e_{\textrm {up}} (t_{k} )&=\textrm {L}_{\textrm {F}}. \tag{28}\end{align*}
\begin{align*} e_{\textrm {left}} (t_{k} )&=\max \left \{{{-\textrm {L}_{\textrm {R}} \cdot \kappa _{k} \cdot s_{k}, \left({\textrm {L}_{\textrm {F}} +\frac {s_{k} }{2}}\right)\cdot \kappa _{k} \cdot s_{k}} }\right \}, \\ e_{\textrm {right}} (t_{k} )&=\max \left \{{{\textrm {L}_{\textrm {R}} \cdot \kappa _{k} \cdot s_{k},-\left({\textrm {L}_{\textrm {F}} +\frac {s_{k}}{2}}\right)\cdot \kappa _{k} \cdot s_{k}} }\right \}, \\ e_{\textrm {up}} (t_{k} )&=s_{k} +\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |\cdot s_{k}, \\ e_{\textrm {down}} (t_{k} )&=0, \tag{29}\end{align*}
Eq. (25b) is rewritten as \begin{equation*} \tan \left ({ {s_{k} \cdot \left |{ {\kappa _{k}} }\right |} }\right )\le \frac {\frac {1}{\left |{ {\kappa _{k}} }\right |}+\frac {\textrm {L}_{\textrm {B}} }{2}}{\textrm {L}_{\textrm {F}}}, \tag{30a}\end{equation*}
\begin{equation*} \left |{ {\kappa _{k}} }\right |\cdot \textrm {L}_{\textrm {F}} \cdot \tan \left ({ {s_{k} \cdot \left |{ {\kappa _{k}} }\right |} }\right )\le 1+\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |. \tag{30b}\end{equation*}
\begin{equation*} \left ({ {1+\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |} }\right )\cdot \tan \left ({ {s_{k} \cdot \left |{ {\kappa _{k}} }\right |} }\right )\le \textrm {L}_{\textrm {R}} \cdot \left |{ {\kappa _{k}} }\right |. \tag{31}\end{equation*}
Based on the aforementioned analyses, the four vertexes of the ego vehicle at time instance
According to (29), the embodied box becomes large when
E. Formulation of Safe Collision-Avoidance Constraints
This subsection presents the safety-oriented collision-avoidance constraints with the defined embodied box at the collocation point
The four vertices of the embodied box are defined as \begin{align*} {\stackrel {{{ \unicode{0x2322}}}} {x}} _{A} (t_{k} )&=x(t_{k} )+\left ({ {\textrm {L}_{\textrm {F}} +e_{\textrm {up}} (t_{k} )} }\right ) \\ &\quad \cdot \cos \theta (t_{k} )-\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {left}} (t_{k} )} }\right )\cdot \sin \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {y}} _{A} (t_{k} )&=y(t_{k} )+\left ({ {\textrm {L}_{\textrm {F}} +e_{\textrm {up}} (t_{k} )} }\right ) \\ &\quad \cdot \sin \theta (t_{k} )+\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {left}} (t_{k} )} }\right )\cdot \cos \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {x}} _{B} (t_{k} )&=x(t_{k} )+\left ({ {\textrm {L}_{\textrm {F}} +e_{\textrm {up}} (t_{k} )} }\right ) \\ &\quad \cdot \cos \theta (t_{k} )+\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {right}} (t_{k} )} }\right )\cdot \sin \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {y}} _{B} (t_{k} )&=y(t_{k} )+\left ({ {\textrm {L}_{\textrm {F}} +e_{\textrm {up}} (t_{k} )} }\right ) \\ &\quad \cdot \sin \theta (t_{k} )-\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {right}} (t_{k} )} }\right )\cdot \cos \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {x}} _{C} (t_{k} )&=x(t_{k} )-\left ({ {\textrm {L}_{\textrm {R}} +e_{\textrm {down}} (t_{k} )} }\right ) \\ &\quad \cdot \cos \theta (t_{k} )+\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {right}} (t_{k} )} }\right )\cdot \sin \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {y}} _{C} (t_{k} )&=y(t_{k} )-\left ({ {\textrm {L}_{\textrm {R}} +e_{\textrm {down}} (t_{k} )} }\right ) \\ &\quad \cdot \sin \theta (t_{k} )-\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {right}} (t_{k} )} }\right )\cdot \cos \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {x}} _{D} (t_{k} )&=x(t_{k} )-\left ({ {\textrm {L}_{\textrm {R}} +e_{\textrm {down}} (t_{k} )} }\right ) \\ &\quad \cdot \cos \theta (t_{k} )-\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {left}} (t_{k} )} }\right )\cdot \sin \theta (t_{k} ), \\ {\stackrel {{{ \unicode{0x2322}}}} {y}} _{D} (t_{k} )&=y(t_{k} )-\left ({ {\textrm {L}_{\textrm {R}} +e_{\textrm {down}} (t_{k} )} }\right ) \\ &\quad \cdot \sin \theta (t_{k} )+\left ({ {\frac {\textrm {L}_{\textrm {B}}}{2}+e_{\textrm {left}} (t_{k} )} }\right )\cdot \cos \theta (t_{k} ). \tag{32}\end{align*}
It is required that the embodied box
A collision between the rectangular embodied box
The generic constraint that a point \begin{equation*} S_{\Delta \textrm {QW}_{\textrm {m}} \textrm {W}_{1}} +\sum \limits _{l=1}^{\textrm {m}-1} {S_{\Delta \textrm {QW}_{l} \textrm {W}_{l+1}}} >S_{\Box \textrm {W}_{1} \textrm {W}_{2} {\ldots\textrm { W}}_{\textrm {m}}}, \tag{33}\end{equation*}
\begin{align*} S_{\Delta {\textrm {QW}_{l}} {\textrm {W}_{l+1}}} &=0.5\cdot \left |{ {x_{\textrm {Q}} y_{\textrm {W}l} +x_{\textrm {W}l} y_{\textrm {W}l+1} +x_{\textrm {W}l+1} y_{\textrm {Q}}} }\right . \\ &\quad \left .{ - {x_{\textrm {Q}} y_{\textrm {W}l+1} -x_{\textrm {W}l} y_{\textrm {Q}} -x_{\textrm {W}l+1} y_{\textrm {W}l}} }\right |. \tag{34}\end{align*}
\begin{align*} &\hspace {-1pc} S_{\Delta \textrm {QV}_{j\textrm {N}_{j}} \textrm {V}_{j1}} +\sum \limits _{l=1}^{\textrm {N}_{j} -1} {S_{\Delta \textrm {QV}_{jl} \textrm {V}_{j(l+1)}}} >S_{\Box \textrm {V}_{j1} \textrm {V}_{j2} {\ldots\textrm { V}}_{j\textrm {N}_{j}}}, \\ &\quad \forall \textrm {Q}\in \left \{{{A',B',C',D'} }\right \}. \tag{35a}\\ &\hspace {-1pc} S_{\Delta \textrm {Q}A'B'} +S_{\Delta \textrm {Q}B'C'} +S_{\Delta \textrm {Q}C'D'} +S_{\Delta \textrm {Q}D'A'} >S_{\Box A'B'C'D'}, \\ &\quad \forall \textrm {Q}\in \left \{{{V_{j1},V_{j2},\ldots ,V_{j\textrm {N}_{j}}} }\right \}. \tag{35b}\end{align*}
\begin{align*} S_{\Box A'B'C'D'} &=\left ({ {e_{\textrm {up}} (t_{k} )+e_{\textrm {down}} (t_{k} )+\textrm {L}_{\textrm {R}} +\textrm {L}_{\textrm {F}}} }\right ) \\ &\quad \times \left ({ {e_{\textrm {left}} (t_{k} )+e_{\textrm {right}} (t_{k} )+\textrm {L}_{\textrm {B}}} }\right ). \tag{35c}\end{align*}
For brevity, the collision-avoidance constraints between the embodied footprint
Trajectory Planning With Embodied Footprints
This section introduces a trajectory planner based on numerical optimal control, embedded with the embodied footprints proposed in the preceding section. We begin with an overall algorithm architecture in Section IV-A before entering into the detailed functions.
A. Overall Framework
The steps in the proposed trajectory planner are summarized in the following pseudo-code.
In Line 1 of Alg. 1, the function
Algorithm 1 Optimization-Based Trajectory Planning With Embodied Footprints
Function
return;
In Line 2 of Alg. 1,
In Line 3, the coarse trajectory is converted to an initial guess ig, which contains all state and control variables in their discretized forms.
An NLP is built via
After solving the formulated NLP via a gradient-based optimizer in Line 5, we convert the derived solution sol to an optimized trajectory traj, which is the final output of Alg. 1.
B. Velocity Generation in Initial Guess
This subsection presents the principle of AttachVelocity In the first step, we assign a kinematically feasible and time-optimal velocity profile to the coarse path. This is achieved by solving a one-dimensional OCP via Pontryagin’s Maximum Principle. Using this method, we obtain a coarse trajectory preliminarily.
The second step starts from resampling along the derived coarse trajectory densely. The values of state and control profiles, together with the time stamp, are recorded in each densely resampled waypoint. The first waypoint wp0 refers to the one at \begin{align*} \kappa _{k} &=\textrm {wp}_{0}.\kappa , \\ s_{k}& =\textrm {wp}_{0}.v\cdot \left ({ {\textrm {wp}_{1}.\textrm {t}-\textrm {wp}_{0}.\textrm {t}} }\right ){.} \tag{36}\end{align*}
\begin{align*} \left |{ {\kappa _{k}} }\right |\cdot s_{k} &\le \lambda \cdot \frac {\pi }{2}, \tag{37a}\\ \left |{ {\kappa _{k}} }\right |\cdot \textrm {L}_{\textrm {F}} \cdot \tan \left ({ {s_{k} \cdot \left |{ {\kappa _{k}} }\right |} }\right )&\le {\lambda }\cdot \left ({ {1+\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k} } }\right |} }\right ), \tag{37b}\\ \left ({ {1+\frac {\textrm {L}_{\textrm {B}}}{2}\cdot \left |{ {\kappa _{k}} }\right |} }\right )\cdot \tan \left ({ {s_{k} \cdot \left |{ {\kappa _{k}} }\right |} }\right )&\le \lambda \cdot \left ({ {\textrm {L}_{\textrm {R}} \cdot \left |{ {\kappa _{k}} }\right |} }\right ). \tag{37c}\end{align*}
Since the waypoints are densely resampled, wp1 may not violate the prerequisites (37). If so, one continues to check wp2, wp3, etc. until a violating waypoint wpm is found, which means wp
Before the end of this subsection, the reason for introducing
C. NLP Formulation
This subsection presents the NLP formulation, which is comprised of a cost function \begin{align*} &\mathop {\text {minimize}}\limits _{z_{i}, u_{i}, t_{i}}~ \textrm {}J\left ({ {z_{i}, u_{i}, t_{i}} }\right ), \\ &\textrm {s.t.,}~\textrm {vehicle kinematic constraints;} \\ &\hphantom {\textrm {s.t.,}~}\textrm {two-point boundary value constraints;} \\ &\hphantom {\textrm {s.t.,}~}\textrm {embodied-footprint constraints.} \tag{38}\end{align*}
\begin{equation*} z_{i} =f\left ({ {z_{i-1}, u_{i-1}, t_{i-1}} }\right ), i=1,\ldots ,\textrm {N}_{\textrm {fe}}. \tag{39}\end{equation*}
The embodied-footprint constraints are only applied to the collocation points indexed from 1 to (Nfe–1). This is because the collocation points indexed 0 and Nfe correspond to the initial and final positions, which are assumed to be free from collisions. It is worth noting that the collocation points are not forced to be equidistant along \begin{align*} t_{0} &=0, t_{\textrm {N}_{\textrm {fe}}} =T, \tag{40a}\\ t_{k-1}& \le t_{k}, k=1,\ldots ,\textrm {N}_{\textrm {fe}}. \tag{40b}\end{align*}
\begin{align*} \kappa _{k} &=1/\textrm {L}_{\textrm {W}} \cdot \tan \phi _{k}, \tag{40c}\\ s_{k} &=v_{k} \cdot (t_{k+1} -t_{k} ), \tag{40d}\end{align*}
\begin{equation*} \textsf {EmbodiedFootprints}(t_{k} )\le 0. \tag{40e}\end{equation*}
In summary, the embodied-footprint constraints consist of (23d), (30b), (29), (31), and (40), which enable our method to plan safe trajectories. It is worth noting that the prerequisites (23d), (30b), and (31) must be satisfied, as our definition of embodied footprints would otherwise be incorrect. However, these prerequisites, which we actively incorporate as constraints in the NLP to ensure they are met, should not be viewed as a deficiency in our planner. In other words, the NLP solver will automatically adjust the decision variables to meet these prerequisites, so users need not verify their fulfillment prior to utilizing our planner. In fact, the efficiency of our proposed trajectory planner only hinges on three assumptions:
In discretizing the OCP into an NLP, the state and control variables are piecewise constant.
The ego vehicle does not go backward during the driving process.
The geometrics and kinematics of the ego vehicle satisfy
.2\textrm {L}_{\textrm {W}} >\textrm {L}_{\textrm {B}} \cdot \tan \phi _{\max }
Experimental Results and Discussions
Simulations and field tests were conducted to validate the completeness, solution optimality, solution speed, application scope, and closed-loop tracking performance of our proposed trajectory planner.
A. Simulation Setup
Simulations were performed in MATLAB (R2023a) and executed on an i9–9900 CPU that runs at
The OCP’s cost function is defined as the completion time of the driving process. Typically, one might define the cost function as a weighted sum of both time efficiency and trajectory smoothness. However, by focusing purely on time optimality in the OCP, planned trajectories move closer to barriers and/or vertices of obstacles, providing a better demonstration of our proposal’s collision-avoidance ability. In seeking time optimality, an intuitive idea is to define the cost function as \begin{equation*} J=\sum \nolimits _{k=0}^{\textrm {N}_{\textrm {fe}} -1} {\left ({ {t_{k+1} -t_{k} } }\right )^{2}}. \tag{41}\end{equation*}
A 30m
B. Simulation Results and Discussions
Three distinct simulation cases were established, each characterized by environmental obstacles with sharp vertices. These cases were designed specifically to probe the ability of our planner to successfully avoid obstacles throughout the driving process. Fig. 8 depicts the optimized trajectories together with the footprints. These footprints, densely resampled between adjacent collocation points, do not overlap with the environmental obstacles, validating the efficacy of our proposed trajectory planner.
Footprints associated with optimized trajectories derived by our proposed trajectory planner: (a) Case 1 with
Within Fig. 8, the collocation points are marked as red dots along the optimized trajectory. Notably, these points are not equally spaced in the time horizon. Concentrating on Case 3, we provide a further depiction of the optimized
Comparison between initially guessed and optimized time subinterval durations
Case 2 serves as an example in our examination of how the user-specified parameter
Our proposed trajectory planner is evaluated alongside existing optimization-based trajectory planners, including the naive NLP method [7], the Lightweight Iterative Optimization Method (LIOM) [1], and VPF [25]. The naïve NLP method is identical to our approach except that the embodied footprint constraints in the NLP (38) are replaced with the nominal collision-avoidance constraints applied to the collocation points. LIOM employs multiple discs to cover the rectangular vehicle body, thus creating buffers to mitigate non-collocation errors. The VPF method was mentioned in Section I-A. When implementing VPF, we strictly follow the pseudo codes and parametric settings in [25]. To ensure fairness in comparison, the number of collocation points in the naïve NLP method, LIOM, or VPF is set to match the value identified by our proposed planner in each case. Thus, the collocation point number remains identical throughout all four planners for each trajectory planning case.
The results of the comparative simulations are summarized in Table II. Here, “completeness” refers to whether a planned trajectory can successfully mitigate non-collocation errors. As shown in the table, the naïve NLP method fails to achieve completeness in two cases. Using Case 2 as an example, Fig. 11 highlights minor collisions between adjacent collocation points, thus showing the limitation of the naïve NLP method and reaffirming our motivation for this research. Although LIOM operates swiftly, it produces overly conservative trajectories, as reflected by the optimized
Footprints associated with an optimized trajectory that is derived by naïve NLP planner in Case 2. Note that collocation points distribute uniformly along time horizon.
Upon examining Fig. 12, some readers might argue that VPF offers better solution optimality than our planner because VPF is less conservative. To respond to this concern, we define a new case by adding several static obstacles to Case 3, thus making the environment tighter. Fig. 13a shows the optimized trajectory along with the densely resampled footprints from our proposed planner, whereas VPF, LIOM, and the naïve NLP method fail in that case. Recall that LIOM deploys multiple discs to model the ego vehicle’s rectangular footprint. This would render a too large buffer region around the ego vehicle to hinder a narrow passage traverse. That is why LIOM did not work in tiny scenarios. Conversely, the naïve NLP method exits with an optimal trajectory successfully, but the derived trajectory is found to be invalid because it involves non-collocation errors. The failure of VPF is explained as follows. VPF employs a trial-and-error strategy, which starts with solving the naïve NLP problem. If the derived trajectory leads to collisions between adjacent collocation points, then the ego vehicle’s footprint is laterally expanded quantitatively in hopes of reducing collisions in the next iteration with this enhanced buffer. In VPF, a variable
Comparison between this work and VPF in an enhanced version of Case 3. Note that the black obstacles are newly added to make this new case distinct from Case 3. (a) Footprints associated with an optimized trajectory derived by our proposed planner; (b) Footprints associated with an output trajectory (invalid) derived by VPF.
Fig. 13a plots the distribution of collocation points along the optimized trajectory, indicating that the collocation points are densely packed near the bottleneck regions. This is not determined by users but by the NLP solution process itself. In other words, our planner knows how to distribute collocation points to navigate narrow passages safely. If the passages are really tiny, the NLP solution process knows to slow down with slim steering angles there so as to make the embodied footprints close to the actual footprints there. This unique advantage of our proposed planner clearly demonstrates that tackling narrow passages in a trial-and-error mode is not a complete solution.
The results of the simulation cases discussed in this subsection can be found at bilibili.com/video/BV1J94y1W7JY/. In these simulations, the ego vehicle is bordered in green and the embodied footprint is marked in red.
C. Field Test Setup, Results, and Discussions
Field tests were conducted on a small-sized autonomous vehicle platform within a
The indoor infrared solution, provided by NOKOV®, was implemented in this study. The infrared sensors from this solution operated at a frequency of 60Hz. The data collected for perception and localization was processed on a desktop computer. This is where the trajectory planning codes, written in C++, were compiled and executed. The trajectory planning module ran once to generate an offline trajectory before the ego vehicle initiated its movement. The precalculated trajectory, along with the localization information, was transmitted from the computer to the autonomous vehicle platform via ZigBee. In regards to onboard tracking control, a Proportional-Integral-Derivative controller was employed for longitudinal tracking, while a Pure Pursuit controller was used for lateral tracking. Each controller was set to a frequency of 10 Hz.
Parameters relevant to the vehicle’s kinematics and geometry are detailed in Table III. These parameters satisfy
Representative results of the field tests can be accessed via the video link provided in Section V-B. Fig. 15 showcases snapshots of the closed-loop tracking performance, signifying that the planned open-loop trajectory is safe and easily trackable, as further illustrated in Fig. 16.
Snapshots of closed-loop control performance when the ego vehicle is tracking a planned open-loop trajectory, which is derived by a trajectory planner with safe collision-avoidance constraints.
Conclusion
This paper has proposed a theoretical model for safe collision-avoidance constraints for numerical optimal control-based trajectory planners. We have named the proposed model embodied footprint, drawing inspiration from the emerging concept embodied intelligence from the AI research field. We aim to capture the idea that the footprint model of the ego vehicle proactively knows how to flexibly and autonomously set its buffer scale rather than reactively making adjustments in a feedback or trial-and-error manner.
The proposed method can be further extended to deal with precision-aware motion planning problems in other robotics-related fields other than autonomous driving. The proposed modeling method may also work as a fast collision checker that only needs to examine a small number of waypoints along a to-be-checked path or trajectory.
Our future work is to further extend the current study so that reverse driving conditions are enabled, which are simply symmetric to the analyses in this paper, though.