Vous êtes sur la page 1sur 2

ST2CF – Commande

de flotte & multi-robots TP no2


aériens Flottes de robots – Leader Follower

Flottes de robots - Leader Follower

L’objectif de ce TP est d’implémenter et de tester un algorithme de type leader-follower pour


permettre à un ensemble de 6 robots ou drones de se déplacer en formation.

Trois fichiers Python vous seront utiles pour l’ensemble des TPs de ce module. Chacun définit
différentes classes d’objets, et peut être importé comme un module Python dans d’autres scripts. Un
test unitaire peut être lancé en exécutant chacun de ces fichiers.

- Le fichier Robot.py définit les classes d’objets suivantes :

Robot : définit un objet de type robot par la donnée de son identifiant (numéro), de son type de
dynamique (ex : simple intégrateur), de son vecteur d’état et de son vecteur de commande.

Fleet : définit un objet de type flotte de robots par la donne du nombre de robots la composant,
et d’un tableau d’objets de classe Robot.

- Le fichier Graph.py définit la classe d’objet suivante :

Graph : définit un objet de type graphe par la donnée du nombre de nœuds le composant, sa
matrice d’adjacence ainsi que sa matrice de Laplace.

- Le fichier Simulation.py définit les classes d’objets suivantes :

RobotSimulation : définit un objet de type « simulation d’un robot » par la donnée du robot à
simuler, des instants de début et de fin ainsi que du pas de temps de la simulation. Il permet
également de stocker les valeurs des vecteurs d’état et de commande du robot à chaque instant
simulé.

FleetSimulation : définit un objet de type « simulation d’une flotte de robots » par la donnée
du nombre de robots, d’un tableau d’objets de type RobotSimulation, ainsi que des différentes
grandeurs temporelles déjà décrites pour la classe RobotSimulation.

Une fois validés en simulation à l’aide de ces fichiers, vous pourrez implémenter votre code sur le
simulateur Python de Robotarium, puis déposer vos expérimentations en ligne sur
https://www.robotarium.gatech.edu/

~ Majeure Systèmes Robotiques et Drones - S. Bertrand – 2023 ~


ST2CF – Commande
de flotte & multi-robots TP no2
aériens Flottes de robots – Leader Follower

Un fichier LeaderFollower.py vous est donné comme base de départ. Il définit la flotte composée des
6 robots (type simple intégrateur en deux dimensions) ainsi que la valeur initiale de leurs états (tirée
aléatoirement). Le premier robot de la flotte est arbitrairement choisi comme leader.

II.1) Quelle structure de données Python vous paraît la plus adaptée pour stocker les vecteurs de
positions relatives de référence entre le leader et chacun des autres robots ?

II.2) Implémentez cette structure de données pour définir les vecteurs positions relatives de référence
conduisant à la formation représentée ci-dessous. Le numéro correspond à celui du robot dans la flotte,
l’étoile désignant le leader (robot 0). La distance d pourra par exemple être prise égale à 1m.

II.3) Codez les lois de commande pour le robot leader et pour les robots followers, dans le cas d’une
consigne constante en position pour le leader. Testez et validez en simulation.

II.4) Adaptez les lois de commande de la question précédente pour que le leader puisse suivre une
trajectoire sinusoïdale dans le plan, en se déplaçant dans le sens des ordonnées croissantes. Testez et
validez en simulation.

Implémentation sous Robotarium

II.5) Implémentez le code développé à la question II.4 sur le simulateur Python de Robotarium pour
une trajectoire circulaire dans le plan. Testez et validez (le réglage des gains peut être mis à jour par
rapport à la question I.4).

II.6) Déposez votre code sur la plateforme en ligne de Robotarium afin de réaliser une
expérimentation.

~ Majeure Systèmes Robotiques et Drones - S. Bertrand – 2023 ~

Vous aimerez peut-être aussi