summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/movement_goto.h
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/motor/movement_goto.h')
-rw-r--r--2004/i/nono/src/motor/movement_goto.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/2004/i/nono/src/motor/movement_goto.h b/2004/i/nono/src/motor/movement_goto.h
index dbd4e67..721d481 100644
--- a/2004/i/nono/src/motor/movement_goto.h
+++ b/2004/i/nono/src/motor/movement_goto.h
@@ -26,10 +26,8 @@
// }}}
#include "movement.h"
-class MovementGoTo : public Movement
+class MovementGotoParam
{
- // Position d'arrivée.
- double dX_, dY_;
// Epsilon.
double eps_;
// Distance du point cible courant.
@@ -38,16 +36,29 @@ class MovementGoTo : public Movement
double kpl_, kpa_;
// Coefficient intégrals linéaire et angulaire.
double kil_, kia_;
+ // Maximum de saturation de l'integralle.
+ double is_;
// Coefficient de dérivée linéaire et angulaire.
double kdl_, kda_;
+ public:
+ /// Constructeur, charge les paramètres depuis la Config.
+ MovementGotoParam (void);
+ friend class MovementGoto;
+};
+
+class MovementGoto : public Movement
+{
+ // Position d'arrivée.
+ double dX_, dY_;
// Integrales.
double il_, ia_;
// Dernière valeurs d'erreur.
double lel_, lea_;
+ // Paramètres d'asservissement.
+ static MovementGotoParam param_;
public:
// Constructeur.
- MovementGoTo (double x, double y, double eps, double dist, double kpl,
- double kpa, double kil, double kia, double kdl, double kda);
+ MovementGoto (double x, double y);
// Controlle la vitesse, retourne faux si mouvement terminé.
bool control (void);
};