A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (2024)

Roya Firoozi,Laura Ferranti, Xiaojing Zhang, Sebastian Nejadnik, Francesco BorrelliThe authors are with the Department of Mechanical Engineering, at the University of California, Berkeley and Delft University of Technology.
{royafiroozi, xiaojing.zhang, snejadnik ,fborrelli }@berkeley.edu, l.ferranti@tudelft.nl
This work has been partially supported by the Dutch Science FoundationNWO-TTW within the Veni project HARMONIA (nr. 18165).

Abstract

This work presents a distributed method for multi-vehicle coordination based on nonlinear model predictive control (NMPC) and dual decomposition. Our approach allows the vehicles to coordinate in tight spaces (e.g., busy highway lanes or parking lots) by using a polytopic description of each vehicle’s shape and formulating collision avoidance as a dual optimization problem. Our method accommodates heterogeneous teams of vehicles (i.e., vehicles with different polytopic shapes and dynamic models can be part of the same team). Our method allows the vehicles to share their intentions in a distributed fashion without relying on a central coordinator and efficiently provides collision-free trajectories for the vehicles. In addition, our method decouples the individual-vehicles’ trajectory optimization from their collision-avoidance objectives enhancing the scalability of the method and allowing one to exploit parallel hardware architectures. All these features are particularly important for vehicular applications, where the systems operate at high-frequency rates in dynamic environments.To validate our method, we apply it in a vehicular application, that is, the autonomous lane-merging of a team of connected vehicles to form a platoon. We compare our design with the centralized NMPC design to show the computational benefits of the proposed distributed algorithm.

I INTRODUCTION

Autonomous vehicles are part of our daily lives[1]. These technologies have the potential to reduce fatalities, improve transportation efficiency, and enhance the overall quality of life[2]. For example, automated vehicles can alleviate the workload of truck drivers on long drives on busy highways and improve efficiency, by forming platoons with neighboring vehicles. Compared to human-driven vehicles, autonomous vehicles are equipped with sensors that allow them to explicitly communicate with each other and share their intentions. To fully exploit the benefits that these technologies will bring, algorithms to control and efficiently coordinate these autonomous systems are crucial, especially in tight environments (e.g., busy highway lanes or parking lots), where the vehicles have reduced maneuvering space. Coordination can be implemented in a centralized or distributed fashion. Having a central coordinator in the context of autonomous driving, however, is an unrealistic assumption if one considers the scale of the road network and the number of vehicles on the road. Autonomous vehicles should be able to coordinate independently in a distributed fashion to avoid the use of a central coordinator to supervise their interactions. To reach their individual goals, each vehicle should closely interact with its neighbors to avoid collisions. Hence, one of the challenges to ensuring the safe navigation of connected autonomous vehicles is that of efficiently generating a safe coordination strategy in a distributed manner. This is a multi-vehicle local trajectory optimization problem.

In this work, we focus on efficient, safe, and coordinated multi-vehicle distributed trajectory optimization (the interested reader can refer to [3] for an overview of the state of the art). In particular, we consider the application of our proposed approach for multi-lane tight platooning. This application requires tight maneuvering as discussed in [4]. Platooning in a classical setting refers to a group of vehicles forming a road train in a single lane [5], [6]. A drawback of single-lane platoons is that a long train-like formation may impede other vehicles from changing lanes, impacting traffic flow and reducing mobility. Platoon formation in multiple lanes combines the advantages of platooning while being shape-reconfigurable and facilitating lane changes. Introducing another degree of freedom in multi-lane platoons increases structural flexibility and can enhance mobility. While single-lane platooning (one-dimensional 1D) is well-studied in the literature, research on multi-lane platoons (two-dimensional 2D) is limited.

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (1)

In one of our prior works [4], multi-lane platooning in a centralized way is presented. Although the centralized approach provides tight maneuvering for cooperative vehicles, the centralized framework does not provide computational efficiency for online applications, and the trajectories are all computed offline. In this work, we present a distributed framework that not only provides tight maneuvering but also is computationally efficient for online applications. Compared to the existing literature, to the best of our knowledge, this work is the first one that considers the exact formulation of collision avoidance with the polytopic representation of vehicles in a distributed framework that provides cooperative tight maneuvering of multiple vehicles with computation efficiency suitable for online applications. We consider multi-lane platooning as an application that requires real-time performance as well as tight maneuvering. Tight maneuvering is crucial for multi-lane platoons since the vehicles move in close proximity to each other and need to be able to perform cooperative lane-change at high speed in small spaces in real-time.In this work, we consider cooperative multi-lane merging of vehicles as a challenging case study to show the effectiveness of our proposed algorithm. However, our proposed algorithm is generalizable to other scenarios in the autonomous driving setting. For example, cooperative autonomous parking in tight environments can benefit from the proposed approach.

I-A Contribution

We use a nonlinear model predictive control (NMPC) to plan collision-free trajectories to coordinate the vehicles. We use a polytopic representation of the individual vehicle and formulate the collision avoidance problem as the problem of finding the minimum distance between two polytopes. This polytopic representation is particularly suitable to precisely represent vehicles, such as cars and vessels, when the maneuver space is limited, for example on busy lanes, parking lots, and canals. To incorporate this collision avoidance strategy in the NMPC formulation, our method relies on duality theory[7]. We reformulate the minimum distance collision-avoidance constraints between each pair of vehicles as a feasibility test (with associated collision-avoidance variables) that can be included within the constraints of the NMPC problem. Solving the NMPC problem in a centralized way (Fig.1.a) is computationally intensive, so we introduce an algorithm to solve the NMPC problem in a distributed way (Fig.1.b), which is computationally efficient compared to the centralized formulation and is suitable for real-time applications.

In order to split the centralized problem into distributed sub-problems, the centralized formulation must be separable. Although the dynamic models of the vehicles are decoupled, the collision avoidance constraints are coupled among them.To break the coupling, we rely on an alternative optimization approach to decompose the centralized problem as local minimization problems performed by alternating between two different optimizations (Fig.1.b): (i) a collision avoidance optimization (red boxes in Fig.1.b) that computes the predicted collision-avoidance variables, given the latest predicted intention of each pair of vehicles, and (ii) local NMPC optimizations (gray boxes in Fig.1.b) that update the vehicle states, given the latest predicted collision-avoidance variables. The advantage of this decomposition is that each collision avoidance optimization solves efficiently convex problems of fixed dimension and the local NMPC problems have always a fixed number of decision variables (the local vehicle states), compared to the centralized problem.Finally, we validate our method for the autonomous lane-merging scenario, where a team of connected autonomous vehicles coordinate on a highway to form a platoon, comparing its performance with a centralized implementation. In lane-merging scenarios both road geometry and formation geometry restrict the motion of the vehicles. Hence, the vehicles must coordinate in a tight environment. To allow navigation at tight spaces, our approach models the road structure and the vehicle dimensions, as exact sizes with no approximation or enlargement. Our contributions are summarized as follows:

  • A distributed alternating optimization scheme using NMPC and dual decomposition for multi-vehicle coordination that provides tight maneuvering.

  • A collision avoidance reformulation using strong duality theory that allows our method to exploit the dual structure to split the large centralized coordination problem into smaller sub-problems, which are computationally efficient for online applications.

  • A geometric interpretation of dual variables.

I-B Related Work

I-B1 Multi-Vehicle Coordination

Classical methods for multi-vehicle coordination either use reactive strategies (such as potential fields[8, 9, 10], dynamic window[11], and velocity obstacles[12, 13]), assume a priority order[14], or rely on a scheduling[15] for the vehicles. These methods, however, do not explicitly consider the interaction among the vehicles. Learning-based methods[16, 17, 18, 19, 20] and constrained-optimization approaches can be used to take these interactions into account. Our work fits in this last category and relies on tools from control and optimization to model the interactions among the vehicles to avoid collisions. Distributed constrained-optimization designs have been proposed for example in [21, 22, 23, 24, 25, 26]. The authors in[21] present a decentralized model predictive control (MPC) formulation for multi-vehicle coordination that relies on invariant-set theory and mix-integer linear programming (MILP). The authors in[22] propose a distributed MPC design for formation control using the alternating direction method of multipliers (ADMM) and separating hyperplanes for collision avoidance. The authors in[23] use a potential cost function and collision-avoidance constraints to formulate a distributed MPC problem, in which the collision avoidance constraints can be either linearized or formulated using integer variables. In addition, the authors rely on motion primitives to account for vehicle kinematic and dynamic constraints. The authors in[24, 25] present distributed MPC approaches that rely on ADMM to decompose the (linearized) coordination problem. The authors in[26] propose a distributed nonlinear MPC formulation with nonconvex collision avoidance constraints.

Compared to [21], our proposed approach does not require the solution of a MILP problem that can be computationally expensive to solve. In addition, compared to [23, 24, 25] our method does not require any linearization (which could reduce the solution space of the problem) of the collision-avoidance constraints. Also compared to [23], our approach does not require the use of motion primitives (the vehicle dynamics are directly included in the NMPC formulation). Compared to [22], our strategy allows to specify a desired distance between the vehicles, instead of using separating hyperplanes. Inspired by[7, 27], our method uses dual optimization to formulate the collision avoidance constraints. Compared to[7, 27], however, our method exploits the structure of the coordination problem to solve it in a distributed fashion. Compared to[26], we rely on the structure of the dual problem to deal with collision avoidance constraints and on a polytopic representation of the vehicles.In [28], a vehicle optimal overtaking maneuver planning is studied. A two-layer trajectory optimization framework is introduced and a near-optimal reference generator is presented.While this work considers trajectory optimization for overtaking maneuvers, our work presents a distributed optimization for the simultaneous optimization of multiple cooperative vehicles.

I-B2 Outline

Sec.II provides the required preliminary definitions. Sec.III describes the centralized design. Sec.IV details our distributed algorithm. Sec.V introduces our applications and the simulation results. Sec.VI concludes this paper.

II PRELIMINARIES

We provide the needed definitions and notations below.

II-1 Vehicles and Neighbor vehicles

The set of M𝑀Mitalic_M cooperative vehicles is defined as 𝒱:={1,2,,M}assign𝒱12𝑀\mathcal{V}:=\{1,2,...,M\}caligraphic_V := { 1 , 2 , … , italic_M }. We identify each vehicle through its index i𝒱𝑖𝒱i\in\mathcal{V}italic_i ∈ caligraphic_V. Throughout this paper, the superscript i𝑖iitalic_i denotes the i𝑖iitalic_ith vehicle. The neighbor set of vehicle i𝑖iitalic_i is denoted as 𝒩isubscript𝒩𝑖\mathcal{N}_{i}caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and represents all the vehicles that are in the communication range of vehicle i𝑖iitalic_i.

II-2 Polytopic Description of Vehicle

The region occupied by the vehicle can be described as a convex set defined by a polytope 𝒫𝒫\mathcal{P}caligraphic_P. Polytopes are described as the intersection of a set of half-spaces and are defined as a set of linear inequalities. The initial polytopic set of the vehicle is represented as 𝒫osubscript𝒫𝑜\mathcal{P}_{o}caligraphic_P start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT. As the vehicle travels, 𝒫osubscript𝒫𝑜\mathcal{P}_{o}caligraphic_P start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT undergoes affine transformations including rotation and translation. Hence 𝒫=𝐑𝒫o+𝐭r𝒫𝐑subscript𝒫𝑜subscript𝐭𝑟\mathcal{P}=\mathbf{R}\mathcal{P}_{o}+\mathbf{t}_{r}caligraphic_P = bold_R caligraphic_P start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT + bold_t start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, where 𝐑:nzn×n:𝐑superscriptsubscript𝑛𝑧superscript𝑛𝑛\mathbf{R}:\mathbb{R}^{n_{z}}\rightarrow\mathbb{R}^{n\times n}bold_R : blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_n × italic_n end_POSTSUPERSCRIPT is an orthogonal rotation matrix, 𝐭r:nzn:subscript𝐭𝑟superscriptsubscript𝑛𝑧superscript𝑛\mathbf{t}_{r}:\mathbb{R}^{n_{z}}\rightarrow\mathbb{R}^{n}bold_t start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT : blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is the translation vector, nzsubscript𝑛𝑧n_{z}italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT is the dimension of the vehicle state 𝐳𝐳\mathbf{z}bold_z, and n𝑛nitalic_n is dimension of the space which is 2 for two-dimensional (2D) planning. Since the rotation matrix and translation vector are functions of vehicle states, the vehicle’s polytopic representation 𝒫𝒫\mathcal{P}caligraphic_P is a time-varying polytope 𝒫(𝐳(t))𝒫𝐳𝑡\mathcal{P}(\mathbf{z}(t))caligraphic_P ( bold_z ( italic_t ) ).

II-3 Dynamic Obstacles

𝒩isubscript𝒩𝑖\mathcal{N}_{i}caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the set of dynamic obstacles for vehicle i𝑖iitalic_i. To avoid collision between vehicles i𝑖iitalic_i and j𝑗jitalic_j, the intersection of their polytopic sets must be empty, 𝒫i𝒫j=superscript𝒫𝑖superscript𝒫𝑗\mathcal{P}^{i}\cap\mathcal{P}^{j}=\emptysetcaligraphic_P start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ∩ caligraphic_P start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT = ∅.

II-4 MPC Scheme

MPC is useful for online local motion planning in dynamic environments because it is able to re-plan according to the new available information. MPC relies on the receding-horizon principle. At each time step it solves a constrained optimization problem and obtains a sequence of optimal control inputs that minimize a desired cost function J𝐽Jitalic_J, while considering dynamic, state, and input constraints, over a fixed time horizon. Then, the controller applies, in closed loop, the first control-input solution. At the next time step, the procedure is repeated. Throughout this paper, (|t)(\cdot|t)( ⋅ | italic_t ) indicates the values along the entire planning horizon N𝑁Nitalic_N, predicted based on the measurements at time t𝑡titalic_t. For example 𝐳(|t)\mathbf{z}(\cdot|t)bold_z ( ⋅ | italic_t ) represents the entire state trajectory along the horizon [𝐳(1|t),𝐳(2|t),,𝐳(N|t)]𝐳conditional1𝑡𝐳conditional2𝑡𝐳conditional𝑁𝑡[\mathbf{z}(1|t),\mathbf{z}(2|t),...,\mathbf{z}(N|t)][ bold_z ( 1 | italic_t ) , bold_z ( 2 | italic_t ) , … , bold_z ( italic_N | italic_t ) ] predicted at time t𝑡titalic_t. The bar notation (¯¯\mathbf{\bar{\cdot}}over¯ start_ARG ⋅ end_ARG) represents constant known values.

II-5 MPC Cost Function J𝐽Jitalic_J

The MPC cost is J:=i𝒱Jiassign𝐽subscript𝑖𝒱superscript𝐽𝑖J:=\sum_{i\in\mathcal{V}}J^{i}italic_J := ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_V end_POSTSUBSCRIPT italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT, where Jisuperscript𝐽𝑖J^{i}italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT is the local objectives of each vehicle. Each Jisuperscript𝐽𝑖J^{i}italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT can be designed according to the local vehicle planning and control objectives. For example, the local costs can be specified to reach a goal set or to reduce the deviation from a global reference path (which is not collision-free) computed using high-level planning methods.

III CENTRALIZED COORDINATION

The multi-vehicle coordination can be considered as a motion-planning problem and formulated as a centralized MPC optimization problem that computes collision-free trajectories for all the vehicles, simultaneously. The optimization problem is formulated in the NMPC framework as follows

min𝐮i(|t)\displaystyle\min_{\begin{subarray}{c}\mathbf{u}^{i}(\cdot|t)\end{subarray}}roman_min start_POSTSUBSCRIPT start_ARG start_ROW start_CELL bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( ⋅ | italic_t ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPTi=1MJi(𝐳i,𝐮i)superscriptsubscript𝑖1𝑀superscript𝐽𝑖superscript𝐳𝑖superscript𝐮𝑖\displaystyle\sum_{i=1}^{M}J^{i}(\mathbf{z}^{i},\mathbf{u}^{i})∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT , bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT )(1a)
subject to𝐳i(k+1|t)=f(𝐳i(k|t),𝐮i(k|t)),superscript𝐳𝑖𝑘conditional1𝑡𝑓superscript𝐳𝑖conditional𝑘𝑡superscript𝐮𝑖conditional𝑘𝑡\displaystyle\mathbf{z}^{i}(k+1|t)=f(\mathbf{z}^{i}(k|t),\mathbf{u}^{i}(k|t)),bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k + 1 | italic_t ) = italic_f ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) , bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) ,(1b)
𝐳i(0|t)=𝐳i(t),superscript𝐳𝑖conditional0𝑡superscript𝐳𝑖𝑡\displaystyle\mathbf{z}^{i}(0|t)=\mathbf{z}^{i}(t),bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 0 | italic_t ) = bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_t ) ,(1c)
𝐳i(k|t)𝒵,𝐮i(k|t)𝒰,formulae-sequencesuperscript𝐳𝑖conditional𝑘𝑡𝒵superscript𝐮𝑖conditional𝑘𝑡𝒰\displaystyle\mathbf{z}^{i}(k|t)\in\mathcal{Z},\ \mathbf{u}^{i}(k|t)\in%\mathcal{U},bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ∈ caligraphic_Z , bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ∈ caligraphic_U ,(1d)
𝒫(𝐳i(k|t))𝒫(𝐳j(k|t))=,ijformulae-sequence𝒫superscript𝐳𝑖conditional𝑘𝑡𝒫superscript𝐳𝑗conditional𝑘𝑡𝑖𝑗\displaystyle\mathcal{P}(\mathbf{z}^{i}(k|t))\cap\mathcal{P}(\mathbf{z}^{j}(k|%t))=\emptyset,\quad i\neq jcaligraphic_P ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) ∩ caligraphic_P ( bold_z start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) = ∅ , italic_i ≠ italic_j(1e)
i𝒱,j𝒩i,andk{1,2,..,N}.\displaystyle\forall i\in\mathcal{V},\ j\in\mathcal{N}_{i},{\textrm{and~{}}k%\in\{1,2,..,N\}}.∀ italic_i ∈ caligraphic_V , italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , and italic_k ∈ { 1 , 2 , . . , italic_N } .

In the formulation above, 𝐮i(|t)=[ui(k|t),,ui(k+N1|t)]\mathbf{u}^{i}(\cdot|t)=[u^{i}(k|t),...,u^{i}(k+N-1|t)]bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( ⋅ | italic_t ) = [ italic_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) , … , italic_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k + italic_N - 1 | italic_t ) ] denotes the sequence of control inputs over the MPC planning horizon N𝑁Nitalic_N for i𝑖iitalic_ith vehicle. 𝐳i(k|t)superscript𝐳𝑖conditional𝑘𝑡\mathbf{z}^{i}(k|t)bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) and 𝐮i(k|t)superscript𝐮𝑖conditional𝑘𝑡\mathbf{u}^{i}(k|t)bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) variables of i𝑖iitalic_ith vehicle at step k𝑘kitalic_k are predicted at time t𝑡titalic_t. Also, 𝐮i={𝐮1,,𝐮M}superscript𝐮𝑖superscript𝐮1superscript𝐮𝑀\mathbf{u}^{i}=\{\mathbf{u}^{1},...,\mathbf{u}^{M}\}bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT = { bold_u start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT , … , bold_u start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT } for M𝑀Mitalic_M number of vehicles. The function f()𝑓f(\cdot)italic_f ( ⋅ ) in (1b) represents the nonlinear (dynamic or kinematic) model of the vehicle, which is discretized using Euler discretization. 𝒵𝒵\mathcal{Z}caligraphic_Z, 𝒰𝒰\mathcal{U}caligraphic_U are the state and input feasible sets, respectively. These sets represent state and actuator limitations. Constraints(1e) represent the collision-avoidance constraints between the i𝑖iitalic_ith vehicle and all the neighboring vehicles within the communication radius. This representation is time-varying and is a function of the vehicle state at each time step. The remainder of this section details the derivation of constraint(1e).In this paper, our focus is to reformulate the centralized problem (1) into a distributed one. Note that safety in this work is referred to hard constraint satisfaction. However, safety guarantees for all times requires guarantees of persistent feasibility of the MPC. Any techniques to guarantee persistent feasibility can be incorporated into our proposed approach since adding terminal cost and terminal set elements (e.g., [29]) to the formulation will not affect the coupling among the agents.

III-A Collision Avoidance Reformulation

Consider two polytopic sets 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. The distance between these sets is given by the following primal problem

dist(𝒫1,𝒫2)=min𝐱,𝐲{𝐱𝐲2|𝐀1𝐱𝐛1,𝐀2𝐲𝐛2},distsubscript𝒫1subscript𝒫2𝐱𝐲formulae-sequenceconditionalsubscriptnorm𝐱𝐲2subscript𝐀1𝐱subscript𝐛1subscript𝐀2𝐲subscript𝐛2\text{dist}(\mathcal{P}_{1},\mathcal{P}_{2})=\underset{{\mathbf{x},\mathbf{y}}%}{\min}\{\|\mathbf{x}-\mathbf{y}\|_{2}|\mathbf{A}_{1}\mathbf{x}\leq\mathbf{b}_%{1},\mathbf{A}_{2}\mathbf{y}\leq\mathbf{b}_{2}\},\\dist ( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) = start_UNDERACCENT bold_x , bold_y end_UNDERACCENT start_ARG roman_min end_ARG { ∥ bold_x - bold_y ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_x ≤ bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_y ≤ bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ,(2)

where 𝒫1={𝐱n|𝐀1𝐱𝐛1}subscript𝒫1conditional-set𝐱superscript𝑛subscript𝐀1𝐱subscript𝐛1\mathcal{P}_{1}=\{\mathbf{x}\in\mathbb{R}^{n}|\mathbf{A}_{1}\mathbf{x}\leq%\mathbf{b}_{1}\}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT | bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_x ≤ bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } and 𝒫2={𝐲n|𝐀2𝐲𝐛2}subscript𝒫2conditional-set𝐲superscript𝑛subscript𝐀2𝐲subscript𝐛2\mathcal{P}_{2}=\{\mathbf{y}\in\mathbb{R}^{n}|\mathbf{A}_{2}\mathbf{y}\leq%\mathbf{b}_{2}\}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { bold_y ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT | bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_y ≤ bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }. The two sets do not intersect if dist(𝒫1,𝒫2)>0distsubscript𝒫1subscript𝒫20\text{dist}(\mathcal{P}_{1},\mathcal{P}_{2})>0dist ( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) > 0. For motion-planning applications, the vehicles must keep a minimum safe distance dminsubscript𝑑d_{\min}italic_d start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT from each other and from the obstacles. Hence, the distance between their polytopic sets should be larger than a predefined minimum distance,

dist(𝒫1,𝒫2)dmin.distsubscript𝒫1subscript𝒫2subscript𝑑\text{dist}(\mathcal{P}_{1},\mathcal{P}_{2})\geq d_{\min}.dist ( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≥ italic_d start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT .(3)

Problem (2) is an optimization problem which is a constraint for optimization problem (1). Therefore, using the primal problem (2) for collision avoidance constraint (1e) yields a bi-level optimization problem. To reduce compute complexity, we rely on strong-duality theory. Building on[7], the dual problem can be solved instead of the primal problem (2). The dual problem is expressed as follows:

dist(𝒫1,𝒫2):=assigndistsubscript𝒫1subscript𝒫2absent\displaystyle\text{dist}(\mathcal{P}_{1},\mathcal{P}_{2}):=dist ( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) :=max𝝀12,𝝀21,𝐬𝐛1𝝀12𝐛2𝝀21subscript𝝀12subscript𝝀21𝐬superscriptsubscript𝐛1topsubscript𝝀12superscriptsubscript𝐛2topsubscript𝝀21\displaystyle\underset{{\bm{\lambda}_{12},\bm{\lambda}_{21},\,\mathbf{s}}}{%\max}-\mathbf{b}_{1}^{\top}\bm{\lambda}_{12}-\mathbf{b}_{2}^{\top}\bm{\lambda}%_{21}start_UNDERACCENT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT , bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT , bold_s end_UNDERACCENT start_ARG roman_max end_ARG - bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT - bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT(4)
s.t.𝐀1𝝀12+𝐬=0,𝐀2𝝀21𝐬=0,formulae-sequences.t.superscriptsubscript𝐀1topsubscript𝝀12𝐬0superscriptsubscript𝐀2topsubscript𝝀21𝐬0\displaystyle\text{s.t.~{}}\mathbf{A}_{1}^{\top}\bm{\lambda}_{12}+\mathbf{s}=0%,\ \mathbf{A}_{2}^{\top}\bm{\lambda}_{21}-\mathbf{s}=0,s.t. bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT + bold_s = 0 , bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT - bold_s = 0 ,
𝐬21,𝝀120,𝝀210,formulae-sequencesubscriptnorm𝐬21formulae-sequencesubscript𝝀120subscript𝝀210\displaystyle\quad\ ||\mathbf{s}||_{2}\leq 1,-\bm{\lambda}_{12}\leq 0,\ -\bm{%\lambda}_{21}\leq 0,| | bold_s | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ 1 , - bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT ≤ 0 , - bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT ≤ 0 ,

where 𝝀12subscript𝝀12\bm{\lambda}_{12}bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT, 𝝀21subscript𝝀21\bm{\lambda}_{21}bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT and 𝐬𝐬\mathbf{s}bold_s are dual variables.

The optimal value of the dual problem is the distance between 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and based on (3), the distance between the two polytopes is constrained to be larger than a desired minimum distance. Consequently, we can use this insight to reformulate the dual problem as the following feasibility problem:{𝝀120,𝝀210,𝐬:𝐛1𝝀12𝐛2𝝀21dmin,𝐀1𝝀12+𝐬=0,𝐀2𝝀21𝐬=0,𝐬21}.conditional-setformulae-sequencesucceeds-or-equalssubscript𝝀120succeeds-or-equalssubscript𝝀210𝐬formulae-sequencesuperscriptsubscript𝐛1topsubscript𝝀12superscriptsubscript𝐛2topsubscript𝝀21subscript𝑑minformulae-sequencesuperscriptsubscript𝐀1topsubscript𝝀12𝐬0formulae-sequencesuperscriptsubscript𝐀2topsubscript𝝀21𝐬0subscriptnorm𝐬21\{\exists\bm{\lambda}_{12}\succeq 0,\bm{\lambda}_{21}\succeq 0,\mathbf{s}:-%\mathbf{b}_{1}^{\top}\bm{\lambda}_{12}-\mathbf{b}_{2}^{\top}\bm{\lambda}_{21}%\geq d_{\text{min}},\mathbf{A}_{1}^{\top}\bm{\lambda}_{12}+\mathbf{s}=0,%\mathbf{A}_{2}^{\top}\bm{\lambda}_{21}-\mathbf{s}=0,\|\mathbf{s}\|_{2}\leq 1\}.{ ∃ bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT ⪰ 0 , bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT ⪰ 0 , bold_s : - bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT - bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT ≥ italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT , bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT + bold_s = 0 , bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT - bold_s = 0 , ∥ bold_s ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ 1 } . This reformulation can be substituted to the collision-avoidance constraint (1e) in Problem (1).Therefore, problem (1) can be rewritten as

min𝐮i(|t),𝝀ij(|t),𝝀ji(|t),𝐬ij(|t)\displaystyle\min_{\begin{subarray}{c}\mathbf{u}^{i}(\cdot|t),\ \bm{\lambda}_{%ij}(\cdot|t),\\\bm{\lambda}_{ji}(\cdot|t),\ \mathbf{s}_{ij}(\cdot|t)\end{subarray}}roman_min start_POSTSUBSCRIPT start_ARG start_ROW start_CELL bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( ⋅ | italic_t ) , bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( ⋅ | italic_t ) , end_CELL end_ROW start_ROW start_CELL bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( ⋅ | italic_t ) , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( ⋅ | italic_t ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPTi=1MJi(𝐳i,𝐮i)superscriptsubscript𝑖1𝑀superscript𝐽𝑖superscript𝐳𝑖superscript𝐮𝑖\displaystyle{\sum_{i=1}^{M}J^{i}(\mathbf{z}^{i},\mathbf{u}^{i})}∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT , bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT )
subject to(1b),(1c),(1d),italic-(1bitalic-)italic-(1citalic-)italic-(1ditalic-)\displaystyle{\eqref{eq:dynamic_constraint},\eqref{eq:initial_cond},}{\eqref{%eq:state_input_bound},}italic_( italic_) , italic_( italic_) , italic_( italic_) ,
(𝐛i(𝐳i(k|t))𝝀ij(k|t)\displaystyle{\big{(}-\mathbf{b}^{i}(\mathbf{z}^{i}(k|t))^{\top}}\bm{\lambda}_%{ij}(k|t)( - bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t )
𝐛j(𝐳j(k|t))𝝀ji(k|t))dmin,\displaystyle-\mathbf{b}^{j}(\mathbf{z}^{j}(k|t))^{\top}\bm{\lambda}_{ji}(k|t)%\big{)}\geq d_{\text{min}},- bold_b start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) ) ≥ italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT ,(5a)
𝐀i(𝐳i(k|t))𝝀ij(k|t)+𝐬ij(k|t)=0,superscript𝐀𝑖superscriptsuperscript𝐳𝑖conditional𝑘𝑡topsubscript𝝀𝑖𝑗conditional𝑘𝑡subscript𝐬𝑖𝑗conditional𝑘𝑡0\displaystyle\mathbf{A}^{i}(\mathbf{z}^{i}(k|t))^{\top}\bm{\lambda}_{ij}(k|t)%\!+\!\mathbf{s}_{ij}(k|t)\!=\!0,bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) + bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) = 0 ,(5b)
𝐀j(𝐳j(k|t))𝝀ji(k|t)𝐬ij(k|t)=0,superscript𝐀𝑗superscriptsuperscript𝐳𝑗conditional𝑘𝑡topsubscript𝝀𝑗𝑖conditional𝑘𝑡subscript𝐬𝑖𝑗conditional𝑘𝑡0\displaystyle\mathbf{A}^{j}(\mathbf{z}^{j}(k|t))^{\top}\bm{\lambda}_{ji}(k|t)%\!-\!\mathbf{s}_{ij}(k|t)\!=\!0,bold_A start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) - bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) = 0 ,(5c)
𝝀ij(k|t),𝝀ji(k|t)0,𝐬ij(k|t)21,\displaystyle{\bm{\lambda}_{ij}(k|t),\bm{\lambda}_{ji}(k|t)\geq 0,\|{\mathbf{s%}_{ij}(k|t)}\|_{2}\leq 1,}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) , bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) ≥ 0 , ∥ bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ 1 ,
i𝒱,j𝒩i,andk{1,2,..,N},\displaystyle{\forall i}{\in\mathcal{V},\ j\in\mathcal{N}_{i},~{}}{\text{and~{%}}k\in\{1,2,..,N\},}∀ italic_i ∈ caligraphic_V , italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , and italic_k ∈ { 1 , 2 , . . , italic_N } ,

where 𝐀isuperscript𝐀𝑖\mathbf{A}^{i}bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT and 𝐛isuperscript𝐛𝑖\mathbf{b}^{i}bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT are functions of 𝐳i(k|t)superscript𝐳𝑖conditional𝑘𝑡\mathbf{z}^{i}(k|t)bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) and represent the polytopic set of i𝑖iitalic_ith vehicle at step k𝑘kitalic_k predicted at time t𝑡titalic_t. Similarly, 𝐀jsuperscript𝐀𝑗\mathbf{A}^{j}bold_A start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT and 𝐛jsuperscript𝐛𝑗\mathbf{b}^{j}bold_b start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT denote the polytopic set of j𝑗jitalic_jth vehicle which belongs to neighbor set 𝒩isubscript𝒩𝑖\mathcal{N}_{i}caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The dual variables 𝝀ijsubscript𝝀𝑖𝑗\bm{\lambda}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT, 𝝀jisubscript𝝀𝑗𝑖\bm{\lambda}_{ji}bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT and 𝐬ijsubscript𝐬𝑖𝑗\mathbf{s}_{ij}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are coupled through the collision avoidance constraint between vehicle i𝑖iitalic_i and vehicle j𝑗jitalic_j.Note that the dual variable 𝐬ijsubscript𝐬𝑖𝑗\mathbf{s}_{ij}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is equivalent to the variable 𝐬𝐬\mathbf{s}bold_s in (4). The new variable 𝐬ijsubscript𝐬𝑖𝑗\mathbf{s}_{ij}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is introduced in (5) to distinguish for example, 𝐬12subscript𝐬12\mathbf{s}_{12}bold_s start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT from 𝐬13subscript𝐬13\mathbf{s}_{13}bold_s start_POSTSUBSCRIPT 13 end_POSTSUBSCRIPT, but 𝐬12subscript𝐬12\mathbf{s}_{12}bold_s start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT is identical to 𝐬21subscript𝐬21\mathbf{s}_{21}bold_s start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT according to (4). Therefore, the variables 𝐬ijsubscript𝐬𝑖𝑗\mathbf{s}_{ij}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT, 𝐬jisubscript𝐬𝑗𝑖\mathbf{s}_{ji}bold_s start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT and 𝐬𝐬\mathbf{s}bold_s are all identical vectors (𝐬ijsubscript𝐬𝑖𝑗\mathbf{s}_{ij}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = 𝐬jisubscript𝐬𝑗𝑖\mathbf{s}_{ji}bold_s start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT = 𝐬𝐬\mathbf{s}bold_s nabsentsuperscript𝑛\in\mathbb{R}^{n}∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT) with dimension of n𝑛nitalic_n that is the dimension of the space which is 2 for 2D planning.

IV DISTRIBUTED COORDINATION

Problem(5) is a centralized coordination formulation that simultaneously optimizes over all the vehicles’ states 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT and the collision avoidance variables 𝝀ij,𝝀ji,𝐬ijsubscript𝝀𝑖𝑗subscript𝝀𝑗𝑖subscript𝐬𝑖𝑗\bm{\lambda}_{ij},\bm{\lambda}_{ji},\mathbf{s}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT (for all i=1,,M𝑖1𝑀i=1,...,Mitalic_i = 1 , … , italic_M, ji𝑗𝑖j\neq iitalic_j ≠ italic_i), that is, the number of variables to optimize is proportional to the number of vehicles. This is computationally expensive when M𝑀Mitalic_M is large, making the centralized formulation not scalable with the number of vehicles. Our goal is to remove the need for a central coordinator and make the problem scalable with the number of vehicles (allowing the vehicles to coordinate and locally solve smaller sub-problems in parallel).

By looking at the structure of Problem(5), we notice that the collision avoidance constraints (5a)-(5c) create a coupling among the vehicles. In addition, Constraint (5a) creates a nonlinear coupling between the state variables 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT,𝐳jsuperscript𝐳𝑗\mathbf{z}^{j}bold_z start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT and the collision avoidance variables 𝝀ijsubscript𝝀𝑖𝑗\bm{\lambda}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT,𝝀jisubscript𝝀𝑗𝑖\bm{\lambda}_{ji}bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT. To break up these couplings and devise the proposed distributed algorithm, we rely on the dual structure we originally used to formulate Problem(5) and on the ability of MPC to generate predictions. In particular, our idea is to solve Problem(5) by using an alternating optimization scheme, that is, we replace the central coordinator(5) by using two independent optimizations that perform alternating optimization of the dual variables (associated with the collision avoidance constraints) and of primal state variables, respectively, as Algorithm1 details.The idea of alternating has a long history in the optimization literature. In particular, the closest approaches to the one presented here are [25] and [22] which use ADMM for distributed collision avoidance. The core difference between these approaches and ours is that our alternating optimization scheme is based on reformulation of collision avoidance using duality theory and exploiting the dual structure of the problem for decomposition. Also, our approach is based on polytopic representation of the vehicles which facilitates navigation in tight environments by modeling the exact dimensions of the vehicle without over-approximation. However, the previous studies [25] consider the vehicle shape as a simple circle, which is not advantageous where the environment is tight.

In Algorithm1, first, the dual variables over the NMPC horizon are initialized, then the first optimization step (NMPC optimization) optimizes the state variables 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT,𝐳jsuperscript𝐳𝑗\mathbf{z}^{j}bold_z start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT over the horizon while keeping the dual variables 𝝀ijsubscript𝝀𝑖𝑗\bm{\lambda}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT,𝝀ji,𝐬ijsubscript𝝀𝑗𝑖subscript𝐬𝑖𝑗\bm{\lambda}_{ji},\mathbf{s}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT fixed. The second optimization step (Collision Avoidance, CA optimization) optimizes the dual variable while keeping the state variables fixed. We detail these two optimizations below.

IV-A NMPC optimization

At time t𝑡titalic_t, each vehicle i𝑖iitalic_i independently computes its own state 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT trajectory, given the dual variables over the horizon [𝝀ij(1)[\bm{\lambda}_{ij}(1)[ bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( 1 ), \dots, [𝝀ij(N)]delimited-[]subscript𝝀𝑖𝑗𝑁[\bm{\lambda}_{ij}(N)][ bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_N ) ], [𝝀ji(1)[\bm{\lambda}_{ji}(1)[ bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( 1 ), \dots, 𝝀ji(N)]\bm{\lambda}_{ji}(N)]bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_N ) ] and [𝐬ij(1)[\mathbf{s}_{ij}(1)[ bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( 1 ), \dots, 𝐬ij(N)]\mathbf{s}_{ij}(N)]bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_N ) ]. For each vehicle i𝒱,j𝒩iformulae-sequence𝑖𝒱𝑗subscript𝒩𝑖i\in\mathcal{V},\ j\in\mathcal{N}_{i}italic_i ∈ caligraphic_V , italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, the NMPC optimization is given by:

min𝐮i(|t)\displaystyle\min_{\begin{subarray}{c}\mathbf{u}^{i}(\cdot|t)\end{subarray}}roman_min start_POSTSUBSCRIPT start_ARG start_ROW start_CELL bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( ⋅ | italic_t ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPTJi(𝐳i,𝐮i)superscript𝐽𝑖superscript𝐳𝑖superscript𝐮𝑖\displaystyle{J^{i}(\mathbf{z}^{i},\mathbf{u}^{i})}italic_J start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT , bold_u start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT )
subject to(1b),(1c),(1d),italic-(1bitalic-)italic-(1citalic-)italic-(1ditalic-)\displaystyle{\eqref{eq:dynamic_constraint},\eqref{eq:initial_cond},\eqref{eq:%state_input_bound}},italic_( italic_) , italic_( italic_) , italic_( italic_) ,
(𝐛i(𝐳i(k|t))𝝀¯ij(k|t)\displaystyle{\big{(}-\mathbf{b}^{i}(\mathbf{z}^{i}(k|t))^{\top}\bm{\bar{%\lambda}}_{ij}(k|t)}( - bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT overbold_¯ start_ARG bold_italic_λ end_ARG start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t )
𝐛¯j(𝐳¯j(k|t))𝝀¯ji(k|t))dmin,\displaystyle-\mathbf{\bar{b}}^{j}(\mathbf{\bar{z}}^{j}(k|t))^{\top}\bm{\bar{%\lambda}}_{ji}(k|t)\big{)}\geq d_{\text{min}},- over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT overbold_¯ start_ARG bold_italic_λ end_ARG start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) ) ≥ italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT ,(6a)
𝐀i(𝐳i(k|t))𝝀¯ij(k|t)+𝐬¯ij(k|t)=0,superscript𝐀𝑖superscriptsuperscript𝐳𝑖conditional𝑘𝑡topsubscriptbold-¯𝝀𝑖𝑗conditional𝑘𝑡subscript¯𝐬𝑖𝑗conditional𝑘𝑡0\displaystyle\mathbf{A}^{i}(\mathbf{z}^{i}(k|t))^{\top}\bm{\bar{\lambda}}_{ij}%(k|t)+\mathbf{\bar{s}}_{ij}(k|t)=0,bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT overbold_¯ start_ARG bold_italic_λ end_ARG start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) + over¯ start_ARG bold_s end_ARG start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) = 0 ,(6b)
for allk{1,2,..,N},\displaystyle{\text{for all }k\in\{1,2,..,N\}},for all italic_k ∈ { 1 , 2 , . . , italic_N } ,

where the bar notation (¯¯\mathbf{\bar{\cdot}}over¯ start_ARG ⋅ end_ARG) represents constant known values and 𝐀isuperscript𝐀𝑖\mathbf{A}^{i}bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT, 𝐛isuperscript𝐛𝑖\mathbf{b}^{i}bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT are the polytopic representation of the i𝑖iitalic_ith vehicle and are functions of 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT. The optimized trajectory is then shared with the collision avoidance optimization (shifted in time according to step \footnotesize{5}⃝ of Algorithm1 to account for the 1-step delay in the calculation of the collision-avoidance strategies). The last step of the shifted trajectory, denoted as 𝐳ITsubscript𝐳IT\mathbf{z}_{\textrm{IT}}bold_z start_POSTSUBSCRIPT IT end_POSTSUBSCRIPT is interpolated by assuming constant velocity and evolving the dynamics one step forward from the state 𝐳(N)𝐳𝑁\mathbf{z}(N)bold_z ( italic_N ). Problem(6) can be solved in parallel by each vehicle. In this optimization, the collision-avoidance variables 𝝀ij,𝝀ji,𝐬ijsubscript𝝀𝑖𝑗subscript𝝀𝑗𝑖subscript𝐬𝑖𝑗\bm{\lambda}_{ij},\bm{\lambda}_{ji},\mathbf{s}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are considered as known values along the planning horizon.Note that compared to the centralized formulation, the only decision variable to optimize in the NMPC optimization is the i𝑖iitalic_ith vehicle state 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT (i.e., the number of decision variables in the local problem formulations is constant).

IV-B Collision Avoidance (CA) optimization

Each vehicle pair of i,j𝒩,ijformulae-sequence𝑖𝑗𝒩𝑖𝑗i,j\in\mathcal{N},\ i\neq jitalic_i , italic_j ∈ caligraphic_N , italic_i ≠ italic_j, computes the collision avoidance variables 𝝀ij,𝝀ji,𝐬ijsubscript𝝀𝑖𝑗subscript𝝀𝑗𝑖subscript𝐬𝑖𝑗\bm{\lambda}_{ij},\bm{\lambda}_{ji},\mathbf{s}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT. The CA optimization is given by

max𝝀ij(|t),𝝀ji(|t),𝐬𝐢𝐣(|t)\displaystyle\max_{\begin{subarray}{c}\bm{\lambda}_{ij}(\cdot|t),\\\bm{\lambda}_{ji}(\cdot|t),\\\mathbf{s_{ij}}(\cdot|t)\end{subarray}}roman_max start_POSTSUBSCRIPT start_ARG start_ROW start_CELL bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( ⋅ | italic_t ) , end_CELL end_ROW start_ROW start_CELL bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( ⋅ | italic_t ) , end_CELL end_ROW start_ROW start_CELL bold_s start_POSTSUBSCRIPT bold_ij end_POSTSUBSCRIPT ( ⋅ | italic_t ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPT𝐛¯i(𝐳¯i(k|t))𝝀ij(k|t)𝐛¯j(𝐳¯j(k|t))𝝀ji(k|t)superscript¯𝐛𝑖superscriptsuperscript¯𝐳𝑖conditional𝑘𝑡topsubscript𝝀𝑖𝑗conditional𝑘𝑡superscript¯𝐛𝑗superscriptsuperscript¯𝐳𝑗conditional𝑘𝑡topsubscript𝝀𝑗𝑖conditional𝑘𝑡\displaystyle\!\!\!\!\!\!\!\!\!-\!{\mathbf{\bar{b}}^{i}\!(\mathbf{\bar{z}}^{i}%(k|t))^{\top}\!\bm{\lambda}_{ij}(k|t)\!-\!\mathbf{\bar{b}}^{j}\!(\mathbf{\bar{%z}}^{j}(k|t))^{\top}\!\bm{\lambda}_{ji}(k|t)}- over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) - over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t )
subject to𝐀¯i(𝐳¯i(k|t))𝝀ij(k|t)+𝐬ij(k|t)=0,superscript¯𝐀𝑖superscriptsuperscript¯𝐳𝑖conditional𝑘𝑡topsubscript𝝀𝑖𝑗conditional𝑘𝑡subscript𝐬𝑖𝑗conditional𝑘𝑡0\displaystyle\mathbf{\bar{A}}^{i}(\mathbf{\bar{z}}^{i}(k|t))^{\top}\bm{\lambda%}_{ij}(k|t)+\mathbf{s}_{ij}(k|t)=0,over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) + bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) = 0 ,(7a)
𝐀¯j(𝐳¯j(k|t))𝝀ji(k|t)𝐬ij(k|t)=0,superscript¯𝐀𝑗superscriptsuperscript¯𝐳𝑗conditional𝑘𝑡topsubscript𝝀𝑗𝑖conditional𝑘𝑡subscript𝐬𝑖𝑗conditional𝑘𝑡0\displaystyle\mathbf{\bar{A}}^{j}(\mathbf{\bar{z}}^{j}(k|t))^{\top}\bm{\lambda%}_{ji}(k|t)-\mathbf{s}_{ij}(k|t)=0,over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) - bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) = 0 ,(7b)
(𝐛¯i(𝐳¯i(k|t))𝝀ij(k|t)\displaystyle{\big{(}-\mathbf{\bar{b}}^{i}(\mathbf{\bar{z}}^{i}(k|t))^{\top}%\bm{\lambda}_{ij}(k|t)}( - over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t )
𝐛¯j(𝐳¯j(k|t))𝝀ji(k|t))dmin,\displaystyle{-\mathbf{\bar{b}}^{j}(\mathbf{\bar{z}}^{j}(k|t))^{\top}\bm{%\lambda}_{ji}(k|t)\big{)}\geq d_{\text{min}},}- over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( italic_k | italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) ) ≥ italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT ,
𝐬ij(k|t)21,\displaystyle\|{\mathbf{s}_{ij}(k|t)}\|_{2}\leq 1,∥ bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ 1 ,(7c)
𝝀ji(k|t)0,𝝀ij(k|t)0,formulae-sequencesubscript𝝀𝑗𝑖conditional𝑘𝑡0subscript𝝀𝑖𝑗conditional𝑘𝑡0\displaystyle{-\bm{\lambda}_{ji}(k|t)\!\leq\!0,-\bm{\lambda}_{ij}(k|t)\leq 0,}- bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_k | italic_t ) ≤ 0 , - bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_k | italic_t ) ≤ 0 ,
for allk{1,2,..,N}.\displaystyle{\text{for all }k\in\{1,2,..,N\}.}for all italic_k ∈ { 1 , 2 , . . , italic_N } .

Each vehicle solves Problem (7) in parallel. This optimization assumes the state trajectories of the vehicles 𝐳isuperscript𝐳𝑖\mathbf{z}^{i}bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT to be fixed (obtained by the NMPC optimization and from the neighboring vehicles according to step \footnotesize{7}⃝ of Algorithm1). This problem can be solved efficiently.Note that the decision variables of this optimization are dual variables that are shared between a pair of vehicles. However, each vehicle solves this problem for itself independently. A pair of vehicles i𝑖iitalic_i and j𝑗jitalic_j solve the same problem and find the same solutions for shared dual variables 𝝀ij,𝝀ijsubscript𝝀𝑖𝑗subscript𝝀𝑖𝑗\bm{\lambda}_{ij},\bm{\lambda}_{ij}bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and 𝐬𝐢𝐣subscript𝐬𝐢𝐣\mathbf{s_{ij}}bold_s start_POSTSUBSCRIPT bold_ij end_POSTSUBSCRIPT, so the approach is fully distributed, which means each individual vehicle solves its own planning problem independently.

Algorithm 1 is an alternating optimization scheme with the NMPC optimization (6) and the CA optimization (7). On one hand, this alternating optimization scheme allows us to improve the computation time of the coordination strategy. On the other hand, due to this optimization scheme, the distributed NMPC (6) returns less tight trajectories (larger margins in the coordination) compared to the centralized NMPC (5). Solving CA optimization and substituting its solution in the NMPC optimization further restricts the constraints (6a)-(6b), since the dual variables are kept fixed (i.e., the NMPC optimizer has less degree of freedom in the computation of the local trajectories). In contrast, in the centralized NMPC (5), the equivalent constraints (5a)-(5c) can be interpreted as the relaxed version of the constraints (6a)-(6b) since the dual variables are decision variables of the centralized problem.

1:This algorithm alternates between two optimizations, NMPC Optimization (6) and Collision Avoidance Optimization (7).

2:Initialize [𝐬ij(1),,𝐬ij(N)],subscript𝐬𝑖𝑗1subscript𝐬𝑖𝑗𝑁[\mathbf{s}_{ij}(1),...,\!\mathbf{s}_{ij}(N)],[ bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( 1 ) , … , bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_N ) ] , [𝝀ij(1),,𝝀ij(N)],subscript𝝀𝑖𝑗1subscript𝝀𝑖𝑗𝑁[\bm{\lambda}_{ij}(1),...,\bm{\lambda}_{ij}(N)],[ bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( 1 ) , … , bold_italic_λ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_N ) ] , [𝝀ji(1),,𝝀ji(N)]subscript𝝀𝑗𝑖1subscript𝝀𝑗𝑖𝑁[\bm{\lambda}_{ji}(1),...,\bm{\lambda}_{ji}(N)][ bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( 1 ) , … , bold_italic_λ start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ( italic_N ) ], i,j𝒩for-all𝑖𝑗𝒩\forall i,j\in\mathcal{N}∀ italic_i , italic_j ∈ caligraphic_N and ij.𝑖𝑗i\neq j.italic_i ≠ italic_j .

3:for t=0,1,,𝑡01t=0,1,...,\inftyitalic_t = 0 , 1 , … , ∞do

4:for allvehicle i𝑖iitalic_i, i𝒱𝑖𝒱i\in\mathcal{V}italic_i ∈ caligraphic_Vdo in parallel

5:Solve Problem(6)

6:Compute the shifted state and interpolate the last state   [𝐳i(2),,𝐳i(N),𝐳ITi]superscript𝐳𝑖2superscript𝐳𝑖𝑁subscriptsuperscript𝐳𝑖IT[\mathbf{z}^{i}(2),...,\mathbf{z}^{i}(N),\mathbf{z}^{i}_{\textrm{IT}}][ bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 2 ) , … , bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_N ) , bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT IT end_POSTSUBSCRIPT ].

7:Compute the associated polytopic sets: [𝐀i(2),,[\mathbf{A}^{i}(2),...,[ bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 2 ) , … , zzzzzzz𝐀i(N),superscript𝐀𝑖𝑁\mathbf{A}^{i}(N),bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_N ) , 𝐀ITi]\mathbf{A}^{i}_{\textrm{IT}}]bold_A start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT IT end_POSTSUBSCRIPT ], [𝐛i(2),[\mathbf{b}^{i}(2),[ bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 2 ) ,…, 𝐛i(N),superscript𝐛𝑖𝑁\mathbf{b}^{i}(N),bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_N ) , 𝐛ITi].\mathbf{b}^{i}_{\textrm{IT}}].bold_b start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT IT end_POSTSUBSCRIPT ] .

8:Communicate to vehicle j𝑗jitalic_j (j𝒩ifor-all𝑗subscript𝒩𝑖\forall j\in\mathcal{N}_{i}∀ italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT) the polytopic sets.

9:Solve Problem (7) for each j𝒩i𝑗subscript𝒩𝑖j\in\mathcal{N}_{i}italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT

10:Apply 𝐮MPCisuperscriptsubscript𝐮MPC𝑖\mathbf{u}_{\text{MPC}}^{i}bold_u start_POSTSUBSCRIPT MPC end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT to move forward.

11:endfor

12:endfor

IV-C Geometric Interpretation of Primal and Dual Variables

The dual variables have an interesting geometric interpretation. All these geometric meanings are obtained from the Karush–Kuhn–Tucker (KKT) conditions for problem (2) (more details can be found in [30]). Since the primal problem is a convex function, the KKT condition is necessary and sufficient for the points to be primal and dual optimal.The derivation of the KKT conditions upon which the geometric interpretations are obtained are provided in the Appendix.As seen in Fig.2, the top plots show the geometric representation of the primal formulation (2) in which the optimal solutions are 𝐱superscript𝐱\mathbf{x}^{*}bold_x start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and 𝐲superscript𝐲\mathbf{y}^{*}bold_y start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and the distance is defined as the classical Euclidean distance 𝐱𝐲2subscriptnormsuperscript𝐱superscript𝐲2\|\mathbf{x}^{*}-\mathbf{y}^{*}\|_{2}∥ bold_x start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - bold_y start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT between the two sets. The bottom plots show the equivalent dual formulation (4) in which the optimal solutions are 𝐬superscript𝐬\mathbf{s}^{*}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, 𝝀12superscriptsubscript𝝀12\bm{\lambda}_{12}^{*}bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and 𝝀21superscriptsubscript𝝀21\bm{\lambda}_{21}^{*}bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and the same distance between the two polytopic sets is defined as 𝐛1𝝀12𝐛2𝝀21superscriptsubscript𝐛1topsuperscriptsubscript𝝀12superscriptsubscript𝐛2topsuperscriptsubscript𝝀21-{\mathbf{b}_{1}}^{\top}\bm{\lambda}_{12}^{*}-{\mathbf{b}_{2}}^{\top}\bm{%\lambda}_{21}^{*}- bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. As Fig.2(e) depicts, separating the hyperplane between the two polytopic sets is always perpendicular to the minimum distance. Therefore 𝐬superscript𝐬\mathbf{s}^{*}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, which is the normal vector of a separating hyperplane, is always parallel to the minimum distance. The normal vector 𝐬superscript𝐬\mathbf{s}^{*}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT plays the role of the consensus variable between the vehicles. As discussed earlier, the vector 𝐬superscript𝐬\mathbf{s}^{*}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is shared between each pair of vehicles according to (4), so 𝐬ij=𝐬jisubscript𝐬𝑖𝑗subscript𝐬𝑗𝑖\mathbf{s}_{ij}=\mathbf{s}_{ji}bold_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = bold_s start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT. Furthermore, in Fig.2(f), the green lines show two supporting hyperplanes which are parallel to the separating hyperplane. The hyperplane 𝐬𝐱=𝐛1𝝀12superscript𝐬superscript𝐱topsuperscriptsubscript𝐛1topsubscriptsuperscript𝝀12\mathbf{s}^{*}{{}^{\top}}\mathbf{x}=-\mathbf{b}_{1}^{\top}\bm{\lambda}^{*}_{12}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT bold_x = - bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT supports the set 𝐱𝐱\mathbf{x}bold_x or (𝒫1)subscript𝒫1(\mathcal{P}_{1})( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) at the point 𝐱superscript𝐱\mathbf{x}^{*}bold_x start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. Similarly the hyperplane 𝐬𝐲=𝐛2𝝀21superscript𝐬superscript𝐲topsuperscriptsubscript𝐛2topsubscriptsuperscript𝝀21\mathbf{s}^{*}{{}^{\top}}\mathbf{y}=\mathbf{b}_{2}^{\top}\bm{\lambda}^{*}_{21}bold_s start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT bold_y = bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT supports the set 𝐲𝐲\mathbf{y}bold_y or (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) at the point 𝐲superscript𝐲\mathbf{y}^{*}bold_y start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. The primal (2) and dual (4) problems are convex and Slater’s condition is satisfied, so the strong duality holds [31]. Therefore, finding the shortest distance between two polytopic sets (primal problem (2)) is equivalent to finding the maximal separation, which is the maximum distance between a pair of parallel hyperplanes that supports the two sets (dual problem (4)) as shown in Fig.2(f).

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (2)

V NUMERICAL RESULTS FOR AUTONOMOUS DRIVING APPLICATION

In this section, we conduct a comparative analysis of the performance between centralized and distributed approaches, evaluating their computation efficiency, scalability, and capability for tight maneuvering. Our focus lies in the context of multi-lane tight platooning, wherein vehicles from different lanes merge to achieve a desired configuration. The viability of a cooperative lane merging scenario is assumed to be assessed by a high-level Traffic Operation System (TOS). The TOS monitors and predicts surrounding traffic, offering cooperative vehicles a desired platoon configuration or formation pattern. It’s important to note that the design of the TOS decision-making system is beyond the scope of our work. Our emphasis is on motion planning for multiple vehicles, assuming that the surrounding traffic permits the formation or reconfiguration of the platoon. By concentrating on these aspects, we aim to shed light on the comparative strengths and limitations of centralized and distributed approaches in the specific context of multi-lane tight platooning.

In SectionV-A the assumptions are provided. Then SectionV-B describes the simulation setup. SectionV-C presents a platoon formation scenario. This Section includes NMPC quantities, high-level reference generator, vehicle polytopic shapes, numerical results, and performance evaluations and discussion.

V-A Assumptions

In this work, the following assumptions have been made:

  • (A1)

    The vehicles are fully autonomous and connected through vehicle-to-vehicle (V2V) and vehicle-to-cloud (V2C) communications.

  • (A2)

    The desired platoon configuration 𝒞fsubscript𝒞𝑓\mathcal{C}_{f}caligraphic_C start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT is available from a higher-level traffic operation system (TOS). The vehicles communicate with TOS via V2C communication to determine if based on the current surrounding traffic a platoon formation is possible to not.

  • (A3)

    Uncertainty due to communication delay or model mismatch is not considered.

V-B Simulation Setup

We tested our design on a quad-core CPU Intel Core i7-7700HQ @ 2.80 GHz in MATLAB using the MATLAB Parallel Computing Toolbox to simulate the individual vehicles and communication exchanges among the vehicles. We modeled the optimization problems in YALMIP[32]. We solved Problems(5),(6) using IPOPT[33], a state-of-the-art interior-point solver for non-convex optimization, and we solved Problem(7) using Gurobi[34], an efficient QP problem.For all the scenarios the simulation results are presented as top-view snapshots, as well as a series of state and action plots. The vehicle colors of the snapshots and plots are matched.

V-C Platoon Formation

In this scenario, autonomous and connected vehicles merge into a platoon (train-like formation) and maintain a close inter-vehicular distance within the group. In platooning on public roads, both road geometry (lane width) and platoon geometry (longitudinal and lateral inter-vehicle spacing) restrict the motion of the vehicles within the platoon. Hence, the vehicles must coordinate in a tight environment. To allow navigation in tight spaces, it is essential to model the road structure and the vehicle dimensions, including length hhitalic_h and width w𝑤witalic_w, as exact sizes with no approximation or enlargement.

V-C1 Relevant NMPC Quantities

We model each vehicle i𝑖iitalic_i within the platoon by using a nonlinear kinematic bicycle model (a common modeling approach in path planning) described by the following equations[35].(we omit the superscript i𝑖iitalic_i when it is clear from the context):

x˙˙𝑥\displaystyle\dot{x}over˙ start_ARG italic_x end_ARG=vcos(ψ+β),y˙=vsin(ψ+β),formulae-sequenceabsent𝑣𝜓𝛽˙𝑦𝑣𝜓𝛽\displaystyle=v\cos(\psi+\beta),\ \dot{y}=v\sin(\psi+\beta),= italic_v roman_cos ( italic_ψ + italic_β ) , over˙ start_ARG italic_y end_ARG = italic_v roman_sin ( italic_ψ + italic_β ) ,(8)
ψ˙˙𝜓\displaystyle\dot{\psi}over˙ start_ARG italic_ψ end_ARG=vcosβlf+lr(tanδ),v˙=a,formulae-sequenceabsent𝑣𝛽subscript𝑙𝑓subscript𝑙𝑟𝛿˙𝑣𝑎\displaystyle=\frac{v\cos\beta}{l_{f}+l_{r}}(\tan\delta),\ \dot{v}=a,= divide start_ARG italic_v roman_cos italic_β end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG ( roman_tan italic_δ ) , over˙ start_ARG italic_v end_ARG = italic_a ,

where the i𝑖iitalic_ith vehicle state vector is 𝐳=[x,y,ψ,v]𝐳superscript𝑥𝑦𝜓𝑣top\mathbf{z}=[x,y,\psi,v]^{\top}bold_z = [ italic_x , italic_y , italic_ψ , italic_v ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT (x𝑥xitalic_x, y𝑦yitalic_y, ψ𝜓\psiitalic_ψ, and v𝑣vitalic_v are the longitudinal position, the lateral position, the heading angle, and the velocity, respectively), the control input vector is 𝐮=[a,δ]𝐮superscript𝑎𝛿top\mathbf{u}=[a,\delta]^{\top}bold_u = [ italic_a , italic_δ ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT (a𝑎aitalic_a and δ𝛿\deltaitalic_δ are the acceleration and the steering angle, respectively), β:=arctan(tanδ(lrlf+lr))assign𝛽𝛿subscript𝑙𝑟subscript𝑙𝑓subscript𝑙𝑟\beta:=\arctan\big{(}\tan\delta(\frac{l_{r}}{l_{f}+l_{r}})\big{)}italic_β := roman_arctan ( roman_tan italic_δ ( divide start_ARG italic_l start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG ) ) is the side slip angle, and lfsubscript𝑙𝑓l_{f}italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT, lrsubscript𝑙𝑟l_{r}italic_l start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT are the distance from the center of gravity to the front and rear axles, respectively. Using Euler discretization, the model (8) is discretized with sampling time ΔtΔ𝑡\Delta troman_Δ italic_t as

x(t+1)𝑥𝑡1\displaystyle x(t+1)italic_x ( italic_t + 1 )=x(t)+Δtv(t)cos(ψ(t)+β(t)),absent𝑥𝑡Δ𝑡𝑣𝑡𝜓𝑡𝛽𝑡\displaystyle=x(t)+\Delta t\ v(t)\cos(\psi(t)+\beta(t)),= italic_x ( italic_t ) + roman_Δ italic_t italic_v ( italic_t ) roman_cos ( italic_ψ ( italic_t ) + italic_β ( italic_t ) ) ,(9)
y(t+1)𝑦𝑡1\displaystyle y(t+1)italic_y ( italic_t + 1 )=y(t)+Δtv(t)sin(ψ(t)+β(t)),absent𝑦𝑡Δ𝑡𝑣𝑡𝜓𝑡𝛽𝑡\displaystyle=y(t)+\Delta t\ v(t)\sin(\psi(t)+\beta(t)),= italic_y ( italic_t ) + roman_Δ italic_t italic_v ( italic_t ) roman_sin ( italic_ψ ( italic_t ) + italic_β ( italic_t ) ) ,
ψ(t+1)𝜓𝑡1\displaystyle\psi(t+1)italic_ψ ( italic_t + 1 )=ψ(t)+Δtv(t)cosβ(t)lf+lr(tanδ(t)),absent𝜓𝑡Δ𝑡𝑣𝑡𝛽𝑡subscript𝑙𝑓subscript𝑙𝑟𝛿𝑡\displaystyle=\psi(t)+\Delta t\ \frac{v(t)\cos\beta(t)}{l_{f}+l_{r}}(\tan%\delta(t)),= italic_ψ ( italic_t ) + roman_Δ italic_t divide start_ARG italic_v ( italic_t ) roman_cos italic_β ( italic_t ) end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG ( roman_tan italic_δ ( italic_t ) ) ,
v(t+1)𝑣𝑡1\displaystyle v(t+1)italic_v ( italic_t + 1 )=v(t)+Δta(t).absent𝑣𝑡Δ𝑡𝑎𝑡\displaystyle=v(t)+\Delta t\ a(t).= italic_v ( italic_t ) + roman_Δ italic_t italic_a ( italic_t ) .

The local costs are defined as

J(𝐳,𝐮)𝐽𝐳𝐮\displaystyle J(\mathbf{z},\mathbf{u})italic_J ( bold_z , bold_u )=k=tt+N(𝐳(k|t)𝐳Ref(k|t))Q𝐳2\displaystyle=\sum_{k=t}^{t+N}\|(\mathbf{z}(k|t)-\mathbf{z}_{\textrm{Ref}}(k|t%))\|^{2}_{Q_{\mathbf{z}}}= ∑ start_POSTSUBSCRIPT italic_k = italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + italic_N end_POSTSUPERSCRIPT ∥ ( bold_z ( italic_k | italic_t ) - bold_z start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_k | italic_t ) ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_Q start_POSTSUBSCRIPT bold_z end_POSTSUBSCRIPT end_POSTSUBSCRIPT(10)
+k=tt+N1((𝐮(k|t))||Q𝐮2+(Δ𝐮(k|t))Q𝚫𝒖2),\displaystyle+\sum_{k=t}^{t+N-1}(\|(\mathbf{u}(k|t))||^{2}_{Q_{\mathbf{u}}}+\|%(\Delta\mathbf{u}(k|t))\|^{2}_{Q_{\bm{\Delta u}}}),+ ∑ start_POSTSUBSCRIPT italic_k = italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + italic_N - 1 end_POSTSUPERSCRIPT ( ∥ ( bold_u ( italic_k | italic_t ) ) | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_Q start_POSTSUBSCRIPT bold_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT + ∥ ( roman_Δ bold_u ( italic_k | italic_t ) ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_Q start_POSTSUBSCRIPT bold_Δ bold_italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) ,

where Δ𝐮Δ𝐮\Delta\mathbf{u}roman_Δ bold_u penalizes changes in the input rate.Q𝐳0succeeds-or-equalssubscript𝑄𝐳0Q_{\mathbf{z}}\succeq 0italic_Q start_POSTSUBSCRIPT bold_z end_POSTSUBSCRIPT ⪰ 0, Q,𝐮Q𝚫𝒖0Q{{}_{\mathbf{u}}},Q_{\bm{\Delta u}}\succ 0italic_Q start_FLOATSUBSCRIPT bold_u end_FLOATSUBSCRIPT , italic_Q start_POSTSUBSCRIPT bold_Δ bold_italic_u end_POSTSUBSCRIPT ≻ 0 are weighting matrices, 𝐳Refsubscript𝐳Ref\mathbf{z}_{\textrm{Ref}}bold_z start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT is the reference trajectory generated by a high-level planner. Note that this reference trajectory is not collision-free.

V-C2 Reference Generator Model

To generate the reference trajectories for each vehicle, a simple integrator function is defined. The function g:3T,:𝑔superscript3superscript𝑇g:\mathbb{R}^{3}\to\mathbb{R}^{T},italic_g : blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT , is defined as

g:(x(0),vsp,T)xRef=[x(0),x(1),,x(T)],:𝑔𝑥0subscript𝑣sp𝑇subscript𝑥Ref𝑥0𝑥1𝑥𝑇g:(x(0),v_{\text{sp}},T)\to x_{\text{Ref}}=[x(0),x(1),...,x(T)],italic_g : ( italic_x ( 0 ) , italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT , italic_T ) → italic_x start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT = [ italic_x ( 0 ) , italic_x ( 1 ) , … , italic_x ( italic_T ) ] ,(11)

which determines xRefsubscript𝑥Refx_{\text{Ref}}italic_x start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT for all the vehicles within the platoon. The trajectory is obtained by x(t+1)=x(t)+vspΔt,t{0,1,,T}formulae-sequence𝑥𝑡1𝑥𝑡subscript𝑣spΔ𝑡for-all𝑡01𝑇x(t+1)=x(t)+v_{\text{sp}}\Delta t,\quad\forall{t}\in\{0,1,...,T\}italic_x ( italic_t + 1 ) = italic_x ( italic_t ) + italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT roman_Δ italic_t , ∀ italic_t ∈ { 0 , 1 , … , italic_T }, where x(t)𝑥𝑡x(t)italic_x ( italic_t ) is the vehicle longitudinal position at time t𝑡titalic_t, vspsubscript𝑣spv_{\text{sp}}italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT is the maximum speed limit of the road, T𝑇Titalic_T is the final time of simulation and ΔtΔ𝑡\Delta troman_Δ italic_t is the simulation sampling time.

V-C3 High-Level Reference Generation

The reference state for i𝑖iitalic_i-th vehicle is denoted as 𝐳Refi=[xRefi,yRefi,ψRefi,vRefi]subscriptsuperscript𝐳𝑖Refsubscriptsuperscript𝑥𝑖Refsubscriptsuperscript𝑦𝑖Refsubscriptsuperscript𝜓𝑖Refsubscriptsuperscript𝑣𝑖Ref\mathbf{z}^{i}_{\text{Ref}}=[x^{i}_{\text{Ref}},y^{i}_{\text{Ref}},\psi^{i}_{%\text{Ref}},v^{i}_{\text{Ref}}]bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT = [ italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT , italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT , italic_ψ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT , italic_v start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ]. The reference state trajectory, denoted as 𝝉𝐳Refisubscriptsuperscript𝝉𝑖subscript𝐳Ref\bm{\tau}^{i}_{\mathbf{z}_{\text{Ref}}}bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_z start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT, is defined for the interval [0,1,2,,T]012𝑇[0,1,2,\ldots,T][ 0 , 1 , 2 , … , italic_T ], from the initial time 00 until the final maneuver time T𝑇Titalic_T and 𝝉𝐳Refisubscriptsuperscript𝝉𝑖subscript𝐳Ref\bm{\tau}^{i}_{\mathbf{z}_{\text{Ref}}}bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_z start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT = {𝐳Refi(0),𝐳Refi(1),𝐳Refi(2),,𝐳Refi(T)}subscriptsuperscript𝐳𝑖Ref0subscriptsuperscript𝐳𝑖Ref1subscriptsuperscript𝐳𝑖Ref2subscriptsuperscript𝐳𝑖Ref𝑇\{\mathbf{z}^{i}_{\text{Ref}}(0),\mathbf{z}^{i}_{\text{Ref}}(1),\mathbf{z}^{i}%_{\text{Ref}}(2),\ldots,\mathbf{z}^{i}_{\text{Ref}}(T)\}{ bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 0 ) , bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 1 ) , bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 2 ) , … , bold_z start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_T ) }. It is computed based on the initial position of the vehicles (x(0),y(0))ii𝒱superscript𝑥0𝑦0𝑖for-all𝑖𝒱(x(0),y(0))^{i}\quad\forall{i}\in\mathcal{V}( italic_x ( 0 ) , italic_y ( 0 ) ) start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ∀ italic_i ∈ caligraphic_V and final desired configurations of the platoon 𝒞fsubscript𝒞𝑓\mathcal{C}_{f}caligraphic_C start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. The longitudinal position reference trajectory 𝝉xRefisubscriptsuperscript𝝉𝑖subscript𝑥Ref\bm{\tau}^{i}_{x_{\text{Ref}}}bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT = {xRefi(0),,xRefi(T)}subscriptsuperscript𝑥𝑖Ref0subscriptsuperscript𝑥𝑖Ref𝑇\{x^{i}_{\text{Ref}}(0),\ldots,x^{i}_{\text{Ref}}(T)\}{ italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 0 ) , … , italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_T ) } is generated using the integrator model (11),

𝝉xRefi=g(xi(0),vsp,T).subscriptsuperscript𝝉𝑖subscript𝑥Ref𝑔superscript𝑥𝑖0subscript𝑣sp𝑇\bm{\tau}^{i}_{x_{\text{Ref}}}=g(x^{i}(0),v_{\text{sp}},T).bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_g ( italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 0 ) , italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT , italic_T ) .(12)

The lateral position reference trajectory 𝝉yRefisubscriptsuperscript𝝉𝑖subscript𝑦Ref\bm{\tau}^{i}_{y_{\text{Ref}}}bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT is the y𝑦yitalic_y coordinate of the road centerline for each vehicle. For the first portion of simulation (0,,ρT)0𝜌𝑇(0,\ldots,\rho T)( 0 , … , italic_ρ italic_T ), yRefisubscriptsuperscript𝑦𝑖Refy^{i}_{\text{Ref}}italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT is obtained from initial position (x(0),y(0))ii𝒱superscript𝑥0𝑦0𝑖for-all𝑖𝒱(x(0),y(0))^{i}\,\forall{i}\,\in\,\mathcal{V}( italic_x ( 0 ) , italic_y ( 0 ) ) start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ∀ italic_i ∈ caligraphic_V and the rest ((ρT+1),,T)𝜌𝑇1𝑇((\rho T+1),\ldots,T)( ( italic_ρ italic_T + 1 ) , … , italic_T ) is determined by final desired configuration (xi(T),yi(T))i𝒱,superscript𝑥𝑖𝑇superscript𝑦𝑖𝑇for-all𝑖𝒱(x^{i}(T),y^{i}(T))\,\forall{i}\,\in\,\mathcal{V},( italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_T ) , italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_T ) ) ∀ italic_i ∈ caligraphic_V ,

{yRefi(0),,yRefi(ρT)}=yi(0),subscriptsuperscript𝑦𝑖Ref0subscriptsuperscript𝑦𝑖Ref𝜌𝑇superscript𝑦𝑖0\{y^{i}_{\text{Ref}}(0),\ldots,y^{i}_{\text{Ref}}(\rho T)\}=y^{i}(0),{ italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 0 ) , … , italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_ρ italic_T ) } = italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( 0 ) ,(13)
{yRefi(ρT+1),,yRefi(T)}=yi(T),subscriptsuperscript𝑦𝑖Ref𝜌𝑇1subscriptsuperscript𝑦𝑖Ref𝑇superscript𝑦𝑖𝑇\{y^{i}_{\text{Ref}}(\rho T+1),\ldots,y^{i}_{\text{Ref}}(T)\}=y^{i}(T),{ italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_ρ italic_T + 1 ) , … , italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_T ) } = italic_y start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( italic_T ) ,(14)

the parameter ρ(0,1)𝜌01\rho\in(0,1)italic_ρ ∈ ( 0 , 1 )is a tuning parameter, which can be determined by a design engineer.It is the coefficient that affects the start of the lane change. ψRefisubscriptsuperscript𝜓𝑖Ref\psi^{i}_{\text{Ref}}italic_ψ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT is zero

𝝉ψRefi={ψRefi(0),,ψRefi(T)}=0,subscriptsuperscript𝝉𝑖subscript𝜓Refsubscriptsuperscript𝜓𝑖Ref0subscriptsuperscript𝜓𝑖Ref𝑇0\bm{\tau}^{i}_{\psi_{\text{Ref}}}=\{\psi^{i}_{\text{Ref}}(0),\ldots,\psi^{i}_{%\text{Ref}}(T)\}=0,bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_ψ start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT = { italic_ψ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 0 ) , … , italic_ψ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_T ) } = 0 ,(15)

assuming the road remains straight along the maneuver and vRefisubscriptsuperscript𝑣𝑖Refv^{i}_{\text{Ref}}italic_v start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT is set as the maximum speed limit of the road or average traffic flow vspsubscript𝑣spv_{\text{sp}}italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT.

𝝉vRefi={vRefi(0),,vRefi(T)}=vsp.subscriptsuperscript𝝉𝑖subscript𝑣Refsubscriptsuperscript𝑣𝑖Ref0subscriptsuperscript𝑣𝑖Ref𝑇subscript𝑣sp\bm{\tau}^{i}_{v_{\text{Ref}}}=\{v^{i}_{\text{Ref}}(0),\ldots,v^{i}_{\text{Ref%}}(T)\}=v_{\text{sp}}.bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT = { italic_v start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( 0 ) , … , italic_v start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT ( italic_T ) } = italic_v start_POSTSUBSCRIPT sp end_POSTSUBSCRIPT .(16)

The reference trajectory 𝝉𝐳Refisubscriptsuperscript𝝉𝑖subscript𝐳Ref\bm{\tau}^{i}_{\mathbf{z}_{\text{Ref}}}bold_italic_τ start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_z start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT end_POSTSUBSCRIPT for i𝑖iitalic_i-th vehicle is defined using (12), (13), (15) and (16). Note that the generated reference trajectory is a naive initialization that might collide with other vehicles. The low-level planner (the proposed Distributed Algorithm 1) ensures collision avoidance among the vehicles and at the same time satisfies all other types of physical constraints including dynamics, road boundaries, and actuation limits. Fig.3 shows the generated reference trajectories for the reconfiguration scenario example Fig.4(a). The reference trajectories of cyan and green vehicles are not straight lines, since they change their lanes. Note that the parameter ρ𝜌\rhoitalic_ρ determines when the lane change starts. For example, ρ=0.5𝜌0.5\rho=0.5italic_ρ = 0.5 means the lane change is performed in the middle of the total duration of the maneuver.

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (3)

V-C4 Vehicle Shape

The i𝑖iitalic_ith vehicle dimensions are chosen as length h=4.54.5h=4.5italic_h = 4.5m and width w=1.8𝑤1.8w=1.8italic_w = 1.8m. The road width is chosen as 3.73.73.73.7m (i.e., the standard highway-lane width in the United States). The speed is lower bounded by zero. The acceleration of each vehicle is limited to a range of ± 4plus-or-minus4\pm\,4± 4m/s2, and the rate of change of acceleration is bounded within ± 1plus-or-minus1\pm\,1± 1m/s3. The steering input is bounded within ± 0.3plus-or-minus0.3\pm\,0.3± 0.3rad, and its rate change within ±0.2plus-or-minus0.2\pm 0.2± 0.2rad/s.The corresponding road region occupied by the i𝑖iitalic_ith vehicle is defined by a two-dimensional convex polytope 𝒫.𝒫\mathcal{P}.caligraphic_P . For each vehicle, the transformed polytope is defined as 𝒫(𝐳(t))={p2|𝐀(𝐳(t))p𝐛(𝐳(t))},𝒫𝐳𝑡conditional-set𝑝superscript2𝐀𝐳𝑡𝑝𝐛𝐳𝑡\mathcal{P}(\mathbf{z}(t))=\{p\in\mathbb{R}^{2}|\mathbf{A}(\mathbf{z}(t))p\leq%\mathbf{b}(\mathbf{z}(t))\},caligraphic_P ( bold_z ( italic_t ) ) = { italic_p ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT | bold_A ( bold_z ( italic_t ) ) italic_p ≤ bold_b ( bold_z ( italic_t ) ) } , where 𝐀(𝐳(t))𝐀𝐳𝑡\mathbf{A}(\mathbf{z}(t))bold_A ( bold_z ( italic_t ) ) and 𝐛(𝐳(t))𝐛𝐳𝑡\mathbf{b}(\mathbf{z}(t))bold_b ( bold_z ( italic_t ) ) are defined as𝐀(𝐳(t))=[𝐑(𝐳(t))𝐑(𝐳(t))],𝐑(𝐳(t))=[cos(ψ(t))sin(ψ(t))sin(ψ(t))cos(ψ(t))],formulae-sequence𝐀𝐳𝑡matrix𝐑superscript𝐳𝑡top𝐑superscript𝐳𝑡top𝐑𝐳𝑡matrix𝜓𝑡𝜓𝑡𝜓𝑡𝜓𝑡\mathbf{A}(\mathbf{z}(t))=\begin{bmatrix}\mathbf{R}(\mathbf{z}(t))^{\top}\\-\mathbf{R}(\mathbf{z}(t))^{\top}\end{bmatrix},\ \mathbf{R}(\mathbf{z}(t))=%\begin{bmatrix}\cos(\psi(t))&-\sin(\psi(t))\\\sin(\psi(t))&\cos(\psi(t))\end{bmatrix},bold_A ( bold_z ( italic_t ) ) = [ start_ARG start_ROW start_CELL bold_R ( bold_z ( italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL - bold_R ( bold_z ( italic_t ) ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ] , bold_R ( bold_z ( italic_t ) ) = [ start_ARG start_ROW start_CELL roman_cos ( italic_ψ ( italic_t ) ) end_CELL start_CELL - roman_sin ( italic_ψ ( italic_t ) ) end_CELL end_ROW start_ROW start_CELL roman_sin ( italic_ψ ( italic_t ) ) end_CELL start_CELL roman_cos ( italic_ψ ( italic_t ) ) end_CELL end_ROW end_ARG ] , 𝐛(𝐳(t))=[h/2,w/2,h/2,w/2]𝐛𝐳𝑡superscript2𝑤22𝑤2top\mathbf{b}(\mathbf{z}(t))=[h/2,w/2,h/2,w/2]^{\top}bold_b ( bold_z ( italic_t ) ) = [ italic_h / 2 , italic_w / 2 , italic_h / 2 , italic_w / 2 ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT +𝐀(𝐳(t))[x(t),y(t)]𝐀𝐳𝑡superscript𝑥𝑡𝑦𝑡top+\mathbf{A}(\mathbf{z}(t))[x(t),y(t)]^{\top}+ bold_A ( bold_z ( italic_t ) ) [ italic_x ( italic_t ) , italic_y ( italic_t ) ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, where [x(t),y(t)]superscript𝑥𝑡𝑦𝑡top[x(t),y(t)]^{\top}[ italic_x ( italic_t ) , italic_y ( italic_t ) ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT is the center of gravity of the vehicle.

V-C5 Formation Merging Results

In this scenario, as seen in Fig.4(a), the vehicles are initially traveling in three different lanes and need to merge in one lane to form a train-like platoon, while maintaining the safe distance dmin=0.5subscript𝑑𝑚𝑖𝑛0.5d_{min}=0.5italic_d start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT = 0.5m from each other at all times (i.e., during the lane change maneuvers and afterward). We tested the formation scenario for different configurations and initial conditions. Fig.4(b) shows an example with four vehicles. The initial longitudinal coordinates for all the four vehicles are [x1(0),x2(0),x3(0),x4(0)]=[11.5,5.5,0.5,20]superscript𝑥10superscript𝑥20superscript𝑥30superscript𝑥4011.55.50.520[x^{1}(0),x^{2}(0),x^{3}(0),x^{4}(0)]=[11.5,5.5,0.5,20][ italic_x start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( 0 ) , italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 0 ) , italic_x start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ( 0 ) , italic_x start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT ( 0 ) ] = [ 11.5 , 5.5 , 0.5 , 20 ] and the initial lateral coordinates are [y1(0),y2(0),y3(0),y4(0)]=[1.85,5.55,1.85,9.25]superscript𝑦10superscript𝑦20superscript𝑦30superscript𝑦401.855.551.859.25[y^{1}(0),y^{2}(0),y^{3}(0),y^{4}(0)]=[1.85,5.55,1.85,9.25][ italic_y start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( 0 ) , italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 0 ) , italic_y start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ( 0 ) , italic_y start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT ( 0 ) ] = [ 1.85 , 5.55 , 1.85 , 9.25 ]. The planning horizon N𝑁Nitalic_N is 0.750.750.750.75s, the sampling time ΔtΔ𝑡\Delta troman_Δ italic_t is 0.050.050.050.05s, and vRefsubscript𝑣Refv_{\text{Ref}}italic_v start_POSTSUBSCRIPT Ref end_POSTSUBSCRIPT is 15151515m/s. Fig.4(b) represents the vehicles’ states and actions. The longitudinal and lateral coordinates x𝑥xitalic_x and y𝑦yitalic_y, as well as heading angle ψ𝜓\psiitalic_ψ and velocity v𝑣vitalic_v for all the vehicles are shown in different colors which are matched with the colors in Fig.4(a).

The control actions a𝑎aitalic_a and δ𝛿\deltaitalic_δ are also illustrated for all the vehicles. The acceleration and velocity plots highlight the collaborative behavior between the vehicles. In contrast to reactive approaches, such as velocity obstacles, the speed of each vehicle is not assumed constant and varies based on the interactions with the neighbors. For example, as seen in the acceleration plot, the blue vehicle brakes and the magenta vehicle accelerates to make enough gap for other vehicles to merge into the lane. This behavior is obtained by solving the optimization problem and is not enforced explicitly. This collaborative behavior is fundamental to keeping the desired minimum distance and forming the platoon. Ellipsoidal representations of the vehicles would have required a larger minimum distance (to fit each vehicle the axes of each ellipse would have been 6.36m and 2.54m, respectively, leading to a minimum distance, in the longitudinal direction for example, equal to (2(6.364.5)26.364.52(6.36-4.5)2 ( 6.36 - 4.5 )m>dminabsentsubscript𝑑>d_{\min}> italic_d start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT) leading to more conservative behaviors. Similar considerations hold for implementations based on potential fields. A potential field can be always included in the NMPC problem formulation to enforce clearance with respect to the other vehicles, but it would lead to more conservative behaviors (e.g., larger minimum distance between the vehicles) and additional tuning parameters. In Fig.4(a)(a), in addition to snapshots, the separating hyperplanes between pink/green, green/red and red/blue pairs are shown and the normal of these separating hyperplanes are denoted as 𝐬pgsubscript𝐬𝑝𝑔\mathbf{s}_{pg}bold_s start_POSTSUBSCRIPT italic_p italic_g end_POSTSUBSCRIPT, 𝐬grsubscript𝐬𝑔𝑟\mathbf{s}_{gr}bold_s start_POSTSUBSCRIPT italic_g italic_r end_POSTSUBSCRIPT and 𝐬rbsubscript𝐬𝑟𝑏\mathbf{s}_{rb}bold_s start_POSTSUBSCRIPT italic_r italic_b end_POSTSUBSCRIPT, respectively.

V-C6 Performance Evaluation

In this section, we provide various simulation analyses to evaluate the performance of the proposed algorithm. The two performance criteria that we study are computation efficiency and tight maneuvering since there is a trade-off between tight maneuvering and computation efficiency.To evaluate the performance in terms of computation time of Algorithm1, we simulated the formation of two, three, and four vehicles on a highway (varying the initial configuration of the vehicles to test the robustness of the tuning). We compared the average and maximum computation time in seconds for each step along the trajectory with the centralized implementation. Table I shows the results.

Centralized Distributed
NMPCCA
# Avg.Max. Avg.Max.Avg.Max.
2 1.38512.7482 0.14570.36210.00220.0024
0.11020.33130.00210.0022
Total Avg. = 0.1301
3 2.76804.6817 0.18480.39330.00250.0028
0.12060.31690.00240.0026
0.14160.34700.00220.0023
Total Avg. = 0.1514
4 12.833128.7763 0.19190.42110.00300.0024
0.11250.26020.00270.0029
0.18420.34970.00240.0025
0.20410.41950.00250.0023
Total Avg. = 0.1757

While both centralized and distributed approaches ensure safe vehicle coordination, the maximum and average computation time is much higher for the centralized approach compared to the distributed proposed algorithm. For example, the first row of Table I shows a two-vehicle merging scenario. For this case, the average computation time for the centralized approach is 1.3851(sec)1.3851𝑠𝑒𝑐1.3851(sec)1.3851 ( italic_s italic_e italic_c ), while the average computation time for the proposed distributed algorithm is 0.1301(sec)0.1301𝑠𝑒𝑐0.1301(sec)0.1301 ( italic_s italic_e italic_c ). Therefore, even for the simplest case of a two-vehicle cooperative lane merging scenario, the centralized method’s computation time renders it unsuitable for online real-world implementation. However, our proposed distributed algorithm exhibits an average computation time suitable for online implementation. By comparing the rest of the rows reported in Table I, we can see the same behavior in computation time. The results are reported for three-vehicle cooperative merging as well as four-vehicle cooperative merging. Another criterion that can be studied in Table I is scalability. Scalability in the context of centralized/distributed multi-agent schemes refers to the ability of a system to handle an increasing number of agents or participants efficiently without a significant degradation in performance. This criterion can be considered by looking at the columns of Table I. As seen, for the centralized approach by increasing the number of agents from two to three and four, the average computation time increases dramatically, compromising the safety of the approach in real-time applications (i.e., delays in the calculation of the planning strategy can lead to collisions). However, looking at the columns of the distributed algorithm in Table I, the average computation time is not affected significantly by adding more agents, and not only is the proposed distributed algorithm computationally efficient for online applications but also it is scalable to more number of agents. The distributed approach outperforms the centralized design by more than 2 orders of magnitude (when we look at the worst-case scenario with 4 vehicles) and the computation time is reasonable for online implementation.

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (4)
A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (5)

For the same scenario of four-vehicle merging from multiple lanes (shown in Fig.4(a)), Fig.5, the top plot, shows the distance between three pairs of vehicles, which are in close proximity to each other. (The vehicles that are not reported are the ones with larger distances). Distance-gr denotes the distance between green and red vehicles, similarly, Distance-rb is the distance between red and blue vehicles, and Distance-gp represents the distance between green and pick vehicles. The bottom plot shows the solver computation time in seconds during the cooperative lane change maneuver of Fig.4(a). As reported in the plot, the solver computation time increases when the vehicles are closest to each other. Since the solution space shrikes as the cars come closer to each other, the solver requires a longer time to obtain a solution.

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (6)

Although according to Table I, the distributed approach outperforms the centralized approach in terms of computational efficiency and scalability, there is a trade-off between computation efficiency and how tight the maneuver can be. Solving the problem in a distributed way reduces the solution space by fixing the dual variables and solving for primal ones and therefore results in less tight trajectories for vehicles compared to the centralized approach. In Table II the total cost of the entire maneuver is reported for centralized and distributed approaches for two, three, and four numbers of coordinated vehicles. The cost is the summation of the closed-loop costs for the entire maneuver. The cost is calculated based on the cost defined in (10). As seen, the sum of costs for the distributed approach is larger compared to the one for the centralized approach. Although the total cost for the distributed approach is higher compared to the centralized one, still the gaps between vehicles are sufficiently small and the resulting maneuver is tight such that other non-cooperative vehicles in the surrounding traffic cannot merge into these cooperative cars.

Centralized Distributed
# Sum of Costs Sum of Costs
2 0.0443 1.8957
1.6845
Total Avg. = 1.7901
3 0.0985 6.0267
0.0000
5.6856
Total Avg. = 3.9041
4 0.0321 6.8064
0.0000
12.1444
10.3252
Total Avg. = 7.3190

In Fig.6 and Fig.7, the performance of centralized and distributed approaches are compared in terms of the tightness of maneuver. In Fig.6, the performance of centralized and distributed methods are compared based on the distance between the cars during the cooperative multi-lane change maneuver. The top plot shows the distance between pairs of cars. As shown these distances are small and they all satisfy the minimum distance dminsubscript𝑑mind_{\textrm{min}}italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT which is 0.5(m)0.5𝑚0.5(m)0.5 ( italic_m ) in this simulation. In the bottom plot, the pair-wise distances among cars are reported for the distributed algorithm. As seen, these distances also respect the minimum distance dminsubscript𝑑mind_{\textrm{min}}italic_d start_POSTSUBSCRIPT min end_POSTSUBSCRIPT over the entire maneuver, but they are larger compared to the centralized method. The distributed approach cannot achieve maneuvers as tightly as the centralized approach. In Fig.7, the entire maneuver is shown in the XY plane. As seen, the centralized maneuvers (in dashed lines) are tight compared to the maneuvers obtained from the distributed algorithm. This is the limitation or disadvantage of the proposed distributed algorithm that due to the alternation scheme cannot provide as tight maneuvers as the centralized framework. However, the distances provided by the distributed method are still suitable for the tight formation of cooperative cars in online applications.

A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (7)
A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (8)

VI CONCLUSIONS

We proposed a distributed algorithm for multi-vehicle coordination in tight spaces using nonlinear MPC and strong duality theory. We reformulated the collision avoidance constraints in the dual formulation and used dual decomposition to split the large centralized optimization problem into smaller sub-problems.We showed the effectiveness of the algorithm for the coordination of connected and automated vehicles on public roads through platoon merging. Our results show that the distributed algorithm is computationally efficient for online implementation and is scalable to larger networks of vehicles. According to our simulation studies, the distributed approach outperforms the centralized design by more than 2 orders of magnitude. Moreover, the outcomes indicate a trade-off between the level of tightness achievable in a maneuver and the computation time required for optimization. While the distributed approach may result in maneuvers that are not as tight as those in the centralized approach, it still offers proximity maneuvers that are well-suited for online implementation.

As part of future work, we plan to extend this work to 3-dimensional planning, since the proposed method can be used to avoid collisions in 3333-dimensional spaces. We will consider uncertainty due to communication delay, model mismatch, and sensor measurements Also, we plan to test with real hardware (e.g., drones and ground vehicles) and in more complex scenarios (e.g., urban driving). From the algorithm-design perspective, we plan to investigate strategies to deal with real sensor data, communication delays, and random faults.

VII APPENDIX

VII-A KKT Conditions for Geometric Interpretations:

The geometric interpretation of dual variables can be explained by obtaining the Karush-Kuhn-Tucker (KKT) conditions for problem (2).The dual problem expressed in (4)

𝐀1=[𝐚𝟏1𝐚𝟏2𝐚𝟏m1],𝐀2=[𝐚𝟐1𝐚𝟐2𝐚𝟐m2],formulae-sequencesubscript𝐀1matrixsubscriptsubscript𝐚11subscriptsubscript𝐚12subscriptsubscript𝐚1subscript𝑚1subscript𝐀2matrixsubscriptsubscript𝐚21subscriptsubscript𝐚22subscriptsubscript𝐚2subscript𝑚2\displaystyle\mathbf{A}_{1}=\begin{bmatrix}\rule[2.15277pt]{10.76385pt}{0.5pt}%\mathbf{a_{1}}_{1}\rule[2.15277pt]{10.76385pt}{0.5pt}\\\rule[2.15277pt]{10.76385pt}{0.5pt}\mathbf{a_{1}}_{2}\rule[2.15277pt]{10.76385%pt}{0.5pt}\\\vdots\\\rule[2.15277pt]{10.76385pt}{0.5pt}\mathbf{a_{1}}_{m_{1}}\rule[2.15277pt]{10.7%6385pt}{0.5pt}\end{bmatrix},\quad\mathbf{A}_{2}=\begin{bmatrix}\rule[2.15277pt%]{10.76385pt}{0.5pt}\mathbf{a_{2}}_{1}\rule[2.15277pt]{10.76385pt}{0.5pt}\\\rule[2.15277pt]{10.76385pt}{0.5pt}\mathbf{a_{2}}_{2}\rule[2.15277pt]{10.76385%pt}{0.5pt}\\\vdots\\\rule[2.15277pt]{10.76385pt}{0.5pt}\mathbf{a_{2}}_{m_{2}}\rule[2.15277pt]{10.7%6385pt}{0.5pt}\end{bmatrix},bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ⋮ end_CELL end_ROW start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ⋮ end_CELL end_ROW start_ROW start_CELL bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ,(17)
𝐛1=[b11b1m1],𝐛2=[b21b2m2],formulae-sequencesuperscriptsubscript𝐛1topmatrixsubscript𝑏11subscript𝑏1subscript𝑚1superscriptsubscript𝐛2topmatrixsubscript𝑏21subscript𝑏2subscript𝑚2\displaystyle\mathbf{b}_{1}^{\top}=\begin{bmatrix}b_{11}&\ldots&b_{1m_{1}}\end%{bmatrix},\mathbf{b}_{2}^{\top}=\begin{bmatrix}b_{21}&\ldots&b_{2m_{2}}\end{%bmatrix},bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT = [ start_ARG start_ROW start_CELL italic_b start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT end_CELL start_CELL … end_CELL start_CELL italic_b start_POSTSUBSCRIPT 1 italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT = [ start_ARG start_ROW start_CELL italic_b start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT end_CELL start_CELL … end_CELL start_CELL italic_b start_POSTSUBSCRIPT 2 italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ,(18)
𝝀12=[λ121λ122λ12m1],superscriptsubscript𝝀12topmatrixsubscript𝜆121subscript𝜆122subscript𝜆12subscript𝑚1\displaystyle\bm{\lambda}_{12}^{\top}=\begin{bmatrix}\lambda_{121}&\lambda_{12%2}&\ldots&\lambda_{12m_{1}}\end{bmatrix},bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT = [ start_ARG start_ROW start_CELL italic_λ start_POSTSUBSCRIPT 121 end_POSTSUBSCRIPT end_CELL start_CELL italic_λ start_POSTSUBSCRIPT 122 end_POSTSUBSCRIPT end_CELL start_CELL … end_CELL start_CELL italic_λ start_POSTSUBSCRIPT 12 italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ,(19)
𝝀21=[λ211λ212λ21m2].superscriptsubscript𝝀21topmatrixsubscript𝜆211subscript𝜆212subscript𝜆21subscript𝑚2\displaystyle\bm{\lambda}_{21}^{\top}=\begin{bmatrix}\lambda_{211}&\lambda_{21%2}&\ldots&\lambda_{21m_{2}}\end{bmatrix}.bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT = [ start_ARG start_ROW start_CELL italic_λ start_POSTSUBSCRIPT 211 end_POSTSUBSCRIPT end_CELL start_CELL italic_λ start_POSTSUBSCRIPT 212 end_POSTSUBSCRIPT end_CELL start_CELL … end_CELL start_CELL italic_λ start_POSTSUBSCRIPT 21 italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] .(20)

Since the primal problem is a convex function, the KKT condition is necessary and sufficient for the points to be primal and dual optimal. Other than the feasibility of primal and dual problems, there is complementary slackness

λ12n(𝐚𝟏n𝐱b1n)=0,n{1,2,,m1},formulae-sequencesubscript𝜆12𝑛subscriptsubscript𝐚1𝑛𝐱subscript𝑏1𝑛0𝑛12subscript𝑚1\displaystyle\lambda_{12n}(\mathbf{a_{1}}_{n}\mathbf{x}-b_{1n})=0,\quad n\in\{%1,2,\ldots,m_{1}\},italic_λ start_POSTSUBSCRIPT 12 italic_n end_POSTSUBSCRIPT ( bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT bold_x - italic_b start_POSTSUBSCRIPT 1 italic_n end_POSTSUBSCRIPT ) = 0 , italic_n ∈ { 1 , 2 , … , italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } ,(21)
λ21n(𝐚𝟐n𝐲b2n)=0,n{1,2,,m2},formulae-sequencesubscript𝜆21𝑛subscriptsubscript𝐚2𝑛𝐲subscript𝑏2𝑛0𝑛12subscript𝑚2\displaystyle\lambda_{21n}(\mathbf{a_{2}}_{n}\mathbf{y}-b_{2n})=0,\quad n\in\{%1,2,\ldots,m_{2}\},italic_λ start_POSTSUBSCRIPT 21 italic_n end_POSTSUBSCRIPT ( bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT bold_y - italic_b start_POSTSUBSCRIPT 2 italic_n end_POSTSUBSCRIPT ) = 0 , italic_n ∈ { 1 , 2 , … , italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ,(22)

By expanding (21) and (22) we will have

𝐱𝐚𝟏nλ12n=b1nλ12n,n{1,2,,m1},formulae-sequencesuperscript𝐱topsuperscriptsubscriptsubscript𝐚1𝑛topsubscript𝜆12𝑛subscript𝑏1𝑛subscript𝜆12𝑛𝑛12subscript𝑚1\displaystyle\mathbf{x}^{\top}\mathbf{a_{1}}_{n}^{\top}\lambda_{12n}=b_{1n}%\lambda_{12n},\ n\in\{1,2,\ldots,m_{1}\},bold_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_λ start_POSTSUBSCRIPT 12 italic_n end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT 1 italic_n end_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT 12 italic_n end_POSTSUBSCRIPT , italic_n ∈ { 1 , 2 , … , italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } ,(23)
𝐲𝐚𝟐nλ21n=b2nλ21n,n{1,2,,m2}formulae-sequencesuperscript𝐲topsuperscriptsubscriptsubscript𝐚2𝑛topsubscript𝜆21𝑛subscript𝑏2𝑛subscript𝜆21𝑛𝑛12subscript𝑚2\displaystyle\mathbf{y}^{\top}\mathbf{a_{2}}_{n}^{\top}\lambda_{21n}=b_{2n}%\lambda_{21n},\ n\in\{1,2,\ldots,m_{2}\}bold_y start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_λ start_POSTSUBSCRIPT 21 italic_n end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT 2 italic_n end_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT 21 italic_n end_POSTSUBSCRIPT , italic_n ∈ { 1 , 2 , … , italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }(24)

where 𝐚𝟏nsubscriptsubscript𝐚1𝑛\mathbf{a_{1}}_{n}bold_a start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and 𝐚𝟐nsubscriptsubscript𝐚2𝑛\mathbf{a_{2}}_{n}bold_a start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT are row vectors of 𝐀1subscript𝐀1\mathbf{A}_{1}bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝐀2subscript𝐀2\mathbf{A}_{2}bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, respectively. The other KKT condition is the stationarity condition which is based on the primal problem in (2)

𝐀1𝝀12+𝐬=0,superscriptsubscript𝐀1topsubscript𝝀12𝐬0\displaystyle\mathbf{A}_{1}^{\top}\bm{\lambda}_{12}+\mathbf{s}=0,bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT + bold_s = 0 ,(25)
𝐀2𝝀21𝐬=0,superscriptsubscript𝐀2topsubscript𝝀21𝐬0\displaystyle\mathbf{A}_{2}^{\top}\bm{\lambda}_{21}-\mathbf{s}=0,bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT - bold_s = 0 ,(26)
𝐰𝐰𝐬=0.𝐰norm𝐰𝐬0\displaystyle\frac{\mathbf{w}}{\|\mathbf{w}\|}-\mathbf{s}=0.divide start_ARG bold_w end_ARG start_ARG ∥ bold_w ∥ end_ARG - bold_s = 0 .(27)

As seen, (25) and (26) reflect the equality constraints of the dual problem (4). Combining all together, at optimum we have 𝐬𝐱=𝐛1𝝀12>0superscript𝐬top𝐱superscriptsubscript𝐛1topsubscript𝝀120\mathbf{s}^{\top}\mathbf{x}=-\mathbf{b}_{1}^{\top}\bm{\lambda}_{12}>0bold_s start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x = - bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT > 0 and 𝐬𝐲=+𝐛2𝝀21<0superscript𝐬top𝐲superscriptsubscript𝐛2topsubscript𝝀210\mathbf{s}^{\top}\mathbf{y}=+\mathbf{b}_{2}^{\top}\bm{\lambda}_{21}<0bold_s start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_y = + bold_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_λ start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT < 0.

References

  • [1]IHS Markit, “Autonomous Vehicle Sales to Surpass 33 Million Annually in 2040,” 2018.
  • [2]D.J. fa*gnant and K.Kockelman, “Preparing a nation for autonomous vehicles: opportunities, barriers and policy recommendations,” Transportation Research Part A: Policy and Practice, vol.77, pp. 167–181, 2015.
  • [3]Z.Yan, N.Jouandeau, and A.A. Cherif, “A survey and analysis of multi-robot coordination,” International Journal of Advanced Robotic Systems, vol.10, no.12, p. 399, 2013.
  • [4]R.Firoozi, X.Zhang, and F.Borrelli, “Formation and reconfiguration of tight multi-lane platoons,” Control Engineering Practice, vol. 108, p. 104714, 2021.
  • [5]J.K. Hedrick, D.McMahon, V.Narendran, and D.Swaroop, “Longitudinal vehicle controller design for ivhs systems,” in 1991 American Control Conference, June 1991, pp. 3107–3112.
  • [6]S.E. Shladover, C.A. Desoer, J.K. Hedrick, M.Tomizuka, J.Walrand, W.. Zhang, D.H. McMahon, H.Peng, S.Sheikholeslam, and N.McKeown, “Automated vehicle control developments in the path program,” IEEE Transactions on Vehicular Technology, vol.40, no.1, pp. 114–130, Feb 1991.
  • [7]X.Zhang, A.Liniger, and F.Borrelli, “Optimization-based collision avoidance,” IEEE Transactions on Control Systems Technology, pp. 1–12, 2020.
  • [8]F.E. Schneider and D.Wildermuth, “A potential field based approach to multi robot formation navigation,” in IEEE International Conference on Robotics, Intelligent Systems and Signal Processing, vol.1, Oct 2003, pp. 680–685.
  • [9]H.G. Tanner and A.Kumar, “Towards decentralization of multi-robot navigation functions,” in Proc. of the 2005 IEEE International Conference on Robotics and Automation, April 2005, pp. 4132–4137.
  • [10]R.Gayle, W.Moss, M.C. Lin, and D.Manocha, “Multi-robot coordination using generalized social potential fields,” in 2009 IEEE International Conference on Robotics and Automation, May 2009, pp. 106–113.
  • [11]D.Fox, W.Burgard, and S.Thrun, “The dynamic window approach to collision avoidance,” IEEE Robotics & Automation Magazine, vol.4, no.1, pp. 23–33, 1997.
  • [12]P.Fiorini and Z.Shiller, “Motion planning in dynamic environments using velocity obstacles,” The International Journal of Robotics Research, vol.17, no.7, pp. 760–772, 1998.
  • [13]J.Van DenBerg, S.J. Guy, M.Lin, and D.Manocha, “Reciprocal n-body collision avoidance,” in Robotics research.Springer, 2011, pp. 3–19.
  • [14]M.Čáp, P.Novák, A.Kleiner, and M.Seleckỳ, “Prioritized planning algorithms for trajectory coordination of multiple mobile robots,” IEEE transactions on automation science and engineering, vol.12, no.3, pp. 835–849, 2015.
  • [15]L.Bruni, A.Colombo, and D.DelVecchio, “Robust multi-agent collision avoidance through scheduling,” in 52nd IEEE Conference on Decision and Control.IEEE, 2013, pp. 3944–3950.
  • [16]Y.Arai, T.Fujii, H.Asama, H.Kaetsu, and I.Endo, “Collision avoidance in multi-robot systems based on multi-layered reinforcement learning,” Robotics and Autonomous Systems, vol.29, no.1, pp. 21 – 32, 1999.
  • [17]L.Busoniu, R.Babuška, and B.DeSchutter, “A comprehensive survey of multiagent reinforcement learning,” IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), vol.38, no.2, pp. 156–172, 2008.
  • [18]H.Guo and Y.Meng, “Distributed reinforcement learning for coordinate multi-robot foraging,” Journal of Intelligent & Robotic Systems, vol.60, no.3, pp. 531–551, Dec 2010.
  • [19]H.M. La, R.Lim, and W.Sheng, “Multirobot cooperative learning for predator avoidance,” IEEE Transactions on Control Systems Technology, vol.23, no.1, pp. 52–63, Jan 2015.
  • [20]Y.F. Chen, M.Liu, M.Everett, and J.P. How, “Decentralized non-communicating multiagent collision avoidance with deep reinforcement learning,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), May 2017, pp. 285–292.
  • [21]T.Keviczky, F.Borrelli, K.Fregene, D.Godbole, and G.J. Balas, “Decentralized receding horizon control and coordination of autonomous vehicle formations,” IEEE Transactions on Control Systems Technology, vol.16, no.1, pp. 19–33, 2007.
  • [22]R.Van Parys and G.Pipeleers, “Distributed model predictive formation control with inter-vehicle collision avoidance,” in 2017 11th Asian Control Conference (ASCC), Dec 2017, pp. 2399–2404.
  • [23]J.Alonso-Mora, P.Beardsley, and R.Siegwart, “Cooperative collision avoidance for nonholonomic robots,” IEEE Transactions on Robotics, vol.34, no.2, pp. 404–420, 2018.
  • [24]L.Chen, H.Hopman, and R.R. Negenborn, “Distributed model predictive control for vessel train formations of cooperative multi-vessel systems,” Transportation Research Part C: Emerging Technologies, vol.92, pp. 101–118, 2018.
  • [25]F.Rey, Z.Pan, A.Hauswirth, and J.Lygeros, “Fully decentralized ADMM for coordination and collision avoidance,” in 2018 European Control Conference (ECC), 2018, pp. 825–830.
  • [26]L.Ferranti, L.Lyons, R.R. Negenborn, T.Keviczky, and J.Alonso-Mora, “Distributed nonlinear trajectory optimization for multi-robot motion planning,” IEEE Transactions on Control Systems Technology, vol.31, no.2, pp. 809–824, 2022.
  • [27]X.Zhang, A.Liniger, A.Sakai, and F.Borrelli, “Autonomous Parking Using Optimization-Based Collision Avoidance,” in IEEE Conference on Decision and Control, Dec 2018, pp. 4327–4332.
  • [28]R.Chai, A.Tsourdos, S.Chai, Y.Xia, A.Savvaris, and C.L.P. Chen, “Multiphase overtaking maneuver planning for autonomous ground vehicles via a desensitized trajectory optimization approach,” IEEE Transactions on Industrial Informatics, vol.19, no.1, pp. 74–87, 2023.
  • [29]J.Köhler, M.A. Müller, and F.Allgöwer, “A nonlinear model predictive control framework using reference generic terminal ingredients,” IEEE Transactions on Automatic Control, vol.65, no.8, pp. 3576–3583, 2019.
  • [30]A.Dax, “The distance between two convex sets,” Linear Algebra and its Applications, vol. 416, no.1, pp. 184 – 213, 2006, special Issue devoted to the Haifa 2005 conference on matrix theory.
  • [31]S.Boyd and L.Vandenberghe, Convex Optimization.USA: Cambridge University Press, 2004.
  • [32]J.Löfberg, “YALMIP: A toolbox for modeling and optimization in MATLAB,” in Proceedings of the CACSD Conference, vol.3.Taipei, Taiwan, 2004.
  • [33]A.Wächter and L.T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Mathematical programming, vol. 106, no.1, pp. 25–57, 2006.
  • [34]L.GurobiOptimization, “Gurobi optimizer reference manual,” 2019. [Online]. Available: http://www.gurobi.com
  • [35]J.Kong, M.Pfeiffer, G.Schildbach, and F.Borrelli, “Kinematic and dynamic vehicle models for autonomous driving control design,” in 2015 IEEE Intelligent Vehicles Symposium (IV).IEEE, 2015, pp. 1094–1099.
A Distributed Multi-Vehicle Coordination Algorithm for Navigation in Tight Environments (2024)

References

Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 6056

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.