Robot secondaire
Dependencies: RoboClaw mbed StepperMotor
Fork of RoboClaw by
Diff: Odometry/Odometry.h
- Revision:
- 7:961c1acdf753
- Parent:
- 6:f54df7542988
- Child:
- 8:12d7123a500e
--- a/Odometry/Odometry.h Tue Nov 24 22:26:09 2015 +0000 +++ b/Odometry/Odometry.h Tue Nov 24 22:54:55 2015 +0000 @@ -25,12 +25,15 @@ */ Odometry(double diameter_right, double diameter_left, double v, RoboClaw &rc); - /** Les fonctions suivantes permettent de réinitialiser les valeurs de position de l'odometrie. */ + /** Les fonctions suivantes permettent de reinitialiser les valeurs de position de l'odometrie. + */ void setPos(double x, double y, double theta); void setX(double x); void setY(double y); void setTheta(double theta); + /** Les fonctions suivantes permettent de deplacer le robot vers une position ou un angle voulu + */ void GotoXYT(double x_goal, double y_goal, double theta_goal); void GotoThet(double theta_); void GotoDist(double distance); @@ -45,6 +48,9 @@ else return x; } + /** Les fonction suivantes sont actuellement inutilisables, elles pourraient buguer en cas d'utilisation. + * @note pour que les fonctions retournent une valeur correcte, il faut actualiser l'odometrie avec update_odo auparavant + */ double getVitLeft() {return m_vitLeft;} double getVitRight() {return m_vitRight;} @@ -53,15 +59,20 @@ void setDistLeft(double dist) {m_distLeft = dist;} void setDistRight(double dist) {m_distRight = dist;} - - void update_odo(void); + double calcul_distance(double x, double y, double theta_goal); int32_t getPulsesLeft(void) {return m_pulses_left;} int32_t getPulsesRight(void) {return m_pulses_right;} double carre(double a) {return a*a;} - bool isArrivedRot(double theta_); + /** La fonction retourne vraie quand le robot atteint l'angle voulu avec une marge d'erreur definie par la fonction + * @param theta_ valeur de l'angle devant etre atteint + */ + bool isArrivedRot(double theta_); + /** Permet de mettre à jour les valeurs de l'odometrie + */ + void update_odo(void); private: RoboClaw &roboclaw;