Aller au contenu


Photo
- - - - -

"Mini-traction" Carré 92 [Tiny TRR 2022]


23 réponses à ce sujet

#1 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 19 novembre 2022 - 09:18

Bonjour,

 

A quelques heures des épreuves de la Tiny-TRR, voici la présentation de mon robot roulant.

 

IMG20221116192521.jpg

 

La base est un châssis Tamiya 1/10ème électrique de catégorie piste loisir modèle M-05, monté en empattement court. L'objectif était de pouvoir négocier au mieux les virages et les épingles du circuit de la Tiny TRR qui s'avère beaucoup plus technique que celui de la TRR classique.

 

kit-a-monter-voiture-tamiya-nsu-tt-jagermeister-58649.jpg

 

Il est équipé de l'ensemble radiocommandé basique : servo de direction standard, contrôleur de vitesse (brushed) et moteur à charbons (540).

 

Pour l'épreuve des roulants, on a ajouté :

- 5x LIDAR Benewake TF Mini Plus

- un capteur à effet Hall (US5881LUA)

- un module ESP32 (wroom32)

- un bouton poussoir

 

Quatre LIDAR sont utilisés pour estimer la position du robot par rapport aux glissières, un LIDAR pointé le haut détecte le passage sous le portique de la ligne d'arrivée et le capteur effet hall, couplé à des aimants collés dans la jante d'une roue arrière permet d'estimer la distance parcourue et la vitesse instantanée du robot. L'ESP32 est programmé en Arduino (automate de course, un PID en vitesse d'avance, et un PID en position par rapport aux glissières). 

 

L'électronique est fixée sur un support imprimé en PLA, qui est lui même 'posé' sur la châssis en s'enfichant dans les plots de carrosserie. Les quatre LIDAR frontaux sont montés verticalement, bien que cela n'a aucun incidence sur les mesures de distance. Les deux premiers LIDAR sont orientés à 40° à droite et à gauche, les deux suivants à 75° droite/gauche.

suppocarro.JPG

.Fichier joint  SuppCarr2.STL   821,47 Ko   8 téléchargement(s)

 

¨Pour l'odométrie, quatre aimants (d5 mm x ep2.5mm) sont placés à l'intérieur de la jante d'une roue arrière, collés à la cyano dans un support PLA, lui même collé à la cyno à la jante en plastique.

suppaim4.JPG

Fichier joint  SupportAimant4.STL   395,3 Ko   9 téléchargement(s)

 

 

Pendant les essais libres, la principale difficulté a été le manque d'adhérence des pneus (slic) fournis avec le kit de base Tamiya. On a remplacé par des pneus à crampons.

 

IMG20221118143933.jpg

 

Ensuite, c'est une histoire d'algorithmes et de réglages !

 

Questions & Réponses :

 

Quel est le cout du robot ? 

Le montant total est d'environ 500€ pour un robot complet.

130€ pour le kit voiture à monter avec moteur et variateur de vitesse inclus (NSU TT JAGERMEISTER M05 - 1/10E - TAMIYA - 58649)

 50€ pour un servo de direction standard, le kit de roulements à billes et un accus 2S 4000mAh 7.2v

 25€ pour une radiocommande 2.4GHz basique (Hobbyking GT2E AFHDS 2A 2.4ghz 2 Channel Radio System w/ Receiver)

250€ pour les cinq LIDAR

 25€ pour le module ESP32 Dev Kit C V4 NodeMCU WLAN/WiFi  (commandé en quantité 3)

 15€ pour le PCB d'interconnexion fait maison (fabriqué en quantité 3)

+ fils, connecteurs, colle, scotch, petits aimants.

 

Quelle est la précision des LIDAR ?

Environ 1% (soit +/-1cm à 1m distance). Portée de 6 à 12m selon les conditions. Le niveau d'éclairage ambiant et le rayonnement solaire direct ne semblent pas affecter les mesures.

Nous avons constaté que le montage des LIDAR à la verticale ou à l'horizontale n'aucun effet sur les mesures de distance.

Bien que spécifiés pour une portée minimale de 10cm, on obtient des mesures de distance exploitables à très courte portée, entre 5 et 10cm. 

 

 

 

(A suivre).



#2 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 19 novembre 2022 - 09:18

Au sujet des algorithmes, nous avons mis en place deux asservissements pour obtenir le comportement du robot suivant :

  • rouler le plus vite possible dans la ligne droite tout en limitant les corrections à la direction (éviter les oscillations),
  • rouler à une allure adaptée au franchissement des virages et des épingles, en essayant de prendre la trajectoire idéale (extérieur - intérieur - extérieur).

 

 

 

Les algorithmes (code) ont été élaborés dans le simulateur de TRR. Ils ont été légèrement modifiés lors des essais libres. Le paramétrage fait dans le simulateur a été ajusté pendant les essais libres.

 

 

Asservissement en vitesse :

 

Voici la boucle d'asservissement en vitesse. Elle s'exécute à la cadence de 50Hz, soit la cadence admise par notre variateur de vitesse. Celui-ci est configuré de telle sorte que le frein se déclenche avec un PWM entre 1000 et 1500µs. marche arrière est désactivée.

 

Algorithmes.drawio.png

 

Les coefficients Kp Kd et Kff sont ajustés de manière empirique, pendant les essais libres, en exploitant la télémétrie.

 

CaptureVitesse.PNG

 

Légende :

  • orange = consigne de vitesse (m/s)
  • gris = vitesse mesurée (m/s)
  • jaune = sortie PID+FF [-1.0,+1.0]

 

Le profil de vitesse est défini au moment des essais libres. Il s'agit principalement de définir la vitesse du robot dans chaque secteur du circuit, par exemple  :

  •  4m/s dans la ligne droite
  •  2.5m/s dans les virages

 

 

 

 

Asservissement en direction :

 

Les LIDAR (TF Mini Plus) sont tous configurés avec un ODR (Output Data Rate) de 100 échantillons par seconde. Les échantillons à zéro (mesure impossible) sont ignorés par filtrage logiciel.

 

On obtient donc quatre mesures de distance notées :

  •  FG : distance frontale gauche (+40°)
  •  FD : distance frontale droite (-40°)
  •  VG : distance virage gauche (+75°)
  •  VD : distance virage droite (-75°)

 

L'orientation des LIDAR a été définie, en utilisant le simulateur de TRR, de manière empirique.

 

Voici une vue schématique de dessus du robot, avant vers le haut :

 

Algorithmes-Page-3.drawio.png

 

 

Et voici la boucle d'asservissement en direction. Elle s'exécute à la cadence de 100Hz compatible de mon servo de direction.

 

Algorithmes-Page-2.drawio.png

 

 

L'erreur de position globale, que le PID direction doit compenser en pilotant le servo de direction, est la somme de différentes erreurs :

 

  •  Une première erreur traduisant la position du robot par rapport au centre de la piste, estimée en utilisant la différence (FG)-(FD), avec une pondération K1,

 

  •  Une seconde erreur traduisant le besoin d'éviter les bordures droite et gauche, estimée en comparant les mesures (FG) et (FD) par rapport à une distance de référence ("Distance Anticollision"), avec une pondération K2. Cette seconde erreur n'est prise en compte que lorsque le robot se rapproche de la glissière droite ou gauche à une distance inférieure à "Distance Anticollision".

 

  •  Une troisième erreur traduisant le besoin de prendre la corde des virages à droite ou à gauche, estimée en comparant les mesures (VG) ou (VD) par rapport à une distance de référence ("Distance Virage"), avec une pondération K3. Cette troisième erreur n'est prise en compte que lorsque le robot détecte un virage. La détection de virage est une algorithme qui prend en entrée les distances (FG) et (FD). Lorsque l'une de ces deux distances augmente subitement, c'est que le robot entre dans un virage.

 

Les paramètres de configuration { Kp, Kd, K1, K2 et K3, "Distance Anticollision" et "Distance Virage" } sont ajustés de manière empirique également, lors des essais libres.

 

L'ensemble de ces paramètres de configuration peut être adapté selon le secteur dans lequel se trouve le robot :

  • un jeu de paramètres pour la ligne droite
  • et un autre jeu de paramètres dans les virages. 


#3 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 19 novembre 2022 - 09:19

(réservé : code source github et configuration simulateur TRR)



#4 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 425 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 19 novembre 2022 - 11:17

Superbe travail. Bonne chance. :)


Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#5 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 143 messages
  • Gender:Male

Posté 19 novembre 2022 - 07:07

La base est un châssis Tamiya 

Mais c'est quoi, cette bagnole !  :crazy:



#6 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 20 novembre 2022 - 08:02

Mais c'est quoi, cette bagnole !  :crazy:

 

Elle claque la carrosserie de NSU TT décorée Jägermeister ! Le plan initial était de la conserver et de fixer les LIDAR dessus, mais on a été pris par le temps.

 

Description : La "Prinz" du constructeur allemand NSU était une voiture compacte très populaire produite entre 1958 et 1973. Ce modèle reproduit la version compétition TT dont 2.500 exemplaires environ furent construits à partir de la fin des années 1960 jusqu’au début des années 1970, et plus particulièrement une voiture sponsorisée par Jägermeister à la célèbre livrée orange.



#7 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 143 messages
  • Gender:Male

Posté 20 novembre 2022 - 08:51

:ignat_02:

Je me souviens très bien de cette voiture.

Il y avait une BMW qui lui ressemblait beaucoup.



#8 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 20 novembre 2022 - 05:51

ça été une de mes premières voitures TT bleu métallisé. La BMW était plus grosse et surtout plus lourde.

 

Autrement merci pour les infos des composants.



#9 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 22 novembre 2022 - 07:44

Et voici quelques détails sur nos algorithmes (cf. post n°2 ci-dessus).

 

Bonne soirée,

Patrick.



#10 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 22 novembre 2022 - 09:59

Ouais..., Merci pour les vos infos sur la logiques de votre code, mais mes neurones vont avoir de la peine.



#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 472 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 23 novembre 2022 - 04:40

Et voici quelques détails sur nos algorithmes (cf. post n°2 ci-dessus).

 

Bonne soirée,

Patrick.

 

 

Ouais..., Merci pour les vos infos sur la logiques de votre code, mais mes neurones vont avoir de la peine.

 

Je vais faire pareil avec ma voiture bientôt, ça sera beaucoup plus simple x') 
On s'est pas trop pris la tête on a pas vraiment eu le temps ^^
 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#12 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 02 décembre 2022 - 03:03

Bonjour,

 

Vos bolides m'ont bien impressionné à Toulouse, mais comme ce ne m'intéressait pas trop...

 

J'ai finalement craqué, et pour apprendre j'ai commandé de chez Tamiya, le First Try R/C Kit + ESC Quicrun 1060 + servo.

 

Par contre, ne connaissant pas trop les commandes pour piloter l'ESC, je vais essayer de faire tourner le moteur... Il faut bien utiliser Servo.h ?

 

Merci et à bientôt.



#13 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 143 messages
  • Gender:Male

Posté 02 décembre 2022 - 07:31

Il faut bien utiliser Servo.h ?

Si c'est un moteur Brushless, à priori, je dirais oui. Je l'ai déjà fait, mais cela dépend peut-être de l'ESC. Souvent il y a un connecteur de type servo.

Il faudrait que tu nous en dises plus.



#14 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 02 décembre 2022 - 11:17

Oracid, c'est un moteur Brushed et l'ESC est un Quicrun 1060 de HorizonHobby.

 

La voiture est montée, le code Arduino fait tourner le servo, le moteur aussi, pas comme je veux mais c'est un début.



#15 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 143 messages
  • Gender:Male

Posté 03 décembre 2022 - 08:20

Oracid, c'est un moteur Brushed et l'ESC est un Quicrun 1060 de HorizonHobby.

Je ne savais pas que cela existait. Il y a un câble de commande servo.



#16 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 472 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 03 décembre 2022 - 04:32

Bonjour,

 

Vos bolides m'ont bien impressionné à Toulouse, mais comme ce ne m'intéressait pas trop...

 

J'ai finalement craqué, et pour apprendre j'ai commandé de chez Tamiya, le First Try R/C Kit + ESC Quicrun 1060 + servo.

 

Par contre, ne connaissant pas trop les commandes pour piloter l'ESC, je vais essayer de faire tourner le moteur... Il faut bien utiliser Servo.h ?

 

Merci et à bientôt.

 

C'est marrant moi je pensais justement à faire l'inverse ... 
Dans le cadre de la mini TRR sur sol " plat et lisse " je ne suis pas sûr que la configuration " RC " soit la plus adaptée. Et je pensais voir si justement je pouvais proposé un robot à 2 roues motrices =) 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#17 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 350 messages

Posté 03 décembre 2022 - 04:37

 

Dans le cadre de la mini TRR sur sol " plat et lisse " je ne suis pas sûr que la configuration " RC " soit la plus adaptée. Et je pensais voir si justement je pouvais proposé un robot à 2 roues motrices =) 

 

Salut. Ca ressemblerait à quoi ? Tu veux dire propulsion ? Ou un robot avec deux moteurs (droit/gauche) ?



#18 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 03 décembre 2022 - 07:14

Tu as raison Mike, je pense aussi que mes rovers avec 4 roues motrices peuvent aussi se distingués.

 

Mais, j'ai voulu essayé aussi un modèle RC, ne connaissant rien en ce domaine. Mon bolides est prêt et roule. (Mais avec un récepteur et une télécommande, pour les tests)

 

J'ai déjà enlevé le récepteur et j'installe l'Arduino...

 

Comme ça, je vais pouvoir comparer les deux options. (Avec plus au mois le même code). Patrick va sûrement m'aider ....

 

A bientôt



#19 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 143 messages
  • Gender:Male

Posté 03 décembre 2022 - 09:21

J'ai vu pas mal de vidéos sur les suiveurs de ligne. Et vraiment, les bolides les plus rapides, à mon avis, sont ceux à 2 roues à l'arrière et une roue à l'avant.

Certains ont 4 roues à l'arrière, mais peut-être avec un problème de différentiel et une complexité évidente, sans que leur vitesse soient vraiment supérieur. En tout cas, je ne m'en suis pas aperçu.

Depuis quelques temps, je vois des hélices, mais pas plus rapide, où alors, je n'ai pas vu les bonnes vidéos.

 

A mon avis, ce qui fait la différence, c'est le poids et la programmation.

 

Voici un Roumain qui décoiffe : 

 



#20 Atmos

Atmos

    Nouveau membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 04 décembre 2022 - 12:24

Bonsoir,

 

Tu arrive à gérer tous les capteurs avec le module ESP32 Dev Kit C V4 NodeMCU WLAN/WiFi ? ou faut-il une carte Teensy ou Mega en plus ?





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users