summaryrefslogtreecommitdiff
path: root/host/simu/robots/robospierre/model/bag.py
diff options
context:
space:
mode:
authorNicolas Schodet2012-03-21 00:46:03 +0100
committerNicolas Schodet2012-03-21 18:56:51 +0100
commit1e7c8a8a9811c45091e6c471482086113f059f40 (patch)
treed7faa80dd162799c394ec23925cc53b6dbff008e /host/simu/robots/robospierre/model/bag.py
parent0feb542a8cf7630a5d442387727414f5251aad83 (diff)
parentdcb79f383269440ec2c5a54b6d7792fbb0110d5a (diff)
Merge branch 'master' into efrei-robotique
Conflicts: digital/mimot/src/dirty/aux.c digital/mimot/src/dirty/aux.h digital/mimot/src/dirty/contacts.h digital/mimot/src/dirty/main.c digital/mimot/src/dirty/models.host.c digital/mimot/src/dirty/twi_proto.c digital/mimot/tools/mimot/init.py
Diffstat (limited to 'host/simu/robots/robospierre/model/bag.py')
-rw-r--r--host/simu/robots/robospierre/model/bag.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/host/simu/robots/robospierre/model/bag.py b/host/simu/robots/robospierre/model/bag.py
index ce55f997..cedb3805 100644
--- a/host/simu/robots/robospierre/model/bag.py
+++ b/host/simu/robots/robospierre/model/bag.py
@@ -28,29 +28,36 @@ from simu.model.motor_basic import MotorBasic
from simu.model.distance_sensor_sensopart import DistanceSensorSensopart
from simu.robots.robospierre.model.clamp import Clamp
from math import pi
+import random
class Bag:
def __init__ (self, scheduler, table, link_bag):
- self.color_switch = Switch (link_bag.io_hub.contact[0])
- self.jack = Switch (link_bag.io_hub.contact[1])
+ self.color_switch = Switch (link_bag.io_hub.contact[0], invert = True)
+ self.color_switch.state = random.choice ((False, True))
+ self.color_switch.notify ()
+ self.jack = Switch (link_bag.io_hub.contact[1], invert = True)
+ self.strat_switch = Switch (link_bag.io_hub.contact[9], invert = True)
self.contact = [ Switch (contact)
- for contact in link_bag.io_hub.contact[2:] ]
+ for contact in link_bag.io_hub.contact[2:9] ]
self.position = Position (link_bag.asserv.position)
- self.clamping_motor = MotorBasic (link_bag.io_hub.pwm[0], scheduler,
- 2 * pi, 0, pi)
+ self.clamping_motor = MotorBasic (link_bag.io_hub.pwm[2], scheduler,
+ 8 * pi, 0, pi)
+ self.door_motors = [ MotorBasic (link_bag.io_hub.pwm[i], scheduler,
+ 8 * pi, 0, 0.5 * pi) for i in (0, 1, 3, 4) ]
self.clamp = Clamp (table, self.position, link_bag.mimot.aux[0],
- link_bag.mimot.aux[1], self.clamping_motor)
+ link_bag.mimot.aux[1], self.clamping_motor, self.door_motors,
+ self.contact[0:7], link_bag.io_hub.codebar)
self.distance_sensor = [
DistanceSensorSensopart (link_bag.io_hub.adc[0], scheduler, table,
- (20, -20), -pi * 10 / 180, (self.position, ), 2),
- DistanceSensorSensopart (link_bag.io_hub.adc[1], scheduler, table,
(20, 20), pi * 10 / 180, (self.position, ), 2),
+ DistanceSensorSensopart (link_bag.io_hub.adc[1], scheduler, table,
+ (20, -20), -pi * 10 / 180, (self.position, ), 2),
DistanceSensorSensopart (link_bag.io_hub.adc[2], scheduler, table,
- (-20, 20), pi - pi * 10 / 180, (self.position, ), 2),
- DistanceSensorSensopart (link_bag.io_hub.adc[3], scheduler, table,
(-20, -20), pi + pi * 10 / 180, (self.position, ), 2),
+ DistanceSensorSensopart (link_bag.io_hub.adc[3], scheduler, table,
+ (-20, 20), pi - pi * 10 / 180, (self.position, ), 2),
]
- for adc in link_bag.io_hub.adc[4:]:
- adc.value = 0
+ self.path = link_bag.io_hub.path
+ self.pos_report = link_bag.io_hub.pos_report