l

Dependencies:   mbed Asser2

Committer:
GuillaumeCH
Date:
Wed May 29 06:34:17 2019 +0000
Revision:
8:f2425e4302fc
Parent:
7:6b15a1feed2d
mlmlml

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
JimmyAREM 6:e1585b8bd07d 4 /**
JimmyAREM 6:e1585b8bd07d 5 ****************************************************************************
JimmyAREM 6:e1585b8bd07d 6 * @file deplacement.h
JimmyAREM 6:e1585b8bd07d 7 * @author Guillaume Chauvon && Corentin Courtot #l'assert
JimmyAREM 6:e1585b8bd07d 8 * @version V0.2.3
JimmyAREM 6:e1585b8bd07d 9 * @date 22/05/2019
JimmyAREM 6:e1585b8bd07d 10 * @brief Implementation file for the deplacement of the robot
JimmyAREM 6:e1585b8bd07d 11 ****************************************************************************
JimmyAREM 6:e1585b8bd07d 12 *This software has been developed to be used in AREM's robot for the cdfr 2019
JimmyAREM 6:e1585b8bd07d 13 **/
JimmyAREM 6:e1585b8bd07d 14
JimmyAREM 6:e1585b8bd07d 15 /* Includes ------------------------------------------------------------------*/
JimmyAREM 6:e1585b8bd07d 16
JimmyAREM 6:e1585b8bd07d 17
JimmyAREM 6:e1585b8bd07d 18 #include "BrasPousser.h"
JimmyAREM 7:6b15a1feed2d 19 #include "Pompe.h"
JimmyAREM 6:e1585b8bd07d 20
JimmyAREM 6:e1585b8bd07d 21 /* Constants -------------------------------------------------------------------*/
JimmyAREM 6:e1585b8bd07d 22
JimmyAREM 6:e1585b8bd07d 23 #define A_GAUCHE 1
JimmyAREM 6:e1585b8bd07d 24 #define A_DROITE 0
GuillaumeCH 2:3066e614372f 25 #define TAILLE_TAB 250
JimmyAREM 6:e1585b8bd07d 26
JimmyAREM 6:e1585b8bd07d 27 /* structures-----------------------------------------------------------------------*/
JimmyAREM 6:e1585b8bd07d 28
GuillaumeCH 4:eac6746544fb 29 struct Coordonnees
GuillaumeCH 4:eac6746544fb 30 {
GuillaumeCH 4:eac6746544fb 31 double x;
GuillaumeCH 4:eac6746544fb 32 double y;
GuillaumeCH 4:eac6746544fb 33 };
JimmyAREM 6:e1585b8bd07d 34
JimmyAREM 6:e1585b8bd07d 35
JimmyAREM 6:e1585b8bd07d 36
JimmyAREM 6:e1585b8bd07d 37 /* Class BrasPousser ------------------------------------------------------------------*/
JimmyAREM 6:e1585b8bd07d 38
GuillaumeCH 2:3066e614372f 39 class deplacement{
GuillaumeCH 2:3066e614372f 40 public:
GuillaumeCH 2:3066e614372f 41 deplacement();
GuillaumeCH 3:d38aa400d5e7 42 void initialisation(void);//init
GuillaumeCH 3:d38aa400d5e7 43
GuillaumeCH 3:d38aa400d5e7 44 void rotation_rel(double angle_vise); // rotation relative angle positif pour tourner vers la gauche
GuillaumeCH 3:d38aa400d5e7 45 void rotation_abs(double angle_vise); //rotation absolue du robot
JimmyAREM 6:e1585b8bd07d 46 void rotation_rel_pente(double angle_vise);
JimmyAREM 6:e1585b8bd07d 47 void rotation_abs_pente(double angle_vise);
GuillaumeCH 3:d38aa400d5e7 48
GuillaumeCH 3:d38aa400d5e7 49 void commande_vitesse(float vitesse_G, float vitesse_D); //set_PWM avec des vitesses flottantes.
GuillaumeCH 3:d38aa400d5e7 50
GuillaumeCH 3:d38aa400d5e7 51 void vitesse_nulle_D(int zero); //coupe moteur droit
GuillaumeCH 3:d38aa400d5e7 52 void vitesse_nulle_G(int zero); //coupe moteur gauche
JimmyAREM 6:e1585b8bd07d 53 void arreterRobot();
GuillaumeCH 3:d38aa400d5e7 54 void marche_arriere(int distance); // ligne droite en marche arriere, argument entier NEGATIF
JimmyAREM 6:e1585b8bd07d 55 void ligne_droite_basique(long int distance); // ligne droite en marche avant, argument entier POSITIF
JimmyAREM 6:e1585b8bd07d 56
JimmyAREM 6:e1585b8bd07d 57 void ligne_droite(long int distance, double x, double y, double cap);
GuillaumeCH 3:d38aa400d5e7 58
GuillaumeCH 8:f2425e4302fc 59
JimmyAREM 5:3638d7e7c5c1 60
JimmyAREM 5:3638d7e7c5c1 61 void poussette(float temps); // set PWM 150 pendant 1.5s
JimmyAREM 6:e1585b8bd07d 62 void arc(Coordonnees p1, Coordonnees p2, int sens);//p2 point final p1 point intermediaire
GuillaumeCH 4:eac6746544fb 63 int cercle(Coordonnees a,Coordonnees b, Coordonnees c);
GuillaumeCH 4:eac6746544fb 64 double int_ext_cercle(double x, double y);
GuillaumeCH 4:eac6746544fb 65 void va_au_point(double x,double y, double cap);
GuillaumeCH 4:eac6746544fb 66 double recup_angle_entre_trois_points_213(double x1,double y1,double x2,double y2,double x3,double y3);
JimmyAREM 6:e1585b8bd07d 67 void pente(long int distance, float vitesse, double angle_a_tourner);
GuillaumeCH 8:f2425e4302fc 68 void pente_combo(double angle_pente, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit, Pompe pompe);
JimmyAREM 6:e1585b8bd07d 69
JimmyAREM 6:e1585b8bd07d 70 void evitement(double x, double y, double cap);
GuillaumeCH 2:3066e614372f 71
GuillaumeCH 2:3066e614372f 72 private:
GuillaumeCH 4:eac6746544fb 73 double point[3];
GuillaumeCH 2:3066e614372f 74 };
GuillaumeCH 2:3066e614372f 75
JimmyAREM 5:3638d7e7c5c1 76 Coordonnees pointIntermediaire();
JimmyAREM 5:3638d7e7c5c1 77 Coordonnees pointFinale();
GuillaumeCH 2:3066e614372f 78 #endif