Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider e069c6d1 rédigé par Titouan RAVARD's avatar Titouan RAVARD
Parcourir les fichiers

revert test_plant and add 2 new strat for yellow. need to test and miror in blue

parent 04653d88
Branches
Étiquettes
Aucune requête de fusion associée trouvée
......@@ -138,10 +138,7 @@ class DemoSquareRobot(Robot):
sendI2CData(AVANCE_POUSSE_POUSSE)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1900, 1940) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(1900, 1940) # in mm
target_position = pl.PointImage(1900, 1950) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2700, 1000) # in mm
......
from robot import Robot
from robot.movement import positionLib as pl
from robot.actionneurs.com_arduino_i2c import sendI2CData
from robot.actionneurs.op_codes import *
from robot.afficheur.affichage_statique_thread import main
import time
import threading
class DemoSquareRobot(Robot):
#zone en haut à droite avec groupe 1 le long de l'axe x de la table
start_position = pl.PositionRobot(pl.PointImage(2800, 200), -60)
def execute_strategy(self):
score = threading.Thread(target=main,args=(52,))
score.start()
#on allume le ruban de led en vert au début du match
sendI2CData("LLRs1")
#va chercher les 3 premières plantes
target_position = pl.PointImage(2200, 600) # in mm
target_angle = -60 # in degree
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1900, 800) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_PLANTES_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2200, 550) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(MONTE_ASCENSEUR_GRP3)
time.sleep(0.25) # attente mouvement servos
# va chercher les 3 premiers pots
target_angle = -210 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2650, 720) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2750, 720) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_POTS_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
#les déposes dans la zone de départ là où le PAMI va arriver
target_position = pl.PointImage(2400, 240) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2300, 240) # in mm
self.base.doMovement(target_position, target_angle)
# se dirige vers la deuxième zone de plante
target_position = pl.PointImage(2250, 1200) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
# récupère les 3 plantes de la deuxième zone de plante
target_position = pl.PointImage(1900, 1500) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_PLANTES_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2200, 1200) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(MONTE_ASCENSEUR_GRP1)
time.sleep(0.25) # attente mouvement servos
# on va chercher les 2 autres pots
target_angle = -330 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2650, 1430) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2760, 1430) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_POTS_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2650, 1430) # in mm
self.base.doMovement(target_position, target_angle)
#fait tomber les plantes dans les pots
sendI2CData(OUVRE_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
target_angle = -420 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2750, 1800) # in mm
self.base.doMovement(target_position, target_angle)
#on les dépose dans la deuxième zone
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
#on fait les panneaux solaires
target_position = pl.PointImage(2800, 1950) # in mm
self.base.doMovement(target_position, target_angle)
time.sleep(1.0)
target_position = pl.PointImage(2800, 1940) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(AVANCE_POUSSE_POUSSE)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1650, 1940) # in mm
self.base.doMovement(target_position, target_angle)
#on rentre en troisième zone
target_position = pl.PointImage(1650, 1550) # in mm
self.base.doMovement(target_position, target_angle)
target_angle = -360 # in degree
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(300, 1000) # in mm
self.base.doMovement(target_position, target_angle)
def run():
strategy = DemoSquareRobot()
strategy.run()
......@@ -135,20 +135,16 @@ class DemoSquareRobot(Robot):
time.sleep(0.25) # attente mouvement servos
#on fait les panneaux solaires
target_position = pl.PointImage(2800, 1950) # in mm
self.base.doMovement(target_position, target_angle)
time.sleep(1.0)
target_position = pl.PointImage(2800, 1940) # in mm
target_position = pl.PointImage(2800, 1950) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(AVANCE_POUSSE_POUSSE)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1650, 1940) # in mm
target_position = pl.PointImage(1100, 1950) # in mm
self.base.doMovement(target_position, target_angle)
#on rentre en troisième zone
target_position = pl.PointImage(300, 1000) # in mm
self.base.doMovement(target_position, target_angle)
......
from robot import Robot
from robot.movement import positionLib as pl
from robot.actionneurs.com_arduino_i2c import sendI2CData
from robot.actionneurs.op_codes import *
from robot.afficheur.affichage_statique_thread import main
import time
import threading
class DemoSquareRobot(Robot):
#zone en haut à droite avec groupe 1 le long de l'axe x de la table
start_position = pl.PositionRobot(pl.PointImage(2800, 200), -60)
def execute_strategy(self):
score = threading.Thread(target=main,args=(52,))
score.start()
#on allume le ruban de led en vert au début du match
sendI2CData("LLRs1")
#va chercher les 3 premières plantes
target_position = pl.PointImage(2200, 600) # in mm
target_angle = -60 # in degree
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1900, 800) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_PLANTES_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2200, 550) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(MONTE_ASCENSEUR_GRP3)
time.sleep(0.25) # attente mouvement servos
# va chercher les 3 premiers pots
target_angle = -210 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2650, 720) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2750, 720) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_POTS_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_PLANTES_GRP3)
time.sleep(0.25) # attente mouvement servos
#les déposes dans la zone de départ là où le PAMI va arriver
target_position = pl.PointImage(2400, 240) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2300, 240) # in mm
self.base.doMovement(target_position, target_angle)
# se dirige vers la deuxième zone de plante
target_position = pl.PointImage(2250, 1200) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_POTS_GRP3)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
# récupère les 3 plantes de la deuxième zone de plante
target_position = pl.PointImage(1900, 1500) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_PLANTES_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2200, 1200) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(FERME_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
sendI2CData(MONTE_ASCENSEUR_GRP1)
time.sleep(0.25) # attente mouvement servos
# on va chercher les 2 autres pots
target_angle = -270 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2030, 1650) # in mm
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2030, 1760) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(SERRE_POTS_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(2030, 1650) # in mm
self.base.doMovement(target_position, target_angle)
#fait tomber les plantes dans les pots
sendI2CData(OUVRE_PINCES_PLANTES_GRP1)
time.sleep(0.25) # attente mouvement servos
target_angle = -210 # in degree
self.base.doMovement(target_position, target_angle)
target_position = pl.PointImage(2750, 1800) # in mm
self.base.doMovement(target_position, target_angle)
#on les dépose dans la deuxième zone
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
#on fait les panneaux solaires
target_position = pl.PointImage(2800, 1950) # in mm
self.base.doMovement(target_position, target_angle)
sendI2CData(AVANCE_POUSSE_POUSSE)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(1100, 1950) # in mm
self.base.doMovement(target_position, target_angle)
#on rentre en troisième zone
target_position = pl.PointImage(300, 1000) # in mm
self.base.doMovement(target_position, target_angle)
target_angle = -510 # in degree
self.base.doMovement(target_position, target_angle)
sendI2CData(OUVRE_PINCES_POTS_GRP1)
time.sleep(0.25) # attente mouvement servos
target_position = pl.PointImage(400, 1000) # in mm
self.base.doMovement(target_position, target_angle)
def run():
strategy = DemoSquareRobot()
strategy.run()
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter