User:Margav06/sandbox/Click here to continue/Applications of Linear systems/An LMI for Multi-Robot Systems

LMIs in Control/Applications/An LMI for Multi-Robot Systems/Consensus for Multi-Agent Systems

This application gives an instance of the use of LMIs in achieving consensus for multi-agent systems. More focus is placed on the flocking algorithm, which is one of the consensus algorithms extensively used in multi-robot systems.

Introduction
A robot swarm is a network of multiple robots working together as a unit to achieve an objective. In order for robots in a swarm to work together, they need to come to consensus/agreement on a number of parameters. A number of algorithms called consensus algorithms exist to serve that purpose. Consensus Algorithms are algorithms that allow a set of agents to reach an agreement. Various areas such as graph theory, control theory and matrix theory overlap when it comes to designing consensus algorithms for multi-agent systems.

Flocking Algorithm
The flocking algorithm is one of the consensus algorithms used in trajectory planning for multi-agent networks. The algorithm helps in maintaining separation, so that the agents do not collide, alignment, so that the agents have the same headings, and cohesion, so that the agents do not wonder far away from each other. The flocking algorithm can be represented in a graph network form, where the nodes in the graph represent the agents or individual robots, and the edges/links represent the nature of interaction between the nodes. Consequently. the interactions between the nodes can be Below is the general equation for a flocking algorithm.

$$\dot {v_i}-\sum_{ i=N_i}^n i = (v_i - v_j) + \sum_{ i=N_i}^n i \Delta_{r_i} V_{ij} (r_{ij})$$, where

$$V_{ij}$$ is the artificial potential function

$$n $$ is the number of robots

$$\dot {v_i}$$ is the input/acceleration control

$$r_{i}$$ is the position vector of robot $$i$$

$$r_{ij} = r_i - r_j$$, which is the distance between two neighboring robots

Mathematical Model:
Before we begin, we need to obtain a state space representation for our system. Based on observation, it can be deduced that the general form of a consensus algorithm bears some resemblance to the state space equation. The general equation for a consensus algorithm in terms of the Laplacian matrix is:

$$\dot{x} = -Lx$$, where $$L$$ represents the Laplacian matrix.

Comparing the above equation to the state space equation, $$\dot{x} = Ax$$, we notice that the $$A$$ has been substituted with a $$-L$$.

The A, B and C matrices are represented as diagonal blocks because of the decentralized nature of the control framework. Each block in the A, B and C matrices is associated with its corresponding state, input, or output vector.

$$

\begin{align} \ A &= \begin{bmatrix} \ a_{11} & a_{1n} \\ \ a_{n1} & a_{nn} \\ \end{bmatrix}&

\ B = \begin{bmatrix} \ b_{11} & b_{1n} \\ \ b_{n1} & b_{nn} \\ \end{bmatrix}&

\ &C = \begin{bmatrix} \ c_{11} & c_{1n} \\ \ c_{n1} & c_{nn} \\ \end{bmatrix} \end{align} $$

x, u and y represent the state, input and output vectors respectively.

$$

\begin{align} \ x &= \begin{bmatrix} \ x_1 & ... &x_n \\ \end{bmatrix}^T &

\ y &= \begin{bmatrix} \ y_1 & ... &y_n \\ \end{bmatrix}^T &

\ u &= \begin{bmatrix} \ u_1 & ... &u_n \\ \end{bmatrix}^T & \end{align} $$

Further Discussion:
In Elham Semsar-Kazerooni and Khashayar's paper, "Optimal Consensus Seeking in a Network of Multi-Agent Systems", further work was done through a series of variable substitutions and other mathematical operations to obtain the an LMI as seen below. For more information on the LMI formulation procedure, and the details of the variables in the above LMI, please visit follow the link in the reference section to review the paper.

Objective: $$ \min trace(P) $$.

Subject to::

$$ \begin{align} \ \begin{bmatrix} \ \gamma & \bar{S}^*ZQ^{1/2} & \bar{S}^*W^*R^{1/2} \\ \ Q^{1/2}Z \bar{S} & -I & 0 \\ \ R^{1/2}W \bar{S} & 0 & -I \\ \end{bmatrix} \ < 0, \end{align}

$$