def setUp(self): self.arene = Arene() # Création aléatoire des variables l = [random.randint(1, 5) * random.choice([1, -1]) for i in range(2)] origine = Point(l[0], l[1], 0) teta = random.random() * random.choice( [1, -1]) * 2 * pi # Angle du vecteur entre l'origine et le pavé v = Vecteur(1, 0, 0).rotate(teta).norm() # True est obligatoire pour que test_vue_dessus affiche le pavé au centre self.view_mat = VueMatriceArene(self.arene, origine.clone(), v.clone(), True)
def setUp(self): c = Point(2, 2, 1) v = Vecteur(1, 0, 0) dist = 3.0 self.arene = Arene() self.strat = DeplacementDroitAmeliore(robot=RobotMotorise( forme=Pave(1, 1, 1, c.clone()), direction=v.clone()), arene=self.arene) self.v = self.strat.robot.direction * dist self.p = Pave(0.5, 0.5, 0.5, self.strat.robot.centre + self.v) self.arene.add(self.p) self.arene.add(self.strat.robot)
class TestDroitVersBalise(unittest.TestCase): """ TODO: S'arranger pour que la direction u capteur ir suive bien celle de la tête """ def setUp(self): self.v2 = Vecteur(1,0,0) self.p0 = Point(1,1,0.5) self.strat = DroitVersBaliseVision(RobotMotorise(forme=Pave(1,1,1,self.p0.clone()), direction=self.v2.clone()), AreneFermee(5,5,5)) self.target = RobotTarget(forme=Pave(1,1,1, self.p0.clone()+self.v2*3), direction=self.v2.clone()) self.strat.arene.add(self.target) def test_target_straith_trajectory(self): self.strat2 = DeplacementDroit(robot=self.target,vitesse= 30, distance_max=2) td = Thread(target=self.strat.start_3D) sim = Simulation(strategies=[self.strat2, self.strat], tmax=15, tic=3, tic_display=[self.strat], final_actions=[self.strat.stop_3D]) td.start() while not self.strat.robot.tete.sensors["cam"].is_set: pass sim.start() while not sim.stop: pass def test_target_circle_trajectectory(self): self.strat = DroitVersBaliseVision(RobotMotorise(forme=Pave(1,1,1,self.p0.clone()), direction=self.v2.clone()), AreneFermee(10,10,10)) self.strat2 = DeplacementCercle(robot=self.target,vitesse=30, diametre=3, angle_max=360) td = Thread(target=self.strat.start_3D) sim = Simulation(strategies=[self.strat2, self.strat], tmax=15, tic=1,tic_display=[self.strat], final_actions=[self.strat.stop_3D]) td.start() while not self.strat.robot.tete.sensors["cam"].is_set: pass sim.start() while not sim.stop: pass self.assertNotEqual(self.strat.last_detected, None)