summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/motor.h
diff options
context:
space:
mode:
authorschodet2004-04-22 22:01:08 +0000
committerschodet2004-04-22 22:01:08 +0000
commitdddf37ebeac3b89c7e1cfe644ceefa85d2d02aec (patch)
tree2db2b8ee9a290004fc60655cd431f456e99f2889 /2004/i/nono/src/motor/motor.h
parent96ee48cd9845c16b999c3e6d2caecdb448a47194 (diff)
Nouvelle version de la carte d'asservissement.
Nouvelle version MovementGoto.
Diffstat (limited to '2004/i/nono/src/motor/motor.h')
-rw-r--r--2004/i/nono/src/motor/motor.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/2004/i/nono/src/motor/motor.h b/2004/i/nono/src/motor/motor.h
index fca17c4..cd596a7 100644
--- a/2004/i/nono/src/motor/motor.h
+++ b/2004/i/nono/src/motor/motor.h
@@ -43,6 +43,8 @@ class Motor : public AsservTracker
static Motor *instance_;
/// Echelles (mm/unit, mm/s.unit, mm/s^2.unit).
double s_, vs_, as_;
+ /// Distance de freinage à vitesse maximale.
+ double brakeDistance_;
/// Mouvement en cours.
Movement *movement_;
/// Vitesses maximale et minimale (unit).
@@ -54,12 +56,12 @@ class Motor : public AsservTracker
virtual ~Motor (void);
/// Récupère l'instance unique.
static Motor &getInstance (void) { return *instance_; }
- /// Appelée lors d'une mise à jour des compteurs.
+ /// Appelée lors d'une mise à jour des compteurs (unit).
void updateCounter (int l, int r);
/// Choisi le mouvement en cours.
void setMovement (Movement *m);
/// Active l'asservissement.
- void go (bool fl = true) { asserv_.go (fl); }
+ void go (bool fl = true) { asserv_.setAsserv (fl); }
/// Teste si l'émission est terminée.
bool ok (void) { return asserv_.ok (); }
/// Attend que toute les émissions soit terminées.
@@ -76,8 +78,9 @@ class Motor : public AsservTracker
const Tracker &getTracker (void) const { return tracker_; }
/// Paramètre la vitesse des moteurs (-1..+1).
void speed (double l, double r);
- /// Va vers un point, renvois faux si atteind.
- bool goTo (double x, double y, double eps = 5.0);
+ /// Calcule la vitesse en ligne droit afin de pouvoir freiner au bout
+ /// d'une distance (mm).
+ double computeSpeed (double dist) const;
/// Va vers un point, en formant un arc de cercle, renvois faux si atteind.
/// \deprecated Utiliser goTo().
bool goToArc (double x, double y, double eps = 5.0);