Le programme de lecture et d’affichage de la carte :
import numpy as npimport mathimport matplotlib.pyplot as pltimport numpy as npimport csvliste_distance = []liste_orientation = []fichier = open("carte.csv", "r")c = 0
# lecture fichierwhile True: ligne = fichier.readline() if ligne =='': break # fin fichier # lecture de la distance (capteur distance) distance = ligne.split(';')[0] # lecture orientation orientation = ligne.split(';')[1] # correction de la distance par rapport au centre du robot et la position du capteur distance = float(distance) + 50 # conversion en radian if float(orientation) > 0: orientation = (float(orientation)*3.14)/180 liste_distance.append(float(distance)) liste_orientation.append(float(orientation)) c = c + 1
ax = plt.subplot(111, projection='polar')ax.plot(liste_orientation, liste_distance)ax.grid(True)plt.show()
La gestion des robots en parallèle est gérer par fabric (www.fabfile.org). Un outil SSH permettant d’envoyer plusieurs commandes SSH en parallèle. Chaques robots MRPiZ est identifié par une adresse IP unique: