From 49c97fc3dedbeb92a8169a38ea782113e3e5b575 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 29 Mar 2013 23:31:19 +0100 Subject: digital/ai, digital/mimot: add simulated mimot for APBirthday Not very complicated, mimot is only used for the pump. --- digital/ai/tools/apbirthday.py | 10 ++++++++-- digital/mimot/src/dirty/models.host.c | 18 ++++++++++++++++++ digital/mimot/tools/mimot/init.py | 3 +++ 3 files changed, 29 insertions(+), 2 deletions(-) (limited to 'digital') diff --git a/digital/ai/tools/apbirthday.py b/digital/ai/tools/apbirthday.py index 500ac22f..be53b84e 100644 --- a/digital/ai/tools/apbirthday.py +++ b/digital/ai/tools/apbirthday.py @@ -1,5 +1,7 @@ import asserv import asserv.init +import mimot +import mimot.init import io_hub import io_hub.init @@ -22,7 +24,7 @@ class Robot: True: (3000 - 650, 2000 - 250, math.radians (90)) } - client_nb = 3 + client_nb = 4 tick = 1000 @@ -36,14 +38,18 @@ class Robot: subprocess.Popen (cmd) asserv_cmd = ('../../mimot/src/asserv/asserv.host', '-i{instance}:asserv0', '-m9', 'apbirthday') + mimot_cmd = ('../../mimot/src/dirty/dirty.host', + '-i{instance}:mimot0', '-m9', 'apbirthday') io_hub_cmd = ('../../io-hub/src/apbirthday/apbirthday.host', '-i{instance}:io0') beacon_stub_cmd = ('../../beacon/src/stub/simu_stub.host', '-i{instance}:beacon0') self.asserv = proto (asserv.Proto, asserv_cmd, asserv.init.host['apbirthday']) + self.mimot = proto (mimot.Proto, mimot_cmd, + mimot.init.host['guybrush']) self.io = proto (io_hub.ProtoGuybrush, io_hub_cmd, io_hub.init.host['apbirthday']) self.beacon_stub = prog (beacon_stub_cmd) - self.protos = (self.asserv, self.io) + self.protos = (self.asserv, self.mimot, self.io) diff --git a/digital/mimot/src/dirty/models.host.c b/digital/mimot/src/dirty/models.host.c index 40586673..521b2b3c 100644 --- a/digital/mimot/src/dirty/models.host.c +++ b/digital/mimot/src/dirty/models.host.c @@ -93,6 +93,23 @@ static const struct robot_t guybrush_robot = NULL, }; +/* APBirthday, APBTeam 2013. */ +static const struct robot_t apbirthday_robot = +{ + /** Auxiliary motors, NULL if not present. */ + { &motor_model_def_amax32ghp_x16, NULL }, + /** Motors voltage (V). */ + 24.0, + /** Number of steps for each auxiliary motor encoder. */ + { 250, 0 }, + /** Load for auxiliary motors (kg.m^2). */ + { 1.000 * 0.05 * 0.05, 0 }, + /** Sensor update function. */ + NULL, + /** Initialisation function. */ + NULL, +}; + /* Table of models. */ static const struct { @@ -102,6 +119,7 @@ static const struct { "marcel", &marcel_robot }, { "robospierre", &robospierre_robot }, { "guybrush", &guybrush_robot }, + { "apbirthday", &apbirthday_robot }, { 0, 0 } }; diff --git a/digital/mimot/tools/mimot/init.py b/digital/mimot/tools/mimot/init.py index 01511f21..d333ff5c 100644 --- a/digital/mimot/tools/mimot/init.py +++ b/digital/mimot/tools/mimot/init.py @@ -23,10 +23,13 @@ target_guybrush = dict ( a0_bd_error_limit = 22, a0_bd_speed_limit = 0x08, a0_bd_counter_limit = 50, e_sat = 0x3ff, d_sat = 0x1ff, ) +target_apbirthday = dict ( + ) target = { 'marcel': target_marcel, 'robospierre': target_robospierre, 'guybrush': target_guybrush, + 'apbirthday': target_apbirthday, } host = target -- cgit v1.2.3