**4. Results and analysis**

The numerical methods presented in the previous sections were implemented to obtain timeenergy optimal trajectories for the cluster paths presented in this section. Subsequently, a cluster space kinematic controller [18] was used to simulate the tracking of desired cluster paths and motions in the following examples for three-robot cluster rotate and translate as well as rotate and resize maneuvers.

### **4.1. Rotate and translate simulation**

This cluster path is achieved by commanding translation from (*xc*,*yc*) = (0,0) to (*xc*,*yc*) = (10,10) and simultaneous formation rotation from *θc* = 0 to *π*, with initial (*c*init) and path-parameterized cluster state vector (*f*(*s*)):

$$\begin{aligned} \mathcal{L}\_{\text{init}} &= \begin{bmatrix} \mathcal{X}\_{\text{c}'} \mathcal{Y}\_{\text{c}'} \theta \, \_{\text{r}} \phi\_{1} \, \_{\text{r}} \phi\_{2} \, \_{\text{r}} \phi\_{3} \, \_{\text{r}} \theta \end{bmatrix}^{\top} \\ &= \begin{bmatrix} 0 \, \_{\text{r}} 0 \, \_{\text{r}} 0 \, \_{\text{r}} 0 \, \_{\text{r}} 10 \, \_{\text{r}} 10 \, \_{\text{r}} \pi \end{bmatrix}^{\top} \end{aligned} $$

$$f\left(\mathbf{s}\right) = \left[10\mathbf{s}\prime 10\mathbf{s}\prime \pi \mathbf{s}\prime 0\prime 0\prime 0\prime 0\prime 10\prime 10\prime \pi \prime \mathcal{R}\right]^T$$

The following are depictions of the cluster parameterized phase plane and path velocity vs. time for multiple values of (**Figure 2**):

**Figure 2.** Cluster parameterized phase plane for multiple .

Upon inspection, it is apparent that the generated plots conform to intuition regarding the expected shape of an energy optimal velocity profile. Given that generally steep acceleration results in excessive energy expenditure one expects that a mobile robot would increase its speed gradually (nonlinearly) up to a peak, after which it should identically decelerate. The velocity profile should therefore be parabolic, symmetric, and continuous, unless state constraints were violated, producing a plateau (trapezoidal) effect with discontinuities at the switching point. In [61], velocity profiles that match this description were generated while minimizing total energy drawn from the batteries of a particular mobile robot. Their results, given different motor characteristics, ranged from the widely used trapezoidal profile to the parabolic profile observed in the simulation.

**Figure 3.** Velocity along the cluster parameterized path for multiple .

We now have initial conditions for all necessary variables with the exception of *λ*1(0). The initial condition for *λ*1 must therefore be iterated, or guessed at until the correct final conditions are realized for *x*1 and *x*2. This numerical problem can be solved in a computationally inexpensive

The numerical methods presented in the previous sections were implemented to obtain timeenergy optimal trajectories for the cluster paths presented in this section. Subsequently, a cluster space kinematic controller [18] was used to simulate the tracking of desired cluster paths and motions in the following examples for three-robot cluster rotate and translate as

This cluster path is achieved by commanding translation from (*xc*,*yc*) = (0,0) to (*xc*,*yc*) = (10,10) and simultaneous formation rotation from *θc* = 0 to *π*, with initial (*c*init) and path-parameterized

> qf f f

( ) = é ù p

The following are depictions of the cluster parameterized phase plane and path velocity vs.

init 123 , , , , , , , ,

*c x y pq*

*c c*

*fs s s s*

= é ù ë û = é ù ë û

0, 0, 0, 0, 0, 0, 10, 10, / 3

ë û 10 , 10 , ,0, 0, 0, 10, 10, / 3 *<sup>T</sup>*

 b

 p *T*

*T*

p

manner.

**4. Results and analysis**

152 Recent Advances in Robotic Systems

well as rotate and resize maneuvers.

**4.1. Rotate and translate simulation**

time for multiple values of (**Figure 2**):

**Figure 2.** Cluster parameterized phase plane for multiple .

cluster state vector (*f*(*s*)):

Comparison of the optimal velocity profiles for different in **Figure 3** confirms the anticipated result that increasing values of , and therefore energy contribution to the cost function, results in velocity profiles of reduced average magnitude and longer duration. In **Figure 2**, phase planes generated from successively smaller increase in magnitude as they approach the time optimal trajectory. The time-optimal boundary, though not derived as part of this study, can be determined by calculating the maximum (minimum) parameterized cluster velocity and acceleration achievable at each possible cluster configuration along the given path. However, for a small enough choice of , the generated velocity profile will sufficiently approximate this limit.

The trajectory obtained, using *ε* = .5, was executed using the simulation referenced above, to yield the snapshots in **Figure 4** of the cluster in 5-s intervals.

Notice that the paths of robots 1 and 2 (the blue and red dots, respectively) and robots 2 and 3 (the red and green dots, respectively) intersect during the course of the maneuver, indicating a need for timing constraints to avoid collision. There are methods that define multirobot coordination in this manner, referenced earlier [19, 39], that generate robot velocity profiles from given paths such that robots avoid collision. Cluster space requires no such direct provision, the timing of individual robot trajectories both to avoid inter-robot collision and maintain formation is handled implicitly. This is evident in **Figure 5**, which depicts the distinct optimal velocity profiles of each robot obtained by applying the cluster inverse kinematic transformations to the optimal parameterized velocity. They are of equal duration yet their dissimilar contours and therefore areas indicate unequal distances traveled. Additionally, due to the fact that optimizing in cluster space relieves us from imposing an explicit formation constraint in the cost function as in [25, 26], the mathematical treatment can be dedicated exclusively to optimizing time and energy.

**Figure 4.** Snapshots of cluster rotate and translate maneuver in 5-s intervals.

**Figure 5.** Individual robot velocity profiles.

### **4.2. Rotate and resize simulation**

transformations to the optimal parameterized velocity. They are of equal duration yet their dissimilar contours and therefore areas indicate unequal distances traveled. Additionally, due to the fact that optimizing in cluster space relieves us from imposing an explicit formation constraint in the cost function as in [25, 26], the mathematical treatment can be dedicated

exclusively to optimizing time and energy.

154 Recent Advances in Robotic Systems

**Figure 4.** Snapshots of cluster rotate and translate maneuver in 5-s intervals.

**Figure 5.** Individual robot velocity profiles.

Another example of a cluster maneuver, rotate and resize, is obtained by commanding rotation from *θc* = 0 to *π* and a simultaneous resize from *p*, *q* = 10 to *p*, *q* = 20, with initial (*c*init) and pathparameterized cluster state vector (*f*(*s*)):

$$\begin{aligned} \mathbf{c}\_{\text{init}} &= \begin{bmatrix} \mathbf{x}\_{\text{c}} \, \_{\text{r}} \theta \, \_{\text{c}} \theta \, \_{\text{r}} \phi \, \_{\text{r}} \phi \, \_{\text{3}} \theta \, \_{\text{r}} \theta \, \end{bmatrix}^{\top} \\ &= \begin{bmatrix} \mathbf{5} \, \_{\text{5}} \mathbf{5} \, \_{\text{0}} \mathbf{0} \, \_{\text{0}} \mathbf{0} \, \_{\text{r}} \mathbf{1} \mathbf{0} \, \_{\text{r}} \mathbf{1} \mathbf{0} \, \pi \, / \mathbf{3} \end{bmatrix}^{\top} \\ \\ \end{aligned}$$
 
$$f \begin{bmatrix} \mathbf{s} \end{bmatrix} = \begin{bmatrix} \mathbf{5} \, \_{\text{5}} \pi \mathbf{s} \, \_{\text{r}} \mathbf{0} \, \_{\text{0}} \mathbf{0} \, \_{\text{r}} \mathbf{1} \mathbf{0} \mathbf{s} \, \_{\text{r}} \pi \, / \mathbf{3} \end{bmatrix}^{\top}.$$

The following are depictions of the cluster parameterized phase plane and path velocity vs. time for multiple values of (**Figure 6**):

**Figure 6.** Cluster parameterized phase plane for multiple .

**Figure 7.** Velocity along the cluster parameterized path for multiple .

As with a rotate and translate case, increasing lengthens the duration of the trajectory and flattens the shape of the optimal velocity profile (**Figure 7**), suggesting reduced energy expenditure. Additionally, the phase plane of **Figure 6** appears to approach a time-optimal limit with decreasing , as anticipated. However, comparison with **Figure 2** of the general shape and relative location of the peak velocity reveals a discernable difference. The rotate and resize profile exhibits a skew toward the velocity axis resulting in a peak magnitude that occurs before the half-time trajectory point, while the rotate and translate profile is approximately symmetric about the half-time point. This effect can be explained by viewing the cluster as a virtual articulating mechanism possessing inertia. Because the cluster inertia grows as the path is followed, optimizing in cluster space produces a velocity profile that favors torque appli‐ cation early in the maneuver. It is also true then that the symmetric nature of the optimal velocity profile in a case such as a cluster rotate and translate often implies a constant or symmetric inertia throughout the trajectory.

**Figure 8.** Snapshots of cluster rotate and resize maneuver in 5-s intervals.

The trajectory simulation for *ε* = . 5 was executed to yield the following snapshots of the cluster in 5-s intervals (**Figure 8**):

The individual robot velocity profiles for this case (not pictured here) are identical due to the fact that their paths do not intersect and the chosen cluster geometry is an equilateral triangle, implying equidistant paths. Therefore, in contrast to **Figure 5**, this maneuver does not require a provision for timing to avoid inter-agent collision. A virtue of our technique is that optimizing trajectories in cluster space removes the operator from this consideration and handles both scenarios without intervention.

### **4.3. Time-energy tradeoff**

As with a rotate and translate case, increasing lengthens the duration of the trajectory and flattens the shape of the optimal velocity profile (**Figure 7**), suggesting reduced energy expenditure. Additionally, the phase plane of **Figure 6** appears to approach a time-optimal limit with decreasing , as anticipated. However, comparison with **Figure 2** of the general shape and relative location of the peak velocity reveals a discernable difference. The rotate and resize profile exhibits a skew toward the velocity axis resulting in a peak magnitude that occurs before the half-time trajectory point, while the rotate and translate profile is approximately symmetric about the half-time point. This effect can be explained by viewing the cluster as a virtual articulating mechanism possessing inertia. Because the cluster inertia grows as the path is followed, optimizing in cluster space produces a velocity profile that favors torque appli‐ cation early in the maneuver. It is also true then that the symmetric nature of the optimal velocity profile in a case such as a cluster rotate and translate often implies a constant or

symmetric inertia throughout the trajectory.

156 Recent Advances in Robotic Systems

**Figure 8.** Snapshots of cluster rotate and resize maneuver in 5-s intervals.

As previously acknowledged, adjusting the weight of the energy term in the objective function results in varying duration times and energy expenditures. In order to thoroughly investigate the trade-off range, optimal solutions were obtained for a number of values in the rotate and translate case. **Figure 9** depicts the relationship between trajectory duration (*T*) and the cluster energy as represented in the objective function, *∫* 0 *tf F* <sup>2</sup> *dt*, for ranging from .001 to .01. The results, normalized to = .001, show that for a 10% increase in *T*, energy expenditure is reduced by 22.5% (point (a) in **Figure 9**). As gets larger, and *T* is increased further by 10%, energy is reduced by 19.8% (point (b) in **Figure 9**). The slope of this curve will of course change with cluster path and trajectory; however, we expect to always observe diminishing reductions in energy expenditure with increments of *T*, as we have with this case. In general, for a given cluster and trajectory, this plot can be generated and used as a tool to inform the appropriate choice of given mission requirements such as time to completion or energy limitations.

**Figure 9.** Energy vs. trajectory duration.
