Abstract
This paper is an application of a special case of distributed optimization problem. It is applied on optimizing the motion of multiple robot systems. The problem is decomposed into L subproblems with L being the number of robot systems. This decomposition reduces the problem to solving a single robot problem. The optimization problem is solved via a distributed algorithm, utilizing subgradient method. A global objective function is set as the sum of individual robot objectives in time and energy. Constraints are divided into two sets, namely, robot-individual constraints and robots’ interactions (collision) constraints. The approach is applied for the case of wheeled mobile robots: we are able to generate in parallel for each robot an optimized control input trajectory and then illustrate it in simulation examples.
Keywords
- distributed algorithms
- multi-robot systems
- numerical optimal control
- time-energy minimization
1. Introduction
Research in multi-robot systems is motivated by several notions; namely, some motivation can be put as [1]:
It is complex for one single robot system to fulfill complex tasks. Instead, more than one system would simplify the solution.
Tasks are generally distributed in nature.
Multiple limited-resource robot systems are more efficient to deal with than a single powerful robot system.
Speed of the task process increases through parallelism in multiple robot systems.
Robustness increases as redundancy is introduced in multiple systems.
Until recently, the number of real-life implementations of multi-robot systems is relatively small. The reason is the complexity associated with the field. Also, the related technologies are relatively new. Emergence of autonomous driving vehicle technology and market can push the boundaries in the field. As technology develops, new venues for application will open for mainstream use rather than only in research and development labs. Due to its promising applicability, autonomous cars and vehicles (or various intelligent transportation systems in general) sit at the forefront [2, 3]. To name a few, benefits include reducing congestions [4], increasing road safety [5], and, of course, self-driving cars [6]. Another application in civil environments is related to safety and security like rescue missions of searching for missing people in areas hard for humans to operate in [7] or searching for dangerous materials or bombs [8] in an evacuated building. Also, another area of application of multi-robot systems is in military area; research was done heavily in the fields of unmanned aerial vehicles (UAVs) and unmanned ground vehicles (UGVs) [9, 10].
Many approaches are developed to tackle the issue of
This paper investigates the solution of a time-energy optimal control problem for multiple mobile robots; namely, the paper is to study the problem as a nonlinear programming (NLP) problem. The main idea of the solution used here is to utilize distributed optimization techniques to solve the overall optimization problem. Solving for optimal time and energy of more than one robot system adds more burden on the problem; robot interaction with each other is added to the problem. This paper will focus more on the distributed aspect of the problem; more details about the numerical optimal control problem formulation can be found in [21]. In [21], the problem of controlling the motion of a single mobile robot is solved using the direct method of numerical optimal control (see [22]); this showed great flexibility in incorporating physical constraints and nonlinear dynamics of the system.
The rest of this section will define the global problem formulation. Discussion about distributed optimization and associated algorithm is presented in Section 2. Section 3 will apply the method on the multi-robot problem. Application to wheeled mobile robots and simulation examples are discussed in Section 4 followed by the conclusion.
1.1 Global problem formulation
We can present the discrete time global optimization (numerical optimal control) problem for
with
System behavior is governed by the nonlinear dynamic system in
The above optimization problem can be viewed as having
with
2. Distributed optimization
Here in this section, the concept of distributed optimization is explored. This area tackles optimization problems with
with
Observing the global problem in (2), we can see that it is just equivalent to the combination of all the subproblems; it is easy to see that solving for each subproblem (3)
You see clearly that the above problem cannot be trivially separated into some subproblems due to the constraint
Decomposition in mathematics is the concept of breaking a mathematical problem into smaller subproblems that can be solved independently while not violating the original problem. Primary works of [23, 24] discuss multiple aspects of optimization in general while exploring specific classes as well; these works are excellent resources for reading and understanding. Viewing the applications of distributed optimization will convey the impression that they, however different, are all mostly very similar theoretically. Terms of
2.1 Subgradient method
Before going further, we discuss a method used in solving distributed optimization problem which will help us in solving the problem of this paper. This method is called subgradient methods [30]. These methods are similar to the popular optimization algorithms using gradient descent. However, they are extended to escape function differentiation. The works [31, 32, 33] also explore the method in the perspective of multi-agent systems.
Consider the typical problem:
This typical problem can be solved using any
with
However, for the subgradient method [33], we will have a
with
The subgradient method is a simple first-order algorithm to minimize a possibly nondifferentiable function. The above definition escapes the requirement of a differentiated objective function. It is defined as finding any vector that makes the optimization algorithm go to
Now observe the following constrained optimization problem:
Let
The vector
The dual optimization problem is the pair of two optimization problems, namely, a maximization in
Now, an algorithm for solving the dual problem utilizing subgradient method is discussed. Let us define
The above definition is to clarify the minimum attained at any value of
Now, it is obvious from (14) that at iteration
The projection operator
2.2 The distributed algorithm
Recall the problem of combination of
As mentioned, the constraints
Put in mind that
then we can apply the
We can see that the above pair of updates can easily be distributed; after the relaxing of the constraints, the primal problem can be separated. The facility of subgradients lets us propose that any iteration
The function
3. Distributed algorithm for multi-robot system
3.1 Problem formulation
Now, in this section we can apply the previous discussion into the problem of optimizing the motion of multiple robots. Recall the global optimization problem of motion of
You can see that the problem above is just the combination of
The above definition is just to reduce the notation of robot input sequence. If we have, for example, two robot inputs
with objectives
which are subject to the set of individual robot
3.2 Distributed algorithm
Returning back to the primal-dual problem pair in Section 2, we can establish the algorithm updates according to the defined updates in (19). At each iteration
The minimizer update
3.3 Algorithm convergence
In this brief section, elaboration is put forth about how to practically use the algorithm. The ultimate goal is to optimize primal problem with no collision violation, i.e., reaching optimal dual (maximum) solution. At each global iteration, we only need to
We can also
With condition (25) on its own, we cannot always be satisfying the collision requirement. So, this condition can be accompanied by a condition on the collision constraint violation. For all robots, elements of the complete constraint vector
Specific values of
4. Application to wheeled mobile robots
4.1 System description
Figure 1 shows the individual robot system considered here. Robot state includes

Figure 1.
Wheeled mobile robot.
4.2 Collision avoidance
Here, we will discuss the formulation and the structure of the coupling constraints. The robots can be designed to perform any cooperative strategy in their motion. Here, we only consider the global goal of optimizing the motion of each robot in time and energy while avoiding colliding with each other during the motion. Let us define the coupling constraint vector across the discrete time indexes as
For the
We define the collision avoidance by constraining motion of other robots to be outside a safety circle region around each
So, we can define each element of the constraint vector as
The radius of the safety region is chosen as
4.3 Simulation examples
You can follow the whole distributed algorithm for the time-energy optimization of multi-robot system with collision avoidance in the flowchart in Figure 2. View the flowchart as the process for each individual robot (subproblem). We implement the algorithm in Figure 2. For the primal minimizer update in (24), the nonlinear programming (NLP) function of

Figure 2.
Distributed algorithm flowchart to optimize multi-robot motion.
Here, robot 1 has equal objective weights of 5 on both time and energy, robot 2 has weights of 10 on energy and 1 on time, and robot 3 has 10 on time and 1 on energy. The maximum number of internal NLP iterations (primal update) is set to only 10. The step size is set to
Figure 3 contains the objective (time-energy) value evolution throughout iterations. You can see the stable convergence as the algorithm progresses. Figure 4 shows each of the robots’ safety clearances during the optimized motion. In Figure 5, snapshots of motion of the three robots at different time instants are depicted. This illustrates the collision avoidance attained throughout the optimized motion. Observe also how different are the speeds of each robot because of objective weights; note from Figure 4 that each robot has a different final time for their motion. The algorithm has shown good performance at eliminating collision constraint violations. Figures 4 and 5 show an instant (around t = 12) where robots 1 and 3 violate collision distance with very small value, but no collision occurs. This is because the maximum number of iterations of the algorithm is exhausted. This indicates the possibility for the motion to be optimized even more if collision constraints were relaxed or if more algorithm iterations were allowed. Initialization of the algorithm also plays a role in algorithm evolution.

Figure 3.
The time-energy objective values throughout global iterations (Example 1).

Figure 4.
Collision avoidance (Example 1).

Figure 5.
Snapshots of optimized motions at different instants (Example 1).
After applying our approach, you can see the resulting optimized motions in Figure 6. In Figure 6, errors in x- and y-coordinates and orientation of each robot are shown with respect to time. It is clear that errors of zero are achieved. In Figure 7 for each robot, constraint evaluations, i.e., safety clearance, are displayed for the other two robots throughout time. You can see that robots come close to each other sometimes but without violating the safety distance. This result is attained maybe because of special structure of initial and final positions and orientations. That could have given flexibility for the algorithm.

Figure 6.
Optimized trajectories of the three robots: each row of plots shows x-coordinate error, y-coordinate error, and orientation error, respectively; each column of plots show robots 1, 2, and 3 errors, respectively (Example 2).

Figure 7.
Collision avoidance (Example 2).
5. Conclusion
The paper investigated the time-energy minimization onto the multi-robot case. A global objective function is formulated as the sum of individual robot objectives in time and energy. Constraints are divided into two sets, namely, robot-individual constraints and robots’ interaction constraints. The problem is decomposed into L subproblems with L being the number of robot systems. The subproblems are coupled with each other by the collision avoidance information. Applying a distributed algorithm solved the problem iteratively. The overall output gives optimized motions for all robots in time and energy while adhering and not colliding with each other. We applied our approach to the case of three wheeled mobile robots: we generated in parallel for each robot an optimized control input trajectory.
An extension to this study is to generate optimized motion trajectories and apply them experimentally. A possible area for experimentation is full-scale autonomous vehicles. Issues related to communication and distributing information during the parallel algorithm will need to be incorporated and investigated. Also, aspects of state estimation and localization of the robot system will come into the place which were not considered in this work. A possible other investigation is to distribute the problem further onto the time variable
Acknowledgments
The authors would like to thank King Fahd University of Petroleum and Minerals supporting this work.