From 35d0598da33712d7361be4ae3d2de472df6b645b Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 13 Apr 2012 21:52:01 +0200 Subject: host/simu/robots: add beacon on robots This is used for match with two robots. --- host/simu/robots/marcel/model/bag.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'host/simu/robots/marcel') diff --git a/host/simu/robots/marcel/model/bag.py b/host/simu/robots/marcel/model/bag.py index 0f51b2ba..67cc0359 100644 --- a/host/simu/robots/marcel/model/bag.py +++ b/host/simu/robots/marcel/model/bag.py @@ -25,6 +25,7 @@ from simu.model.switch import Switch from simu.model.position import Position from simu.robots.marcel.model.loader import Loader +from simu.model.round_obstacle import RoundObstacle from simu.model.distance_sensor_sensopart import DistanceSensorSensopart from math import pi @@ -34,19 +35,27 @@ class Bag: self.jack = Switch (link_bag.io.jack) self.color_switch = Switch (link_bag.io.color_switch) self.contact = [ Switch (contact) for contact in link_bag.io.contact ] - self.position = Position (link_bag.asserv.position) + self.beacon = RoundObstacle (40, 5) + table.obstacles.append (self.beacon) + self.position = Position (link_bag.asserv.position, [ self.beacon ]) self.loader = Loader (table, self.position, link_bag.mimot.aux[0], link_bag.mimot.aux[1], link_bag.asserv.aux[0], link_bag.asserv.aux[1], link_bag.io.contact[0:2]) + def distance_sensor_exclude (o): + return o is self.beacon self.distance_sensor = [ DistanceSensorSensopart (link_bag.io.adc[0], scheduler, table, - (30 - 20, 0), 0, (self.position, ), 5), + (30 - 20, 0), 0, (self.position, ), 5, + distance_sensor_exclude), DistanceSensorSensopart (link_bag.io.adc[1], scheduler, table, - (20 - 20, 20), pi * 30 / 180, (self.position, ), 5), + (20 - 20, 20), pi * 30 / 180, (self.position, ), 5, + distance_sensor_exclude), DistanceSensorSensopart (link_bag.io.adc[2], scheduler, table, - (20 - 20, -20), -pi * 30 / 180, (self.position, ), 5), + (20 - 20, -20), -pi * 30 / 180, (self.position, ), 5, + distance_sensor_exclude), DistanceSensorSensopart (link_bag.io.adc[3], scheduler, table, - (-30 - 20, 0), pi, (self.position, ), 5), + (-30 - 20, 0), pi, (self.position, ), 5, + distance_sensor_exclude), ] link_bag.io.adc[4].value = 0 link_bag.io.adc[5].value = 0 -- cgit v1.2.3