summaryrefslogtreecommitdiff
path: root/digital/ai/tools/robospierre.py
diff options
context:
space:
mode:
Diffstat (limited to 'digital/ai/tools/robospierre.py')
-rw-r--r--digital/ai/tools/robospierre.py62
1 files changed, 34 insertions, 28 deletions
diff --git a/digital/ai/tools/robospierre.py b/digital/ai/tools/robospierre.py
index 6a44883e..0d258b34 100644
--- a/digital/ai/tools/robospierre.py
+++ b/digital/ai/tools/robospierre.py
@@ -1,10 +1,3 @@
-import simu.model.table_eurobot2011
-import simu.view.table_eurobot2011
-
-import simu.robots.robospierre.link.bag
-import simu.robots.robospierre.model.bag
-import simu.robots.robospierre.view.bag
-
import asserv
import asserv.init
import mimot
@@ -16,26 +9,39 @@ from proto.popen_io import PopenIO
import math
class Robot:
+ """Robospierre robot instance."""
+
+ import simu.model.table_eurobot2011 as table_model
+ import simu.view.table_eurobot2011 as table_view
+
+ import simu.robots.robospierre.link.bag as robot_link
+ import simu.robots.robospierre.model.bag as robot_model
+ import simu.robots.robospierre.view.bag as robot_view
+
+ robot_start_pos = {
+ # In real life, better place the robot in green zone.
+ False: (300, 2100 - 200, math.radians (180)),
+ True: (3000 - 300, 2100 - 200, math.radians (0))
+ }
+
+ client_nb = 3
- def __init__ (self, proto_time):
- self.table_model = simu.model.table_eurobot2011
- self.table_view = simu.view.table_eurobot2011
- self.robot_link = simu.robots.robospierre.link.bag
- self.robot_model = simu.robots.robospierre.model.bag
- self.robot_view = simu.robots.robospierre.view.bag
- asserv_cmd = ('../../asserv/src/asserv/asserv.host', '-m9',
- 'robospierre')
- mimot_cmd = ('../../mimot/src/dirty/dirty.host', '-m9', 'robospierre')
- io_hub_cmd = ('../../io-hub/src/robospierre/io_hub.host')
- self.asserv = asserv.Proto (PopenIO (asserv_cmd), proto_time,
- **asserv.init.host['robospierre'])
- self.mimot = mimot.Proto (PopenIO (mimot_cmd), proto_time,
- **mimot.init.host['robospierre'])
- self.io = io_hub.Proto (PopenIO (io_hub_cmd), proto_time,
- **io_hub.init.host['robospierre'])
- self.robot_start_pos = {
- # In real life, better place the robot in green zone.
- False: (300, 2100 - 200, math.radians (180)),
- True: (3000 - 300, 2100 - 200, math.radians (0))
- }
+ def __init__ (self, proto_time, instance = 'robot0'):
+ self.instance = instance
+ def proto (proto_class, cmd, init):
+ cmd = [ s.format (instance = instance) for s in cmd ]
+ return proto_class (PopenIO (cmd), proto_time, **init)
+ asserv_cmd = ('../../asserv/src/asserv/asserv.host',
+ '-i{instance}:asserv0', '-m9', 'robospierre')
+ mimot_cmd = ('../../mimot/src/dirty/dirty.host',
+ '-i{instance}:mimot0', '-m9', 'robospierre')
+ io_hub_cmd = ('../../io-hub/src/robospierre/io_hub.host',
+ '-i{instance}:io0')
+ self.asserv = proto (asserv.Proto, asserv_cmd,
+ asserv.init.host['robospierre'])
+ self.mimot = proto (mimot.Proto, mimot_cmd,
+ mimot.init.host['robospierre'])
+ self.io = proto (io_hub.Proto, io_hub_cmd,
+ io_hub.init.host['robospierre'])
+ self.protos = (self.asserv, self.mimot, self.io)