Quick Start

Containment in Leader-Follower Networks for single-integrator systems

In this page, we show how to run a basic distributed cooperative robotics scenario in ChoiRbot. Specifically, we consider a containment problem in leader-follower networks as described in [QSNEH11]

Prerequisites

We assume a working installation of ChoiRbot and RVIZ is available (see the installation page). Moreover, we assume the reader to be familiar with the basic concepts of ROS 2 launch files and Python.

Maths of the problem

We consider a team of \(N\) robots moving in the \((x,y)\) plane. Each robot is modelled as single-integrator dynamical system

\[\dot{x}_i(t) = u_i(t),\]

where for all \(i \in \{1, \ldots, N\}\), \(x_i \in \mathbb{R}^2\) is the \(i\)-th system state (i.e., position) and \(u_i \in \mathbb{R}^2\) is the \(i\)-th system input (i.e., velocity). We assume the robots communicate according to a given undirected graph \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\), where \(\mathcal{V} = \{1, \ldots, N\}\) is the set of robots and \(\mathcal{E} \subset \mathcal{V} \times \mathcal{V}\) is the set of edges. If \((i,j) \in \mathcal{E}\), then also \((j,i) \in \mathcal{E}\) and robots \(i\) and \(j\) can send information to each other. The set of neighbors of each agent \(i\) is denoted by \(\mathcal{N}_i = \{j \in \mathcal{V} \mid (i,j) \in \mathcal{E}\}\).

Robots are partitioned in two groups, namely leaders and followers. The goal for the followers is to converge to the convex hull of the leaders’ positions. To this end, the robots implement the dynamics

\[\begin{split}\begin{split} \dot{x}_i(t) &= 0 \hspace{4cm} & \text{(leaders)}, \\ \dot{x}_i(t) &= \sum_{j \in \mathcal{N}_i} (x_j(t) - x_t(t)) & \text{(followers)}. \end{split}\end{split}\]

Launch the simulation

In order to launch a simulation with \(6\) robots, run in a terminal

ros2 launch choirbot_examples containment.launch.py N:=6

References

QSNEH11

Giuseppe Notarstefano, Magnus Egerstedt, and M Haque. Containment in leader–follower networks with switching communication topologies. Automatica, 47(5):1035–1040, 2011.