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
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
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.