This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

REFINE: Reachability-based Trajectory Design using Robust Feedback Linearization and Zonotopes

Jinsun Liu, Yifei Shao, Lucas Lymburner, Hansen Qin, Vishrut Kaushik,
Lena Trang, Ruiyang Wang, Vladimir Ivanovic, H. Eric Tseng, and Ram Vasudevan
Jinsun Liu, Lucas Lymburner, Vishrut Kaushik, Ruiyang Wang, and Ram Vasudevan are with the Department of Robotics, University of Michigan, Ann Arbor, MI 48109. {jinsunl, llyburn, vishrutk, ruiyangw, ramv}@umich.edu.Yifei Shao is with the Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19104. [email protected].Hansen Qin is with the Department of Mechanical Engineering, University of Michigan, Ann Arbor, MI 48109. [email protected].Lena Trang is with the College of Engineering, Ann Arbor, MI 48109. [email protected].Vladimir Ivanovic and Eric Tseng are with Ford Motor Company. {vivanovi, htseng}@ford.com. This work is supported by the Ford Motor Company via the Ford-UM Alliance under award N022977.*These two authors contributed equally to this work.
Abstract

Performing real-time receding horizon motion planning for autonomous vehicles while providing safety guarantees remains difficult. This is because existing methods to accurately predict ego vehicle behavior under a chosen controller use online numerical integration that requires a fine time discretization and thereby adversely affects real-time performance. To address this limitation, several recent papers have proposed to apply offline reachability analysis to conservatively predict the behavior of the ego vehicle. This reachable set can be constructed by utilizing a simplified model whose behavior is assumed a priori to conservatively bound the dynamics of a full-order model. However, guaranteeing that one satisfies this assumption is challenging. This paper proposes a framework named REFINE to overcome the limitations of these existing approaches. REFINE utilizes a parameterized robust controller that partially linearizes the vehicle dynamics even in the presence of modeling error. Zonotope-based reachability analysis is then performed on the closed-loop, full-order vehicle dynamics to compute the corresponding control-parameterized, over-approximate Forward Reachable Sets (FRS). Because reachability analysis is applied to the full-order model, the potential conservativeness introduced by using a simplified model is avoided. The pre-computed, control-parameterized FRS is then used online in an optimization framework to ensure safety. The proposed method is compared to several state of the art methods during a simulation-based evaluation on a full-size vehicle model and is evaluated on a 110\frac{1}{10}th race car robot in real hardware testing. In contrast to existing methods, REFINE is shown to enable the vehicle to safely navigate itself through complex environments.

Index Terms:
Motion and path planning, robot safety, reachability analysis, control, zonotopes.

I Introduction

Refer to caption
Figure 1: REFINE first designs a robust controller to track parameterized reference trajectories by feedback linearizing a subset of vehicle states. REFINE then performs offline reachability analysis using a closed-loop full-order vehicle dynamics to construct a control-parameterized, zonotope reachable sets (shown as grey boxes) that over-approximate all possible behaviors of the vehicle model over the planning horizon. During online planning, REFINE computes a parameterized controller that can be safely applied to the vehicle by solving an optimization problem, which selects subsets of pre-computed zonotope reachable sets that are guaranteed to be collision free. In this figure, subsets of grey zonotope reachable sets corresponding to the control parameter shown in green ensures a collision-free path while the other two control parameters shown magenta might lead to collisions with white obstacles.

Autonomous vehicles are expected to operate safely in unknown environments with limited sensing horizons. Because new sensor information is received while the autonomous vehicle is moving, it is vital to plan trajectories using a receding-horizon strategy in which the vehicle plans a new trajectory while executing the trajectory computed in the previous planning iteration. It is desirable for such motion planning frameworks to satisfy three properties: First, they should ensure that any computed trajectory is dynamically realizable by the vehicle. Second, they should operate in real time so that they can react to newly acquired environmental information collected. Finally, they should verify that any computed trajectory when realized by the vehicle does not give rise to collisions. This paper develops an algorithm to satisfy these three requirements by designing a robust, partial feedback linearization controller and performing zonotope-based reachability analysis on a full-order vehicle model.

We begin by summarizing related works on trajectory planning and discuss their potential abilities to ensure safe performance of the vehicle in real-time. To generate safe motion plan in real-time while satisfying vehicle dynamics, it is critical to have accurate predictions of vehicle behavior over the time horizon in which planning is occurring. Because vehicle dynamics are nonlinear, closed-form solutions of vehicle trajectories are incomputable and approximations to the vehicle dynamics are utilized. For example, sampling-based methods typically discretize the system dynamic model or state space to explore the environment and find a path, which reaches the goal location and is optimal with respect to a user-specified cost function [1, 2]. To model vehicle dynamics during real-time planning, sampling-based methods apply online numerical integration and buffer obstacles to compensate for numerical integration error [3, 4, 5]. Ensuring that a numerically integrated trajectory can be dynamically realized and be collision-free can require applying fine time discretization. This typically results in an undesirable trade-off between these two properties and real-time operation. Similarly, Nonlinear Model Predictive Control (NMPC) uses time discretization to generate an approximation of solution to the vehicle dynamics that is embedded in optimization program to compute a control input that is dynamically realizable while avoiding obstacles [6, 7, 8, 9]. Just as in the case of sampling-based methods, NMPC also suffers from the undesirable trade-off between safety and real-time operation.

To avoid this undesirable trade-off, researchers have begun to apply reachability-based analysis. Traditionally reachability analysis was applied to verify that a pre-computed trajectory could be executed safely [10, 11]. More recent techniques apply offline reachable set analysis to compute an over-approximation of the Forward Reachable Set (FRS), which collects all possible behaviors of the vehicle dynamics over a fixed-time horizon. Unfortunately computing this FRS is challenging for systems that are nonlinear or high dimensional. To address this challenge, these reachability-based techniques have focused on pre-specifying a set of maneuvers and simplifying the dynamics under consideration. For instance, the funnel library method [12] computes a finite library of funnels for different maneuvers and over approximates the FRS of the corresponding maneuver by applying Sums-of-Squares (SOS) Programming. Computing a rich enough library of maneuvers and FRS to operate in complex environments can be challenging and result in high memory consumption. To avoid using a finite number of maneuvers, a more recent method called Reachability-based Trajectory Design (RTD) was proposed [13] that considers a continuum of trajectories and applies SOS programming to represent the FRS of a dynamical system as a polynomial level set. This polynomial level set representation can be formulated as functions of time for collision checking [14, 15, 16]. Although such polynomial approximation of the FRS ensures strict vehicle safety guarantees while maintaining online computational efficiency, SOS optimization still struggles with high dimensional systems. As a result, RTD still relies on using a simplified, low-dimensional nonlinear model that is assumed to bound the behavior of a full-order vehicle model. Unfortunately it is difficult to ensure that this assumption is satisfied. More troublingly, this assumption can make the computed FRS overly conservative because the high dimensional properties of the full-order model are treated as disturbances within the simplified model.

These aforementioned reachability-based approaches still pre-specify a set of trajectories for the offline reachability analysis. To overcome this issue, recent work has applied a Hamilton-Jacobi-Bellman based-approach [17] to pose the offline reachability analysis as a differential game between a full-order model and a simplified planning model [18]. The reachability analysis computes the tracking error between the full-order and planning models, and an associated controller to keep the error within the computed bound at run-time. At run-time, one buffers obstacles by this bound, then ensures that the planning model can only plan outside of the buffered obstacles. This approach can be too conservative in practice because the planning model is treated as if it is trying to escape from the high-fidelity model.

To address the limitations of existing approaches, this paper proposes a real-time, receding-horizon motion planning algorithm named REchability-based trajectory design using robust Feedback lInearization and zoNotopEs (REFINE) depicted in Figure 1 that builds on the reachability-based approach developed in [13] by using feedback linearization and zonotopes. This papers contributions are three-fold: First, a novel parameterized robust controller that partially linearizes the vehicle dynamics even in the presence of modeling error. Second, a method to perform zonotope-based reachability analysis on a closed-loop, full-order vehicle dynamics to compute a control-parameterized, over-approximate Forward Reachable Sets (FRS) that describes the vehicle behavior. Because reachability analysis is applied to the full-order model, potential conservativeness introduced by using a simplified model is avoided. Finally, an online planning framework that performs control synthesis in a receding horizon fashion by solving optimization problems in which the offline computed FRS approximation is used to check against collisions. This control synthesis framework applies to All-Wheel, Front-Wheel, or Rear-Wheel-Drive vehicle models.

The rest of this manuscript is organized as follows: Section II describes necessary preliminaries and Section III describes the dynamics of Front-Wheel-Drive vehicles. Section IV explains the trajectory design and vehicle safety in considered dynamic environments. Section V formulates the robust partial feedback linearization controller. Section VI describes Reachability-based Trajectory Design and how to perform offline reachability analysis using zonotopes. Section VII formulates the online planning using an optimization program, and in Section VIII the proposed method is extended to various perspectives including All-Wheel-Drive and Rear-Wheel-Drive vehicle models. Section IX describes how the proposed method is evaluated and compared to other state of the art methods in simulation and in hardware demo on a 1/10th race car model. And Section X concludes the paper.

II Preliminaries

This section defines notations and set representations that are used throughout the remainder of this manuscript. Sets and subspaces are typeset using calligraphic font. Subscripts are primarily used as an index or to describe an particular coordinate of a vector.

Let \mathbb{R}, +\mathbb{R}_{+} and \mathbb{N} denote the spaces of real numbers, real positive numbers, and natural numbers, respectively. Let 0n1×n20_{n_{1}\times n_{2}} denote the n1n_{1}-by-n2n_{2} zero matrix. The Minkowski sum between two sets 𝒜\mathcal{A} and 𝒜\mathcal{A}^{\prime} is 𝒜𝒜={a+aa𝒜,a𝒜}\mathcal{A}\oplus\mathcal{A}^{\prime}=\{a+a^{\prime}\mid a\in\mathcal{A},~{}a^{\prime}\in\mathcal{A}^{\prime}\}. The power set of a set 𝒜\mathcal{A} is denoted by P(𝒜)P(\mathcal{A}). Given vectors α,βn\alpha,\beta\in\mathbb{R}^{n}, let [α]i[\alpha]_{i} denote the ii-th element of α\alpha, let sum(α)\texttt{sum}(\alpha) denote the summation of all elements of α\alpha, let α\|\alpha\| denote the Euclidean norm of α\alpha, let diag(α)\texttt{diag}(\alpha) denote the diagonal matrix with α\alpha on the diagonal, and let int(α,β)\texttt{int}(\alpha,\beta) denote the nn-dimensional box {γn[α]i[γ]i[β]i,i=1,,n}\{\gamma\in\mathbb{R}^{n}\mid[\alpha]_{i}\leq[\gamma]_{i}\leq[\beta]_{i},~{}\forall i=1,\ldots,n\}. Given αn\alpha\in\mathbb{R}^{n} and ϵ>0\epsilon>0, let (α,ϵ)\mathcal{B}(\alpha,\epsilon) denote the nn-dimensional closed ball with center α\alpha and radius ϵ\epsilon under the Euclidean norm. Given arbitrary matrix An1×n2A\in\mathbb{R}^{n_{1}\times n_{2}}, let AA^{\top} be the transpose of AA, let [A]i:[A]_{i:} and [A]:i[A]_{:i} denote the ii-th row and column of AA for any ii respectively, and let |A||A| be the matrix computed by taking the absolute value of every element in AA.

Next, we introduce a subclass of polytopes, called zonotopes, that are used throughout this paper:

Definition 1.

A zonotope 𝒵\mathcal{Z} is a subset of n\mathbb{R}^{n} defined as

𝒵={xnx=c+k=1βkgk,βk[1,1]}\mathcal{Z}=\left\{x\in\mathbb{R}^{n}\mid x=c+\sum_{k=1}^{\ell}\beta_{k}g_{k},\quad\beta_{k}\in[-1,1]\right\} (1)

with center cnc\in\mathbb{R}^{n} and \ell generators g1,,gng_{1},\ldots,g_{\ell}\in\mathbb{R}^{n}. For convenience, we denote 𝒵\mathcal{Z} as <c,G>\text{\textless}c,\;G\text{\textgreater} where G=[g1,g2,,g]n×G=[g_{1},g_{2},\ldots,g_{\ell}]\in\mathbb{R}^{n\times\ell}.

Note that an nn-dimensional box is a zonotope because

int(α,β)=<12(α+β),12diag(βα)>.\texttt{int}(\alpha,\beta)=\text{\textless}\frac{1}{2}(\alpha+\beta),\;\frac{1}{2}\texttt{diag}(\beta-\alpha)\text{\textgreater}. (2)

By definition the Minkowski sum of two arbitrary zonotopes 𝒵1=<c1,G1>\mathcal{Z}_{1}=\text{\textless}c_{1},\;G_{1}\text{\textgreater} and 𝒵2=<c2,G2>\mathcal{Z}_{2}=\text{\textless}c_{2},\;G_{2}\text{\textgreater} is still a zonotope as 𝒵1𝒵2=<c1+c2,[G1,G2]>\mathcal{Z}_{1}\oplus\mathcal{Z}_{2}=\text{\textless}c_{1}+c_{2},\;[G_{1},G_{2}]\text{\textgreater}. Finally, one can define the multiplication of a matrix AA of appropriate size with a zonotope 𝒵=<c,G>\mathcal{Z}=\text{\textless}c,\;G\text{\textgreater} as

A𝒵={xnx=Ac+k=1βkAgk,βk[1,1]}.A\mathcal{Z}=\left\{x\in\mathbb{R}^{n}\mid x=Ac+\sum_{k=1}^{\ell}\beta_{k}Ag_{k},~{}\beta_{k}\in[-1,1]\right\}. (3)

Note in particular that A𝒵A\mathcal{Z} is equal to the zonotope <Ac,AG>\text{\textless}Ac,\;AG\text{\textgreater}.

III Vehicle Dynamics

This section describes the vehicle models that we used in both high-speed and low-speed scenarios throughout this manuscript for autonomous navigation with safety concerns.

III-A Vehicle Model

Refer to caption
Figure 2: Vehicle model with the global frame shown in black and body frame in gray.

The approach described in this paper can be applied to a front-wheel-drive (FWD), rear-wheel drive (RWD), or all-wheel drive (AWD) vehicle models. However, to simplify exposition, we focus on how the approach applies to FWD vehicles and describe how to extend the approach to AWD or RWD vehicles in Section VIII-C. To simplify exposition, we attach a body-fixed coordinate frame in the horizontal plane to the vehicle as shown in Fig. 2. This body frame’s origin is the center of mass of the vehicle, and its axes are aligned with the longitudinal and lateral directions of the vehicle. Let zhi(t)=[x(t),y(t),h(t),u(t),v(t),r(t)]6z^{\text{hi}}(t)=[x(t),y(t),h(t),u(t),v(t),r(t)]^{\top}\in\mathbb{R}^{6} be the states of the vehicle model at time tt, where x(t)x(t) and y(t)y(t) are the position of vehicle’s center of mass in the world frame, h(t)h(t) is the heading of the vehicle in the world frame, u(t)u(t) and v(t)v(t) are the longitudinal and lateral speeds of the vehicle in its body frame, r(t)r(t) is the yaw rate of the vehicle center of mass, and δ(t)\delta(t) is the steering angle of the front tire. To simplify exposition, we assume vehicle weight is uniformly distributed and ignore the aerodynamic effect while modeling the flat ground motion of the vehicles by the following dynamics [19, Chapter 10.4]:

z˙hi(t)=[x˙(t)y˙(t)h˙(t)u˙(t)v˙(t)r˙(t)]=[u(t)cosh(t)v(t)sinh(t)u(t)sinh(t)+v(t)cosh(t)r(t)1m(Fxf(t)+Fxr(t))+v(t)r(t)1m(Fyf(t)+Fyr(t))u(t)r(t)1Izz(lfFyf(t)lrFyr(t))]\dot{z}^{\text{hi}}(t)=\begin{bmatrix}\dot{x}(t)\\ \dot{y}(t)\\ \dot{h}(t)\\ \dot{u}(t)\\ \dot{v}(t)\\ \dot{r}(t)\end{bmatrix}=\begin{bmatrix}u(t)\cos h(t)-v(t)\sin h(t)\\ u(t)\sin h(t)+v(t)\cos h(t)\\ r(t)\\ \frac{1}{m}\big{(}F_{\text{xf}}(t)+F_{\text{xr}}(t)\big{)}+v(t)r(t)\\ \frac{1}{m}\big{(}F_{\text{yf}}(t)+F_{\text{yr}}(t)\big{)}-u(t)r(t)\\ \frac{1}{I_{\text{zz}}}\big{(}l_{\text{f}}F_{\text{yf}}(t)-l_{\text{r}}F_{\text{yr}}(t)\big{)}\end{bmatrix} (4)

where lfl_{\text{f}} and lrl_{\text{r}} are the distances from center of mass to the front and back of the vehicle, IzzI_{\text{zz}} is the vehicle’s moment of inertia, and mm is the vehicle’s mass. Note: lfl_{\text{f}}, lrl_{\text{r}}, IzzI_{\text{zz}} and mm are all constants and are assumed to be known. The tire forces along the longitudinal and lateral directions of the vehicle at time tt are Fxi(t)F_{\text{xi}}(t) and Fyi(t)F_{\text{yi}}(t) respectively, where the ‘i’ subscript can be replaced by ‘f’ for the front wheels or ‘r’ for the rear wheels.

To describe the tire forces along the longitudinal and lateral directions, we first define the wheel slip ratio as

λi(t)={rwωi(t)u(t)u(t)during brakingrwωi(t)u(t)rwωi(t)during acceleration\lambda_{\text{i}}(t)=\begin{dcases}\frac{r_{\text{w}}\omega_{\text{i}}(t)-u(t)}{u(t)}~{}\quad\text{during braking}\\ \frac{r_{\text{w}}\omega_{\text{i}}(t)-u(t)}{r_{\text{w}}\omega_{\text{i}}(t)}~{}\quad\text{during acceleration}\end{dcases} (5)

where the ‘i’ subscript can be replaced as described above by ’f’ for the front wheels or ’r’ for the rear wheels, rwr_{\text{w}} is the wheel radius, ωi(t)\omega_{\text{i}}(t) is the tire-rotational speed at time tt, braking corresponds to whenever rwωi(t)u(t)<0r_{\text{w}}\omega_{\text{i}}(t)-u(t)<0, and acceleration corresponds to whenever rwωi(t)u(t)0r_{\text{w}}\omega_{\text{i}}(t)-u(t)\geq 0. Then the longitudinal tire forces [20, Chapter 4] are computed as

Fxf(t)\displaystyle F_{\text{xf}}(t) =mglrlμ(λf(t)),\displaystyle=\frac{mgl_{\text{r}}}{l}\mu(\lambda_{\text{f}}(t)), (6)
Fxr(t)\displaystyle F_{\text{xr}}(t) =mglflμ(λr(t)),\displaystyle=\frac{mgl_{\text{f}}}{l}\mu(\lambda_{\text{r}}(t)), (7)

where gg is the gravitational acceleration constant, l=lf+lrl=l_{\text{f}}+l_{\text{r}}, and μ(λi(t))\mu(\lambda_{\text{i}}(t)) gives the surface-adhesion coefficient and is a function of the surface being driven on [20, Chapter 13.1]. Note that in FWD vehicles, the longitudinal rear wheel tire force has a much simpler expression:

Remark 2 ([19]).

In a FWD vehicle, Fxr(t)=0F_{\text{xr}}(t)=0 for all tt.

For the lateral direction, define slip angles of front and rear tires as

αf(t)\displaystyle\alpha_{\text{f}}(t) =δ(t)v(t)+lfr(t)u(t),\displaystyle=\delta(t)-\frac{v(t)+l_{\text{f}}r(t)}{u(t)}, (8)
αr(t)\displaystyle\alpha_{\text{r}}(t) =v(t)lrr(t)u(t),\displaystyle=-\frac{v(t)-l_{\text{r}}r(t)}{u(t)}, (9)

then the lateral tire forces [20, Chapter 4] are real-valued functions of the slip angles:

Fyf(t)\displaystyle F_{\text{yf}}(t) =cαf(αf(t)),\displaystyle=c_{\alpha\text{f}}(\alpha_{\text{f}}(t)), (10)
Fyr(t)\displaystyle F_{\text{yr}}(t) =cαr(αr(t)).\displaystyle=c_{\alpha\text{r}}(\alpha_{\text{r}}(t)). (11)

Note μ,cαf\mu,~{}c_{\alpha\text{f}} and cαrc_{\alpha\text{r}} are all nonlinear functions, but share similar characteristics. In particular, they behave linearly when the slip ratio and slip angle are close to zero, but saturate when the magnitudes of the slip ratio and slip angle reach some critical values of λcri\lambda^{\text{cri}} and αcri\alpha^{\text{cri}}, respectively, then decrease slowly [20, Chapter 4, Chapter 13]. As we describe in Section VIII-B, during trajectory optimization we are able to guarantee that μ,cαf\mu,~{}c_{\alpha\text{f}} and cαrc_{\alpha\text{r}} operate in the linear regime. As a result, to simplify exposition until we reach Section VIII-B, we make the following assumption:

Assumption 3.

The absolute values of the the slip ratio and angle are bounded below their critical values (i.e., |λf(t)|,|λr(t)|<λcri|\lambda_{\text{f}}(t)|,|\lambda_{\text{r}}(t)|<\lambda^{\text{cri}} and |αf(t)|,|αr(t)|<αcri|\alpha_{\text{f}}(t)|,|\alpha_{\text{r}}(t)|<\alpha^{\text{cri}} hold for all time).

Assumption 3 ensures that the longitudinal tire forces can be described as

Fxf(t)\displaystyle F_{\text{xf}}(t) =mglrlμ¯λf(t),\displaystyle=\frac{mgl_{\text{r}}}{l}\bar{\mu}\lambda_{\text{f}}(t), (12)
Fxr(t)\displaystyle F_{\text{xr}}(t) =mglflμ¯λr(t),\displaystyle=\frac{mgl_{\text{f}}}{l}\bar{\mu}\lambda_{\text{r}}(t),

and the lateral tire forces can be described as

Fyf(t)\displaystyle F_{\text{yf}}(t) =c¯αfαf(t),\displaystyle=\bar{c}_{\alpha\text{f}}\alpha_{\text{f}}(t), (13)
Fyr(t)\displaystyle F_{\text{yr}}(t) =c¯αrαr(t),\displaystyle=\bar{c}_{\alpha\text{r}}\alpha_{\text{r}}(t),

with constants μ¯,c¯αf,c¯αr\bar{\mu},\bar{c}_{\alpha\text{f}},\bar{c}_{\alpha\text{r}}\in\mathbb{R}. Note c¯αf\bar{c}_{\alpha\text{f}} and c¯αr\bar{c}_{\alpha\text{r}} are referred to as cornering stiffnesses.

Note that the steering angle of the front wheel, δ\delta, and the tire rotational speed, ωi\omega_{\text{i}}, are the inputs that one is able to control. In particular for an AWD vehicle, both ωf\omega_{\text{f}} and ωr\omega_{\text{r}} are inputs; whereas, in a FWD vehicle only ωf\omega_{\text{f}} is an input. When we formulate our controller in Section V for a FWD vehicle we begin by assuming that we can directly control the front tire forces, FxfF_{\text{xf}} and FyfF_{\text{yf}}. We then illustrate how to compute δ\delta and ωf\omega_{\text{f}} when given FxfF_{\text{xf}} and FyfF_{\text{yf}}. For an AWD vehicle, we describe in Section VIII-C, how to compute δ\delta, ωf\omega_{\text{f}}, and ωr\omega_{\text{r}}.

In fact, as we describe in Section V, our approach to perform control relies upon estimating the rear tire forces and controlling the front tire forces by applying appropriate tire speed and steering angle. Unfortunately, in the real-world our state estimation and models for front and rear tire forces may be inaccurate and aerodynamic-drag force could also affect vehicle dynamics [20, Section 4.2]. To account for the inaccuracy, we extend the vehicle dynamic model in (4) by introducing a time-varying affine modeling error Δu,Δv,Δr\Delta_{u},\Delta_{v},\Delta_{r} into the dynamics of u,v,u,v, and rr:

z˙hi(t)\displaystyle\dot{z}^{\text{hi}}(t) =[u(t)cosh(t)v(t)sinh(t)u(t)sinh(t)+v(t)cosh(t)r(t)1m(Fxf(t)+Fxr(t))+v(t)r(t)+Δu(t)1m(Fyf(t)+Fyr(t))u(t)r(t)+Δv(t)1Izz(lfFyf(t)lrFyr(t))+Δr(t)].\displaystyle=\begin{bmatrix}u(t)\cos h(t)-v(t)\sin h(t)\\ u(t)\sin h(t)+v(t)\cos h(t)\\ r(t)\\ \frac{1}{m}\big{(}F_{\text{xf}}(t)+F_{\text{xr}}(t)\big{)}+v(t)r(t)+\Delta_{u}(t)\\ \frac{1}{m}\big{(}F_{\text{yf}}(t)+F_{\text{yr}}(t)\big{)}-u(t)r(t)+\Delta_{v}(t)\\ \frac{1}{I_{\text{zz}}}\big{(}l_{\text{f}}F_{\text{yf}}(t)-l_{\text{r}}F_{\text{yr}}(t)\big{)}+\Delta_{r}(t)\end{bmatrix}. (14)

Note, we have abused notation and redefined z˙hi\dot{z}^{\text{hi}} which was originally defined in (4). For the remainder of this paper, we assume that the dynamics z˙hi\dot{z}^{\text{hi}} evolves according to (14). To ensure that this definition is well-posed (i.e. their solution exists and is unique) and to aid in the development of our controller as described in Section V, we make the following assumption:

Assumption 4.

Δu,Δv,Δr\Delta_{u},\Delta_{v},\Delta_{r} are all square integrable functions and are bounded (i.e., there exist real numbers Mu,Mv,Mr[0,+)M_{u},M_{v},M_{r}\in[0,+\infty) such that Δu(t)Mu,Δv(t)Mv,Δr(t)Mr\|\Delta_{u}(t)\|_{\infty}\leq M_{u},~{}\|\Delta_{v}(t)\|_{\infty}\leq M_{v},~{}\|\Delta_{r}(t)\|_{\infty}\leq M_{r} for all tt).

Note in Section IX-C1, we explain how to compute Δu,Δv,Δr\Delta_{u},\Delta_{v},\Delta_{r} using real-world data.

III-B Low-Speed Vehicle Model

When the vehicle speed lowers below some critical value ucri>0u^{\text{cri}}>0, the denominator of the wheel slip ratio (5) and tire slip angles (8) and (9) approach zero which makes applying the model described in (4) intractable. As a result, in this work when u(t)ucriu(t)\leq u^{\text{cri}} the dynamics of a vehicle are modeled using a steady-state cornering model [21, Chapter 6], [22, Chapter 5], [23, Chapter 10]. Note that the critical velocity ucriu^{\text{cri}} can be found according to [24, (5) and (18)].

The steady-state cornering model or low-speed vehicle model is described using four states, zlo(t)=[x(t),y(t),h(t),u(t)]4z^{\text{lo}}(t)=[x(t),y(t),h(t),u(t)]^{\top}\in\mathbb{R}^{4} at time tt. This model ignores transients on lateral velocity and yaw rate. Note that the dynamics of xx, yy, hh and uu are the same as in the high speed model (14); however, the steady-state corning model describes the yaw rate and lateral speed as

vlo(t)=\displaystyle v^{\text{lo}}(t)= lrrlo(t)mlfc¯αrlu(t)2rlo(t)\displaystyle l_{\text{r}}r^{\text{lo}}(t)-\frac{ml_{\text{f}}}{\bar{c}_{\alpha\text{r}}l}u(t)^{2}r^{\text{lo}}(t) (15)
rlo(t)=\displaystyle r^{\text{lo}}(t)= δ(t)u(t)l+Cusu(t)2\displaystyle\frac{\delta(t)u(t)}{l+C_{\text{us}}u(t)^{2}} (16)

with understeer coefficient

Cus=ml(lrc¯αflfc¯αr).C_{\text{us}}=\frac{m}{l}\left(\frac{l_{\text{r}}}{\bar{c}_{\alpha\text{f}}}-\frac{l_{\text{f}}}{\bar{c}_{\alpha\text{r}}}\right). (17)

As a result, z˙lo\dot{z}^{\text{lo}} satisfies the dynamics of the first four states in (4) except with rlor^{\text{lo}} taking the role of rr and vlov^{\text{lo}} taking the role of vv.

Notice when u(t)=v(t)=r(t)=0u(t)=v(t)=r(t)=0 and the longitudinal tire forces are zero, u˙(t)\dot{u}(t) could still be nonzero due to a nonzero Δu(t)\Delta_{u}(t). To avoid this issue, we make a tighter assumption on Δu(t)\Delta_{u}(t) without violating Assumption 4:

Assumption 5.

For all tt such that u(t)[0,ucri]u(t)\in[0,u^{\text{cri}}], |Δu(t)||\Delta_{u}(t)| is bounded from above by a linear function of u(t)u(t) (i.e.,

|Δu(t)|buprou(t)+buoff, if u(t)[0,ucri],|\Delta_{u}(t)|\leq b_{u}^{\text{pro}}\cdot u(t)+b_{u}^{\text{off}},\text{ if }u(t)\in[0,u^{\text{cri}}], (18)

where buprob_{u}^{\text{pro}} and buoffb_{u}^{\text{off}} are constants satisfying buproucri+buoffMub_{u}^{\text{pro}}\cdot u^{\text{cri}}+b_{u}^{\text{off}}\leq M_{u}). In addition, Δu(t)=0\Delta_{u}(t)=0 if u(t)=0u(t)=0.

As we describe in detail in Section V-C, the high-speed and low-speed models can be combined together as a hybrid system to describe the behavior of the vehicle across all longitudinal speeds. In short, when uu transitions past the critical speed ucriu^{\text{cri}} from above at time tt, the low speed model’s states are initialized as:

zlo(t)=π1:4(zhi(t))z^{\text{lo}}(t)=\pi_{1:4}(z^{\text{hi}}(t)) (19)

where π1:4:64\pi_{1:4}:\mathbb{R}^{6}\rightarrow\mathbb{R}^{4} is the projection operator that projects zhi(t)z^{\text{hi}}(t) onto its first four dimensions via the identity relation. If uu transitions past the critical speed from below at time tt, the high speed model’s states are initialized as

zhi(t)=[zlo(t),vlo(t),rlo(t)].z^{\text{hi}}(t)=[z^{\text{lo}}(t)^{\top},v^{\text{lo}}(t),r^{\text{lo}}(t)]^{\top}. (20)

IV Trajectory Design and Safety

This section describes the space of trajectories that are optimized over at run-time within REFINE, how this paper defines safety during motion planning via the notion of not-at-fault behavior, and what assumptions this paper makes about the environment surrounding the ego-vehicle.

IV-A Trajectory Parameterization

Each trajectory plan is specified over a compact time interval. Without loss of generality, we let this compact time interval have a fixed duration tft_{\text{f}}. Because REFINE performs receding-horizon planning, we make the following assumption about the time available to construct a new plan:

Assumption 6.

During each planning iteration starting from time t0t_{0}, the ego vehicle has tplant_{\text{plan}} seconds to find a control input. This control input is applied during the time interval [t0+tplan,t0+tplan+tf][t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{f}}] where tf0t_{\text{f}}\geq 0 is a user-specified constant. In addition, the state of the vehicle at time t0+tplant_{0}+t_{\text{plan}} is known at time t0t_{0}.

In each planning iteration, REFINE chooses a trajectory to be followed by the ego vehicle. These trajectories are chosen from a pre-specified continuum of trajectories, with each uniquely determined by a trajectory parameter p𝒫p\in\mathcal{P}. Let 𝒫np\mathcal{P}\subset\mathbb{R}^{n_{p}}, npn_{p}\in\mathbb{N} be a n-dimensional box int(p¯,p¯)\texttt{int}(\underline{p},\overline{p}) where p¯,p¯np\underline{p},\overline{p}\in\mathbb{R}^{n_{p}} indicate the element-wise lower and upper bounds of pp, respectively. We define these desired trajectories as follows:

Definition 7.

For each p𝒫p\in\mathcal{P}, a desired trajectory is a function for the longitudinal speed, udes(,p):[t0+tplan,tf]u^{\text{des}}(\cdot,p):[t_{0}+t_{\text{plan}},t_{\text{f}}]\to\mathbb{R}, a function for the heading, hdes(,p):[t0+tplan,tf]h^{\text{des}}(\cdot,p):[t_{0}+t_{\text{plan}},t_{\text{f}}]\to\mathbb{R}, and a function for the yaw rate, rdes(,p):[t0+tplan,tf]r^{\text{des}}(\cdot,p):[t_{0}+t_{\text{plan}},t_{\text{f}}]\to\mathbb{R}, that satisfy the following properties.

  1. 1.

    For all p𝒫p\in\mathcal{P}, there exists a time instant tm[t0+tplan,tf)t_{\text{m}}\in[t_{0}+t_{\text{plan}},t_{\text{f}}) after which the desired trajectory begins to brake (i.e., |udes(t,p)||u^{\text{des}}(t,p)|, |hdes(t,p)||h^{\text{des}}(t,p)| and |rdes(t,p)||r^{\text{des}}(t,p)| are non-increasing for all t[tm,tf]t\in[t_{\text{m}},t_{\text{f}}]).

  2. 2.

    The desired trajectory eventually comes to and remains stopped (i.e., there exists a tstop[t0+tplan,tf]t_{\text{stop}}\in[t_{0}+t_{\text{plan}},t_{\text{f}}] such that udes(t,p)=hdes(t,p)=rdes(t,p)=0u^{\text{des}}(t,p)=h^{\text{des}}(t,p)=r^{\text{des}}(t,p)=0 for all ttstopt\geq t_{\text{stop}}).

  3. 3.

    udesu^{\text{des}} and hdesh^{\text{des}} are piecewise continuously differentiable [25, Chapter 6, §\S1.1] with respect to tt and pp.

  4. 4.

    The time derivative of the heading function is equal to the yaw rate function (i.e., rdes(t,p)=thdes(t,p)r^{\text{des}}(t,p)=\frac{\partial}{\partial t}h^{\text{des}}(t,p) over all regions that hdes(t,p)h^{\text{des}}(t,p) is continuously differentiable with respect to tt).

The first two properties ensure that a fail safe contingency braking maneuver is always available and the latter two properties ensure that the tracking controller described in Section V is well-defined. Note that sometimes we abuse notation and evaluate a desired trajectory for t>tft>t_{\text{f}}. In this instance, the value of the desired trajectory is equal to its value at tft_{\text{f}}.

IV-B Not-At-Fault

In dynamic environments, avoiding collision may not always be possible (e.g. a parked car can be run into). As a result, we instead develop a trajectory synthesis technique which ensures that the ego vehicle is not-at-fault [26]:

Definition 8.

The ego vehicle is not-at-fault if it is stopped, or if it is never in collision with any obstacles while it is moving.

In other words, the ego vehicle is not responsible for a collision if it has stopped and another vehicle collides with it. One could use a variant of not-at-fault and require that when the ego-vehicle comes to a stop it leave enough time for all surrounding vehicles to come safely to a stop as well. The remainder of the paper can be generalized to accommodate this variant of not-at-fault; however, in the interest of simplicity we use the aforementioned definition.

Remark 9.

Under Assumption 3, neither longitudinal nor lateral tire forces saturate (i.e., drifting cannot occur). As a result, if the ego vehicle has zero longitudinal speed, it also has zero lateral speed and yaw rate. Therefore in Definition 8, the ego vehicle being stopped is equivalent to its longitudinal speed being 0.

IV-C Environment and Sensing

To provide guarantees about vehicle behavior in a receding horizon planning framework and inspired by [15, Section 3], we define the ego vehicle’s footprint as:

Definition 10.

Given 𝒲2\mathcal{W}\subset\mathbb{R}^{2} as the world space, the ego vehicle is a rigid body that lies in a rectangular 𝒪ego:=int([0.5L,0.5W]T,[0.5L,0.5W]T)𝒲\mathcal{O}^{\text{ego}}:=\texttt{int}([-0.5L,-0.5W]^{T},[0.5L,0.5W]^{T})\subset\mathcal{W} with width W>0W>0, length L>0L>0 at time t=0t=0. Such 𝒪ego\mathcal{O}^{\text{ego}} is called the footprint of the ego vehicle.

In addition, we define the dynamic environment in which the ego vehicle is operating within as:

Definition 11.

An obstacle is a set 𝒪i(t)𝒲\mathcal{O}_{i}(t)\subset\mathcal{W} that the ego vehicle cannot intersect with at time tt, where ii\in\mathcal{I} is the index of the obstacle and \mathcal{I} contains finitely many elements.

The dependency on tt in the definition of an obstacle allows the obstacle to move as tt varies. However if the ii-th obstacle is static, then 𝒪i(t)\mathcal{O}_{i}(t) remains constant at all time. Assuming that the ego vehicle has a maximum speed νego\nu^{\text{ego}} and all obstacles have a maximum speed νobs\nu^{\text{obs}} for all time, we then make the following assumption on planning and sensing horizon.

Assumption 12.

The ego vehicle senses all obstacles within a sensor radius S>(tf+tplan)(νego+νobs)+0.5L2+W2S>(t_{\text{f}}+t_{\text{plan}})\cdot(\nu^{\text{ego}}+\nu^{\text{obs}})+0.5\sqrt{L^{2}+W^{2}} around its center of mass.

Assumption 12 ensures that any obstacle that can cause a collision between times t[t0+tplan,t0+tplan+tf]t\in[t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{f}}] can be detected by the vehicle [15, Theorem 15]. Note one could treat sensor occlusions as a obstacles that travel at the maximum obstacle speed [27, 28].

V Controller Design and Hybrid System Model

This section describes the control inputs that we use to follow the desired trajectories and describes the closed-loop hybrid system vehicle model. Recall that the control inputs to the vehicle dynamics model are the steering angle of the front wheel, δ\delta, and the tire rotational speed, ωi\omega_{\text{i}}. Section V-A describes how to select front tire forces to follow a desired trajectory and Section V-B describes how to compute a steering angle and tire rotational speed input from these computed front tire forces. Section V-C describes the closed-loop hybrid system model of the vehicle under the chosen control input. Note that this section focuses on the FWD vehicle model.

V-A Robust Controller

Because applying reachability analysis to linear systems generates tighter approximations of the system behavior when compared to nonlinear systems, we propose to develop a feedback controller that linearizes the dynamics. Unfortunately, because both the high-speed and low-speed models introduced in Section III are under-actuated (i.e., the dimension of control inputs is smaller than that of system state), our controller is only able to partially feedback linearize the vehicle dynamics. Such controller is also expected to be robust such that it can account for computational errors as described in Assumptions 4 and 5.

We start by introducing the controller on longitudinal speed whose dynamics appears in both high-speed and low-speed models. Recall Δu(t)Mu\|\Delta_{u}(t)\|_{\infty}\leq M_{u} in Assumption 4. Inspired by the controller developed in [29], we set the longitudinal front tire force to be

Fxf(t)=mKu(u(t)udes(t,p))+mu˙des(t,p)+Fxr(t)mv(t)r(t)+mτu(t,p),\begin{split}F_{\text{xf}}(t)=-mK_{u}(u(t)-u^{\text{des}}(t,p))+m\dot{u}^{\text{des}}(t,p)+\\ -F_{\text{xr}}(t)-mv(t)r(t)+m\tau_{u}(t,p),\end{split} (21)

where

τu(t,p)=\displaystyle\tau_{u}(t,p)= (κu(t,p)Mu+ϕu(t,p))eu(t,p),\displaystyle-\big{(}\kappa_{u}(t,p)M_{u}+\phi_{u}(t,p)\big{)}e_{u}(t,p), (22)
κu(t,p)=\displaystyle\kappa_{u}(t,p)= κ1,u+κ2,ut0tu(s)udes(s,p)2𝑑s,\displaystyle\kappa_{1,u}+\kappa_{2,u}\int_{t_{0}}^{t}\|u(s)-u^{\text{des}}(s,p)\|^{2}ds, (23)
ϕu(t,p)=\displaystyle\phi_{u}(t,p)= ϕ1,u+ϕ2,ut0tu(s)udes(s,p)2𝑑s,\displaystyle\phi_{1,u}+\phi_{2,u}\int_{t_{0}}^{t}\|u(s)-u^{\text{des}}(s,p)\|^{2}ds, (24)
eu(t,p)=\displaystyle e_{u}(t,p)= u(t)udes(t,p),\displaystyle u(t)-u^{\text{des}}(t,p), (25)

with user-chosen constants κ1,u,κ2,u,ϕ1,u,ϕ2,u+\kappa_{1,u},\kappa_{2,u},\phi_{1,u},\phi_{2,u}\in\mathbb{R}_{+}. Note in (21) we have suppressed the dependence on pp in Fxf(t)F_{\text{xf}}(t) for notational convenience. Using (21), the closed-loop dynamics of uu become:

u˙(t)=τu(t,p)+Δu(t)+u˙des(t,p)+Ku(u(t)udes(t,p)).\begin{split}\dot{u}(t)=\tau_{u}(t,p)+\Delta_{u}(t)+\dot{u}^{\text{des}}(t,p)+\\ -K_{u}\left(u(t)-u^{\text{des}}(t,p)\right).\end{split} (26)

The same control strategy can be applied to vehicle yaw rate whose dynamics only appear in the high-speed vehicle model. Let the lateral front tire force be

Fyf(t)=IzzKrlf(r(t)rdes(t,p))+Izzlfr˙des(t,p)+IzzKhlf(h(t)hdes(t,p))+lrlfFyr(t)+Izzlfτr(t,p),\begin{split}F_{\text{yf}}(t)=-\frac{I_{\text{zz}}K_{r}}{l_{\text{f}}}\left(r(t)-r^{\text{des}}(t,p)\right)+\frac{I_{\text{zz}}}{l_{\text{f}}}\dot{r}^{\text{des}}(t,p)+\\ -\frac{I_{\text{zz}}K_{h}}{l_{\text{f}}}\left(h(t)-h^{\text{des}}(t,p)\right)+\frac{l_{\text{r}}}{l_{\text{f}}}F_{\text{yr}}(t)+\frac{I_{\text{zz}}}{l_{\text{f}}}\tau_{r}(t,p),\end{split} (27)

where

τr(t,p)=\displaystyle\tau_{r}(t,p)= (κr(t,p)Mr+ϕr(t,p))er(t,p)\displaystyle-\big{(}\kappa_{r}(t,p)M_{r}+\phi_{r}(t,p)\big{)}e_{r}(t,p) (28)
κr(t,p)=\displaystyle\kappa_{r}(t,p)= κ1,r+κ2,rt0t[r(s)h(s)][rdes(s,p)hdes(s,p)]2𝑑s\displaystyle\kappa_{1,r}+\kappa_{2,r}\int_{t_{0}}^{t}\left\|\begin{bmatrix}r(s)\\ h(s)\end{bmatrix}-\begin{bmatrix}r^{\text{des}}(s,p)\\ h^{\text{des}}(s,p)\end{bmatrix}\right\|^{2}ds (29)
ϕr(t,p)=\displaystyle\phi_{r}(t,p)= ϕ1,r+ϕ2,rt0t[r(s)h(s)][rdes(s,p)hdes(s,p)]2𝑑s\displaystyle\phi_{1,r}+\phi_{2,r}\int_{t_{0}}^{t}\left\|\begin{bmatrix}r(s)\\ h(s)\end{bmatrix}-\begin{bmatrix}r^{\text{des}}(s,p)\\ h^{\text{des}}(s,p)\end{bmatrix}\right\|^{2}ds (30)
er(t,p)=\displaystyle e_{r}(t,p)= [KrKh][r(t)rdes(t,p)h(t)hdes(t,p)]\displaystyle\begin{bmatrix}K_{r}&K_{h}\end{bmatrix}\begin{bmatrix}r(t)-r^{\text{des}}(t,p)\\ h(t)-h^{\text{des}}(t,p)\end{bmatrix} (31)

with user-chosen constants κ1,r,κ2,r,ϕ1,r,ϕ2,r+\kappa_{1,r},\kappa_{2,r},\phi_{1,r},\phi_{2,r}\in\mathbb{R}_{+}. Note in (27) we have again suppressed the dependence on pp in Fyf(t)F_{\text{yf}}(t) for notational convenience. Using (27), the closed-loop dynamics of rr become:

r˙(t)=τr(t,p)+Δr(t)+r˙des(t,p)+Kr(r(t)rdes(t,p))+Kh(h(t)hdes(t,p)).\begin{split}\dot{r}(t)=&\tau_{r}(t,p)+\Delta_{r}(t)+\dot{r}^{\text{des}}(t,p)+\\ &-K_{r}\big{(}r(t)-r^{\text{des}}(t,p)\big{)}+\\ &-K_{h}\big{(}h(t)-h^{\text{des}}(t,p)\big{)}.\end{split} (32)

Using (27), the closed-loop dynamics of vv become:

v˙(t)=1m(llfFyr(t)+Izzlf(τr(t,p)+r˙des(t,p)+u(t)r(t)+Δv(t)Kr(r(t)rdes(t,p))+Kh(h(t)hdes(t,p)))).\begin{split}\dot{v}(t)=\frac{1}{m}\Bigg{(}\frac{l}{l_{\text{f}}}F_{\text{yr}}(t)+\frac{I_{\text{zz}}}{l_{\text{f}}}\Big{(}\tau_{r}(t,p)+\dot{r}^{\text{des}}(t,p)+\\ -u(t)r(t)+\Delta_{v}(t)-K_{r}\big{(}r(t)-r^{\text{des}}(t,p)\big{)}+\\ -K_{h}\big{(}h(t)-h^{\text{des}}(t,p)\big{)}\Big{)}\Bigg{)}.\end{split} (33)

Because udesu^{\text{des}}, rdesr^{\text{des}}, and hdesh^{\text{des}} depend on trajectory parameter pp, one can rewrite the closed loop high-speed and low-speed vehicle models as

z˙hi(t)\displaystyle\dot{z}^{\text{hi}}(t) =fhi(t,zhi(t),p),\displaystyle=f^{\text{hi}}(t,z^{\text{hi}}(t),p), (34)
z˙lo(t)\displaystyle\dot{z}^{\text{lo}}(t) =flo(t,zlo(t),p),\displaystyle=f^{\text{lo}}(t,z^{\text{lo}}(t),p), (35)

where dynamics of xx, yy and hh are stated as the first three dimensions in (4), closed-loop dynamics of uu is described in (26), and closed-loop dynamics of vv and rr in the high-speed model are presented in (33) and (32). Note that the lateral tire force could be defined to simplify the dynamics on vv instead of rr, but the resulting closed loop system may differ. Controlling the yaw rate may be easier in real applications, because rr can be directly measured by an IMU unit.

V-B Extracting Wheel Speed and Steering Inputs

Because we are unable to directly control tire forces, it is vital to compute wheel speed and steering angle such that the proposed controller described in (21) and (27) is viable. Under Assumption 3, wheel speed and steering inputs can be directly computed in closed form. The wheel speed to realize longitudinal front tire force (21) can be derived from (5) and (12) as

ωf(t)={(lFxf(t)μ¯mglr+1)u(t)rwduring braking,u(t)(1lFxf(t)μ¯mglr)rwduring acceleration.\omega_{\text{f}}(t)=\begin{dcases}\left(\frac{lF_{\text{xf}}(t)}{\bar{\mu}mgl_{\text{r}}}+1\right)\frac{u(t)}{r_{\text{w}}}~{}\quad\text{during braking},\\ \frac{u(t)}{\left(1-\frac{lF_{\text{xf}}(t)}{\bar{\mu}mgl_{\text{r}}}\right)r_{\text{w}}}\hskip 29.87547pt\text{during acceleration}.\end{dcases} (36)

Similarly according to (8) and (13), the steering input

δ(t)=Fyf(t)c¯αf+v(t)+lfr(t)u(t)\delta(t)=\frac{F_{\text{yf}}(t)}{\bar{c}_{\alpha\text{f}}}+\frac{v(t)+l_{\text{f}}r(t)}{u(t)} (37)

achieves the lateral front tire force in (27) when u(t)>ucriu(t)>u^{\text{cri}}.

Notice lateral tire forces does not appear in the low-speed dynamics, but one is still able to control the lateral behavior of the ego vehicle. Based on (15) and (16), yaw rate during low-speed motion is directly controlled by steering input δ(t)\delta(t) and lateral velocity depends on yaw rate. Thus to achieve desired behavior on the lateral direction, one can set the steering input to be

δ(t)=rdes(t)(l+Cusu(t)2)u(t).\delta(t)=\frac{r^{\text{des}}(t)(l+C_{\text{us}}u(t)^{2})}{u(t)}. (38)

V-C Augmented State and Hybrid Vehicle Model

To simplify the presentation throughout the remainder of the paper, we define a hybrid system model of the vehicle dynamics that switches between the high and low speed vehicle models when passing through the critical longitudinal velocity. In addition, for computational reasons that are described in subsequent sections, we augment the initial condition of the system to the state vector while describing the vehicle dynamics. In particular, denote z0=[(z0pos),(z0vel)]𝒵06z_{0}=[(z^{\text{pos}}_{0})^{\top},(z^{\text{vel}}_{0})^{\top}]^{\top}\in\mathcal{Z}_{0}\subset\mathbb{R}^{6} the initial condition of the ego vehicle where z0pos=[x0,y0,h0]3z^{\text{pos}}_{0}=[x_{0},y_{0},h_{0}]^{\top}\in\mathbb{R}^{3} gives the value of [x(t),y(t),h(t)][x(t),y(t),h(t)]^{\top} and z0vel=[u0,v0,r0]3z^{\text{vel}}_{0}=[u_{0},v_{0},r_{0}]^{\top}\in\mathbb{R}^{3} gives the value of [u(t),v(t),r(t)][u(t),v(t),r(t)]^{\top} at time t=0t=0. Then we augment the initial velocity condition z0vel3z^{\text{vel}}_{0}\in\mathbb{R}^{3} of the vehicle model and trajectory parameter pp into the vehicle state vector as zaug(t)=[x(t),y(t),h(t),u(t),v(t),r(t),(z0vel),p]9×𝒫9+npz^{\text{aug}}(t)=[x(t),y(t),h(t),u(t),v(t),r(t),(z^{\text{vel}}_{0})^{\top},p^{\top}]^{\top}\in\mathbb{R}^{9}\times\mathcal{P}\subset\mathbb{R}^{9+n_{p}}. Note the last 3+np3+n_{p} states are static with respect to time. As a result, the dynamics of the augmented vehicle state during high-speed and low-speed scenarios can be written as

z˙aug(t)={[fhi(t,zhi(t),p)0(3+np)×1], if u(t)>ucri,[flo(t,zlo(t),p)0(5+np)×1], if u(t)ucri,\dot{z}^{\text{aug}}(t)=\begin{dcases}\begin{bmatrix}f^{\text{hi}}(t,z^{\text{hi}}(t),p)\\ 0_{(3+n_{p})\times 1}\end{bmatrix},\text{ if }u(t)>u^{\text{cri}},\\ \\ \begin{bmatrix}f^{\text{lo}}(t,z^{\text{lo}}(t),p)\\ 0_{(5+n_{p})\times 1}\end{bmatrix},\text{ if }u(t)\leq u^{\text{cri}},\end{dcases} (39)

which we refer to as the hybrid vehicle dynamics model. Notice when u(t)ucriu(t)\leq u^{\text{cri}}, assigning zero dynamics to vv and rr in (39) does not affect the evolution of the vehicle’s dynamics because the lateral speed and yaw rate are directly computed via longitudinal speed as in (15) and (16).

Because the vehicle’s dynamics changes depending on uu, it is natural to model the ego vehicle as a hybrid system HSHS [30, Section 1.2]. The hybrid system has zaugz^{\text{aug}} as its state and consists of a high-speed mode and a low-speed mode with dynamics in (39). Instantaneous transition between the high and low speed models within HSHS are described using the notion of a guard and reset map. The guard triggers a transition and is defined as {zaug(t)9×𝒫u(t)=ucri}\{z^{\text{aug}}(t)\in\mathbb{R}^{9}\times\mathcal{P}\mid u(t)=u^{\text{cri}}\}. Once a transition happens, the reset map maintains the last 3+np3+n_{p} dimensions of zaug(t)z^{\text{aug}}(t), but resets the first 66 dimensions of zaug(t)z^{\text{aug}}(t) via (19) if u(t)u(t) approaches ucriu^{\text{cri}} from above and via (20) if u(t)u(t) approaches ucriu^{\text{cri}} from below.

We next prove that for desired trajectory defined as in Definition 7 under the controllers defined in Section V, the vehicle model eventually comes to a stop. To begin note that experimentally, we observed that the vehicle quickly comes to a stop during braking once its longitudinal speed becomes u(t)0.15u(t)\leq 0.15[m/s]. Thus we make the following assumption:

Assumption 13.

Suppose u(t)=0.15u(t)=0.15 for some ttstopt\geq t_{\text{stop}}. Then under the control inputs (21) and (27) and while tracking any desired trajectory as in Definition 7, the ego vehicle takes at most tfstopt_{\text{fstop}} seconds after tstopt_{\text{stop}} to come to a complete stop.

We use this assumption to prove that the vehicle can be brought to a stop within a specified amount of time in the following lemma whose proof can be found in Appendix A:

Lemma 14.

Let 𝒵06\mathcal{Z}_{0}\subset\mathbb{R}^{6} be a compact subset of initial conditions for the vehicle dynamic model and 𝒫\mathcal{P} be a compact set of trajectory parameters. Let Δu(t)\Delta_{u}(t) be bounded for all tt as in Assumptions 4 and 5 with constants MuM_{u}, buprob_{u}^{\text{pro}} and buoffb_{u}^{\text{off}}. Let zaugz^{\text{aug}} be a solution to the hybrid vehicle dynamics model (39) beginning from z0𝒵0z_{0}\in\mathcal{Z}_{0} under trajectory parameter p𝒫p\in\mathcal{P} while applying the control inputs (21) and (27) to track some desired trajectory satisfying Definition 7. Assume the desired longitudinal speed satisfies the following properties: udes(0,p)=u(0)u^{\text{des}}(0,p)=u(0), udes(t,p)u^{\text{des}}(t,p) is only discontinuous at time tstopt_{\text{stop}}, and udes(t,p)u^{\text{des}}(t,p) converges to ucriu^{\text{cri}} as tt converges to tstopt_{\text{stop}} from below. If KuK_{u}, κ1,u\kappa_{1,u} and ϕ1,u\phi_{1,u} are chosen such that Muκ1,uMu+ϕ1,u(0.15,ucri]\frac{M_{u}}{\kappa_{1,u}M_{u}+\phi_{1,u}}\in(0.15,u^{\text{cri}}] and (buoff)24(κ1,uMu+ϕ1,ubupro)<0.152Ku\frac{(b_{u}^{\text{off}})^{2}}{4(\kappa_{1,u}M_{u}+\phi_{1,u}-b_{u}^{\text{pro}})}<0.15^{2}K_{u} hold, then for all p𝒫p\in\mathcal{P} and z0𝒵0z_{0}\in\mathcal{Z}_{0} satisfying u(0)>0u(0)>0, there exists tbraket_{\text{brake}} such that u(t)=0u(t)=0 for all ttbraket\geq t_{\text{brake}}.

Note, the proof of Lemma 14 includes an explicit formula for tbraket_{\text{brake}} in (82). This lemma is crucial because it specifies the length of time over which we should construct FRS, so that we can verify that not-at-fault behavior can be satisfied based on Definition 8 and Remark 9.

VI Computing and Using the FRS

This section describes how REFINE operates at a high-level. It then describes the offline reachability analysis of the ego vehicle as a state-augmented hybrid system using zonotopes and illustrates how the ego vehicle’s footprint can be accounted for during reachability analysis.

REFINE conservatively approximates a control-parameterized FRS of the full-order vehicle dynamics. The FRS includes all behaviors of the ego vehicle over a finite time horizon and is mathematically defined in Section VI-A. To ensure the FRS is a tight representation, REFINE relies on the controller design described in Section V. Because this controller partially linearizes the dynamics, REFINE relies on a zonotope-based reachable set representation which behave well for nearly linear systems.

During online planning, REFINE performs control synthesis by solving optimization problems in a receding horizon fashion, where the optimization problem computes a trajectory parameter to navigate the ego vehicle to a waypoint while behaving in a not-at-fault manner. As in Assumption 6, each planning iteration in REFINE is allotted tplan>0t_{\text{plan}}>0 to generate a plan. As depicted in Figure 3, if a particular planning iteration begins at time t0t_{0}, its goal is to find a control policy by solving an online optimization within tplant_{\text{plan}} seconds so that the control policy can be applied during [t0+tplan,t0+tplan+tf][t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{f}}]. Because any trajectory in Definition 7 brings the ego vehicle to a stop, we partition [t0+tplan,t0+tplan+tf][t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{f}}] into [t0+tplan,t0+tplan+tm)[t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{m}}) during which a driving maneuver is tracked and [t0+tplan+tm,t0+tplan+tf][t_{0}+t_{\text{plan}}+t_{\text{m}},t_{0}+t_{\text{plan}}+t_{\text{f}}] during which a contingency braking maneuver is activated. Note tmt_{\text{m}} is not necessarily equal to tstopt_{\text{stop}}. As a result of Lemma 14, by setting tft_{\text{f}} equal to tbraket_{\text{brake}} one can guarantee that the ego vehicle comes to a complete stop by tft_{\text{f}}.

Refer to caption
Figure 3: An illustration of 3 successive planning/control iterations. tplant_{\text{plan}} seconds are allotted to compute a planned trajectory. Each plan is of duration tft_{\text{f}} and consists of a driving maneuver of duration tmt_{\text{m}} and a contingency braking maneuver. Diamonds denote the time instances where planning computations begin and t2t1=t1t0=tmt_{2}-t_{1}=t_{1}-t_{0}=t_{\text{m}}. Filled-in circles denote the instances where feasible driving maneuvers are initiated. If the planning phase between [t1,t1+tplan][t_{1},t_{1}+t_{\text{plan}}] is infeasible, the contingency braking maneuver whose feasibility is verified during the planning phase between [t0,t0+tplan][t_{0},t_{0}+t_{\text{plan}}] is applied.

If the planning iteration at time t0t_{0} is feasible (i.e., not-at-fault), then the entire feasible planned driving maneuver is applied during [t0+tplan,t0+tplan+tm)[t_{0}+t_{\text{plan}},t_{0}+t_{\text{plan}}+t_{\text{m}}). If the planning iteration starting at time t0t_{0} is infeasible, then the braking maneuver, whose safe behavior was verified in the previous planning iteration, can be applied starting at t0+tplant_{0}+t_{\text{plan}} to bring the ego vehicle to a stop in a not-at-fault manner. To ensure real-time performance, tplantmt_{\text{plan}}\leq t_{\text{m}}. To simplify notation, we reset time to 0 whenever a feasible control policy is about to be applied.

VI-A Offline FRS Computation

The FRS of the ego vehicle is

xy([0,tf])={(x,y)𝒲t[0,tf],p𝒫,z0=[z0posz0vel]𝒵0 s.t. [xy]=πxy(zaug(t)),zaug is a solution of HS with zaug(0)=[z0z0velp]},\begin{split}\mathcal{F}_{xy}([0,&t_{\text{f}}])=\Bigg{\{}(x,y)\in\mathcal{W}\mid\exists t\in[0,t_{\text{f}}],p\in\mathcal{P},\\ &z_{0}=\begin{bmatrix}z^{\text{pos}}_{0}\\ z^{\text{vel}}_{0}\end{bmatrix}\in\mathcal{Z}_{0}\text{ s.t. }\begin{bmatrix}x\\ y\end{bmatrix}=\pi_{xy}(z^{\text{aug}}(t)),\\ &z^{\text{aug}}\text{ is a solution of }HS\text{ with }z^{\text{aug}}(0)=\begin{bmatrix}z_{0}\\ z^{\text{vel}}_{0}\\ p\end{bmatrix}\Bigg{\}},\end{split} (40)

where πxy:9+np2\pi_{xy}:\mathbb{R}^{9+n_{p}}\rightarrow\mathbb{R}^{2} is the projection operator that outputs the first two coordinates from its argument. xy([0,tf])\mathcal{F}_{xy}([0,t_{\text{f}}]) collects all possible behavior of the ego vehicle while following the dynamics of HSHS in the xyxy-plane over time interval [0,tf][0,t_{\text{f}}] for all possible p𝒫p\in\mathcal{P} and initial condition z0𝒵0z_{0}\in\mathcal{Z}_{0}. Computing xy([0,tf])\mathcal{F}_{xy}([0,t_{\text{f}}]) precisely is numerically challenging because the ego vehicle is modeled as a hybrid system with nonlinear dynamics, thus we aim to compute an outer-approximation of xy([0,tf])\mathcal{F}_{xy}([0,t_{\text{f}}]) instead.

To outer-approximate xy([0,tf])\mathcal{F}_{xy}([0,t_{\text{f}}]), we start by making the following assumption:

Assumption 15.

The initial condition space 𝒵0={03×1}×𝒵0vel\mathcal{Z}_{0}=\{0_{3\times 1}\}\times\mathcal{Z}^{\text{vel}}_{0} where 𝒵0vel=int(z0vel¯,z0vel¯)3\mathcal{Z}^{\text{vel}}_{0}=\text{int}(\underline{z^{\text{vel}}_{0}},\overline{z^{\text{vel}}_{0}})\subset\mathbb{R}^{3} is a 3-dimensional box representing all possible initial velocity conditions z0velz^{\text{vel}}_{0} of the ego vehicle.

Because vehicles operate within a bounded range of speeds, this assumption is trivial to satisfy. Notice in particular that 𝒵0vel\mathcal{Z}^{\text{vel}}_{0} is a zonotope <c0vel,G0vel>\text{\textless}c^{\text{vel}}_{0},\;G^{\text{vel}}_{0}\text{\textgreater} where c0vel=12(z0vel¯+z0vel¯)c^{\text{vel}}_{0}=\frac{1}{2}(\underline{z^{\text{vel}}_{0}}+\overline{z^{\text{vel}}_{0}}) and G0vel=12diag(z0vel¯z0vel¯)G^{\text{vel}}_{0}=\frac{1}{2}\texttt{diag}(\overline{z^{\text{vel}}_{0}}-\underline{z^{\text{vel}}_{0}}). We assume a zero initial position condition z0posz^{\text{pos}}_{0} in the first three dimensions of 𝒵0\mathcal{Z}_{0} for simplicity, and nonzero z0posz^{\text{pos}}_{0} can be dealt with via coordinate transformation online as described in Section VII-A.

Recall that because 𝒫\mathcal{P} is a compact n-dimensional box, it can also be represented as a zonotope as <cp,Gp>\text{\textless}c_{p},\;G_{p}\text{\textgreater} where cp=12(p¯+p¯)c_{p}=\frac{1}{2}(\underline{p}+\overline{p}) and Gp=12diag(p¯p¯)G_{p}=\frac{1}{2}\texttt{diag}(\overline{p}-\underline{p}). Then the set of initial conditions for zaug(0)z^{\text{aug}}(0) can be represented as a zonotope 𝒵0aug=<czaug,Gzaug>𝒵0×𝒵0vel×𝒫\mathcal{Z}^{\text{aug}}_{0}=\text{\textless}c_{z^{\text{aug}}},\;G_{z^{\text{aug}}}\text{\textgreater}\subset\mathcal{Z}_{0}\times\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P} where

czaug=[03×1c0velc0velcp],Gzaug=[03×303×npG0vel03×npG0vel03×np0np×3Gp].c_{z^{\text{aug}}}=\begin{bmatrix}0_{3\times 1}\\ c^{\text{vel}}_{0}\\ c^{\text{vel}}_{0}\\ c_{p}\end{bmatrix},~{}G_{z^{\text{aug}}}=\begin{bmatrix}0_{3\times 3}&0_{3\times n_{p}}\\ G^{\text{vel}}_{0}&0_{3\times n_{p}}\\ G^{\text{vel}}_{0}&0_{3\times n_{p}}\\ 0_{n_{p}\times 3}&G_{p}\end{bmatrix}. (41)

Observe that by construction each row of GzaugG_{z^{\text{aug}}} has at most 11 nonzero element. Without loss of generality, we assume G0velG^{\text{vel}}_{0} and GpG_{p} has no zero rows. If there was a zero row it would mean that the corresponding dimension can only take one value and does not need to be augmented or traced in zaugz^{\text{aug}} for reachability analysis.

Next we pick a time step Δt+\Delta_{t}\in\mathbb{R}_{+} such that tf/Δtt_{\text{f}}/\Delta_{t}\in\mathbb{N}, and partition the time interval [0,tf][0,t_{\text{f}}] into tf/Δtt_{\text{f}}/\Delta_{t} time segments as Tj=[(j1)Δt,jΔt]T_{j}=[(j-1)\Delta_{t},j\Delta_{t}] for each j𝒥={1,2,,tf/Δt}j\in\mathcal{J}=\{1,2,\cdots,t_{\text{f}}/\Delta_{t}\}. Finally we use an open-source toolbox CORA [31], which takes HSHS and the initial condition space 𝒵0aug\mathcal{Z}^{\text{aug}}_{0}, to over-approximate the FRS in (40) by a collection of zonotopes {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} over all time intervals where j9+np\mathcal{R}_{j}\subset\mathbb{R}^{9+n_{p}}. As a direct application of Theorem 3.3, Proposition 3.7 and the derivation in Section 3.5.3 in [32], one can conclude the following theorem:

Theorem 16.

Let j9+np\mathcal{R}_{j}\subset\mathbb{R}^{9+n_{p}} be the zonotopes computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0}. Let zaugz^{\text{aug}} be a solution to hybrid system HSHS starting from an initial condition in 𝒵0aug\mathcal{Z}^{\text{aug}}_{0}. Then zaug(t)jz^{\text{aug}}(t)\in\mathcal{R}_{j} for all j𝒥j\in\mathcal{J} and tTjt\in T_{j} and

xy([0,tf])j𝒥πxy(j).\mathcal{F}_{xy}([0,t_{\text{f}}])\subset\bigcup_{j\in\mathcal{J}}\pi_{xy}(\mathcal{R}_{j}). (42)

Notice in (42) we have abused notation by extending the domain of πxy\pi_{xy} to any zonotope 𝒵=<c,G>\mathcal{Z}=\text{\textless}c,\;G\text{\textgreater} in 9+np\mathbb{R}^{9+n_{p}} as

πxy(𝒵)=[[c]1[c]2],[[G]1:[G]2:].\pi_{xy}(\mathcal{Z})=\left<\begin{bmatrix}[c]_{1}\\ [c]_{2}\end{bmatrix},~{}\begin{bmatrix}[G]_{1:}\\ [G]_{2:}\end{bmatrix}\right>. (43)

VI-B Slicing

The FRS computed in the previous subsection contain the behavior of the hybrid vehicle dynamics model for all initial conditions belonging to 𝒵0\mathcal{Z}_{0} and 𝒫\mathcal{P}. To use this set during online optimization, REFINE plugs in the predicted initial velocity of the vehicle dynamics at time t0+tplant_{0}+t_{\text{plan}} and then optimizes over the space of trajectory parameters. Recall the hybrid vehicle model is assumed to have zero initial position condition during the computation of {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} by Assumption 15. This subsection describes how to plug in the initial velocity into the pre-computed FRS.

We start by describing the following useful property of the zonotopes j\mathcal{R}_{j} that make up the FRS, which follows from Lemma 22 in [33]:

Proposition 17.

Let {j=<cj,Gj>}j𝒥\{\mathcal{R}_{j}=\text{\textless}c_{\mathcal{R}_{j}},\;G_{\mathcal{R}_{j}}\text{\textgreater}\}_{j\in\mathcal{J}} be the set of zonotopes computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0}. Then for any j𝒥j\in\mathcal{J}, Gj=[gj,1,gj,2,,gj,j]G_{\mathcal{R}_{j}}=[g_{\mathcal{R}_{j},1},g_{\mathcal{R}_{j},2},\ldots,g_{\mathcal{R}_{j},\ell_{j}}] has only one generator, gj,bkg_{\mathcal{R}_{j},b_{k}}, that has a nonzero element in the kk-th dimension for each k{7,,(9+np)}k\in\{7,\ldots,(9+n_{p})\}. In particular, bkbkb_{k}\neq b_{k^{\prime}} for kkk\neq k^{\prime}.

We refer to the generators with a nonzero element in the kk-th dimension for each k{7,,(9+np)}k\in\{7,\ldots,(9+n_{p})\} as a sliceable generator of j\mathcal{R}_{j} in the kk-th dimension. In other words, for each j=<cj,Gj>\mathcal{R}_{j}=\text{\textless}c_{\mathcal{R}_{j}},\;G_{\mathcal{R}_{j}}\text{\textgreater}, there are exactly 3+np3+n_{p} nonzero elements in the last 3+np3+n_{p} rows of GjG_{\mathcal{R}_{j}}, and none of these nonzero elements appear in the same row or column. By construction 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} has exactly 3+np3+n_{p} generators, which are each sliceable. Using Proposition 17, one can conclude that j\mathcal{R}_{j} has no less than 3+np3+n_{p} generators (i.e., 3+np\ell\geq 3+n_{p}).

Proposition 17 is useful because it allows us to take a known z0vel𝒵0velz^{\text{vel}}_{0}\in\mathcal{Z}^{\text{vel}}_{0} and p𝒫p\in\mathcal{P} and plug them into the computed {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} to generate a slice of the conservative approximation of the FRS that includes the evolution of the hybrid vehicle dynamics model beginning from z0velz^{\text{vel}}_{0} under trajectory parameter pp. In particular, one can plug the initial velocity into the sliceable generators as described in the following definition:

Definition 18.

Let {j=<cj,Gj>}j𝒥\{\mathcal{R}_{j}=\text{\textless}c_{\mathcal{R}_{j}},\;G_{\mathcal{R}_{j}}\text{\textgreater}\}_{j\in\mathcal{J}} be the set of zonotopes computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} where Gj=[gj,1,gj,2,,gj,j]G_{\mathcal{R}_{j}}=[g_{\mathcal{R}_{j},1},g_{\mathcal{R}_{j},2},\ldots,g_{\mathcal{R}_{j},{\ell_{j}}}]. Without loss of generality, assume that the sliceable generators of each j\mathcal{R}_{j} are the first 3+np3+n_{p} columns of GjG_{\mathcal{R}_{j}}. In addition, without loss of generality assume that the sliceable generators are ordered so that the dimension in which the non-zero element appears is increasing. The slicing operator slice:P(9+np)×𝒵0vel×𝒫P(9+np)\texttt{slice}:P(\mathbb{R}^{9+n_{p}})\times\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P}\rightarrow P(\mathbb{R}^{9+n_{p}}) is defined as

slice(j,z0vel,p)=<cslc,[gj,(4+np),,gj,j]>\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\text{\textless}c^{\text{slc}},\;[g_{\mathcal{R}_{j},(4+n_{p})},\ldots,g_{\mathcal{R}_{j},{\ell_{j}}}]\text{\textgreater} (44)

where

cslc=cj+k=79[z0vel](k6)[cj]k[gj,(k6)]kgj,(k6)++k=109+np[p](k9)[cj]k[gj,(k6)]kgj,(k6).\begin{split}c^{\text{slc}}=c_{\mathcal{R}_{j}}+\sum_{k=7}^{9}&\frac{[z^{\text{vel}}_{0}]_{(k-6)}-[c_{\mathcal{R}_{j}}]_{k}}{[g_{\mathcal{R}_{j},(k-6)}]_{k}}g_{\mathcal{R}_{j},(k-6)}+\\ &+\sum_{k=10}^{9+n_{p}}\frac{[p]_{(k-9)}-[c_{\mathcal{R}_{j}}]_{k}}{[g_{\mathcal{R}_{j},(k-6)}]_{k}}g_{\mathcal{R}_{j},(k-6)}.\end{split} (45)

Note, that in the interest of avoiding introducing novel notation, we have abused notation and assumed that the domain of slice is P(9+np)P(\mathbb{R}^{9+n_{p}}) rather than the space of zonotopes in P(9+np)P(\mathbb{R}^{9+n_{p}}). However, throughout this paper we only plug in zonotopes belonging to P(9+np)P(\mathbb{R}^{9+n_{p}}) into the first argument of slice. Using this definition, one can show the following useful property whose proof can be found in Appendix B:

Theorem 19.

Let {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} be the set of zonotopes computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} and satisfy the statement of Definition 18. Then for any j𝒥j\in\mathcal{J}, z0=[0,0,0,(z0vel)]𝒵0z_{0}=[0,0,0,(z^{\text{vel}}_{0})^{\top}]^{\top}\in\mathcal{Z}_{0}, and p𝒫p\in\mathcal{P}, slice(j,z0vel,p)j\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\subset\mathcal{R}_{j}. In addition, suppose zaugz^{\text{aug}} is a solution to HSHS with initial condition z0z_{0} and control parameter pp. Then for each j𝒥j\in\mathcal{J} and tTjt\in T_{j}

zaug(t)slice(j,z0vel,p).z^{\text{aug}}(t)\in\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p). (46)

VI-C Accounting for the Vehicle Footprint in the FRS

The conservative representation of the FRS generated by CORA only accounts for the ego vehicle’s center of mass because HSHS treats the ego vehicle as a point mass. To ensure not-at-fault behavior while planning using REFINE, one must account for the footprint of the ego vehicle, 𝒪ego\mathcal{O}^{\text{ego}}, as in Definition 10.

To do this, define a projection operator πh:{Rj}j𝒥P()\pi_{h}:\{R_{j}\}_{j\in\mathcal{J}}\rightarrow P(\mathbb{R}) as πh(Rj)<[cRj]3,[GRj]3:>\pi_{h}(R_{j})\mapsto\text{\textless}[c_{R_{j}}]_{3},\;[G_{R_{j}}]_{3:}\text{\textgreater} where Rj=<cRj,GRj>R_{j}=\text{\textless}c_{R_{j}},\;G_{R_{j}}\text{\textgreater} is a zonotope computed by CORA as described in Section VI-A. Then by definition πh(j)\pi_{h}(\mathcal{R}_{j}) is a zonotope and it conservatively approximates of the ego vehicle’s heading during TjT_{j}. Moreover, because πh(j)\pi_{h}(\mathcal{R}_{j}) is a 1-dimensional zonotope, it can be rewritten as a 1-dimensional box int(hmidhrad,hmid+hrad)\texttt{int}(h^{\text{mid}}-h^{\text{rad}},h^{\text{mid}}+h^{\text{rad}}) where hmid=[cj]3h^{\text{mid}}=[c_{\mathcal{R}_{j}}]_{3} and hrad=sum(|[Gj]3:|)h^{\text{rad}}=\texttt{sum}(|[G_{\mathcal{R}_{j}}]_{3:}|). We can then use πh\pi_{h} to define a map to account for vehicle footprint within the FRS:

Definition 20.

Let j\mathcal{R}_{j} be the zonotope computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} for arbitrary j𝒥j\in\mathcal{J}, and denote πh(j)\pi_{h}(\mathcal{R}_{j}) as int(hmidhrad,hmid+hrad)\texttt{int}(h^{\text{mid}}-h^{\text{rad}},h^{\text{mid}}+h^{\text{rad}}). Let SS𝒲\SS\subset\mathcal{W} be a 2-dimensional box centered at the origin with length L2+W2\sqrt{L^{2}+W^{2}} and width 12L|sin(hrad)|+12W|cos(hrad)|\frac{1}{2}L|\sin(h^{\text{rad}})|+\frac{1}{2}W|\cos(h^{\text{rad}})|. Define the rotation map rot:P()P(𝒲)\texttt{rot}:P(\mathbb{R})\rightarrow P(\mathcal{W}) as

rot(πh(j))=[cos(hmid)sin(hmid)sin(hmid)cos(hmid)]SS.\texttt{rot}\big{(}\pi_{h}(\mathcal{R}_{j})\big{)}=\begin{bmatrix}\cos(h^{\text{mid}})&-\sin(h^{\text{mid}})\\ \sin(h^{\text{mid}})&\cos(h^{\text{mid}})\end{bmatrix}\SS. (47)

Note that in the interest of simplicity, we have abused notation and assumed that the argument to rot is any subset of \mathbb{R}. In fact, it must always be a 11-dimensional box. In addition note that rot(πh(j))\texttt{rot}\big{(}\pi_{h}(\mathcal{R}_{j})\big{)} is a zonotope because the 2-dimenional box SS\SS is equivalent to a 2-dimensional zonotope and it is multiplied by a matrix via (3). By applying geometry, one can verify that by definition SS\SS bounds the area that 𝒪ego=int([0.5L,0.5W],[0.5L,0.5W])\mathcal{O}^{\text{ego}}=\texttt{int}([-0.5L,-0.5W]^{\top},[0.5L,0.5W]^{\top}) travels through while rotating within the range [hrad,hrad][-h^{\text{rad}},h^{\text{rad}}]. As a result, rot(πh(j))\texttt{rot}\big{(}\pi_{h}(\mathcal{R}_{j})\big{)} over-approximates the area over which 𝒪ego\mathcal{O}^{\text{ego}} sweeps according to πh(j)\pi_{h}(\mathcal{R}_{j}) as shown in Fig. 4.

Because SS\SS can be represented as a zonotope with 2 generators, one can denote rot(πh(j))\texttt{rot}(\pi_{h}(\mathcal{R}_{j})) as <crot,Grot>2\text{\textless}c_{\texttt{rot}},\;G_{\texttt{rot}}\text{\textgreater}\subset\mathbb{R}^{2} where Grot2×2G_{\texttt{rot}}\in\mathbb{R}^{2\times 2}. Notice rot(πh(j))\texttt{rot}(\pi_{h}(\mathcal{R}_{j})) in (47) is a set in 𝒲\mathcal{W} rather than the higher dimensional space where j\mathcal{R}_{j} exists. We extend rot(πh(j))\texttt{rot}(\pi_{h}(\mathcal{R}_{j})) to 9+np\mathbb{R}^{9+n_{p}} as

ROT(πh(j)):=[crot0(7+np)×1],[Grot0(7+np)×2].\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})):=\left<\begin{bmatrix}c_{\texttt{rot}}\\ 0_{(7+n_{p})\times 1}\end{bmatrix},~{}\begin{bmatrix}G_{\texttt{rot}}\\ 0_{(7+n_{p})\times 2}\end{bmatrix}\right>. (48)

Using this definition, one can extend the FRS to account for the vehicle footprint as in the following lemma whose proof can be found in Appendix C:

Refer to caption
Figure 4: Rotation of the ego vehicle and its footprint within range πh(j)\pi_{h}(\mathcal{R}_{j}). The ego vehicle with heading equals to the mean value of πh(j)\pi_{h}(\mathcal{R}_{j}) is bounded by the box with solid black boundaries. The range of rotated heading is indicated by the grey arc. The area the ego vehicle’s footprint sweeps is colored in grey, and is bounded by box rot(πh(j))\texttt{rot}\big{(}\pi_{h}(\mathcal{R}_{j})\big{)} with dashed black boundaries.
Lemma 21.

Let {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} be the set of zonotopes computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0}. Let zaugz^{\text{aug}} be a solution to HSHS with initial velocity z0velz^{\text{vel}}_{0} and control parameter pp and let ξ:P(9+np)×𝒵0vel×𝒫P(𝒲)\xi:P(\mathbb{R}^{9+n_{p}})\times\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P}\rightarrow P(\mathcal{W}) be defined as

ξ(j,z0vel,p)=πxy(slice(jROT(πh(j)),z0vel,p)).\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\pi_{xy}\Big{(}\texttt{slice}\big{(}\mathcal{R}_{j}\oplus\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})),z^{\text{vel}}_{0},p\big{)}\Big{)}. (49)

Then ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p) is a zonotope and for all j𝒥j\in\mathcal{J} and tTjt\in T_{j}, the vehicle footprint oriented and centered according to zaug(t)z^{\text{aug}}(t) is contained within ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p).

Again note that in the interest of simplicity we have abused notation and assumed that the first argument to ξ\xi is any subset of 9+np\mathbb{R}^{9+n_{p}}. This argument is always a zonotope in 9+np\mathbb{R}^{9+n_{p}}.

VII Online Planning

This section begins by taking nonzero initial position condition into account and formulating the optimization for online planning in REFINE to search for a safety guaranteed control policy in real time. It then explains how to represent each of the constraints of the online optimization problem in a differentiable fashion, and concludes by describing the performance of the online planning loop.

Before continuing we make an assumption regarding predictions of surrounding obstacles. Because prediction is not the primary emphasis of this work, we assume that the future position of any sensed obstacle within the sensor horizon during [t0,t0+tplan+tf][t_{0},t_{0}+t_{\text{plan}}+t_{\text{f}}] is conservatively known at time t0t_{0}:

Assumption 22.

There exists a map ϑ:𝒥×P(𝒲)\vartheta:\mathcal{J}\times\mathcal{I}\rightarrow P(\mathcal{W}) such that ϑ(j,i)\vartheta(j,i) is a zonotope and

tTj𝒪i(t)((x(t0),y(t0)),S)ϑ(j,i).\cup_{t\in T_{j}}\mathcal{O}_{i}(t)\cap\mathcal{B}\left((x(t_{0}),y(t_{0})),S\right)\subseteq\vartheta(j,i). (50)

VII-A Nonzero Initial Position

Recall that the FRS computed in Section VI is computed offline while assuming that the initial position of the ego vehicle is zero (i.e., Assumption 15). The zonotope collection {j}j𝒥\{\mathcal{R}_{j}\}_{j\in\mathcal{J}} can be understood as a local representation of the FRS in the local frame. This local frame is oriented at the ego vehicle’s location [x0,y0]2[x_{0},y_{0}]^{\top}\in\mathbb{R}^{2} with its xx-axis aligned according to the ego vehicle’s heading h0h_{0}\in\mathbb{R}, where z0pos=[x0,y0,h0]z^{\text{pos}}_{0}=[x_{0},y_{0},h_{0}]^{\top} gives the ego vehicle’s position [x(t),y(t),h(t)][x(t),y(t),h(t)]^{\top} at time t=0t=0 in the world frame. Similarly, ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p) is a local representation of the area that the ego vehicle may occupy during TjT_{j} in the same local frame.

Because obstacles are defined in the world frame, to generate not-at-fault trajectories, one has to either transfer ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p) from the local frame to the world frame, or transfer the obstacle position ϑ(j,i)\vartheta(j,i) from the world frame to the local frame using a 2D rigid body transformation. This work utilizes the second option and transforms ϑ(j,i)\vartheta(j,i) into the local frame as

ϑloc(j,i,z0pos)=[cos(h0)sin(h0)sin(h0)cos(h0)](ϑ(j,i)[x0y0]).\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=\begin{bmatrix}\cos(h_{0})&\sin(h_{0})\\ -\sin(h_{0})&\cos(h_{0})\end{bmatrix}(\vartheta(j,i)-\begin{bmatrix}x_{0}\\ y_{0}\end{bmatrix}). (51)

VII-B Online Optimization

Given the predicted initial condition of the vehicle at t=0t=0 as z0=[(z0pos),(z0vel)]3×𝒵0velz_{0}=[(z^{\text{pos}}_{0})^{\top},(z^{\text{vel}}_{0})^{\top}]^{\top}\in\mathbb{R}^{3}\times\mathcal{Z}^{\text{vel}}_{0}, REFINE computes a not-at-fault trajectory by solving the following optimization problem at each planning iteration:

minp𝒫\displaystyle\min_{p\in\mathcal{P}} cost(z0,p)(Opt)\displaystyle\quad\texttt{cost}(z_{0},p)\hskip 113.81102pt(\texttt{Opt})
s.t. ξ(j,z0vel,p)ϑloc(j,i,z0pos)=,j𝒥,i\displaystyle\quad\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\cap\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=\emptyset,\hskip 14.22636pt\forall j\in\mathcal{J},\forall i\in\mathcal{I}

where cost:3×𝒵0vel×𝒫\texttt{cost}:\mathbb{R}^{3}\times\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P}\to\mathbb{R} is a user-specified cost function and ξ\xi is defined as in Lemma 21. Note that the constraint in (Opt) is satisfied if for a particular trajectory parameter pp, there is no intersection between any obstacle and the reachable set of the ego vehicle with its footprint considered during any time interval while following pp.

VII-C Representing the Constraint and its Gradient in (Opt)

The following theorem, whose proof can be found in Appendix D, describes how to represent the set intersection constraint in (Opt) and how to compute its derivative with respect to p𝒫p\in\mathcal{P}:

Theorem 23.

There exists matrices AA and BB and a vector bb such that ξ(j,z0vel,p)ϑloc(j,i,z0pos)=\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\cap\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=\emptyset if and only if max(BApb)>0\max(BA\cdot p-b)>0. In addition, the subgradient of max(BApb)\max(BA\cdot p-b) with respect to pp is maxkK^[BA]k:\max_{k\in\hat{K}}[BA]_{k:}, where K^={k[BApb]k=max(BApb)}\hat{K}=\{k\mid[BA\cdot p-b]_{k}=\max(BA\cdot p-b)\}.

Formulas for the matrices AA and BB and vector bb in the previous theorem can be found in (88), (90), and (91), respectively.

VII-D Online Operation

Algorithm 1 summarizes the online operations of REFINE. In each planning iteration, the ego vehicle executes the feasible control parameter that is computed in the previous planning iteration (Line 3). Meanwhile, SenseObstacles senses and predicts obstacles as in Assumption 22 (Line 4) in local frame decided by z0posz^{\text{pos}}_{0}. (Opt) is then solved to compute a control parameter pp^{*} using z0z_{0} and {ϑloc(j,i,z0pos)}(j,i)𝒥×\{\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})\}_{(j,i)\in\mathcal{J}\times\mathcal{I}} (Line 5). If (Opt) fails to find a feasible solution within tplant_{\text{plan}}, the contingency braking maneuver whose safety is verified in the last planning iteration is executed, and REFINE is terminated (Line 6). In the case when (Opt) is able to find a feasible pp^{*}, StatePrediction predicts the state value at t=tmt=t_{\text{m}} based on z0z_{0} and pp^{*} as in Assumption 6 (Lines 7 and 8). If the predicted velocity value does not belong to 𝒵0vel\mathcal{Z}^{\text{vel}}_{0}, then its corresponding FRS is not available and the planning has to stop while executing a braking maneuver (Line 9). Otherwise we reset time to 0 (Line 10) and start the next planning iteration. Note Lines 4 and 7 are assumed to execute instantaneously, but in practice the time spent for these steps can be subtracted from tplant_{\text{plan}} to ensure real-time performance. By iteratively applying Definition 8, Lemmas 14 and 21, Assumption 22 and (51), the following theorem holds:

Theorem 24.

Suppose the ego vehicle can sense and predict surrounding obstacles as in Assumption 22, and starts with a not-at-fault control parameter p0𝒫p_{0}\in\mathcal{P}. Then by performing planning and control as in Algorithm 1, the ego vehicle is not-at-fault for all time.

Algorithm 1 REFINE Online Planning
0:  p0𝒫p_{0}\in\mathcal{P} and z0=[(z0pos),(z0vel)]3×𝒵0velz_{0}=[(z^{\text{pos}}_{0})^{\top},(z^{\text{vel}}_{0})^{\top}]^{\top}\in\mathbb{R}^{3}\times\mathcal{Z}^{\text{vel}}_{0}
1:  Initialize: p=p0p^{*}=p_{0}, t=0t=0
2:  Loop: // Line 3 executes at the same time as Line 4-8
3:   Execute pp^{*} during [0,tm)[0,t_{\text{m}})
4:   {ϑloc(j,i,z0pos)}(j,i)𝒥×SenseObstacles()\{\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})\}_{(j,i)\in\mathcal{J}\times\mathcal{I}}\leftarrow\texttt{SenseObstacles}()
5:   Try pOnlineOpt(z0,{ϑloc(j,i,z0pos)}(j,i)𝒥×)p^{*}\leftarrow\texttt{OnlineOpt}(z_{0},\{\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})\}_{(j,i)\in\mathcal{J}\times\mathcal{I}})  // within tplant_{\text{plan}} seconds
6:   Catch execute pp^{*} during [tm,tf][t_{\text{m}},t_{\text{f}}], then break
7:   (z0pos,z0vel)StatePrediction(z0,p,tm)(z^{\text{pos}}_{0},z^{\text{vel}}_{0})\leftarrow\texttt{StatePrediction}(z_{0},p^{*},t_{\text{m}})
8:   z0[(z0pos),(z0vel)]z_{0}\leftarrow[(z^{\text{pos}}_{0})^{\top},(z^{\text{vel}}_{0})^{\top}]^{\top}
9:   If (z0vel𝒵0velz^{\text{vel}}_{0}\notin\mathcal{Z}^{\text{vel}}_{0}), execute pp^{*} during [tm,tf][t_{\text{m}},t_{\text{f}}] and break
10:   Reset tt to 0
11:  End

VIII Extensions

This section describes how to extend various components of REFINE. This section begins by describing how to apply CORA to compute tight, conservative approximations of the FRS. Next, it illustrates how to verify the satisfaction of Assumption 3. The section concludes by describing how to apply REFINE to AWD and RWD vehicles.

VIII-A Subdivision of Initial Set and Families of Trajectories

In practice, CORA may generate overly conservative representations for the FRS if the initial condition set is large. To address this challenge, one can instead partition 𝒵0\mathcal{Z}_{0} and 𝒫\mathcal{P} and compute a FRS beginning from each element in this partition. Note one could then still apply REFINE as in Algorithm 1. However in Line 5 must solve multiple optimizations of the form (Opt) in parallel. Each of these optimizations optimizes over a unique partition element that contains initial condition z0z_{0}, then pp^{*} is set to be the feasible control parameter that achieves the minimum cost function value among these optimizations. Similarly note if one had multiple classes of desired trajectories (e.g. lane change, longitudinal speed changes, etc.) that were each parameterized in distinct ways, then one could extend REFINE just as in the instance of having a partition of the initial condition set. In this way one could apply REFINE to optimize over multiple families of desired trajectories to generate not-at-fault behavior. Note, that the planning horizon tft_{\text{f}} is constant within each element of the partition, but can vary between different elements in the partition.

VIII-B Satisfaction of Assumption 3

Throughout our analysis thus far, we assume that the slip ratios and slip angles stay within the linear regime as described in Assumption 3. This subsection describes how to ensure that Assumption 3 is satisfied by performing an offline verification on the computed reachable sets.

Recall that in an FWD vehicle model, Fxr(t)=0F_{\text{xr}}(t)=0 for all tt as in Remark 2. By plugging (12) in (21), one can derive:

λf(t)=lglrμ¯(Kuu(t)+Kuudes(t,p)++u˙des(t,p)v(t)r(t)+τu(t,p)).\begin{split}\lambda_{\text{f}}(t)=&\frac{l}{gl_{\text{r}}\bar{\mu}}\big{(}-K_{u}u(t)+K_{u}u^{\text{des}}(t,p)+\\ &+\dot{u}^{\text{des}}(t,p)-v(t)r(t)+\tau_{u}(t,p)\big{)}.\end{split} (52)

Similarly by plugging (13) in (27) one can derive:

αf(t)=IzzKrlfc¯αf(r(t)rdes(t,p))+IzzKhlfc¯αf(h(t)hdes(t,p))++Izzlfc¯αfr˙des(t,p)+lrlfc¯αfFyr(t)+Izzlfc¯αfτr(t,p).\begin{split}\alpha_{\text{f}}(t)=&-\frac{I_{\text{zz}}K_{r}}{l_{\text{f}}\bar{c}_{\alpha\text{f}}}\left(r(t)-r^{\text{des}}(t,p)\right)+\\ &-\frac{I_{\text{zz}}K_{h}}{l_{\text{f}}\bar{c}_{\alpha\text{f}}}\left(h(t)-h^{\text{des}}(t,p)\right)+\\ &+\frac{I_{\text{zz}}}{l_{\text{f}}\bar{c}_{\alpha\text{f}}}\dot{r}^{\text{des}}(t,p)+\frac{l_{\text{r}}}{l_{\text{f}}\bar{c}_{\alpha\text{f}}}F_{\text{yr}}(t)+\frac{I_{\text{zz}}}{l_{\text{f}}\bar{c}_{\alpha\text{f}}}\tau_{r}(t,p).\end{split} (53)

If the slip ratio and slip angle computed in (52) and (53) satisfy Assumption 3, they achieve the expected tire forces as introduced in Section V-A.

By Definition 1 any j=<cj,Gj>\mathcal{R}_{j}=\text{\textless}c_{\mathcal{R}_{j}},\;G_{\mathcal{R}_{j}}\text{\textgreater} that is computed by CORA under the hybrid vehicle dynamics model from a partition element in Section VIII-A, can be bounded by a multi-dimensional box int(cj|Gj|𝟏,cj+|Gj|𝟏)\texttt{int}(c_{\mathcal{R}_{j}}-|G_{\mathcal{R}_{j}}|\cdot\mathbf{1},c_{\mathcal{R}_{j}}+|G_{\mathcal{R}_{j}}|\cdot\mathbf{1}) where 𝟏\mathbf{1} is a column vector of ones. This multi-dimensional box gives interval ranges of all elements in zaugz^{\text{aug}} during TjT_{j}, which allows us to conservatively estimate {|αr(t)|}tTj\{|\alpha_{\text{r}}(t)|\}_{t\in T_{j}}, {yr(t)}tTj\{\mathcal{F}_{\text{yr}}(t)\}_{t\in T_{j}} and {|λf(t)|}tTj\{|\lambda_{\text{f}}(t)|\}_{t\in T_{j}} via (9), (13) and (52) respectively using Interval Arithmetic [34]. The approximation of {yr(t)}tTj\{\mathcal{F}_{\text{yr}}(t)\}_{t\in T_{j}} makes it possible to over-approximate {|αf(t)|}tTj\{|\alpha_{\text{f}}(t)|\}_{t\in T_{j}} via (53).

Note in (52) and (53) integral terms are embedded in τu(t,p)\tau_{u}(t,p) and τr(t,p)\tau_{r}(t,p) as described in (22) and (28). Because it is nontrivial to perform Interval Arithmetic over integrals, we extend zaugz^{\text{aug}} to zaug+z^{\text{aug}+} by appending three more auxiliary states εu(t):=t0tu(s)udes(s,p)2𝑑s\varepsilon_{u}(t):=\int_{t_{0}}^{t}\|u(s)-u^{\text{des}}(s,p)\|^{2}ds, εr(t):=t0tr(s)rdes(s,p)2𝑑s\varepsilon_{r}(t):=\int_{t_{0}}^{t}\|r(s)-r^{\text{des}}(s,p)\|^{2}ds and εh(t):=t0th(s)hdes(s,p)2𝑑s\varepsilon_{h}(t):=\int_{t_{0}}^{t}\|h(s)-h^{\text{des}}(s,p)\|^{2}ds. Notice

[ε˙u(t)ε˙r(t)ε˙h(t)]=[u(t)udes(t,p)2r(t)rdes(t,p)2h(t)hdes(t,p)2],\begin{bmatrix}\dot{\varepsilon}_{u}(t)\\ \dot{\varepsilon}_{r}(t)\\ \dot{\varepsilon}_{h}(t)\end{bmatrix}=\begin{bmatrix}\|u(t)-u^{\text{des}}(t,p)\|^{2}\\ \|r(t)-r^{\text{des}}(t,p)\|^{2}\\ \|h(t)-h^{\text{des}}(t,p)\|^{2}\end{bmatrix}, (54)

then we can compute a higher-dimensional FRS of zaug+z^{\text{aug}+} during [0,tf][0,t_{\text{f}}] through the same process as described in Section VI. This higher-dimensional FRS makes over-approximations of {εu(t)}t𝒯j\{\varepsilon_{u}(t)\}_{t\in\mathcal{T}_{j}}, {εr(t)}t𝒯j\{\varepsilon_{r}(t)\}_{t\in\mathcal{T}_{j}} and {εh(t)}t𝒯j\{\varepsilon_{h}(t)\}_{t\in\mathcal{T}_{j}} available for computation in (52) and (53).

If the supremum of {|λf(t)|}tTj\{|\lambda_{\text{f}}(t)|\}_{t\in T_{j}} exceeds λcri\lambda^{\text{cri}} or any supremum of {|αf(t)|}tTj\{|\alpha_{\text{f}}(t)|\}_{t\in T_{j}} and {|αr(t)|}tTj\{|\alpha_{\text{r}}(t)|\}_{t\in T_{j}} exceeds αcri\alpha^{\text{cri}}, then the corresponding partition section of 𝒵0×𝒫\mathcal{Z}_{0}\times\mathcal{P} may result in a system trajectory that violates Assumption 3. Therefore to ensure not-at-fault, we only run optimization over partition elements whose FRS outer-approximations satisfy Assumption 3. Finally we emphasize that such verification of Assumption 3 over each partition element that is described in Section VIII-A can be done offline.

VIII-C Generalization to All-Wheel-Drive and Rear-Wheel-Drive

This subsection describes how REFINE can be extended to AWD and RWD vehicles. AWD vehicles share the same dynamics as (14) in Section III with one exception. In an AWD vehicle, only the lateral rear tire force is estimated and all the other three tire forces are controlled by using wheel speed and steering angle. In particular, computations related to the lateral tire forces as (27) and (53) are identical to the FWD case . However, both the front and rear tires contribute nonzero longitudinal forces, and they can be specified by solving the following system of linear equations:

lfFxf(t)\displaystyle l_{\text{f}}F_{\text{xf}}(t) =lrFxr(t)\displaystyle=l_{\text{r}}F_{\text{xr}}(t)
Fxf(t)+Fxr(t)\displaystyle F_{\text{xf}}(t)+F_{\text{xr}}(t) =mKuu(t)+mKuudes(t,p)+\displaystyle=-mK_{u}u(t)+mK_{u}u^{\text{des}}(t,p)+ (55)
+mu˙des(t,p)mv(t)r(t)+mτu(t,p)\displaystyle+m\dot{u}^{\text{des}}(t,p)-mv(t)r(t)+m\tau_{u}(t,p)

Longitudinal tire forces Fxf(t)F_{\text{xf}}(t) and Fxr(t)F_{\text{xr}}(t) computed from (55) can then be used to compute wheel speed ωf(t)=ωr(t)\omega_{\text{f}}(t)=\omega_{\text{r}}(t) as in (36). In this formulation, (52) also needs to be modified to

λf(t)=λr(t)=1gμ¯(Kuu(t)+Kuudes(t,p)++u˙des(t,p)v(t)r(t)+τu(t,p))\begin{split}\lambda_{\text{f}}(t)=\lambda_{\text{r}}(t)=&\frac{1}{g\bar{\mu}}\big{(}-K_{u}u(t)+K_{u}u^{\text{des}}(t,p)+\\ &+\dot{u}^{\text{des}}(t,p)-v(t)r(t)+\tau_{u}(t,p)\big{)}\end{split} (56)

to verify Assumption 3 along the longitudinal direction. Compared to FWD, in RWD the longitudinal front tire force is 0 and the longitudinal rear tire force is controlled. Thus one can generalize to RWD by switching all related computations on Fxf(t)F_{\text{xf}}(t) and Fxr(t)F_{\text{xr}}(t) from the FWD case.

IX Experiments

This section describes the implementation and evaluation of REFINE in simulation using a FWD, full-size vehicle model and on hardware using an AWD, 110\frac{1}{10}th size race car model. Readers can find a link to the software implementation111https://github.com/roahmlab/REFINE and videos222https://drive.google.com/drive/folders/1bXl07gTnaA3rJBl7J05SL0tsfIJEDfKy?usp=sharing, https://drive.google.com/drive/folders/1FvGHuqIRQpDS5xWRgB30h7exmGTjRyel?usp=sharing online.

IX-A Desired Trajectories

As detailed in Section V-A, the proposed controller relies on desired trajectories of vehicle longitudinal speed and yaw rate satisfying Definition 7. To test the performance of the proposed controller and planning framework, we selected 33 families of desired trajectories that are observed during daily driving. Each desired trajectory is the concatenation of a driving maneuver and a contingency braking maneuver. The driving maneuver is either a speed change, direction change, or lane change (i.e. each option corresponds to one of the 33 families of desired trajectories). Moreover, each desired trajectory is parameterized by p=[pu,py]𝒫2p=[p_{u},p_{y}]^{\top}\in\mathcal{P}\subset\mathbb{R}^{2} where pup_{u} denotes desired longitudinal speed, and pyp_{y} decides desired lateral displacement.

Assuming that the ego vehicle has initial longitudinal speed u0u_{0}\in\mathbb{R} at time 0, the desired trajectory for longitudinal speed is the same for each of the 33 families of desired trajectories:

udes(t,p)={u0+puu0tmt, if 0<t<tmubrake(t,p), if ttmu^{\text{des}}(t,p)=\begin{cases}u_{0}+\frac{p_{u}-u_{0}}{t_{\text{m}}}t,\hskip 5.69046pt\text{ if }0<t<t_{\text{m}}\\ u^{\text{brake}}(t,p),\hskip 21.05519pt\text{ if }t\geq t_{\text{m}}\end{cases} (57)

where

ubrake(t,p)={pu+(ttm)adec,if pu>ucri and tmt<tm+ucripuadec0,if pu>ucri and ttm+ucripuadec0,if puucri and ttmu^{\text{brake}}(t,p)=\begin{cases}p_{u}+(t-t_{\text{m}})a^{\text{dec}},\\ \hskip 14.22636pt\text{if }p_{u}>u^{\text{cri}}\text{ and }t_{\text{m}}\leq t<t_{\text{m}}+\frac{u^{\text{cri}}-p_{u}}{a^{\text{dec}}}\\ 0,\hskip 4.26773pt\text{if }p_{u}>u^{\text{cri}}\text{ and }t\geq t_{\text{m}}+\frac{u^{\text{cri}}-p_{u}}{a^{\text{dec}}}\\ 0,\hskip 4.26773pt\text{if }p_{u}\leq u^{\text{cri}}\text{ and }t\geq t_{\text{m}}\end{cases} (58)

with some deceleration adec<0a^{\text{dec}}<0. Note by Definition 7 tstopt_{\text{stop}} can be specified as

tstop={tm+ucripuadec, if pu>ucritm, if puucri.t_{\text{stop}}=\begin{cases}t_{\text{m}}+\frac{u^{\text{cri}}-p_{u}}{a^{\text{dec}}},~{}\text{ if }p_{u}>u^{\text{cri}}\\ t_{\text{m}},\hskip 44.10185pt\text{ if }p_{u}\leq u^{\text{cri}}.\end{cases} (59)

The desired longitudinal speed approaches pup_{u} linearly from u0u_{0} before braking begins at time tmt_{\text{m}}, then decreases to ucriu^{\text{cri}} with deceleration adeca^{\text{dec}} and immediately drops down to 0 at time tstopt_{\text{stop}}. Moreover, one can verify that the chosen udes(t,p)u^{\text{des}}(t,p) in (57) satisfies the assumptions on desired longitudinal speed in Lemma 14.

Refer to caption
Figure 5: Examples of hdes(t,p)h^{\text{des}}(t,p) and rdes(t,p)r^{\text{des}}(t,p) to achieve lane changes with u0=1.0u_{0}=1.0 [m/s], tm=3.0t_{\text{m}}=3.0 [s], h1des=2027h^{\text{des}}_{1}=\frac{20}{27}, h2des=2710h^{\text{des}}_{2}=\frac{27}{10}, and pyp_{y} taking values of -0.4 and 0.8 from top to bottom. Note pup_{u} is set as u0u_{0} to maintain the vehicle longitudinal speed before tmt_{\text{m}} among both examples.

Assuming the ego vehicle has initial heading h0[π,π]h_{0}\in[-\pi,\pi] at time 0, the desired heading trajectory varies among the different trajectory families. Specifically, for the trajectory family associated with speed change:

hdes(t,p)=h0,t0.h^{\text{des}}(t,p)=h_{0},~{}\forall t\geq 0. (60)

Desired heading trajectory for the trajectory family associated with direction change:

hdes(t,p)={h0+pyt2pytm4πsin(2πttm), if 0t<tmh0+pytm2, if ttmh^{\text{des}}(t,p)=\begin{cases}h_{0}+\frac{p_{y}t}{2}-\frac{p_{y}t_{\text{m}}}{4\pi}\sin\left(\frac{2\pi t}{t_{\text{m}}}\right),\text{ if }0\leq t<t_{\text{m}}\\ h_{0}+\frac{p_{y}t_{\text{m}}}{2},\hskip 69.70915pt\text{ if }t\geq t_{\text{m}}\end{cases} (61)

and for the trajectory family associated with lane change:

hdes(t,p)={h0+h1despyeh2des(t0.5tm)2, if 0t<tmh0, if ttmh^{\text{des}}(t,p)=\begin{cases}h_{0}+h^{\text{des}}_{1}p_{y}\cdot\mathrm{e}^{-h^{\text{des}}_{2}(t-0.5t_{\text{m}})^{2}},\\ \hskip 108.12054pt\text{ if }0\leq t<t_{\text{m}}\\ h_{0},\hskip 82.51282pt~{}~{}~{}\text{ if }t\geq t_{\text{m}}\end{cases} (62)

where e\mathrm{e} is Euler’s number, and h1desh^{\text{des}}_{1} and h2desh^{\text{des}}_{2} are user-specified auxiliary constants that adjust the desired heading amplitude. Illustrations of speed change and direction change maneuvers can be found in the software repository333https://github.com/roahmlab/REFINE/blob/main/Rover_Robot_Implementation/README.md#1-desired-trajectories. As shown in Figure 5, hdes(t,p)h^{\text{des}}(t,p) remains constant for all ttmt\geq t_{\text{m}} among all families of desired trajectories. By Definition 7, desired trajectory of yaw rate is set as rdes(t,p)=ddthdes(t,p)r^{\text{des}}(t,p)=\frac{d}{dt}h^{\text{des}}(t,p) among all trajectory families.

In this work, tmt_{\text{m}} for the speed change and direction change trajectory families are set equal to one another. tmt_{\text{m}} for the lane change trajectory family is twice what it is for the direction change and speed change trajectory families. This is because a lane change can be treated as a concatenation of two direction changes. Because we do not know which desired trajectory ensures not-at-fault a priori, during each planning iteration, to guarantee real-time performance, tplant_{\text{plan}} should be no greater than the smallest duration of a driving maneuver, i.e. speed change or direction change.

IX-B Simulation on a FWD Model

This subsection describes the evaluation of REFINE in simulation. In particular, this section describes the simulation environment, how we implement REFINE, the methods we compare it to, and the results of the evaluation.

IX-B1 Simulation Environment

We evaluate the performance on 10001000 randomly generated 33-lane highway scenarios in which the same full-size, FWD vehicle as the ego vehicle is expected to autonomously navigate through dynamic traffic for 11[km] from a fixed initial condition. All lanes of all highway scenario share the same lane width as 3.73.7[m]. Each highway scenario contains up to 2424 moving vehicles and up to 55 static vehicles that start from random locations and are all treated as obstacles to the ego vehicle. Moreover, each moving obstacle maintains its randomly generated highway lane and initial speed up to 2525[m/s] for all time. Because each highway scenario is randomly generated, there is no guarantee that the ego vehicle has a path to navigate itself from the start to the goal. Such cases allow us to verify if the tested methods can still keep the ego vehicle safe even in infeasible scenarios. Parameters of the ego vehicle can be found in the software implementation readme444https://github.com/roahmlab/REFINE/blob/main/Full_Size_Vehicle_Simulation/README.md#vehicle-and-control-parameters.

During each planning iteration, all evaluated methods use the same high level planner. This high level planner generates waypoints by first choosing the lane on which the nearest obstacle ahead has the largest distance from the ego vehicle. Subsequently it picks a waypoint that is ahead of the ego vehicle and stays along the center line of the chosen lane. The cost function in (Opt) or in any of the evaluated optimization-based motion planning algorithms is set to be the Euclidean distance between the waypoint generated by the high level planner and the predicted vehicle location based on initial state z0z_{0} and decision variable pp. All simulations are implemented and evaluated in MATLAB R2022a on a laptop with an Intel i7-9750H processor and 16GB of RAM.

IX-B2 REFINE Simulation Implementation

REFINE invokes C++ for the online optimization using IPOPT [35]. Parameters of REFINE’s controller are chosen to satisfy the conditions in Lemma 14 and can be found in the software implementation readme555https://github.com/roahmlab/REFINE/blob/main/Full_Size_Vehicle_Simulation/README.md#vehicle-and-control-parameters. REFINE tracks families of desired trajectories as described in Section IX-A with 𝒫={(pu,py)[5,30]×[0.8,0.8]pu=u0 if py0}\mathcal{P}=\{(p_{u},p_{y})\in[5,30]\times[-0.8,0.8]\mid p_{u}=u_{0}\text{ if }p_{y}\neq 0\}, adec=5.0[m/s2]a^{\text{dec}}=-5.0[\text{m}/\text{s}^{2}], h1des=62e11h^{\text{des}}_{1}=\frac{6\sqrt{2\mathrm{e}}}{11} and h2des=121144h^{\text{des}}_{2}=\frac{121}{144}. The duration tmt_{\text{m}} of driving maneuvers for each trajectory family is 3[s] for speed change, 3[s] for direction change and 6[s] for lane change, therefore tplant_{\text{plan}} is set to be 3[s]. As discussed in Section VIII-A, during offline computation, we evenly partition the first and second dimensions of 𝒫\mathcal{P} into intervals of lengths 0.50.5 and 0.40.4, respectively. For each partition element, tft_{\text{f}} is assigned to be the maximum possible value of tbraket_{\text{brake}} as computed in (82) in which tfstopt_{\text{fstop}} is by observation no greater than 0.1[s]. An outer-approximation of the FRS is computed for every partition element of 𝒫\mathcal{P} using CORA with Δt\Delta t as 0.0150.015[s], 0.0100.010[s], 0.0050.005[s] and 0.0010.001[s]. Note, that we choose these different values of Δt\Delta t to highlight how this choice affects the performance of REFINE.

IX-B3 Other Implemented Methods

We compare REFINE against several state of the art trajectory planning methods: a baseline zonotope reachable set method [36], a Sum-of-Squares-based RTD (SOS-RTD) method [13], and an NMPC method using GPOPS-II [37].

The first trajectory planning method that we implement is a baseline zonotope based reachability method that selects a finite number of possible trajectories rather than a continuum of possible trajectories as REFINE does. This baseline method is similar to the classic funnel library approach to motion planning [12] in that it chooses a finite number of possible trajectories to track. The baseline method computes zonotope reachable sets using CORA with Δt=0.010\Delta t=0.010[s] over a sparse discrete control parameter space 𝒫sparse:={(pu,py){5,5.1,5.2,,30}×{0,0.4}pu=u0 if py0}\mathcal{P}^{\text{sparse}}:=\{(p_{u},p_{y})\in\{5,5.1,5.2,\ldots,30\}\times\{0,0.4\}\mid p_{u}=u_{0}\text{ if }p_{y}\neq 0\} and a dense discrete control parameter space 𝒫dense:={(pu,py){5,5.1,5.2,,30}×{0,0.04,0.08,,0.8}pu=u0 if py0}\mathcal{P}^{\text{dense}}:=\{(p_{u},p_{y})\in\{5,5.1,5.2,\ldots,30\}\times\{0,0.04,0.08,\ldots,0.8\}\mid p_{u}=u_{0}\text{ if }p_{y}\neq 0\}. We use 𝒫sparse\mathcal{P}^{\text{sparse}} and 𝒫dense\mathcal{P}^{\text{dense}} to illustrate the challenges associated with applying this baseline method in terms of computation time, memory consumption, and the ability to robustly travel through complex simulation environments. During each planning iteration, the baseline method searches through the discrete control parameter space until a feasible solution is found such that the corresponding zonotope reachable sets have no intersection with any obstacles over the planning horizon. The search procedure over this discrete control space is biased to select the same trajectory parameter that worked in the prior planning iteration or to search first from trajectory parameter that are close to one that worked in the previous planning iteration.

The SOS-RTD plans a controller that also tracks families of trajectories to achieve speed change, direction change and lane change maneuvers with braking maneuvers as described in Section IX-A. SOS-RTD offline approximates the FRS by solving a series of polynomial optimizations using Sum-of-Squares so that the FRS can be over-approximated as a union of superlevel sets of polynomials over successive time intervals of duration 0.1[s] [13]. Computed polynomial FRS are further expanded to account for footprints of other vehicles offline in order to avoid buffering each obstacle with discrete points online [16]. During online optimization, SOS-RTD plans every 33[s] and uses the same cost function as REFINE does, but checks collision against obstacles by enforcing that no obstacle has its center stay inside the FRS approximation during any time interval.

The NMPC method does not perform offline reachability analysis. Instead, it directly computes the control inputs that are applicable for tmt_{\text{m}} seconds by solving an optimal control problem. This optimal control problem is solved using GPOPS-II in a receding horizon fashion. The NMPC method conservatively ensures collision-free trajectories by covering the footprints of the ego vehicle and all obstacles with two overlapping balls, and requiring that no ball of the ego vehicle intersects with any ball of any obstacle. Notice during each online planning iteration, the NMPC method does not need pre-defined desired trajectories for solving control inputs. Moreover, it does not require the planned control inputs to stop the vehicle by the end of planned horizon as the other three methods do.

Method Safely Stop Crash Success Average Travel Speed Solving Time of Online Planning Memory
(Average, Maximum)
Baseline (sparse, Δt=0.010\Delta t=0.010) 38% 0% 62% 22.3572[m/s] (2.03[s], 4.15[s]) 980 MB
Baseline (dense, Δt=0.010\Delta t=0.010) 30% 0% 70% 23.6327[m/s] (12.42[s], 27.74[s]) 9.1 GB
SOS-RTD 36% 0% 64% 24.8049[m/s] (0.05[s], 1.58[s]) 2.4 GB
NMPC 3% 29% 68% 27.3963[m/s] (40.89[s], 534.82[s]) N/A
REFINE (Δt=0.015\Delta t=0.015) 27% 0% 73% 23.2452[m/s] (0.34[s], 0.95[s]) 488 MB
REFINE (Δt=0.010\Delta t=0.010) 17% 0% 83% 24.8311[m/s] (0.52[s], 1.57[s]) 703 MB
REFINE (Δt=0.005\Delta t=0.005) 16% 0% 84% 24.8761[m/s] (1.28[s], 4.35[s]) 997 MB
REFINE (Δt=0.001\Delta t=0.001) 16% 0% 84% 24.8953[m/s] (6.48[s], 10.78[s]) 6.4 GB
TABLE I: Summary of performance of various tested techniques on the same 10001000 simulation environments.

IX-B4 Evaluation Criteria

We evaluate each implemented trajectory planning method in several ways as summarized in Table I First, we report the percentage of times that each planning method either came safely to a stop (in a not-at-fault manner), crashed, or successfully navigated through the scenario. Note a scenario is terminated when one of those three conditions is satisfied. Second, we report the average travel speed during all scenarios. Third, we report the average and maximum planning time over all scenarios. Finally, we report on the size of the pre-computed reachable set.

IX-B5 Results

REFINE achieves the highest success rate among all evaluated methods and has no crashes. The success rate of REFINE converges to 84% as the value of Δt\Delta t decreases because the FRS approximation becomes tighter with denser time discretization. However as the time discretization becomes finer, memory consumption grows larger because more zonotopes are used to over-approximate FRS. Furthermore, due to the increasing number of zonotope reachable sets, the solving time also increases and begins to exceed the allotted planning time. According to our simulation, we see that Δt=0.010\Delta t=0.010[s] results in high enough successful rate while maintaining a planning time no greater than 33[s].

The baseline method with 𝒫sparse\mathcal{P}^{\text{sparse}} shares almost the same memory consumption as REFINE with Δt=0.005\Delta t=0.005[s], but results in a much lower successful rate and smaller average travel speed. When the baseline method runs over 𝒫dense\mathcal{P}^{\text{dense}}, its success rate is increased, but still smaller than that of REFINE. More troublingly, its memory consumption increases to 9.19.1 GB. Neither evaluated baseline is able to finish online planning within 33[s]. Compared to REFINE, SOS-RTD completes online planning faster and can also guarantee vehicle safety with a similar average travel speed. However SOS-RTD needs a memory of 2.42.4 GB to store its polynomial reachable sets, and its success rate is only 6464% because the polynomial reachable sets are more conservative than zonotope reachable sets.

When the NMPC method is utilized for motion planning, the ego vehicle achieves a similar success rate as SOS-RTD, but crashes occur 2929% of the time. Note the NMPC method achieves a higher average travel speed of the ego vehicle when compared to the other three methods. More aggressive operation can allow the ego vehicle drive closer to obstacles, but can make subsequent obstacle avoidance difficult. The NMPC method uses 40.890640.8906[s] on average to compute a solution, which makes real-time path planning untenable.

Refer to caption
(a) REFINE utilized.
Refer to caption
(b) SOS-RTD utilized.
Refer to caption
(c) NMPC utilized.
Figure 6: An illustration of the performance of REFINE, SOS-RTD, and NMPC on the same simulated scenario. In this instance REFINE successfully navigates the ego vehicle through traffic (top three images), SOS-RTD stops the ego vehicle to avoid collision due to the conservatism of polynomial reachable sets (middle three images), and NMPC crashes the ego vehicle even though its online optimization claims that it has found a feasible solution (bottom three images). In each set of images, the ego vehicle and its trajectory are colored in black. Zonotope reachable sets for REFINE and polynomial reachable sets for SOS-RTD are colored in green. Other vehicles are obstacles and are depicted in white. If an obstacle is moving, then it is plotted at 3 time instances tt, t+0.5t+0.5 and t+1t+1 with increasing transparency. Static vehicles are only plotted at time tt.

Figure 6 illustrates the performance of the three methods in the same scene at three different time instances. In Figure 6(a), because REFINE gives a tight approximation of the ego vehicle’s FRS using zonotopes, the ego vehicle is able to first bypass static vehicles in the top lane from t=24t=24[s] to t=30t=30[s], then switch to the top lane and bypass vehicles in the middle lane from t=30t=30[s] to t=36t=36[s]. In Figure 6(b) SOS-RTD is used for planning. In this case the ego vehicle bypasses the static vehicles in the top lane from t=24t=24[s] to t=30t=30[s]. However because online planing becomes infeasible due to the conservatism of polynomial reachable sets, the ego vehicle executes the braking maneuver to stop itself t=30t=30[s] to t=36t=36[s]. In Figure 6(c) because NMPC is used for planning, the ego vehicle drives at a faster speed and arrives at 600600[m] before the other evaluated methods. Because the NMPC method only enforces collision avoidance constraints at discrete time instances, the ego vehicle ends up with a crash at t=24t=24[s] though NMPC claims to find a feasible solution for the planning iteration at t=21t=21[s].

IX-C Real World Experiments

REFINE was also implemented in C++17 and tested in the real world using a 110\frac{1}{10}th All-Wheel-Drive car-like robot, Rover, based on a Traxxax RC platform. The Rover is equipped with a front-mounted Hokuyo UST-10LX 2D lidar that has a sensing range of 10[m] and a field of view of 270°. The Rover is equipped with a VectorNav VN-100 IMU unit which publishes data at 800Hz. Sensor drivers, state estimator, obstacle detection, and the proposed controller are run on an NVIDIA TX-1 on-board computer. A standby laptop with Intel i7-9750H processor and 32GB of RAM is used for localization, mapping, and solving (Opt) in over multiple partitions of 𝒫\mathcal{P}. The rover and the standby laptop communicate over wifi using ROS [38].

The desired trajectories on the Rover are parameterized with 𝒫={(pu,py)[0.05,2.05]×[1.396,1.396]pu=u0 if py0}\mathcal{P}=\{(p_{u},p_{y})\in[0.05,2.05]\times[-1.396,1.396]\mid p_{u}=u_{0}\text{ if }p_{y}\neq 0\}, adec=1.5a^{\text{dec}}=-1.5[m/sec2], h1des=2027h^{\text{des}}_{1}=\frac{20}{27} and h2des=2710h^{\text{des}}_{2}=\frac{27}{10} as described in Section IX-A. The duration tmt_{\text{m}} of driving maneuvers for each trajectory family is set to 1.51.5[s] for speed change, 1.51.5[s] for direction change, and 33[s] for lane change, thus planning time for real world experiments is set as tplan=1.5t_{\text{plan}}=1.5[s]. The parameter space 𝒫\mathcal{P} is evenly partitioned along its first and second dimensions into small intervals of lengths 0.25 and 0.349, respectively. For each partition element, tft_{\text{f}} is set equal to the maximum possible value of tbraket_{\text{brake}} as computed in (82) in which tfstopt_{\text{fstop}} is by observation no greater than 0.1[s]. The FRS of the Rover for every partition element of 𝒫\mathcal{P} is overapproximated using CORA with Δt=0.01\Delta t=0.01[s]. During online planning, a waypoint is selected in real time using Dijkstra’s algorithm [39], and the cost function of (Opt) is set in the same way as we do in simulation as described in Section IX-B. The robot model, environment sensing, and state estimation play key roles in real world experiments. In the rest of this subsection, we describe how to bound the modeling error in (14) and summarize the real world experiments. Details regarding Rover model parameters, the controller parameters, how the Rover performs localization, mapping, and obstacle detection and how we perform system identification of the tire models can be found in our software implementation readme666https://github.com/roahmlab/REFINE/blob/main/Rover_Robot_Implementation/README.md.

IX-C1 State Estimation and System Identification on Model Error in Vehicle Dynamics

Refer to caption
Figure 7: An illustration of the modeling error along the dynamics of uu. Collected Δu(t)\Delta_{u}(t) is bounded by Mu=1.11M_{u}=1.11 for all time. Whenever u(t)ucri=0.5u(t)\leq u^{\text{cri}}=0.5, Δu(t)\Delta_{u}(t) is bounded by buprou(t)+buoffb_{u}^{\text{pro}}u(t)+b_{u}^{\text{off}} with bupro=1.2b_{u}^{\text{pro}}=1.2 and buoff=0.51b_{u}^{\text{off}}=0.51.

The modeling error in the dynamics (14) arise from ignoring aerodynamic drag force and the inaccuracies of state estimation and the tire models. We use the data collected to fit the tire models to identify the modeling errors Δu\Delta_{u}, Δv\Delta_{v}, and Δr\Delta_{r}.

We compute the model errors as the difference between the actual accelerations collected by the IMU and the estimation of applied accelerations computed via (4) in which tire forces are calculated via (12) and (13). The estimation of applied accelerations is computed using the estimated system states via an Unscented Kalman Filter (UKF) [40], which treats SLAM results, IMU readings, and encoding information of wheel and steering motors as observed outputs of the Rover model. The robot dynamics that UKF uses to estimate the states is the error-free, high-speed dynamics (4) with linear tire models. Note the UKF state estimator is still applicable in the low-speed case except the estimation of vv and rr are ignored. To ensure Δu\Delta_{u}, Δv\Delta_{v} and Δr\Delta_{r} are square integrable, we set Δu(t)=Δv(t)=Δr(t)=0\Delta_{u}(t)=\Delta_{v}(t)=\Delta_{r}(t)=0 for all ttbraket\geq t_{\text{brake}} where tbraket_{\text{brake}} is computed in Lemma 14. As shown in Figure 7 bounding parameters MuM_{u}, MvM_{v}, and MrM_{r} are selected to be the maximum value of |Δu(t)||\Delta_{u}(t)|, |Δv(t)||\Delta_{v}(t)|, and |Δr(t)||\Delta_{r}(t)| respectively over all time, and buprob_{u}^{\text{pro}} and buoffb_{u}^{\text{off}} are generated by bounding |Δu(t)||\Delta_{u}(t)| from above when u(t)ucriu(t)\leq u^{\text{cri}}.

IX-C2 Demonstration

The Rover was tested indoors under the proposed controller and planning framework in 6 small trials and 1 loop trial777https://drive.google.com/drive/folders/1FvGHuqIRQpDS5xWRgB30h7exmGTjRyel?usp=sharing. In every small trail, up to 1111 identical 0.3×0.3×0.30.3\times 0.3\times 0.3[m]3 cardboard cubes were placed in the scene before the Rover began to navigate itself. The Rover was not given prior knowledge of the obstacles for each trial. Figure 8 illustrates the scene in the 6th small trial and illustrates REFINE’s performance. The zonotope reachable sets over-approximate the trajectory of the Rover and never intersect with obstacles.

In the loop trial, the Rover was required to perform 3 loops, and each loop is about 100[m] in length. In the first loop of the loop trial, no cardboard cube was placed in the loop, while in the last two loops the cardboard cubes were randomly thrown at least 5[m] ahead of the running Rover to test its maneuverability and safety. During the loop trial, the Rover occasionally stoped because a randomly thrown cardboard cube might be close to a waypoint or the end of an executing maneuver. In such cases, because the Rover was able to eventually locate obstacles more accurately when it was stopped, the Rover began a new planning iteration immediately after stopping and passed the cube when a feasible plan with safety guaranteed was found.

For all 7 real-world testing trials, the Rover either safely finishes the given task, or it stops itself before running into an obstacle if no clear path is found. The Rover is able to finish all computation of a planning iteration within 0.4021[s] on average and 0.6545[s] in maximum, which are both smaller than tplan=1.5t_{\text{plan}}=1.5[s], thus real-time performance is achieved.

Refer to caption
(a)
Refer to caption
(b)
Figure 8: An illustration of the performance of REFINE during the 6th real-world trial. The rover was able to navigate itself to the goal in red through randomly thrown white cardboard cubes as shown in (a). Online planning using zonotope reachable sets is illustrated in (b) in which trajectory of the Rover is shown from gray to black along time, goal is shown in red, and the zonotope reachable sets at different planning iterations are colored in green.

X Conclusion

This work presents a controller-oriented trajectory design framework using zonotope reachable sets. A robust controller is designed to partially linearize the full-order vehicle dynamics with modeling error by performing feedback linearization on a subset of vehicle states. Zonotope-based reachability analysis is performed on the closed-loop vehicle dynamics for FRS computation, and achieves less conservative FRS approximation than that of the traditional reachability-based approaches. Tests on a full-size vehicle model in simulation and a 1/10th race car robot in real hardware experiments show that the proposed method is able to safely navigate the vehicle through random environments in real time and outperforms all evaluated state of the art methods.

References

  • [1] Steven M LaValle and James J Kuffner Jr “Randomized kinodynamic planning” In The international journal of robotics research 20.5 SAGE Publications, 2001, pp. 378–400
  • [2] Lucas Janson, Edward Schmerling, Ashley Clark and Marco Pavone “Fast marching tree: A fast marching sampling-based method for optimal motion planning in many dimensions” In The International journal of robotics research 34.7 SAGE Publications Sage UK: London, England, 2015, pp. 883–921
  • [3] Mohamed Elbanhawi and Milan Simic “Sampling-based robot motion planning: A review” In Ieee access 2 IEEE, 2014, pp. 56–77
  • [4] Steven M LaValle “Planning algorithms” Cambridge university press, 2006
  • [5] Yoshiaki Kuwata et al. “Real-time motion planning with applications to autonomous urban driving” In IEEE Transactions on control systems technology 17.5 IEEE, 2009, pp. 1105–1118
  • [6] Thomas M Howard and Alonzo Kelly “Optimal rough terrain trajectory generation for wheeled mobile robots” In The International Journal of Robotics Research 26.2 Sage Publications Sage CA: Thousand Oaks, CA, 2007, pp. 141–166
  • [7] Paolo Falcone et al. “Low complexity mpc schemes for integrated vehicle dynamics control problems” In 9th international symposium on advanced vehicle control (AVEC), 2008
  • [8] Chris Urmson et al. “Autonomous driving in urban environments: Boss and the urban challenge” In Journal of Field Robotics 25.8 Wiley Online Library, 2008, pp. 425–466
  • [9] John Wurts, Jeffrey L Stein and Tulga Ersal “Collision imminent steering using nonlinear model predictive control” In 2018 Annual American Control Conference (ACC), 2018, pp. 4772–4777 IEEE
  • [10] Matthias Althoff and John M Dolan “Online verification of automated road vehicles using reachability analysis” In IEEE Transactions on Robotics 30.4 IEEE, 2014, pp. 903–918
  • [11] Christian Pek, Stefanie Manzinger, Markus Koschi and Matthias Althoff “Using online verification to prevent autonomous vehicles from causing accidents” In Nature Machine Intelligence 2.9 Nature Publishing Group, 2020, pp. 518–528
  • [12] Anirudha Majumdar and Russ Tedrake “Funnel libraries for real-time robust feedback motion planning” In The International Journal of Robotics Research 36.8 SAGE Publications Sage UK: London, England, 2017, pp. 947–982
  • [13] Shreyas Kousik et al. “Bridging the gap between safety and real-time performance in receding-horizon trajectory design for mobile robots” In The International Journal of Robotics Research 39.12 SAGE Publications Sage UK: London, England, 2020, pp. 1419–1469
  • [14] Shreyas Kousik, Sean Vaskov, Matthew Johnson-Roberson and Ram Vasudevan “Safe trajectory synthesis for autonomous driving in unforeseen environments” In ASME 2017 Dynamic Systems and Control Conference, 2017 American Society of Mechanical Engineers Digital Collection
  • [15] Sean Vaskov et al. “Not-at-fault driving in traffic: A reachability-based approach” In 2019 IEEE Intelligent Transportation Systems Conference (ITSC), 2019, pp. 2785–2790 IEEE
  • [16] Sean Vaskov et al. “Towards provably not-at-fault control of autonomous robots in arbitrary dynamic environments” In arXiv preprint arXiv:1902.02851, 2019
  • [17] Somil Bansal, Mo Chen, Sylvia Herbert and Claire J Tomlin “Hamilton-jacobi reachability: A brief overview and recent advances” In 2017 IEEE 56th Annual Conference on Decision and Control (CDC), 2017, pp. 2242–2253 IEEE
  • [18] Sylvia L Herbert et al. “FaSTrack: A modular framework for fast and guaranteed safe motion planning” In 2017 IEEE 56th Annual Conference on Decision and Control (CDC), 2017, pp. 1517–1522 IEEE
  • [19] Reza N Jazar “Vehicle dynamics: theory and application” Springer, 2008 URL: https://link.springer.com/chapter/10.1007/978-0-387-74244-1_2
  • [20] A Galip Ulsoy, Huei Peng and Melih Çakmakci “Automotive control systems” Cambridge University Press, 2012
  • [21] Thomas D Gillespie “Fundamentals of vehicle dynamics”, 1992
  • [22] James Balkwill “Performance vehicle dynamics: engineering and applications” Butterworth-Heinemann, 2017
  • [23] S Dieter, M Hiller and R Baradini “Vehicle Dynamics: Modeling and Simulation” Springer-Verlag Berlin Heidelberg, Berlin, Germany, 2018
  • [24] Tae-Yun Kim, Samuel Jung and Wan-Suk Yoo “Advanced slip ratio for ensuring numerical stability of low-speed driving simulation: Part II—lateral slip ratio” In Proceedings of the Institution of Mechanical Engineers, Part D: Journal of automobile engineering 233.11 SAGE Publications Sage UK: London, England, 2019, pp. 2903–2911
  • [25] Reinhold Remmert “Theory of complex functions” Springer Science & Business Media, 1991
  • [26] Shai Shalev-Shwartz, Shaked Shammah and Amnon Shashua “On a formal model of safe and scalable self-driving cars” In arXiv preprint arXiv:1708.06374, 2017
  • [27] Ming-Yuan Yu, Ram Vasudevan and Matthew Johnson-Roberson “Occlusion-aware risk assessment for autonomous driving in urban environments” In IEEE Robotics and Automation Letters 4.2 IEEE, 2019, pp. 2235–2241
  • [28] Ming-Yuan Yu, Ram Vasudevan and Matthew Johnson-Roberson “Risk assessment and planning with bidirectional reachability for autonomous driving” In 2020 IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 5363–5369 IEEE
  • [29] Andrea Giusti and Matthias Althoff “Ultimate robust performance control of rigid robot manipulators using interval arithmetic” In 2016 American Control Conference (ACC), 2016, pp. 2995–3001 IEEE
  • [30] Jan Lunze and Françoise Lamnabhi-Lagarrigue “Handbook of hybrid systems control: theory, tools, applications” Cambridge University Press, 2009
  • [31] Matthias Althoff “An introduction to CORA 2015” In Proc. of the Workshop on Applied Verification for Continuous and Hybrid Systems, 2015
  • [32] Matthias Althoff “Reachability analysis and its application to the safety assessment of autonomous cars”, 2010
  • [33] Patrick Holmes et al. “Reachable sets for safe, real-time manipulator trajectory design (version 1)” https://arxiv.org/abs/2002.01591v1 In arXiv preprint arXiv:2002.01591, 2020
  • [34] Timothy Hickey, Qun Ju and Maarten H Van Emden “Interval arithmetic: From principles to implementation” In Journal of the ACM (JACM) 48.5 ACM New York, NY, USA, 2001, pp. 1038–1068
  • [35] Andreas Wächter and Lorenz T Biegler “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming” In Mathematical programming 106.1 Springer, 2006, pp. 25–57
  • [36] Stefanie Manzinger, Christian Pek and Matthias Althoff “Using reachable sets for trajectory planning of automated vehicles” In IEEE Transactions on Intelligent Vehicles 6.2 IEEE, 2020, pp. 232–248
  • [37] Michael A Patterson and Anil V Rao “GPOPS-II: A MATLAB software for solving multiple-phase optimal control problems using hp-adaptive Gaussian quadrature collocation methods and sparse nonlinear programming” In ACM Transactions on Mathematical Software (TOMS) 41.1 ACM New York, NY, USA, 2014, pp. 1–37
  • [38] Stanford Artificial Intelligence Laboratory et al. “Robotic Operating System”, 2018 URL: https://www.ros.org
  • [39] Edsger W Dijkstra “A note on two problems in connexion with graphs” In Numerische mathematik 1.1, 1959, pp. 269–271
  • [40] E.A. Wan and R. Van Der Merwe “The unscented Kalman filter for nonlinear estimation” In Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium (Cat. No.00EX373), 2000, pp. 153–158 DOI: 10.1109/ASSPCC.2000.882463
  • [41] Leonidas J Guibas, An Thanh Nguyen and Li Zhang “Zonotopes as bounding volumes.” In SODA 3, 2003, pp. 803–812
  • [42] Elijah Polak “Optimization: algorithms and consistent approximations” Springer Science & Business Media, 2012

Appendix A Proof of Lemma 14

Proof.

This proof defines a Lyapunov function candidate and uses it to analyze the tracking error of the ego vehicle’s longitudinal speed before time tstopt_{\text{stop}}. Then it describes how uu evolves after time tstopt_{\text{stop}} in different scenarios depending on the value of u(tstop)u(t_{\text{stop}}). Finally it describes how to set the time tbraket_{\text{brake}} to guarantee u(t)=0u(t)=0 for all ttbraket\geq t_{\text{brake}}. For convenience, let usmall:=Muκ1,uMu+ϕ1,uu^{\text{small}}:=\frac{M_{u}}{\kappa_{1,u}M_{u}+\phi_{1,u}}, then by assumption of the theorem usmall(0.15,ucri]u^{\text{small}}\in(0.15,u^{\text{cri}}]. This proof suppresses the dependence on pp in udes(t,p)u^{\text{des}}(t,p), τu(t,p)\tau_{u}(t,p), κu(t,p)\kappa_{u}(t,p), ϕu(t,p)\phi_{u}(t,p) and eu(t,p)e_{u}(t,p).

Note by (25) and rearranging (26),

e˙u(t)=Kueu(t)+τu(t)+Δu(t).\dot{e}_{u}(t)=-K_{u}e_{u}(t)+\tau_{u}(t)+\Delta_{u}(t). (63)

Recall udesu^{\text{des}} is piecewise continuously differentiable by Definition 7, so are eue_{u} and τu\tau_{u}. Without loss of generality we denote {t1,t2,,tkmax}\{t_{1},t_{2},\ldots,t_{k_{\text{max}}}\} a finite subdivision of [0,tstop)[0,t_{\text{stop}}) with t1=0t_{1}=0 and tkmax=tstopt_{k_{\text{max}}}=t_{\text{stop}} such that udesu^{\text{des}} is continuously differentiable over time interval [tk,tk+1)[t_{k},t_{k+1}) for all k{1,2,,kmax1}k\in\{1,2,\ldots,k_{\text{max}}-1\}. Define V(t):=12eu2(t)V(t):=\frac{1}{2}e_{u}^{2}(t) as a Lyapunov function candidate for eu(t)e_{u}(t), then for arbitrary k{1,2,,kmax1}k\in\{1,2,\ldots,k_{\text{max}}-1\} and t[tk,tk+1)t\in[t_{k},t_{k+1}), one can check that V(t)V(t) is always non-negative and V(t)=0V(t)=0 only if eu(t)=0e_{u}(t)=0. Then

V˙(t)\displaystyle\dot{V}(t) =eu(t)e˙u(t)\displaystyle=e_{u}(t)\dot{e}_{u}(t) (64)
=Kueu2(t)+eu(t)τu(t)+eu(t)Δu(t)\displaystyle=-K_{u}e_{u}^{2}(t)+e_{u}(t)\tau_{u}(t)+e_{u}(t)\Delta_{u}(t) (65)
=Kueu2(t)(κu(t)Mu+ϕu(t))eu2(t)+\displaystyle=-K_{u}e_{u}^{2}(t)-(\kappa_{u}(t)M_{u}+\phi_{u}(t))e_{u}^{2}(t)+ (66)
+eu(t)Δu(t)\displaystyle\hskip 28.45274pt+e_{u}(t)\Delta_{u}(t) (67)

in which the second equality comes from (63) and the third equality comes from (22). Because the integral terms in (23) and (24) are both non-negative, κu(t)κ1,u\kappa_{u}(t)\geq\kappa_{1,u} and ϕu(t)ϕ1,u\phi_{u}(t)\geq\phi_{1,u} hold. Then

V˙(t)Kueu2(t)(κ1,uMu+ϕ1,u)|eu(t)|2++|eu(t)||Δu(t)|.\begin{split}\dot{V}(t)\leq-K_{u}e_{u}^{2}(t)-(\kappa_{1,u}M_{u}+\phi_{1,u})|e_{u}(t)|^{2}+\\ +|e_{u}(t)||\Delta_{u}(t)|.\end{split} (68)

By factoring out |eu(t)||e_{u}(t)| in the last two terms in (68):

V˙(t)Kueu2(t)<0\dot{V}(t)\leq-K_{u}e_{u}^{2}(t)<0 (69)

holds when |eu(t)|>0|e_{u}(t)|>0 and |eu(t)||Δu(t)|κ1,uMu+ϕ1,u|e_{u}(t)|\geq\frac{|\Delta_{u}(t)|}{\kappa_{1,u}M_{u}+\phi_{1,u}}. Note |eu(t)|usmall|e_{u}(t)|\geq u^{\text{small}} conservatively implies |eu(t)||Δu(t)|κ1,uMu+ϕ1,u|e_{u}(t)|\geq\frac{|\Delta_{u}(t)|}{\kappa_{1,u}M_{u}+\phi_{1,u}} given |Δu(t)|Mu|\Delta_{u}(t)|\leq M_{u} for all time by Assumption 4. Then when |eu(t)|usmall>0|e_{u}(t)|\geq u^{\text{small}}>0 we have (69) hold, or equivalently V(t)V(t) decreases. Therefore if |eu(tk)|usmall|e_{u}(t_{k})|\geq u^{\text{small}}, |eu(t)||e_{u}(t)| monotonically decreases during time interval [tk,tk+1)[t_{k},t_{k+1}) as long as |eu(t)||e_{u}(t)| does not reach at the boundary of closed ball (0,usmall)\mathcal{B}(0,u^{\text{small}}). Moreover, if |eu(t)||e_{u}(t^{\prime})| hits the boundary of (0,usmall)\mathcal{B}(0,u^{\text{small}}) at some time t[tk,tk+1)t^{\prime}\in[t_{k},t_{k+1}), eu(t)e_{u}(t) is prohibited from leaving the ball for all t[t,tk+1)t\in[t^{\prime},t_{k+1}) because V˙(t)\dot{V}(t) is strictly negative when |eu(t)|=usmall|e_{u}(t)|=u^{\text{small}}. Similarly |eu(tk)|usmall|e_{u}(t_{k})|\leq u^{\text{small}} implies |eu(t)|usmall|e_{u}(t)|\leq u^{\text{small}} for all t[tk,tk+1)t\in[t_{k},t_{k+1}).

We now analyze the behavior of eu(t)e_{u}(t) for all t[0,tstop)t\in[0,t_{\text{stop}}). By assumption udes(0)=u(0)u^{\text{des}}(0)=u(0), then |eu(0)|=0<usmall|e_{u}(0)|=0<u^{\text{small}} and thus |eu(t)|usmall|e_{u}(t)|\leq u^{\text{small}} for all t[t1,t2)t\in[t_{1},t_{2}). Because both u(t)u(t) and udes(t)u^{\text{des}}(t) are continuous during [0,tstop)[0,t_{\text{stop}}), so is eu(t2)e_{u}(t_{2}). Thus |eu(t2)|usmall|e_{u}(t_{2})|\leq u^{\text{small}}. By iteratively applying the same reasoning, one can show that |eu(t)|usmall|e_{u}(t)|\leq u^{\text{small}} for all t[tk,tk+1)t\in[t_{k},t_{k+1}) and for all k{1,2,,kmax1}k\in\{1,2,\ldots,k_{\text{max}}-1\}, therefore |eu(t)|usmall|e_{u}(t)|\leq u^{\text{small}} for all t[0,tstop)t\in[0,t_{\text{stop}}). Furthermore, because udes(t)u^{\text{des}}(t) converges to ucriu^{\text{cri}} as tt converges to tstopt_{\text{stop}} from below, u(tstop)[ucriusmall,ucri+usmall]u(t_{\text{stop}})\in[u^{\text{cri}}-u^{\text{small}},u^{\text{cri}}+u^{\text{small}}]. Note u(tstop)0u(t_{\text{stop}})\geq 0 because usmallucriu^{\text{small}}\leq u^{\text{cri}}.

Next we analyze how longitudinal speed of the ego vehicle evolves after time tstopt_{\text{stop}}. Using V(t)=12eu2(t)V(t)=\frac{1}{2}e_{u}^{2}(t), we point out that (68) remains valid for all ttstopt\geq t_{\text{stop}}, and (69) also holds when |eu(t)|usmall|e_{u}(t)|\geq u^{\text{small}} with ttstopt\geq t_{\text{stop}}. Recall u(t)=eu(t)u(t)=e_{u}(t) for all ttstopt\geq t_{\text{stop}} given udes(t)=0u^{\text{des}}(t)=0 for all ttstopt\geq t_{\text{stop}}, then for simplicity, the remainder of this proof replaces every eu(t)e_{u}(t) by u(t)u(t) in (68), (69) and V(t)V(t). Because u(0)>0u(0)>0 and uu is continuous with respect to time, the longitudinal speed of the ego vehicle cannot decrease from a positive value to a negative value without passing 0. However when u(t)=0u(t)=0, by Assumption 5 Δu(t)=0\Delta_{u}(t)=0, thus u˙(t)=0\dot{u}(t)=0 by (26) given udes(t)=0u^{\text{des}}(t)=0 for all ttstopt\geq t_{\text{stop}}. In other words, once uu arrives at 0, it remains at 0 forever. For the ease of expression, from now on we assume ttstopt\geq t_{\text{stop}} and u(t)0u(t)\geq 0 for all ttstopt\geq t_{\text{stop}}. Recall u(tstop)[ucriusmall,ucri+usmall]u(t_{\text{stop}})\in[u^{\text{cri}}-u^{\text{small}},u^{\text{cri}}+u^{\text{small}}] and ucriusmall[0,ucri0.15)u^{\text{cri}}-u^{\text{small}}\in[0,u^{\text{cri}}-0.15). We now discuss how uu evolves after time tstopt_{\text{stop}} by considering three scenarios, and giving an upper bound of the time at when uu reaches 0 for each scenario.

Case 1 - When u(tstop)0.15u(t_{\text{stop}})\leq 0.15: Because the longitudinal speed stays at 0 once it becomes 0, by Assumption 13 the ego vehicle reaches to a full stop no later than tfstop+tstopt_{\text{fstop}}+t_{\text{stop}}.

Case 2 - When 0.15<u(tstop)usmall0.15<u(t_{\text{stop}})\leq u^{\text{small}}: By Assumption 5, upper bound of V˙(t)\dot{V}(t) can be further relaxed from (68) to

V˙(t)Kuu2(t)(κ1,uMu+ϕ1,u+bupro)u2(t)+buoffu(t).\begin{split}\dot{V}(t)\leq-K_{u}u^{2}(t)-(\kappa_{1,u}M_{u}+\phi_{1,u}+\\ -b_{u}^{\text{pro}})u^{2}(t)+b_{u}^{\text{off}}u(t).\end{split} (70)

Moreover, by completing the square among the last two terms in (70), one can derive

V˙(t)Kuu2(t)+(buoff)24(κ1,uMu+ϕ1,ubupro).\dot{V}(t)\leq-K_{u}u^{2}(t)+\frac{(b_{u}^{\text{off}})^{2}}{4(\kappa_{1,u}M_{u}+\phi_{1,u}-b_{u}^{\text{pro}})}. (71)

Notice (buoff)24(κ1,uMu+ϕ1,ubupro)<0.152Ku\frac{(b_{u}^{\text{off}})^{2}}{4(\kappa_{1,u}M_{u}+\phi_{1,u}-b_{u}^{\text{pro}})}<0.15^{2}K_{u} by assumption, thus

V˙(t)<Ku(u2(t)0.152).\dot{V}(t)<-K_{u}(u^{2}(t)-0.15^{2}). (72)

This means as long as u(t)[0.15,ucri]u(t)\in[0.15,u^{\text{cri}}] with ttstopt\geq t_{\text{stop}}, we obtain V˙(t)<0\dot{V}(t)<0, or equivalently V(t)=12u2(t)V(t)=\frac{1}{2}u^{2}(t) decreases monotonically. Recall u(tstop)usmallucriu(t_{\text{stop}})\leq u^{\text{small}}\leq u^{\text{cri}}, then the longitudinal speed decreases monotonically from u(tstop)u(t_{\text{stop}}) to 0.15 as time increases from tstopt_{\text{stop}}. Suppose uu becomes 0.15 at time tbraketstopt_{\text{brake}}^{\prime}\geq t_{\text{stop}}, then u(t)0.15u(t)\leq 0.15 for all ttbraket\geq t_{\text{brake}}^{\prime} because of the fact that V˙(t)\dot{V}(t) is strictly negative when u(t)=0.15u(t)=0.15.

Define qu:=(buoff)24(κ1,uMu+ϕ1,ubupro)q_{u}:=\frac{(b_{u}^{\text{off}})^{2}}{4(\kappa_{1,u}M_{u}+\phi_{1,u}-b_{u}^{\text{pro}})}, then when u(t)[0.15,u(tstop)]u(t)\in[0.15,u(t_{\text{stop}})], (71) can be relaxed to

V˙(t)Ku0.152+qu.\dot{V}(t)\leq-K_{u}\cdot 0.15^{2}+q_{u}. (73)

Integrate both sides of (73) from time tstopt_{\text{stop}} to tbraket_{\text{brake}}^{\prime} results in

tbrakeu(tstop)20.15220.152Ku2qu+tstop.t_{\text{brake}}^{\prime}\leq\frac{u(t_{\text{stop}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+t_{\text{stop}}. (74)

Because u(tstop)usmallu(t_{\text{stop}})\leq u^{\text{small}},

tbrake(usmall)20.15220.152Ku2qu+tstop.t_{\text{brake}}^{\prime}\leq\frac{(u^{\text{small}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+t_{\text{stop}}. (75)

Then uu becomes 0 no later than time tfstop+sup(tbrake)t_{\text{fstop}}+\sup(t_{\text{brake}}^{\prime}) based on Assumption 13, where sup(tbrake)\sup(t_{\text{brake}}^{\prime}) as the upper bound of tbraket_{\text{brake}}^{\prime} reads

sup(tbrake)=(usmall)20.15220.152Ku2qu+tstop.\sup(t_{\text{brake}}^{\prime})=\frac{(u^{\text{small}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+t_{\text{stop}}. (76)

Case 3 - When usmall<u(tstop)ucri+usmallu^{\text{small}}<u(t_{\text{stop}})\leq u^{\text{cri}}+u^{\text{small}}: Recall (69) holds given |eu(t)|=u(t)usmall|e_{u}(t)|=u(t)\geq u^{\text{small}}, then

V˙(t)Kueu2(t)Ku(usmall)2,\dot{V}(t)\leq-K_{u}e_{u}^{2}(t)\leq-K_{u}(u^{\text{small}})^{2}, (77)

and we have the longitudinal speed monotonically decreasing from u(tstop)u(t_{\text{stop}}) at time tstopt_{\text{stop}} until it reaches at usmallu^{\text{small}} at some time tsmalltstopt_{\text{small}}\geq t_{\text{stop}}. Integrating the left hand side and right hand side of (77) from tstopt_{\text{stop}} to tsmallt_{\text{small}} gives

12(usmall)212u(tstop)2Ku(usmall)2(tsmalltstop).\frac{1}{2}(u^{\text{small}})^{2}-\frac{1}{2}u(t_{\text{stop}})^{2}\leq-K_{u}(u^{\text{small}})^{2}(t_{\text{small}}-t_{\text{stop}}). (78)

Because u(tstop)ucri+usmallu(t_{\text{stop}})\leq u^{\text{cri}}+u^{\text{small}}, (78) results in

tsmall(ucri+usmall)2(usmall)22Ku(usmall)2+tstop.t_{\text{small}}\leq\frac{(u^{\text{cri}}+u^{\text{small}})^{2}-(u^{\text{small}})^{2}}{2K_{u}(u^{\text{small}})^{2}}+t_{\text{stop}}. (79)

Once the longitudinal speed decreases to usmallu^{\text{small}}, we can then follow the same reasoning as in the second scenario for seeking an upper bound of some time tbrake′′t_{\text{brake}}^{\prime\prime} that is no smaller than tsmallt_{\text{small}} and gives u(tbrake′′)=0.15u(t_{\text{brake}}^{\prime\prime})=0.15. However, this time we need to integrate both sides of (73) from time tsmallt_{\text{small}} to tbrake′′t_{\text{brake}}^{\prime\prime}. As a result,

tbrake′′(usmall)20.15220.152Ku2qu+tsmall.t_{\text{brake}}^{\prime\prime}\leq\frac{(u^{\text{small}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+t_{\text{small}}. (80)

Then uu becomes 0 no later than time tfstop+sup(tbrake′′)t_{\text{fstop}}+\sup(t_{\text{brake}}^{\prime\prime}) based on Assumption 13, where sup(tbrake′′)\sup(t_{\text{brake}}^{\prime\prime}) as the upper bound of tbrake′′t_{\text{brake}}^{\prime\prime} reads

sup(tbrake′′)=(usmall)20.15220.152Ku2qu++(ucri+usmall)2(usmall)22Ku(usmall)2+tstop.\begin{split}\sup(t_{\text{brake}}^{\prime\prime})=&\frac{(u^{\text{small}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+\\ &+\frac{(u^{\text{cri}}+u^{\text{small}})^{2}-(u^{\text{small}})^{2}}{2K_{u}(u^{\text{small}})^{2}}+t_{\text{stop}}.\end{split} (81)

Now that we have the upper bound for uu across these three scenarios, recall that once uu arrives at 0, it remains at 0 afterwards, and notice sup(tbrake′′)>sup(tbrake)>tstop\sup(t_{\text{brake}}^{\prime\prime})>\sup(t_{\text{brake}}^{\prime})>t_{\text{stop}}. Considering all three scenarios discussed above, setting tbraket_{\text{brake}} as the maximum value among tfstop+tstopt_{\text{fstop}}+t_{\text{stop}}, tfstop+sup(tbrake)t_{\text{fstop}}+\sup(t_{\text{brake}}^{\prime}) and tfstop+sup(tbrake′′)t_{\text{fstop}}+\sup(t_{\text{brake}}^{\prime\prime}), i.e.,

tbrake=tfstop+(usmall)20.15220.152Ku2qu++(ucri+usmall)2(usmall)22Ku(usmall)2+tstop\begin{split}t_{\text{brake}}=&t_{\text{fstop}}+\frac{(u^{\text{small}})^{2}-0.15^{2}}{2\cdot 0.15^{2}K_{u}-2q_{u}}+\\ &+\frac{(u^{\text{cri}}+u^{\text{small}})^{2}-(u^{\text{small}})^{2}}{2K_{u}(u^{\text{small}})^{2}}+t_{\text{stop}}\end{split} (82)

guarantees that u(t)=0u(t)=0 for all ttbraket\geq t_{\text{brake}}. ∎

Appendix B Proof of Theorem 19

Proof.

Because z0velz^{\text{vel}}_{0} and pp have zero dynamics in HSHS, the last 3+np3+n_{p} dimensions in j\mathcal{R}_{j} are identical to 𝒵0vel×𝒫\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P} for all j𝒥j\in\mathcal{J}. A direct result of Proposition 17 and Definition 18 is 𝒵0vel×𝒫=<cj,Gj>\mathcal{Z}^{\text{vel}}_{0}\times\mathcal{P}=\text{\textless}c_{j}^{\prime},\;G_{j}^{\prime}\text{\textgreater} where cj=[[cj]7,[cj]8,,[cj](9+np)]c_{j}^{\prime}=\big{[}[c_{\mathcal{R}_{j}}]_{7},[c_{\mathcal{R}_{j}}]_{8},\ldots,[c_{\mathcal{R}_{j}}]_{(9+n_{p})}\big{]}^{\top} and Gj=diag([[gj,1]7,[gj,2]8,,[gj,(3+np)](9+np)])G_{j}^{\prime}=\texttt{diag}\left(\big{[}[g_{\mathcal{R}_{j,1}}]_{7},[g_{\mathcal{R}_{j,2}}]_{8},\ldots,[g_{\mathcal{R}_{j,(3+n_{p})}}]_{(9+n_{p})}\big{]}\right) for all j𝒥j\in\mathcal{J}. Because z0vel𝒵0velz^{\text{vel}}_{0}\in\mathcal{Z}^{\text{vel}}_{0} and p𝒫p\in\mathcal{P}, then [z0vel](k6)[cj]k[gj,(k6)]k[1,1]\frac{[z^{\text{vel}}_{0}]_{(k-6)}-[c_{\mathcal{R}_{j}}]_{k}}{[g_{\mathcal{R}_{j},(k-6)}]_{k}}\in[-1,1] for all k{7,8,9}k\in\{7,8,9\}, and [p](k9)[cj]k[gj,(k6)]k[1,1]\frac{[p]_{(k-9)}-[c_{\mathcal{R}_{j}}]_{k}}{[g_{\mathcal{R}_{j},(k-6)}]_{k}}\in[-1,1] for all k{10,11,,(9+np)}k\in\{10,11,\ldots,(9+n_{p})\} by Definition 1. slice(,z0vel,p)\texttt{slice}(\mathcal{R}_{,}z^{\text{vel}}_{0},p) is generated by specifying the coefficients of the first 3+np3+n_{p} generators in j\mathcal{R}_{j} via (45), thus slice(j,z0vel,p)j\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\subset\mathcal{R}_{j}.

If a solution of HSHS has initial velocity z0velz^{\text{vel}}_{0} and control parameter pp, then the last 3+np3+n_{p} dimensions in zaugz^{\text{aug}} are fixed at [(z0vel),p][(z^{\text{vel}}_{0})^{\top},p^{\top}]^{\top} for all tTjt\in T_{j} because of (39). j\mathcal{R}_{j} is generated from CORA, so zaug(t)jz^{\text{aug}}(t)\in\mathcal{R}_{j} for all tTjt\in T_{j} by Theorem 16, which proves the result. ∎

Appendix C Proof of Lemma 21

Before proving Lemma 21, we prove the following lemma:

Lemma 25.

Let j\mathcal{R}_{j} be the zonotope computed by CORA under the hybrid vehicle dynamics model beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} for arbitrary j𝒥j\in\mathcal{J}. Then for any z0vel𝒵0velz^{\text{vel}}_{0}\in\mathcal{Z}^{\text{vel}}_{0} and p𝒫p\in\mathcal{P}

slice(jROT(πh(j)),z0vel,p)=ROT(πh(j))slice(j,z0vel,p).\begin{split}\texttt{slice}\big{(}\mathcal{R}_{j}\oplus&\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})),z^{\text{vel}}_{0},p\big{)}=\texttt{ROT}(\pi_{h}(\mathcal{R}_{j}))\oplus\\ &\oplus\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p).\end{split} (83)
Proof.

Because ROT(πh(j))\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})) is independent of z0velz^{\text{vel}}_{0} and pp by definition, j\mathcal{R}_{j} shares the same sliceable generators as jROT(πh(j))\mathcal{R}_{j}\oplus\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})). The slice operator only affects sliceable generators, thus (83) holds. ∎

Now we prove Lemma 21:

Proof.

By definition slice(j,z0vel,p)\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p) and ROT(πh(j))\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})) are both zonotopes, thus slice(jROT(πh(j)),z0vel,p)\texttt{slice}\big{(}\mathcal{R}_{j}\oplus\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})),z^{\text{vel}}_{0},p\big{)} is a zonotope per (83). For simplicity denote slice(jROT(πh(j)),z0vel,p)\texttt{slice}\big{(}\mathcal{R}_{j}\oplus\texttt{ROT}(\pi_{h}(\mathcal{R}_{j})),z^{\text{vel}}_{0},p\big{)} as <c′′,G′′>\text{\textless}c^{\prime\prime},\;G^{\prime\prime}\text{\textgreater}, then ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p) is a zonotope because

πxy(<c′′,G′′>)=[[c′′]1[c′′]2],[[G′′]1:[G′′]2:].\pi_{xy}\big{(}\text{\textless}c^{\prime\prime},\;G^{\prime\prime}\text{\textgreater}\big{)}=\left<\begin{bmatrix}[c^{\prime\prime}]_{1}\\ [c^{\prime\prime}]_{2}\end{bmatrix},~{}\begin{bmatrix}[G^{\prime\prime}]_{1:}\\ [G^{\prime\prime}]_{2:}\end{bmatrix}\right>. (84)

Note πxy(ROT(πh(j)))=rot(πh(j))\pi_{xy}\big{(}\texttt{ROT}(\pi_{h}(\mathcal{R}_{j}))\big{)}=\texttt{rot}(\pi_{h}(\mathcal{R}_{j})), and by using the definition of πxy\pi_{xy} one can check that πxy(𝒜1𝒜2)=πxy(𝒜1)πxy(𝒜2)\pi_{xy}(\mathcal{A}_{1}\oplus\mathcal{A}_{2})=\pi_{xy}(\mathcal{A}_{1})\oplus\pi_{xy}(\mathcal{A}_{2}) for any zonotopes 𝒜1,𝒜29+np\mathcal{A}_{1},\mathcal{A}_{2}\subset\mathbb{R}^{9+n_{p}}. Then by Lemma 25,

ξ(j,z0vel,p)=πxy(slice(j,z0vel,p))rot(πh(j)).\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\pi_{xy}\big{(}\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\big{)}\oplus\texttt{rot}(\pi_{h}(\mathcal{R}_{j})). (85)

By Theorem 19 for any tTjt\in T_{j} and j𝒥j\in\mathcal{J}, zaug(t)slice(j,z0vel,p)jz^{\text{aug}}(t)\in\texttt{slice}(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\subset\mathcal{R}_{j}, then h(t)πh(j)h(t)\in\pi_{h}(\mathcal{R}_{j}). Because rot(πh(j))\texttt{rot}(\pi_{h}(\mathcal{R}_{j})) by construction outer approximates the area over which 𝒪ego\mathcal{O}^{\text{ego}} sweeps according to all possible heading of the ego vehicle during TjT_{j}, then ξ(j,z0vel,p)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p) contains the vehicle footprint oriented according to πh(j)\pi_{h}(\mathcal{R}_{j}) and centered at πxy(zaug(t))\pi_{xy}(z^{\text{aug}}(t)) during TjT_{j}. ∎

Appendix D Proof of Theorem 23

We first prove a pair of lemmas. The first lemma simplifies the expression of ξ(j,z0,p)\xi(\mathcal{R}_{j},z_{0},p).

Lemma 26.

Let j=<cj,[gj,1,gj,2,,gj,j]>\mathcal{R}_{j}=\text{\textless}c_{\mathcal{R}_{j}},\;[g_{\mathcal{R}_{j},1},g_{\mathcal{R}_{j},2},\ldots,g_{\mathcal{R}_{j},\ell_{j}}]\text{\textgreater} be the zonotope computed by CORA under the hybrid vehicle dynamics model HSHS beginning from 𝒵0aug\mathcal{Z}^{\text{aug}}_{0} for arbitrary j𝒥j\in\mathcal{J}, and let rot(πh(j))=<crot,Grot>\texttt{rot}(\pi_{h}(\mathcal{R}_{j}))=\text{\textless}c_{\texttt{rot}},\;G_{\texttt{rot}}\text{\textgreater} be defined as (47). Then for arbitrary z0vel𝒵0velz^{\text{vel}}_{0}\in\mathcal{Z}^{\text{vel}}_{0} and p𝒫p\in\mathcal{P}, there exist cξ𝒲c_{\xi}\in\mathcal{W}, A2×npA\in\mathbb{R}^{2\times n_{p}} and a real matrix GξG_{\xi} with two rows such that ξ(j,z0vel,p)=<cξ+Ap,Gξ>\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\text{\textless}c_{\xi}+A\cdot p,\;G_{\xi}\text{\textgreater}.

Proof.

Recall cslcc^{\text{slc}} is defined as in (45), then

ξ(j,z0vel,p)=πxy(<cslc,[gj,(3+np+1),,gj,j]>)rot(πh(j))=<πxy(cslc)+crot,[πxy(gj,(4+np)),,πxy(gj,j),Grot]>.\begin{split}\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)&=\pi_{xy}\big{(}\text{\textless}c^{\text{slc}},\;[g_{\mathcal{R}_{j},(3+n_{p}+1)},\ldots\\ &\hskip 51.21504pt\ldots,g_{\mathcal{R}_{j},\ell_{j}}]\text{\textgreater}\big{)}\oplus\texttt{rot}(\pi_{h}(\mathcal{R}_{j}))\\ &=\text{\textless}\pi_{xy}(c^{\text{slc}})+c_{\texttt{rot}},\;[\pi_{xy}(g_{\mathcal{R}_{j},(4+n_{p})}),\ldots\\ &\hskip 76.82234pt\ldots,\pi_{xy}(g_{\mathcal{R}_{j},\ell_{j}}),G_{\texttt{rot}}]\text{\textgreater}.\end{split} (86)

where the first equality comes from using (85) and (44) and the last equality comes from denoting rot(πh(j))\texttt{rot}(\pi_{h}(\mathcal{R}_{j})) as <crot,Grot>\text{\textless}c_{\texttt{rot}},\;G_{\texttt{rot}}\text{\textgreater} and performing Minkowski addition on two zonotopes. cslcc^{\text{slc}} can be rewritten as

cslc=cj+k=79[z0vel](k6)[cj]k[gj,(k6)]kgj,(k6)+k=109+np[c]k[g,(k6)]kg,(k6)+Ap\begin{split}c^{\text{slc}}=&~{}c_{\mathcal{R}_{j}}+\sum_{k=7}^{9}\frac{[z^{\text{vel}}_{0}]_{(k-6)}-[c_{\mathcal{R}_{j}}]_{k}}{[g_{\mathcal{R}_{j},(k-6)}]_{k}}g_{\mathcal{R}_{j},(k-6)}+\\ &-\sum_{k=10}^{9+n_{p}}\frac{[c_{\mathcal{R}}]_{k}}{[g_{\mathcal{R},(k-6)}]_{k}}g_{\mathcal{R},(k-6)}+A^{\prime}\cdot p\end{split} (87)

with A=[1[gj,4]10gj,4,,1[gj,(3+np)](9+np)gj,(3+np)]A^{\prime}=\left[\frac{1}{[g_{\mathcal{R}_{j},4}]_{10}}g_{\mathcal{R}_{j},4},\ldots,\frac{1}{[g_{\mathcal{R}_{j},(3+n_{p})}]_{(9+n_{p})}}g_{\mathcal{R}_{j},(3+n_{p})}\right]. Therefore by performing algebra one can find that ξ(j,z0vel,p)=<cξ+Ap,Gξ>\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\text{\textless}c_{\xi}+A\cdot p,\;G_{\xi}\text{\textgreater} with some cξc_{\xi}, GξG_{\xi} and

A=[1[gj,4]10πxy(gj,4),1[gj,5]11πxy(gj,5),,1[gj,(3+np)](9+np)πxy(gj,(3+np))].\begin{split}A=&\left[\frac{1}{[g_{\mathcal{R}_{j},4}]_{10}}\pi_{xy}(g_{\mathcal{R}_{j},4}),\frac{1}{[g_{\mathcal{R}_{j},5}]_{11}}\pi_{xy}(g_{\mathcal{R}_{j},5}),\ldots\right.\\ &\hskip 25.6073pt\left.\ldots,\frac{1}{[g_{\mathcal{R}_{j},(3+n_{p})}]_{(9+n_{p})}}\pi_{xy}(g_{\mathcal{R}_{j},(3+n_{p})})\right].\end{split} (88)

Note ϑloc(j,i,z0pos)\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0}) is a zonotope by construction in (51) because ϑ(j,i)\vartheta(j,i) is assumed to be a zonotope. The following lemma follows from [41, Lem. 5.1] and allows us to represent the intersection constraint in (Opt) .

Lemma 27.

Let ξ(j,z0vel,p)=<cξ+Ap,Gξ>\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\text{\textless}c_{\xi}+A\cdot p,\;G_{\xi}\text{\textgreater} be computed as in Lemma 26, and let ϑloc(j,i,z0pos)=<cϑ,Gϑ>\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=<c_{\vartheta},G_{\vartheta}> be computed from Assumptions 22 and (51). Then ξ(j,z0vel,p)ϑloc(j,i,z0pos)\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)\cap\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})\neq\emptyset if and only if Ap<cϑcξ,[Gϑ,Gξ]>A\cdot p\in\text{\textless}c_{\vartheta}-c_{\xi},\;[G_{\vartheta},G_{\xi}]\text{\textgreater}.

Now we can finally state the proof of Theorem 23:

Proof.

Let ξ(j,z0vel,p)=<cξ+Ap,Gξ>\xi(\mathcal{R}_{j},z^{\text{vel}}_{0},p)=\text{\textless}c_{\xi}+A\cdot p,\;G_{\xi}\text{\textgreater} as computed in Lemma 26, and let ϑloc(j,i,z0pos)=<cϑ,Gϑ>\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=<c_{\vartheta},G_{\vartheta}> be computed from Assumption 22 and (51). Because all zonotopes are convex polytopes [41], zonotope <cϑcξ,[Gϑ,Gξ]>𝒲2\text{\textless}c_{\vartheta}-c_{\xi},\;[G_{\vartheta},G_{\xi}]\text{\textgreater}\subset\mathcal{W}\subseteq\mathbb{R}^{2} can be transferred into a half-space representation 𝒜:={a𝒲Bab0}\mathcal{A}:=\{a\in\mathcal{W}\mid B\cdot a-b\leq 0\} for some matrix BB and vector bb. To find such BB and bb, we denote c=cϑcξ2c=c_{\vartheta}-c_{\xi}\in\mathbb{R}^{2} and G=[Gϑ,Gξ]2×G=[G_{\vartheta},G_{\xi}]\in\mathbb{R}^{2\times\ell} with some positive integer \ell, and denote B=[[G]2:[G]1:]2×B^{-}=\begin{bmatrix}-[G]_{2:}\\ [G]_{1:}\end{bmatrix}\in\mathbb{R}^{2\times\ell}. Define

B+:=[[B]:1[B]:1,[B]:2[B]:2,,[B]:[B]:]×2.B^{+}:=\left[\frac{[B^{-}]_{:1}}{\|[B^{-}]_{:1}\|},\frac{[B^{-}]_{:2}}{\|[B^{-}]_{:2}\|},\ldots,\frac{[B^{-}]_{:\ell}}{\|[B^{-}]_{:\ell}\|}\right]^{\top}\in\mathbb{R}^{\ell\times 2}. (89)

Then as a result of [32, Thm 2.1], <c,G>={a𝒲Bab0}\text{\textless}c,\;G\text{\textgreater}=\{a\in\mathcal{W}\mid B\cdot a-b\leq 0\} with

B\displaystyle B =[B+B+]2×2,\displaystyle=\begin{bmatrix}B^{+}\\ -B^{+}\end{bmatrix}\in\mathbb{R}^{2\ell\times 2}, (90)
b\displaystyle b =[B+c+|B+G|𝟏B+c+|B+G|𝟏]2\displaystyle=\begin{bmatrix}B^{+}\cdot c+|B^{+}\cdot G|\cdot\mathbf{1}\\ -B^{+}\cdot c+|B^{+}\cdot G|\cdot\mathbf{1}\end{bmatrix}\in\mathbb{R}^{2\ell} (91)

where 𝟏\mathbf{1}\in\mathbb{R}^{\ell} is the column vector of ones.

By Lemma 27, ξ(j(d),z0vel,p)ϑloc(j,i,z0pos)=\xi(\mathcal{R}_{j}(d),z^{\text{vel}}_{0},p)\cap\vartheta^{\text{loc}}(j,i,z^{\text{pos}}_{0})=\emptyset if and only if Ap<cϑcξ,[Gϑ,Gξ]>A\cdot p\notin\text{\textless}c_{\vartheta}-c_{\xi},\;[G_{\vartheta},G_{\xi}]\text{\textgreater}, or in other words Ap𝒜A\cdot p\notin\mathcal{A}. Notice Ap𝒜A\cdot p\notin\mathcal{A} if and only if max(BApb)>0\max(B\cdot A\cdot p-b)>0.

The subgradient claim follows from [42, Theorem 5.4.5]. ∎