A Novel Collision-Free Navigation Approach for Multiple Nonholonomic Robots Based on ORCA and Linear MPC

In the study of collision-free navigation methods of multirobots, much attention has been paid to the constraints of external environment. However, most of the wheeledmobile robots are subjected to nonholonomic constraints. A collision between robots may occur if the nonholonomic constraints are neglected. (is paper presents an improved approach to collision-free navigation for multi-nonholonomic robots. (is approach combines the Optimal Reciprocal Collision Avoidance (ORCA) algorithm and Model Predictive Control (MPC) strategy. ORCA used a simple robot model, in which kinematics and dynamics are ignored. To cope with this problem, the MPC controller is introduced. In each ORCA step, the reference trajectory, reference control inputs, and “safe zones” are generated based on the new velocity. Consequently, the derived safe zone is transformed into the constraints of decision variables for a MPC controller. Finally, quadratic programming is used to solve the MPC problem by successive linearization of an error model of the mobile robot. Simulation results illustrate the effectiveness of the proposed method.


Introduction
Motion planning/collision avoidance is concerned with computing a path or trajectory between two configurations embedded in cost field, while taking into account motion constraints, static obstacles, and moving obstacles [1]. e problem has been well studied for one robot avoiding static or moving obstacles [2][3][4].
Many classical approaches such as artificial potential field method [5], sampling-based algorithms [6][7][8][9], and dynamic window [10] are extended to dynamic environments [11]. ese approaches assume the observed obstacles to be static in a period of time [12][13][14] and compute an immediate action to avert collisions with the consideration of kinematics and dynamics in many cases. When considering moving obstacles, such approaches typically repeatedly plan based on continuous cycle of sensing and acting. is may work well as if the obstacles move slower than the robot, but among fast obstacles, the static assumption will not lead a collision-free navigation. e methods such as multilayer fuzzy control method [15], reactive collision avoidance [16], and rolling window method [17] are also used in the dynamic environment. However, these methods based on a simple robot model ignore the nonholonomic constraints. e problem of collision avoidance becomes even more complicated when the obstacles are also decision-making agents instead of entities moving arbitrarily without considering their environment [18].
is problem has many applications in the areas of robotics, such as multirobots navigation and coordination in the Container Terminal Logistics System [19] and crowd simulation for computer graphics and VR [20]. In the context of collision avoidance for multiple robots, similar approaches to those for the single robot case can be applied [21][22][23]. However, the increase in robot density may lead to oscillations [24]. Many motionplanning methods of multiple point-mass robots have been developed [24][25][26]. It means that applying these methods into practice directly is difficult because the mobility of the robot is ignored. e Net-MPC strategy is also used to navigate in multirobots environment [27][28][29][30]. However, these methods relying on the communication between robots may increase the complexity of system.
A particularly successful method for mobile robot realtime navigation is the ORCA algorithm [31]. It is an effective decentralized collision avoidance method for a large number of decision-making agents. e ORCA infers for each robot a half-plane of velocities that are allowed to be selected in order to guarantee collision avoidance without communication among the robots or central coordination.
is method works well if the robots act on holonomic constraints, since the robots must move along the direction of a new selected velocity by ORCA immediately. For many nonholonomic constrained robots, such as car-like robots, the set of feasible velocities at any instant is a specific velocity in the direction of the rear wheels [32,33]. One way to work around these constraints is to use the set of velocities that can be achieved over some time interval τ [26]. An optimal method for distributed collision avoidance among multiple nonholonomic robots is presented in [32]. Furthermore, Jeon and Lee defined the wheel velocity obstacle, which is a set of all the left and right wheel velocity pairs that induce collisions with obstacles within a given time horizon [34]. However, these methods can only guarantee collision-free with the instant of each step time. To alleviate these issues, we can select a small value for τ, but this has some implications for navigation: as τ decreases, the set of velocities that are being considered by the robot becomes smaller, and the robot can miss feasible controls.
e Model Predictive Control (MPC) method is suitable for solving the multivariable constrained control problems due to its predictive nature. It means that the MPC method can handle the environment constraints and robot constraints in a single optimization problem [35,36]. e applications of MPC for navigation of a single robot have been reported in [36][37][38].
Motivated by the features of MPC and ORCA methods, in this paper, we propose a Discrete-ORCA-MPC combined approach for the problem where collisions need to be avoided among multiple nonholonomic mobile robots with decision-making ability. Concretely, the ORCA algorithm is used by each agent to generate independently its new velocity at each cycle of sensing (ORCA step time τ). is new velocity is used to generate a discrete reference control input and trajectory. Meanwhile, a series of safe zones are constructed, which serve as constraints in a MPC problem. Unlike original ORCA, the construction of safe zones needs to know the new velocities of other agents in the neighbor region at each step. Furthermore, the proof for collision-free motion of this Discrete-ORCA-MPC approach is derived. Although Nonlinear Model Predictive Control (NMPC) has been well developed, the computational effort necessary is much higher than the linear model [39,40]. is paper uses a successive linearization approach yielding a linear, timevarying description of the system which can be solved through linear MPC. Considering the control inputs as the decision variables, it is then used to transform the optimization problem into a Quadratic Programming (QP) problem. Since this is a convex problem, QP problems can be solved by commercial numerical solvers which lead to global optimal solutions. More importantly, it is easy to a real-time implementation. In addition, we focus on differential drive mobile robots (DDMRs) in the following work, even though our approach applies more generally for the class of feedback linearizable vehicles with nonholonomic kinematics, such as car-like robots or DDMR with trailer. e main features of the proposed Discrete-ORCA-MPC combined approach are summarized as follows: (1) Different from the traditional methods such as artificial potential functions based on a point-mass robot model, the proposed method considers the nonholonomic constraints of robots. e point-mass robot model cannot guarantee collision-free navigation, since a car-like robot will actually need to follow an arc to achieve the selected velocity, and this arc may lead to a collision with other robot. Consequently, the proposed approach solves this problem by using a dynamic model to predict the future system. (2) Different from the network-based method such as Distributed Model Predictive Control method, the proposed method does not rely on communications among the robots or central coordination. erefore, it is effective for multirobots to avoid obstacles realtime without a real-time communication environment. e remainder of this paper is organized as follows: in the next section the brief definition of the ORCA is shown. e problem statement is illustrated in Section 3. Section 4 puts out the kinematic model of DDMR and the linear MPC algorithm. Simulation results in MATLAB and C++ are shown in Section 5. Section 6 presents some conclusions.

Optimal Reciprocal Collision Avoidance (ORCA)
ORCA is a rigorous approach for reciprocal n-body collision avoidance that allows each agent to compute independently the optimal moving velocities in each step [31]. In this section, we review the concept of velocity obstacles and discuss its application to DDMR with nonholonomic constraints.

Definition of ORCA.
ORCA provides a sufficient condition for multiple robots to avoid collisions among one another and thus can guarantee collision-free navigation [31]. Let there be a set of n disc-shaped robots (this discshaped assumption can easily be extended to translate polygons) moving in the plane R 2 . Each robot has a current position p, a current velocity v, and a radius r. It is assumed that these parameters can be observed by other robots. Furthermore, each robot has a maximum speed v max and a preferred velocity v pref (for instance, a velocity directed towards the robot's goal with a magnitude equal to the robot's preferred speed). ese parameters are considered as internal state of the robot, which cannot therefore be observed by other robots. e brief definitions are presented in the following. Let D(p, r) denote an open disc of radius r centered at p: e velocity obstacle VO τ A|B is the set of all relative velocities of A with respect to B that will result in a collision at some moment before time τ. e geometric interpretation of velocity obstacles is shown in Figure 1. And it can be formally represented as where p A and p B are the positions of agent A and agent B, respectively. r A (r B ) is the radius of the safe zone of agent A (agent B) and is chosen slightly larger than the radius of the agent. Note that for agent B, its velocity obstacle is and let n be the outward normal of the boundary of VO τ A|B at Consequently, u is the smallest change required to the relative velocity of A and B to avert collision with τ time. To share the responsibility of avoiding collisions among the robots in a fair way, e increment (1/2)u means that agent A takes half the responsibility of avoiding potential collision with agent B, while the remaining half will be taken by agent B. Hence, the set ORCA τ A|B of permitted velocities for A is the half-plane pointing in the direction of n starting at the point v opt A + (1/2)u. More formally, is set is illustrated in Figure 2. By this definition, the chosen new relative velocities will not enter VO τ A|B , and consequently the velocities of the agent can be smoothed.
Each robot A performs a continuous cycle of sensing and acting with time step Δt. In each iteration, the robot acquires the radius, the current position, and the current optimization velocity of the other robots. Based on this information, the robot infers the permitted half-plane of velocities ORCA τ A|B with respect to each other robot B. e set of ORCA velocities for agent A with respect to all robots is the intersection of the half-planes of ORCA τ A|B induced by each other robot B: Note that D(0, v max A ) include the maximum speed constraint on the robot A.

At last, the new velocity v new
A is selected from ORCA τ A , which is the closest to its preferred velocity v pref A amongst all velocities inside the region of permitted velocities: e ORCA algorithm in [31] used a simple robot model, in which kinematics are ignored. Consequently, the robot reaches its new position: In many of these applications, the robot of interest is a car-like robot and subject to nonholonomic kinematic constraints [33]. Hence, the constant velocity assumption rarely holds [41].

Nonholonomic Constraints.
ORCA is a velocity obstacle based algorithm, which is a first-order method since it does not integrate velocities to yield positions as functions of time [26]. It means that the control input to the robot is velocity. By considering nonholonomic kinematic constraints, the navigation problem of a differential drive robot generally followed these two steps: first, the velocity v H is generated by the ORCA based on the assumption that the robot is holonomic; second, the robot tracks this velocity by using the controller with nonholonomic constraints [34]. However, these will make a tracking error δ between the holonomic trajectory and the real trajectory inevitable, as shown in Figure 3. e real nonholonomic trajectory is defined by two sections: an arc of circumference AB covered with constant linear speed v(t) and decreasing angular velocity ω(t), followed by a straight line path BC with constant speed v(t).
In this case, a mobile robot will actually need to follow an arc to achieve the selected velocity v H , and the set of ORCA τ A provide no guarantee of collision-free.

Problem Statement
In this section, we define a new concept called the safe zone.
is is an extended generalization of the ORCA concept and seeks to address the difficulty of using ORCA with nonholonomic constrained agents. e proof of collision-free navigation of safe zone is also derived. Note that, the actions of ORCA are computed for each robot independently, without communication among the robots or central coordination. Unlike original ORCA algorithm, the construction of safe zone needs to know the new velocities of other agents in neighbor region at each step. is is not a severe limitation since the multiagent system has been studied extensively.

Safe Zone.
We consider multiple mobile robots sharing a common workspace where the robots have the same equations of motion and state spaces. Let the state space of robot be X ⊂ R n . Let R d be the robot's physical workspace. Let O ⊂ R d be the geometry of robot relative to its position. For simplicity, we restrict our analysis to circular robots and obstacles, which is not a severe limitation since general polygons can be represented by a number of circles [26]. We assume the position p ∈ R d of robot can be derived from its state x ∈ X by a potentially projection function q ∈ X ⟶ R d : e control input space U ⊂ R m is assumed to be convex. Let the continuous-time equation of motion for robot be given by a potentially nonlinear function where x(t) is the state and u(t) is the control input at time t.
Given a current state x(0) of robot and some constant control input u(0) at time 0, the state of the robot at a given time t > 0 is given by where g ∈ R × X × U ⟶ X is the solution to the differential equation of equation (9), which can be obtained numerically.
Consider two circular robots A and B in an environment. Let circle A represent the robot, and let circle B represent the obstacle. Given the position of agent A at time t � 0 and a control u A , let us denote the position agent A will be later undertaking u A for time interval t by p A (t). Similarly, p B (t) represents the state of agent B undertaking u B for time interval t. Note that the control u is the control inputs to the robot that results in a change in the robot's configuration.
en, the control obstacle can be defined as where (8) and (10). As shown in Figure 4, v A (0) ∉ ORCA τ A|B , and symmetrically, v B (0) ∉ ORCA τ B|A . Robots A and B chose constant velocities v AH and v BH outside the obstacle velocity set and generate trajectory p AH (t) and p AH (t), respectively. en A and B take controls u A and u B (for instance, , which generate trajectory p A (t) and p B (t) (red dashed line), respectively. Note that this will lead to a collision, although the minimum distance between two holonomic trajectory (blue solid line) is greater than the radii sum of two robots (d min > r A + r B ).
In fact, the ORCA algorithm can be transformed using a uniform sampling scheme to deal with the nonholonomic kinematic constraints. As illustrated in Figure 5, let and p BH (0), p BH (1), . . . , p BH (N) be the uniform sampling waypoints of holonomic trajectory p AH (t) and p BH (t), respectively. e distance between p A (k) and is the terminal point of one step of ORCA; that is, p(N) � p(τ). Hence, the collision avoidance set of ORCA algorithm can be reformulated as where Holonomic trajectory Figure 3: e holonomic trajectory is tracked by the DDMR moving along the nonholonomic trajectory with a tracking error. 4 Mathematical Problems in Engineering Let r i s (k) be the safe zone radius of robot i at time k, and it can be defined as where r i and r j are the radii of robots i and j. e constructive process of safe zone can geometrically be illustrated in Figure 6. Note that r ij s (k) � l ij (k) − r i − r j and b is side length of the maximum inscribed square. is square is the approximate safe zone for linear constraints (see next section). If robot i applies the control input u i (k − 1) in time k − 1 that "walk" to the safe zone r i s (k) in time k will lead to collision avoidance.

Proof of Collision-Free Navigation
Theorem 1. If the safe zone of robot i at control step k is equal to the relative safe zone between robots i and j, the safe zone of robot j must have been less than or equal to the safe zone of robot i in this moment. en, the mathematical relationship can be described by By using reduction to absurdity, eorem 1 is proved. For robot i, there are n robots in its neighbor region. If the radius of safe zone at control step k is r i is the minimum dimension for robot i, but it does not mean that the r ij s (k) is the minimum dimension for robot j. eorem 1 gives the proof of this fact. □ Theorem 2. In a multirobots environment, the collision-free navigation can be guaranteed when the safe zone constraints are maintained at every moment.

Proof.
eorem 1⇒∀i, j ∈ R s (robots set): : . Consider any pair of robots in one neighbor region, the sum of the radii of these two robots and their safe zones is less than the distance between these two robots. is theorem proves that the collision-free navigation for Discrete-ORCA can be guaranteed.

Discrete-ORCA-MPC Combined Collision Avoidance
In this section, the brief overview of the kinematic model of a DDMR is given. en, a successive linearization approach is introduced, which yields a linear, time-varying description of the DDMR system. e optimal control input is solved through linear MPC. Meanwhile, the safe zone and control constraints are satisfied by transforming the optimization problem in a QP problem. Figure 7, the configuration of a DDMR is given by the position of its center point p � [x, y] and its orientation ϕ. e configuration and high-level control input transition equations [42] are given as  Approximate safe zone Figure 6: e safe zone for robot i with two neighbor robots j and k.

Kinematics and Dynamics of DDMR. As illustrated in
where v � v r + v l /2 is the linear velocity and ω � v r − v l /b is the angular velocity. b is the distance between the rear wheels of the robot, and v r and v l are the signed speeds of the left and right wheels, respectively. Generally, v r and v l are bounded such that In general, the kinematic model can be written in the form of (9): where x � [x, y, ϕ] T describes the configuration of point P (shown in Figure 7) and u � [v, ω] T is the control input. Similarly, let x r � [x r , y r , ϕ r ] T and u r � [v r , ω r ] T be the configuration and control input of reference system. en, it can be described as By expanding the right side of (16) in Taylor series around the reference point (x r , u r ), a linear model is obtained by discarding the high-order terms: where f x ′ and f u ′ are the Jacobians of f with respect to x and u, respectively, evaluated around the reference point (x r , u r ). en, the subtraction of (17) from (18) results in where x � x − x r represents the error with respect to the reference robot configuration and u is its error with respect to the reference input. Finally, the discrete-time system can be obtained: with where T is the sampling period and k is the sampling time.
In this paper, let v r i � ‖v new i ‖ and ϕ r i � arctanv new i be the reference velocity and direction of robot i. en, the reference trajectory of robot i is obtained as (6): where N τ � (τ/T). It means that robot i generates N τ waypoints in the direction of ϕ r i uniformly. In [40], we notice that the controllability matrix has full rank if either v r or ω r is nonzero. is implies the tracking of a reference trajectory being possible with linear MPC.
In the field of mobile robotics, predictive approaches to trajectory tracking seem to be very promising because the reference trajectory is known beforehand [40]. e essence of MPC approach is to optimize predictions of process behavior over a sequence of future control inputs. At each sampling time, the model predictive controller generates an optimal control sequence by solving an optimization problem [39]. In this section, the trajectory-tracking control of a differentially driven mobile robot based on MPC is presented. e main idea is to minimize the future trajectory-following errors and control errors between the robot and reference waypoints generated by Discrete-ORCA.

MPC Algorithm.
e ideal of MPC concept it to find the values of control variable that minimize the receding horizon quadratic cost function based on the predicted robot tracking error model (20). In general, MPC can be proven to be stable using a terminal cost and terminal constraints in its optimization problem [43]. e cost function at time k can be stated as where h is the prediction horizon and Q and R are the weighting matrices (diagonal matrix with Q ≥ 0 and R ≥ 0). Note that, the angle error (ϕ − ϕ r ) must be wrapped in radians to [− π, π]. e notation a(m | n) indicates the value of a at the predicted time m based on the current time n. In order to reformulate the optimization problem in a usual Figure 7: Structure of the differential drive mobile robot. 6 Mathematical Problems in Engineering quadratic programming form, the x(k + 1) and u(k) are defined as en, the original optimal problem (23) can be rewritten as where erefore, (20) can be recasted as with where Rearrange (25) and (27), the cost function (23) can be rewritten as where e H is a positive definite Hessian matrix. It is the quadratic part of the cost function while the vector f describes the linear part. Note that f(k) and d(k) contain x(k | k) which is constant vector at time k. Hence, the optimization problem can be stated as to find u * (k) at each time step k minimizing the cost function (30): e solution of (32) is a sequence of optimal control; that is }. e MPC scheme is implicitly given by the first control action of the sequence of optimal control, u * (k | k).

Collision-Free Constraints.
In real world applications, the robots are inevitably subject to physical limitations. Without consideration of these limitations while computing the optimal control inputs, the robot will suffer from unpredictable mismatch. Hence, the constraints of upper and lower bounds should add to the optimization problem (32). And the control inputs constraint can be written as Note that the free variable in the optimization (32) is u(k), so the constraint (33) must be rewritten as where Mathematical Problems in Engineering Furthermore, the collision avoidance requirement will be constructed as the constraint with respect to control inputs. Let us rewrite the safe zone (14) as It means that the control inputs to robot i in time k must reach the safe zone r i s (k + 1). To make a linear constraint, the approximate safe zone is constructed as a square which is the maximum inscribed square as illustrated in Figure 6. Hence, the side length of this square b can be denoted as en, the collision avoidance manoeuvre can be represented as where x(k + 1) and y(k + 1) can be obtained from the discrete time form of the kinematic equation (15): Note that ϕ(k + 1) is not the consideration of the navigation. Remember that u � en rearranging (38) to (39) can obtain the collision avoidance constraint in each step time k: where Note that b l (k) and b u (k) are constants in each time step. Recalling (34), we can obtain Finally, the constraint of free variable u(k) for optimization problem (32) can be constructed by refreshing u min (k) and u max (k) in (34) as where

Algorithm.
e overall approach is summarized in Algorithm 1. In each ORCA step (τ), it has three things for every robot to do. First, robot i generates the discrete reference control inputs and trajectory. e number of waypoints is τ/T, and the corresponding reference control inputs are [‖v new i ‖, 0]. Second, robot i computes the safe zone r i s with respect to the neighbor region. Finally, robot i repeatedly computes the optimal control inputs at each sample time T to close the last waypoint. en, it will go into the next ORCA step. is process will continue until every robot reaches its goal.

Experiments and Analysis
In this section, we conduct computer simulations to verify the proposed Discrete-ORCA-MPC algorithm. e following simulations are specifically designed to deal with multi-nonholonomic-agent navigation. ese were carried 8 Mathematical Problems in Engineering out using MATLAB R2018a and Visual Studio 2017 on a laptop with Intel Quad Core i5 CPU and 16 GB RAM.
To simplify the configuration, it is assumed that all the DDMR have the same parameters. e radius of robots r � 2 and the control input constraints are set as u min � [0, − 1] and u max � [2, 1], respectively. e preferred velocity v pref was chosen as the velocity directed towards the robot's goal with a magnitude equal to 1. Meanwhile, the sampling time period of MPC is T � 30 ms and the time window of the ORCA algorithm is τ � 300 ms. In the MPC controller formulation, the prediction horizon h � 6 and optimization problem is solved using interior point method. Furthermore, the free variable constraints are set as u min � [− 0.5, − 0.5] and u max � [0.5, 0.5], respectively. To keep the robot close to the ORCA trajectory, the weighting matrix Q should be larger than R. In this paper, these are set as Q � 3I 3 and R � 0.1I 3 .

Compare MPC and PID for 4 DDMRs.
As mentioned in Section 2.2, the original ORCA algorithm is a first-order method. In other words, the control input to the robot is reference velocity but not the reference trajectory. In this simulation, a first-order method based on ORCA is formulated to compare with the proposed Discrete-ORCA-MPC approach. is method uses a proportional controller to control the angular velocity, and the linear velocity is equal to the new velocity generated by ORCA. It can be formulated as where v new ik and ϕ new ik represent the 2-norm value and direction of the new velocity (equation (6)) of robot i generated by ORCA in step k; that is, v new ik � ‖v new ik ‖ and . v ik (j) and ω ik (j) are the control input to robot i in control step j of ORCA step k. e proportional controller gain is set as 3. As a consequence, the constraints of angular velocity are also added to the controller. Note that we have no intention of constructing a perfect controller to following the reference velocity v new , since the tracking error to the holonomic trajectory always exists even for a "perfect" controller (see Figure 3). Furthermore, these tracking errors may lead to a collision. By contrast, the proposed MPC controller also has tracking errors; however, these tracking errors are formulated as constraints for the decision variables that the collision will not happen (see eorem 2 and equation (45)).
In this simulation, 4 DDMRs are initially located on the four corners of a square, that is, [− 25, − 25] (Robot 1), [25,25] Figure 8. Robots 1, 2 and Robots 3, 4 at antipodal positions are expected to exchange positions with each other. Furthermore, the initial orientation of robots 1 to 4 is (1/4)π, − (3/4)π, − (1/4)π, and (3/4)π, respectively. Note that every 18 ORCA steps plot a circle as shown in Figure 8. Figure 8 shows the motion trajectory of 4 DDMRs on the workspace without static obstacles based on the proposed Discrete-ORCA-MPC approach and a proportional controller. Comparing the trajectories of local enlarged drawing of Figures 8(a) and 8(b), at 37.5°s, Robot 2 (− 1.718, 1.56) collides with Robot 3 (− 1.421, − 2.082) in Figure 8(b) (PID) while the collision did not happen in Figure 8(b) (Discrete-ORCA-MPC). Figure 9 depicts the relative distance between robots over the time where d ij represents the relative distance between robots i and j. ese results demonstrate the proposed method can generate a collision-free navigation for nonholonomic mobile robot effectively. Figure 10 shows the control inputs (v and ω) to each robot. In most of the time of the navigation, the control inputs change a little with respect to time; however, these has been a great change near 28°s and 37°s. It can be explained that the robots took a sharp turn in 28°s and 37°s h: predict horizon of MPC; T: sampling period. Output: optimal control u * (k) (1) repeat ORCA (2) for each R i ∈ R s do (3) compute v new i for R i using ORCA (6) (4) compute reference trajectory X r i using (22); (5) compute safe zone r i s for robot i at each way point using (14) (6) end for (7) for k � 1; k < N τ ; k + + do (8) for each R i ∈ R s do (9) compute u * i (k) for robot i using MPC (27)  (10) compute control input u i (k) � u * i (k) + u r i (k); (11) compute the configuration of next step x i (k + 1) using (15) (12) end for (13) end for (14) until (all robots reach their goal zone) ALGORITHM 1: Discrete-ORCA-MPC method for multi-nonholonomic robots collision avoidance. Mathematical Problems in Engineering as shown in Figure 8. In particular, the rapid growth of angular velocity ω is inevitably accompanied by a decline in the linear velocity ω. In other words, the robot should slow down for taking a sharp turn. It also can be seen that the control inputs are inside the limits imposed by the constraints. In Figure 11, it demonstrates that the state errors   is is reasonable because the smaller [x e , y e ] shows a better performance of MPC controller. is simulation demonstrates that the proposed Discrete-ORCA-MPC algorithm has the ability to cope with the collision avoidance problem of multi-nonholonomicagent.    Figure 13 depicts the relative distance between robots over the time. Furthermore, the initial orientations of Robots 1 to 4 are (1/4)π + 0.1, − (3/4)π + 0.1, − (1/4)π + 0.1, and (3/4)π + 0.1, respectively.
is is why the trajectories of these four robots are asymmetrical. More sharp turn can be seen compared to the first simulation which leads to more sudden change in control inputs as shown in Figure 14. Meanwhile, the constraints of control inputs [u min , u max ] and the errors with respect to reference control inputs [u min , u max ] are satisfied. In Figure 15, it can also be seen that the position errors [x e , y e ] are much less than the orientation error ϕ e . e maximum value of position errors is less than 0.1 which means that the performance of the obtained trajectory tracking is good enough.
is simulation demonstrates that the proposed Discrete-ORCA-MPC algorithm has the ability to cope with the navigation problem of multi-nonholonomic-agent with static obstacles.

Performance Results.
In order to test the performance of Discrete-ORCA-MPC, we carried on large-scale simulations to compare the mean computation times of our method with Priority-Based Noncooperative Distributed Model Predictive Control (PB-NC-DMPC) [44]. PB-NC-DMPC is an effective NC-DMPC strategy that deals with the problem of loss of the prediction consistency property while reducing the computation time as well. In the problem of collision avoidance of networked vehicles, PB-NC-DMPC showed better performance compared to NC-DMPC and Centralized MPC. e test scenario contains many robots whose goal is to move across a circle to the antipodal position. is scenario is the same as the published literature, Jur et al. [31].
In PB-NC-DMPC, we implemented the collision avoidance controller based on the same linear predictive model as (20). e controller parameters of PB-NC-DMPC are the same as Discrete-ORCA-MPC and remain unchanged for all robots in all simulations. Figure 16 depicts the mean computation times of Discrete-ORCA-MPC and PB-NC-DMPC plotted over increasing number of DDMRs. It shows that running Discrete-ORCA-MPC is computationally cheaper than PB-NC-DMPC.

Conclusions
In this paper, we have described a method, namely, Discrete-ORCA-MPC, for collision avoidance among multiple nonholonomic robots in planar environments. In particular, we extended the traditional ORCA method to a Discrete-ORCA strategy which can generate a uniform distribution of safe zones in the direction of selected new velocity by ORCA.
e idea was to introduce the collision-free constraints to MPC optimization problem. e presented Discrete-ORCA-MPC method allows for smooth and safe navigation and good performance was observed in simulation experimental tests. e results of this paper show that our approach is capable of letting a homogeneous group of robots with nonlinear equations of motion safely avoid collisions at real-time computation rates. e collision-free navigation problem of nonhomogeneous group of robots will be solved through adjusting the safe zone. Many challenges for future development still remain. e future work should aim at further improving the adaptability in uncertain environment.

Data Availability
e data used to support the finds of this study are available from the corresponding author upon request.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.