l

Dependencies:   mbed Asser2

deplacement.h

Committer:
GuillaumeCH
Date:
2019-05-09
Revision:
3:d38aa400d5e7
Parent:
2:3066e614372f
Child:
4:eac6746544fb

File content as of revision 3:d38aa400d5e7:

#ifndef DEPLACEMENT_H
#define DEPLACEMENT_H

#define TAILLE_TAB 250

class deplacement{
    public:
        deplacement();
        void initialisation(void);//init
        
        void rotation_rel(double angle_vise); // rotation relative angle positif pour tourner vers la gauche
        void rotation_abs(double angle_vise); //rotation absolue du robot
        
        void commande_vitesse(float vitesse_G, float vitesse_D); //set_PWM avec des vitesses flottantes.
        
        void vitesse_nulle_D(int zero); //coupe moteur droit
        void vitesse_nulle_G(int zero); //coupe moteur gauche
        
        void marche_arriere(int distance); // ligne droite en marche arriere, argument entier NEGATIF
        void ligne_droite(long int distance); // ligne droite en marche avant, argument entier POSITIF
        
        void asservissement(void); // asservissement en vitesse à ne pas utiliser avec les fonctions de déplacement séquentiel
        void printftab(void);  
        void test(void);
        void changement_consigne(int cons_D, int cons_G);

        
        void poussette(); // set PWM 150 pendant 1.5s 
    
    
    
    private:
        float consigne;
        int consigne_D;
        int consigne_G;
        float somme_erreur_D;
        float somme_erreur_G;
        float erreur_precedente_D;
        float erreur_precedente_G;
        float erreur_glissee_D[5];
        float erreur_glissee_G[5];
        int compteur_glisse;
        float Kp_D;
        float Ki_D;
        float Kd_D;
        float Kp_G;
        float Ki_G;
        float Kd_G;
        long int tick_prec_D;
        long int tick_prec_G;
        float tab_cmd_D[TAILLE_TAB];
        float tab_cmd_G[TAILLE_TAB];
        float vtab_D[TAILLE_TAB];
        float vtab_G[TAILLE_TAB];
        float erreur_tab_G[TAILLE_TAB];
        float erreur_tab_D[TAILLE_TAB];
        float somme_erreur_tab_G[TAILLE_TAB];
        float somme_erreur_tab_D[TAILLE_TAB];
        float c_D[TAILLE_TAB];
        float c_G[TAILLE_TAB];
        int dix_ms;
        int consigne_tab[20][2];
        int compteur_asser;
        double somme_y;
};


#endif