[C++] fonctions calcule odometrie
Résolu
hades06
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
Dante -
Dante -
Bonjour a tous ami informaticiens :),
Voila mon prbleme, je suis en bts informatique et reseaux et la je suis en plein projet de 2ieme année. Je m'occupe de l'odometrie d'un wifibot. Mon programme est normalement bon mais c'est dans ma librairie de fonction que ca bug et je sais pas du tout quoi changer.
Je vous mets ma librairie et les erreurs generer par le compilateur.
Je suis sur Ubunto 6.10
D'avance merci :)
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end
In file included from wbodo.cpp:1:
wbodo.h:96:7: warning: no newline at end of file
wbodo.h:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘wbodo’
wbodo.h:96:7: warning: no newline at end of file
Voila mon prbleme, je suis en bts informatique et reseaux et la je suis en plein projet de 2ieme année. Je m'occupe de l'odometrie d'un wifibot. Mon programme est normalement bon mais c'est dans ma librairie de fonction que ca bug et je sais pas du tout quoi changer.
Je vous mets ma librairie et les erreurs generer par le compilateur.
Je suis sur Ubunto 6.10
D'avance merci :)
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define TCPBUF_SIZE 128
#define TBUF_RECV 7
#define TBUF_SEND 2
class wbodo {
public:
wbodo();
// Attributs de la classe
/***************** Fonction pour se connecter avec le serveur "sc12" *******************/
// Cette fonction place l'adresse IP et le numero de port
int setaddress(char *servername, int serverport);
// Cette fonction active la connection
int connexion();
// Cette fonction coupe la connection
void stop();
/* ***************** Methode pour controler le robot *************************** */
// VITESSE
// Cette fonction donne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int setv(int v, int w);
// Cette fonction retourne la vitesse linéaire et angulaire du robot en mm/s and crad/s
int getv(float *v, float *w); // int getv(int *v, int *w) a la base
// ODOMETRIE
// Cette fonction reinitialise les valeur de l'odometrie a 0
int reset();
// Cette fonction donne les valeurs de l'odometrie en mm and crad
int setpos(int xm, int ym, int am);
// Cette fonction retourne les valeurs de l'odometrie en mm and crad
int getpos(float *xm, float *ym, float *am); //int getpos(int *xm, int *ym, int *am) a la base
// int getpos(float *xm, float *ym, float *am);
// Cette fonction active l'odometrie dans le robot. "Arrete par defaut"
int startodo();
// Cette fonction arrete l'odometrie dans le robot. "Arrete par defaut"
int stopodo();
// SONDES
// Cette fonction renvoie les valeurs des encodeurs a chaque periode de 40 ms
// 1:LEFT-FRONT 2:LEFT-BACK 3:RIGHT-BACK 4:RIGHT-FRONT
int getenc(int *enc1, int *enc2, int *enc3, int *enc4);
// Cette fonction rertourne le niveau de la batterie sur une echelle de 0-255
int getbat(int *bat);
/* Cette fonction retourne la valeur des sondes infra-rouge
int getirn(int *ir1,int *ir2);
int updatetics(void); */
private:
/*
int sock;
struct sockaddr_in server;
struct hostent *hp;
char buffer[TCPBUF_SIZE];
// Fonctions auxiliaire
double lin(int ir);
char * itoa(int n, char *buff, int radix);
void processLine(char *line, char separator, char **arg, int len);
*/
};
// void updatePos(long int *x,long int *y,int *a,int tl,int tr);
void updatePos(void);
void * ThreadPeriodico(void *arg);
void * ThreadVelocidad(void *arg);
#end
In file included from wbodo.cpp:1:
wbodo.h:96:7: warning: no newline at end of file
wbodo.h:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘wbodo’
wbodo.h:96:7: warning: no newline at end of file
A voir également:
- [C++] fonctions calcule odometrie
- Comment on calcule une moyenne - Guide
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Algorithme qui calcule le carré d'un nombre - Forum Algorithmes / Méthodes
- Excel champ calculé avec condition ✓ - Forum Excel
- Formule qui calcule le total et se met à jour si on change une valeur du tableau. ✓ - Forum Excel
26 réponses
Hop c'est bon !!!
Il manquait des librairie pis vous aviez raison c t bien g++ enfin voila merci de l'aide ^^ !!!
Il manquait des librairie pis vous aviez raison c t bien g++ enfin voila merci de l'aide ^^ !!!
bah en fait la ligne de comande donne ca
g++ wbodo.cpp -lm -lpthread
-lm pour la librairie des math et lpthread je connaissais pas
g++ wbodo.cpp -lm -lpthread
-lm pour la librairie des math et lpthread je connaissais pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut, je travail également sur le projet wifibot, je suis aussi en 2nde année de BTS. J'aimerai savoir s'il est possible de se parler sur msn, pour s'aider où se donner quelques conseils.
Notre projet a nous et divier en 4 partie:
GESTION DU DEPLACEMENT DU ROBOT PAR JOYSTICK
GESTION DE LA CAMERA
GESTION DU GPS
et ma partie qui est:
GESTION AUTONOME DU ROBOT D'UN POINT A UN AUTRE
Je te remercie et j'espere que l'on pourra se donner quelques conseils.
Bonne chance.
Notre projet a nous et divier en 4 partie:
GESTION DU DEPLACEMENT DU ROBOT PAR JOYSTICK
GESTION DE LA CAMERA
GESTION DU GPS
et ma partie qui est:
GESTION AUTONOME DU ROBOT D'UN POINT A UN AUTRE
Je te remercie et j'espere que l'on pourra se donner quelques conseils.
Bonne chance.