summaryrefslogtreecommitdiff
path: root/digital/ai/tools/guybrush.py
diff options
context:
space:
mode:
authorNicolas Schodet2012-03-26 01:01:02 +0200
committerNicolas Schodet2012-03-26 01:01:02 +0200
commitb205ee5bcb6adacf9b23448bf17ee0ff8bd16ae3 (patch)
tree6bdd15258808a9c10a327d5ffeaba9dd661ccdb0 /digital/ai/tools/guybrush.py
parentc912f3edd803e4d8e6664e360590a0a538fbc7e5 (diff)
digital/{ai, io-hub}, host/simu/robots: add guybrush
Still use robospierre parameters for asserv and mimot
Diffstat (limited to 'digital/ai/tools/guybrush.py')
-rw-r--r--digital/ai/tools/guybrush.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/digital/ai/tools/guybrush.py b/digital/ai/tools/guybrush.py
new file mode 100644
index 00000000..d5124e9b
--- /dev/null
+++ b/digital/ai/tools/guybrush.py
@@ -0,0 +1,46 @@
+import asserv
+import asserv.init
+import mimot
+import mimot.init
+import io_hub
+import io_hub.init
+
+from proto.popen_io import PopenIO
+import math
+
+class Robot:
+ """Guybrush robot instance."""
+
+ import simu.model.table_eurobot2012 as table_model
+ import simu.view.table_eurobot2012 as table_view
+
+ import simu.robots.guybrush.link.bag as robot_link
+ import simu.robots.guybrush.model.bag as robot_model
+ import simu.robots.guybrush.view.bag as robot_view
+
+ robot_start_pos = {
+ False: (300, 2000 - 200, math.radians (180)),
+ True: (3000 - 300, 2000 - 200, math.radians (0))
+ }
+
+ client_nb = 3
+
+ 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/guybrush/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.ProtoGuybrush, io_hub_cmd,
+ io_hub.init.host['guybrush'])
+ self.protos = (self.asserv, self.mimot, self.io)
+