From 4895e54c666db9720abda0aa8ae901058679aee3 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 18 Dec 2011 15:19:06 +0100 Subject: digital/asserv: convert to new control system --- digital/asserv/src/asserv/models.host.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'digital/asserv/src/asserv/models.host.h') diff --git a/digital/asserv/src/asserv/models.host.h b/digital/asserv/src/asserv/models.host.h index d8f1dcb8..d865aa6b 100644 --- a/digital/asserv/src/asserv/models.host.h +++ b/digital/asserv/src/asserv/models.host.h @@ -24,6 +24,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * }}} */ +#include "modules/motor/motor_model/motor_model_defs.host.h" #define ECHANT_PERIOD (1.0 / (14745600.0 / 256 / 256)) @@ -34,7 +35,9 @@ struct robot_t { /** Main motors. */ - const struct motor_def_t *main_motor; + const motor_model_def_t *main_motor; + /** Motors voltage (V). */ + double u_max; /** Number of steps on the main motors encoders. */ int main_encoder_steps; /** Wheel radius (m). */ @@ -52,9 +55,11 @@ struct robot_t /** Distance between the encoders wheels (m). */ double encoder_footing; /** Auxiliary motors, NULL if not present. */ - const struct motor_def_t *aux_motor[AC_ASSERV_AUX_NB]; + const motor_model_def_t *aux_motor[AC_ASSERV_AUX_NB]; /** Number of steps for each auxiliary motor encoder. */ int aux_encoder_steps[AC_ASSERV_AUX_NB]; + /** Load for auxiliary motors (kg.m^2). */ + double aux_load[AC_ASSERV_AUX_NB]; /** Sensor update function. */ void (*sensor_update) (void); /** Table test function, return false if given robot point is not in @@ -62,6 +67,9 @@ struct robot_t int (*table_test) (double p_x, double p_y); /** Robot corners, from front left, then clockwise. */ double corners[CORNERS_NB][2]; + /** Initialisation function. */ + void (*init) (const struct robot_t *robot, motor_model_t *main_motor_left, + motor_model_t *main_motor_right, motor_model_t aux_motor[]); }; /** Get a pointer to a model by name, or return 0. */ @@ -70,7 +78,7 @@ models_get (const char *name); /** Initialise simulation models. */ void -models_init (const struct robot_t *robot, struct motor_t *main_motor_left, - struct motor_t *main_motor_right, struct motor_t aux_motor[]); +models_init (const struct robot_t *robot, motor_model_t *main_motor_left, + motor_model_t *main_motor_right, motor_model_t aux_motor[]); #endif /* models_host_h */ -- cgit v1.2.3