Aller au contenu


Photo

poivron-robotique


566 réponses à ce sujet

#21 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 10 février 2022 - 22:06

Bref, tout ça pour un module de détection avec 2 capteurs ultrason qui peut regarder devant ou derrière.
Module_de_detection.JPG

#22 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 10 février 2022 - 22:22

Tout à fait ! Avec la possibilité de détecter soit le mat adverse, soit en visant plus bas le reste du robot.
Le lidar ultrason, ce serait cool, mais l'ultrason, c'est trop lent :frowning_face_with_open_mouth: Jusqu'à 50 ms par acquisition...

#23 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 10 février 2022 - 22:25

Ils sont orientable sur 180° (un peu plus en vrai) (limité par la course du servomoteur)

#24 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 10 février 2022 - 22:27

J'ai vu qu'il n'y avait plus qu'un mat balise sur le terrain (à ma dernière participation, il y en avait 6) et les contraintes sur les mats balises des robots se sont bien précisée, mes précédent mats balises étaient creux. Je vois que maintenant ils doivent être plein
On fixait une balise en carton avec du papier d'alu dessus sur le robot adverse pour être sur de le détecter !

#25 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 10 février 2022 - 22:37

3 support, mais que ne montent pas

La, il y avait 6 mats qui montaient assez haut !
Et pour t'approcher des coins, tu doit désactiver ton asservissement, ou projeter la position de ton obstacle sur le plan de table pour savoir s'il est sur la table ou non... Capture_decran_de_2022-02-10_22-38-24.png

#26 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 17 février 2022 - 11:00

C'est juste deux capteurs pour la détection avant ou arrière...


#27 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 21 février 2022 - 23:19

Largement ! Le but n'est de changer d'orientation que lorsque le robot change de sens (avance ou recule) !
Ca ressemble à un lidar / USdar, mais ça n'en est pas un ! Le but est juste d'économiser 2 capteurs ... :unsure:

#28 ximun

ximun

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male

Posté 22 février 2022 - 20:31

[Message Discord de Keuronde [Poivron / Riombotique]]

@Kévin [E.S.C.Ro.C.S] Je fais aussi avec les fond de tiroir, j'ai 2 capteurs ultrason (avec le code pour les gérer) et le(s) servo moteur(s). Ça me permet d'économiser 1 entrée/sortie et je commence à être limite sur ma carte... Il y a plein de petites raisons comme ça...

#29 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 17 mars 2022 - 21:46

Un bref coucou par ici ! Nous nous préparons pour faire une démo pour la Coupe Junior Auvergne-Rhone Alpes à Lyon ce week-end !
SPOILER : On n'est pas prêt comme on l'aurait aimé ! (ça vous étonne ?)

#30 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 28 mars 2022 - 22:08

Notre robot a bien avancé, mais il faut encore coder la gestion de l'évitement. Dans mon souvenir, c'est parfois assez casse-pied, notamment parce que la zone est encombré, le robot détecte autre chose que ce qu'il devrait. Il faut recommencer l'essai plusieurs fois avant de pouvoir valider le code (ou en conclure que c'est tout boggué).

Alors, l'idée de génie, ça a été de prendre le code de la stratégie et de décider de l'exécuter sur le PC. Le code de la stratégie ne communique avec l'extérieur que par :
* 6 servomoteurs
* 4 capteurs de distances
* 1 liaison I2C (24 messages)

D'abord, il a fallu créer le projet, en ajoutant les fichiers du code du robot en créant des liens symboliques. Vers tous les .h, mais pas tous les .c, l'art est de laisser de coté toutes les fonctions bas niveau, telles que la communication I2C, la lecture des capteurs ou la commande des actionneurs. Quelques ajustement pour déplacer quelques ligne de code spécifiques au microcontrôleur (l'accès au registre des E/S) puis en compilant, j'obtiens la liste des fonctions déclarées mais qui n'ont pas été trouvée lors de l'édition des liens.

Il faut les ré-implémenter, idéalement sans se prendre la tête. Par exemple :

`void Servo_Set(unsigned int pos,char servo){
printf("Servo %d en position %d\n", servo, pos);
}`

Pour les capteurs, j'ai commencé par renvoyé une valeur fixe, puis rapidement modifié le code pour charger les valeur depuis un .csv.

Et ça marche.. pas !

Notre stratégie est une machine à état obèse (et ça va empirer, mais ce n'est pas le sujet). Dès le deuxième état, le programme boucle sans fin ou s'arrête avec un "Segfault". J'ai tenté d'utilisé Valgrind ou gcc -Wall pour trouver ce qui n'allait pas, sans grand succès. Valgrind dit juste que la "Stack" est corrompue. Certainement un débordement de pointeur. C'est 2 jours plus tard que je trouve le soucis :
`// Ca commence comme ça :
enum t_reponse_message Message_TrajectoireTamponRep(){
...
char message[]="TT";
Communication_envoiMessage(message, 3);
...
}

// Et ça continue là :
char Communication_envoiMessage(char * message, char nb_rec)
{
...
while((message[index] !='\0')))
{
index++;
}

message[index] = calculJeton();
message[index+1] = '\0'; // !!! ICI !!!
...
}`

Oui, le caractère de fin de chaîne '\0' que nous rajoutons est en dehors de la zone allouée dans la fonction Message_TrajectoireTamponRep.

C'est moche mais le robot fonctionnait globalement bien malgré ce bug affreux.

Et là où j'ai besoin de vous, c'est que j'aimerai tester le code pour trouver d'éventuels autres bug similaires. Vous utiliseriez quoi ?

#31 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 28 mars 2022 - 22:57

Ben c'est clairement ce que j'aurais du faire !
Mais c'était un peu plus sournois que ça...
`if (Communication_Libre()){
unsigned char index=0;
while((message[index] !=0) && (index < NB_MAX_I2C_DATA_OUT-1))
{
index++;
}
if(index < NB_MAX_I2C_DATA_OUT-1){
message[index] = calculJeton();
message[index+1] = '\0';
Communication_nb_env = index+1;
strcpy((char*) Communication_message_envoi, message);//, NB_MAX_I2C_DATA_OUT);
etat_com = ENVOI_MESSAGE;
Communication_nb_rec = nb_rec;
return 0;`
ce tampon `Communication_message_envoi` est de cette taille `NB_MAX_I2C_DATA_OUT`
Qui est large... le problème venait que j'éditais `message` qui lui est un char[] passé en argument de taille variable, le `while` sert justement à déterminer sa taille...
C'était juste une bêtise de lui rajouter des choses à la fin ! J'aurai du travailler sur le `Communication_message_envoi` dont je maîtrise la taille dans ce fichier.

#32 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 09 avril 2022 - 20:55

Bonsoir,
Alors, j'ai porté la stratégie sur PC pour pouvoir la tester sur simulateur, mais pour l'instant, ça n'a pas vraiment été utile (à part détecter cet affreux bug, ce qui est déjà bien).
Le dernier message sur le site date de fin janvier, il s'est quand même passé deux-trois truc depuis :
* La vitrine est prête
* Nous avons réactivé le code de détection d'obstacle et adapté notre nouvelle gestion des trajectoires pour en tenir compte.
* Fiabilisé la dépose de la statuette et l'arrêt en zone de départ (grâce à un recalage avec un Sharp IR - Je croise les doigts pour que ça marche à la coupe, mais le capteur est bien caché)
* Corrigé un bug qui nous permettait de faire tourner le robot sur lui-même que vers la gauche (les angles négatifs étaient mal géré à cause d'une erreur de type)
Nous étions à la coupe junior Eurobot à Lyon en mars et nous nous préparons pour la coupe Eurobot régionale à Saint Etienne. Notre gros travail va être de gérer la "couleur" de départ. La plus part du code s'adapte bien à la seconde couleur, mais le robot n'est pas symétrique et nous avons déjà nos premières surprises.
En attendant, petite vidéo :


#33 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 12 avril 2022 - 21:56

Bonsoir à tous,
Voici un nouvel article en ligne, si vous nous suivez déjà ici vous n'apprendrez probablement pas grand chose..
http://poivron-robotique.fr/+Avancement-mi-Avril-2022+.html

#34 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 13 avril 2022 - 20:52

@:rabbit: Droop [robot en carton +:zebra_face:] Il est là l'affichage des points ! D'abord j'intègre le mât balise, puis je vois si j'ai de la place pour ce bazar (y'a un RPI zéro derrière l'afficheur). Je dois mettre une liaison SPI entre le RPI et l'afficheur et un UART entre le RPI et la carte principale. Si y'a pas la place, ben c'est du e-ink, du coup, ça ne nécessite même pas d'alimentation (comme sur la photo) et l'écran servira de feuille de papier (pas très écologique) :upside-down_face:
Et les 188 points, c'était juste un test, ça ne représente pas mes ambitions ! AffichgePoint_0.JPG

#35 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 14 avril 2022 - 16:38

J'ai une image de fond réalisée à partir de la charte graphique de notre site. J'ai un peu galéré pour retrouver la police utilisée à l'origine. Ça doit être "Accent SF". A partir de ça j'ai créé 10 images pour les chiffres et un petit bout de code utilisant le code de démo pour afficher le bon chiffre à la bonne place.

#36 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 14 avril 2022 - 18:05

Franchement, je suis assez content du résultat !

#37 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 16 avril 2022 - 19:47

Nous revenons de la CARAR (Coupe Amical de Robotique d'Auvergne Rhône-Alpes). Merci à Télécom Saint Étienne (Projet & Tech) pour l'accueil ! C'était super sympa de discuter avec les équipes présentes, ARIG, Cleb Elek. Je dirais bien qu'on avait aussi l'arbitre le plus cool de Planète sciences, mais ce serait un coup à avoir des soucis à la coupe !

#38 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 19 avril 2022 - 22:25

La plus belle vidéo de nos match à la CARAR... Même si la vitrine ne s'active pas, j'avais oublié de l'allumer...

@Greg [ARIG] J'en ai d'autres avec vos robots, si ça vous interesse...

#39 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 22 avril 2022 - 07:37

@Greg [ARIG]
Pour les vidéos montées



En non monté, non ré-encodé, non recompressé (150Mo / pièce):


http://poivron-robotique.fr/Video/2022%20CARAR%20-%20Match%203-bis.MP4

#40 Keuronde

Keuronde

    Membre passionné

  • Membres
  • PipPipPip
  • 808 messages
  • Gender:Male

Posté 23 avril 2022 - 11:09

Capsicum, le robot qui garde le cap ! (grâce à son gyroscope)
https://fr.wikipedia.org/wiki/Capsicum
Et enfin, un nouvel article, qui reprend en grande partie ce qui a déjà été présenté ici ! PosterPoivron2022.png



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users