l

Dependencies:   mbed Asser2

Committer:
GuillaumeCH
Date:
Thu May 09 07:09:54 2019 +0000
Revision:
3:d38aa400d5e7
Parent:
2:3066e614372f
Child:
4:eac6746544fb
oui

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GuillaumeCH 2:3066e614372f 1 #ifndef DEPLACEMENT_H
GuillaumeCH 2:3066e614372f 2 #define DEPLACEMENT_H
GuillaumeCH 2:3066e614372f 3
GuillaumeCH 2:3066e614372f 4 #define TAILLE_TAB 250
GuillaumeCH 2:3066e614372f 5
GuillaumeCH 2:3066e614372f 6 class deplacement{
GuillaumeCH 2:3066e614372f 7 public:
GuillaumeCH 2:3066e614372f 8 deplacement();
GuillaumeCH 3:d38aa400d5e7 9 void initialisation(void);//init
GuillaumeCH 3:d38aa400d5e7 10
GuillaumeCH 3:d38aa400d5e7 11 void rotation_rel(double angle_vise); // rotation relative angle positif pour tourner vers la gauche
GuillaumeCH 3:d38aa400d5e7 12 void rotation_abs(double angle_vise); //rotation absolue du robot
GuillaumeCH 3:d38aa400d5e7 13
GuillaumeCH 3:d38aa400d5e7 14 void commande_vitesse(float vitesse_G, float vitesse_D); //set_PWM avec des vitesses flottantes.
GuillaumeCH 3:d38aa400d5e7 15
GuillaumeCH 3:d38aa400d5e7 16 void vitesse_nulle_D(int zero); //coupe moteur droit
GuillaumeCH 3:d38aa400d5e7 17 void vitesse_nulle_G(int zero); //coupe moteur gauche
GuillaumeCH 3:d38aa400d5e7 18
GuillaumeCH 3:d38aa400d5e7 19 void marche_arriere(int distance); // ligne droite en marche arriere, argument entier NEGATIF
GuillaumeCH 3:d38aa400d5e7 20 void ligne_droite(long int distance); // ligne droite en marche avant, argument entier POSITIF
GuillaumeCH 3:d38aa400d5e7 21
GuillaumeCH 3:d38aa400d5e7 22 void asservissement(void); // asservissement en vitesse à ne pas utiliser avec les fonctions de déplacement séquentiel
GuillaumeCH 2:3066e614372f 23 void printftab(void);
GuillaumeCH 2:3066e614372f 24 void test(void);
GuillaumeCH 2:3066e614372f 25 void changement_consigne(int cons_D, int cons_G);
GuillaumeCH 3:d38aa400d5e7 26
GuillaumeCH 3:d38aa400d5e7 27
GuillaumeCH 3:d38aa400d5e7 28 void poussette(); // set PWM 150 pendant 1.5s
GuillaumeCH 2:3066e614372f 29
GuillaumeCH 2:3066e614372f 30
GuillaumeCH 2:3066e614372f 31
GuillaumeCH 2:3066e614372f 32 private:
GuillaumeCH 2:3066e614372f 33 float consigne;
GuillaumeCH 2:3066e614372f 34 int consigne_D;
GuillaumeCH 2:3066e614372f 35 int consigne_G;
GuillaumeCH 2:3066e614372f 36 float somme_erreur_D;
GuillaumeCH 2:3066e614372f 37 float somme_erreur_G;
GuillaumeCH 2:3066e614372f 38 float erreur_precedente_D;
GuillaumeCH 2:3066e614372f 39 float erreur_precedente_G;
GuillaumeCH 2:3066e614372f 40 float erreur_glissee_D[5];
GuillaumeCH 2:3066e614372f 41 float erreur_glissee_G[5];
GuillaumeCH 2:3066e614372f 42 int compteur_glisse;
GuillaumeCH 2:3066e614372f 43 float Kp_D;
GuillaumeCH 2:3066e614372f 44 float Ki_D;
GuillaumeCH 2:3066e614372f 45 float Kd_D;
GuillaumeCH 2:3066e614372f 46 float Kp_G;
GuillaumeCH 2:3066e614372f 47 float Ki_G;
GuillaumeCH 2:3066e614372f 48 float Kd_G;
GuillaumeCH 2:3066e614372f 49 long int tick_prec_D;
GuillaumeCH 2:3066e614372f 50 long int tick_prec_G;
GuillaumeCH 2:3066e614372f 51 float tab_cmd_D[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 52 float tab_cmd_G[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 53 float vtab_D[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 54 float vtab_G[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 55 float erreur_tab_G[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 56 float erreur_tab_D[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 57 float somme_erreur_tab_G[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 58 float somme_erreur_tab_D[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 59 float c_D[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 60 float c_G[TAILLE_TAB];
GuillaumeCH 2:3066e614372f 61 int dix_ms;
GuillaumeCH 2:3066e614372f 62 int consigne_tab[20][2];
GuillaumeCH 2:3066e614372f 63 int compteur_asser;
GuillaumeCH 2:3066e614372f 64 double somme_y;
GuillaumeCH 2:3066e614372f 65 };
GuillaumeCH 2:3066e614372f 66
GuillaumeCH 2:3066e614372f 67
GuillaumeCH 2:3066e614372f 68 #endif