summaryrefslogtreecommitdiff
path: root/digital/mimot/src/dirty/models.host.h
diff options
context:
space:
mode:
Diffstat (limited to 'digital/mimot/src/dirty/models.host.h')
-rw-r--r--digital/mimot/src/dirty/models.host.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/digital/mimot/src/dirty/models.host.h b/digital/mimot/src/dirty/models.host.h
index 0e53aaea..e1bf3427 100644
--- a/digital/mimot/src/dirty/models.host.h
+++ b/digital/mimot/src/dirty/models.host.h
@@ -31,10 +31,24 @@
* Encoder characteristics are defined at gearbox output. */
struct robot_t
{
- /** Auxiliary motors, NULL if not present. */
- const struct motor_def_t *aux_motor[AC_ASSERV_AUX_NB];
- /** Number of steps for each auxiliary motor encoder. */
- int aux_encoder_steps[AC_ASSERV_AUX_NB];
+ /** Main motors. */
+ const struct motor_def_t *main_motor;
+ /** Number of steps on the main motors encoders. */
+ int main_encoder_steps;
+ /** Wheel radius (m). */
+ double wheel_r;
+ /** Distance between the wheels (m). */
+ double footing;
+ /** Weight of the robot (kg). */
+ double weight;
+ /** Distance of the gravity center from the center of motors axis (m). */
+ double gravity_center_distance;
+ /** Whether the encoder is mounted on the main motor (false) or not (true). */
+ int encoder_separated;
+ /** Encoder wheel radius (m). */
+ double encoder_wheel_r;
+ /** Distance between the encoders wheels (m). */
+ double encoder_footing;
/** Sensor update function. */
void (*sensor_update) (void);
};
@@ -45,6 +59,7 @@ models_get (const char *name);
/** Initialise simulation models. */
void
-models_init (const struct robot_t *robot, struct motor_t aux_motor[]);
+models_init (const struct robot_t *robot, struct motor_t *main_motor_left,
+ struct motor_t *main_motor_right);
#endif /* models_host_h */