Aller au contenu


Photo
- - - - -

Naissance de mon suiveur de ligne


93 réponses à ce sujet

#41 Oracid

Oracid

    Pilier du forum

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

Posté 17 septembre 2024 - 08:03

Ah, mais, c'est carrément, super bien !

Il n'y a qu'un seul petit problème, le PID . . . mais à ce niveau, c'est chaud, très chaud !

 

C'est ça quand on veut jouer dans la cour des grands.  :dash2:



#42 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 17 septembre 2024 - 10:06

Et si tu augmentes Kd ?



#43 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 18 septembre 2024 - 07:29

Et si tu augmentes Kd ?

L'effet de l'augmentation de Kd, sur les deux PID (PID ligne droite et PID virage) semble très peu impactant. C'est une chose qui m'étonne d'ailleurs. Ou alors je fais des augmentations pas assez fines et je passe à côté de l'optimum.



#44 Oracid

Oracid

    Pilier du forum

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

Posté 18 septembre 2024 - 01:32

Une idée, dans le genre Ya K . . . :

 

- ta voiture roule indéfiniment sur le circuit.

- tu modifies les valeurs du PID avec les potentiomètres d'une radiocommande RC.

- sur la voiture, un récepteur RC envoie les valeurs PID à la voiture. 

 

:Koshechka_08:



#45 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 18 septembre 2024 - 02:52

Une idée, dans le genre Ya K . . . :

 

- ta voiture roule indéfiniment sur le circuit.

- tu modifies les valeurs du PID avec les potentiomètres d'une radiocommande RC.

- sur la voiture, un récepteur RC envoie les valeurs PID à la voiture. 

 

:Koshechka_08:

c'est une bonne idée, si tenté que j'en sois capable et que ça n'a pas d'impact sur les temps d'acquisition des données des capteurs et de commande des moteurs. Même le stockage en RAM j'ai eu du mal avec des petites latences. je suis tellement limite qu'un rien me perturbe.



#46 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 312 messages
  • Gender:Male

Posté 18 septembre 2024 - 04:22

Est-ce que tu peux/veux partager ton code?
ça me semble étrange que la latence d'une écriture en RAM te limite. Il y a peut-être une optimisation à faire de ce coté là


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#47 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 19 septembre 2024 - 06:42

Est-ce que tu peux/veux partager ton code?
ça me semble étrange que la latence d'une écriture en RAM te limite. Il y a peut-être une optimisation à faire de ce coté là

Non, depuis j'ai laissé tomber l'idée de récupérer les données. Je ne suis pas sûr d'ailleurs que cela m'aurait beaucoup aidé.



#48 Oracid

Oracid

    Pilier du forum

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

Posté 19 septembre 2024 - 07:07

Mon idée d'utiliser un émetteur/récepteur RC, n'est pas vraiment la meilleure.

Il y a plusieurs vidéos où on utilise une communication bluetooth entre son smartphone et le microcontrôleur.

 

Voici un exemple, où le gars utilise le logiciel MIT App Inventor pour programmer son smartphone. Cela a l'air assez "simple". En tout cas, la mise en œuvre.

Donc là, pas besoin de potentiomètre, de simples curseurs sur l'application smartphone font très bien l'affaire.

 

https://youtu.be/Qm8..._JEe83TgV45Zbei

https://www.hackster...ntroller-cdedbd



#49 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 19 septembre 2024 - 07:28

Bonjour,

 

Un Kd sur une commande direction a un impact significatif sur le comportement de robot :

- Kd trop faible : le robot manque de réactivité et oscille du fait d'un Kp probablement réglé trop fort pour compenser l'absence de Kd. Généralement, une fois un premier Kp valide trouvé, on ajuste Kd et on peut réduire Kp.

- Kd trop fort, le robot devient trop réactif, même instable.

Tu a cherché à ajuster Kd et tu n'a constaté aucun changement de comportement, alors c'est la garantie qu'il y a un probleme d'implémentation de l'asserv et/ou de choix de la plage de valeurs de Kd.

 

De mon coté, une branche 'derivative' non filtrée d'un PID avec ou sans FF ne mène souvent à rien de bien performant dans ce genre de robot, et quel que soit les valeur de Kp/Kd appliquées, surtout si l'estimation de l'erreur de position de la ligne est une valeur avec une quantification faible.

Un indice : Structure-of-PID-controller-with-derivative-filter.png

Note : le filtrage ajoute une légère latence. et la fréquence de coupure du filtre s'ajoute aux Kp et Kd à régler.

 

Désolé, je me répète : difficile d'optimiser un asservissement sans aucune donnée. Encore plus pour tes lecteurs qui ne peuvent pas apprécier le comportement de ton robot à distance. En l'absence de données sur les erreurs et les consignes générées, un asserv peux donner l'impression de fonctionner, et avoir de gros défauts. Je renvoie souvent vers cette vidéo que je trouve très pertinente tant sur la conception de l'asserv (PID+FF mentionné dans nos posts précédents) que sur la méthode de réglage et l'outillage à réaliser pour parvenir à l'optimum.

http://youtu.be/qKoPRacXk9Q?si=fuSYrdOUKuaYi6qB

 

Le feuilleton du suiveur de ligne est néanmoins intéressant ! Tu as un premier résultat sympa. A mon sens, la marge de progression est encore élevée. C'est un peu dommage de ne pas pouvoir t'aider plus. On ne peut que t'encourager ! Bon courage ! :-)

 

Patrick.



#50 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 19 septembre 2024 - 09:06

Bonjour,

 

Un Kd sur une commande direction a un impact significatif sur le comportement de robot :

- Kd trop faible : le robot manque de réactivité et oscille du fait d'un Kp probablement réglé trop fort pour compenser l'absence de Kd. Généralement, une fois un premier Kp valide trouvé, on ajuste Kd et on peut réduire Kp.

- Kd trop fort, le robot devient trop réactif, même instable.

Tu a cherché à ajuster Kd et tu n'a constaté aucun changement de comportement, alors c'est la garantie qu'il y a un probleme d'implémentation de l'asserv et/ou de choix de la plage de valeurs de Kd.

 

De mon coté, une branche 'derivative' non filtrée d'un PID avec ou sans FF ne mène souvent à rien de bien performant dans ce genre de robot, et quel que soit les valeur de Kp/Kd appliquées, surtout si l'estimation de l'erreur de position de la ligne est une valeur avec une quantification faible.

Un indice : attachicon.gif Structure-of-PID-controller-with-derivative-filter.png

Note : le filtrage ajoute une légère latence. et la fréquence de coupure du filtre s'ajoute aux Kp et Kd à régler.

 

Désolé, je me répète : difficile d'optimiser un asservissement sans aucune donnée. Encore plus pour tes lecteurs qui ne peuvent pas apprécier le comportement de ton robot à distance. En l'absence de données sur les erreurs et les consignes générées, un asserv peux donner l'impression de fonctionner, et avoir de gros défauts. Je renvoie souvent vers cette vidéo que je trouve très pertinente tant sur la conception de l'asserv (PID+FF mentionné dans nos posts précédents) que sur la méthode de réglage et l'outillage à réaliser pour parvenir à l'optimum.

http://youtu.be/qKoPRacXk9Q?si=fuSYrdOUKuaYi6qB

 

Le feuilleton du suiveur de ligne est néanmoins intéressant ! Tu as un premier résultat sympa. A mon sens, la marge de progression est encore élevée. C'est un peu dommage de ne pas pouvoir t'aider plus. On ne peut que t'encourager ! Bon courage ! :-)

 

Patrick.

 

 

@pat92fr :  non vos réflexions m'aident beaucoup en réalité (ça a été le cas pour tous mes projets !)  je creuse les pistes à chaque fois et j'évalue si je peux les mettre en place avec mes propres limites et compétences. Grâce à toutes vos infos je suis passé de 16s/8m à 5s/8m !  Mais la dernière seconde à gagner est compliquée...

 

Je vais explorer ton dernier post. je pense aussi que j'ai une marge de progression pour atteindre les 2m/s, mais là je stagne depuis plusieurs jours.

 

Mes grosses avancées dans l'ordre ont été :

 

* L'utilisation du 2ème coeur du Pico pour l'acquisition des données des capteurs +++

* La réduction du poids du robot grâce à une batterie Lipo +

* La programmation en boucle ouverte pour récupérer la ligne dans les cas extrêmes , en virage +++

* La programmation de 2 PID, un PID ligne droite et un PID virage ++

* L'utilisation d'un driver TB6612FNG et la possibilité du freinage actif +++

* Le nettoyage des pneus sicilone avec une lingette détergente avant chaque essai +++

* L'utilisation de moteurs plus lents mais plus coupleux - (cette piste est discutable, les roues de grands diamètres sont un inconvénient)  +

  

 

@Oracid. Oui j'avais vu ça, avec un smartphone. Au départ j'avais fait un robot avec des potentiomètres qui était très pratique mais qui l'alourdissait. Je vais voir si je peux faire qq chose avec un smartphone.

 

Je "discute" aussi beaucoup avec ChatGPT... C'est intéressant, le fil de discussion est continu et il s'enrichit chaque jour, mais suivant les questions et suggestions il arrive à dire tout et son contraire. Le seul intérêt c'est qu'il peut aussi suggérer des nouvelles pistes à creuser.

 

Mais rien ne vaut un vrai forum avec des humains... :)



#51 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 20 septembre 2024 - 06:26

Bonjour,

 

Un Kd sur une commande direction a un impact significatif sur le comportement de robot :

- Kd trop faible : le robot manque de réactivité et oscille du fait d'un Kp probablement réglé trop fort pour compenser l'absence de Kd. Généralement, une fois un premier Kp valide trouvé, on ajuste Kd et on peut réduire Kp.

- Kd trop fort, le robot devient trop réactif, même instable.

Tu a cherché à ajuster Kd et tu n'a constaté aucun changement de comportement, alors c'est la garantie qu'il y a un probleme d'implémentation de l'asserv et/ou de choix de la plage de valeurs de Kd.

 

De mon coté, une branche 'derivative' non filtrée d'un PID avec ou sans FF ne mène souvent à rien de bien performant dans ce genre de robot, et quel que soit les valeur de Kp/Kd appliquées, surtout si l'estimation de l'erreur de position de la ligne est une valeur avec une quantification faible.

Un indice : attachicon.gif Structure-of-PID-controller-with-derivative-filter.png

Note : le filtrage ajoute une légère latence. et la fréquence de coupure du filtre s'ajoute aux Kp et Kd à régler.

 

Désolé, je me répète : difficile d'optimiser un asservissement sans aucune donnée. Encore plus pour tes lecteurs qui ne peuvent pas apprécier le comportement de ton robot à distance. En l'absence de données sur les erreurs et les consignes générées, un asserv peux donner l'impression de fonctionner, et avoir de gros défauts. Je renvoie souvent vers cette vidéo que je trouve très pertinente tant sur la conception de l'asserv (PID+FF mentionné dans nos posts précédents) que sur la méthode de réglage et l'outillage à réaliser pour parvenir à l'optimum.

http://youtu.be/qKoPRacXk9Q?si=fuSYrdOUKuaYi6qB

 

Le feuilleton du suiveur de ligne est néanmoins intéressant ! Tu as un premier résultat sympa. A mon sens, la marge de progression est encore élevée. C'est un peu dommage de ne pas pouvoir t'aider plus. On ne peut que t'encourager ! Bon courage ! :-)

 

Patrick.

J'ai donc repris les réglages de mon PID, suite à tes observations et j'ai trouvé deux éléments :

 

* J'ai tendance à mettre un Kd trop fort

* Dans mes essais j'itère avec des pas trop importants.

 

Du coup j'ai optimisé le Kd du PID virage, ce qui m'a permis de descendre à 4s58. Là pour le coup l'allure est nettement meilleure, même s'il reste une instabilité dans la ligne droite après le virage, mais qui ne pénalise par le chrono qui se situe en début de ligne droite.

Là je suis pas loin d'être à la limite. Mes moteurs sont réglés au maximum , avec juste la marge pour les corrections du PID. Je vais faire un dernier essai en augmentant le diamètre des roues à 47mm au lieu de 42mm, avant de passer à une autre motorisation.

 

 



#52 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 20 septembre 2024 - 07:04

Bonjour,

 

Merci pour la vidéo ! Ca commence à rouler ! :-)

 

Voici mes conseils du jour :

- pose ton smartphone (ou ta caméra de manière à filmer le robot arriver et passer le premiers virages

- filme à 120 images seconde.

- analyse les ralentis du robot sur la ligne droite et sur les deux premiers virage en priorité.

 

Pour faire le chrono :

- batterie chargée à 100%,

- nettoyage des roues au rouleau adhésif anti-poils de chats/chients.

 

Points positifs :

- La vitesse en virage est intéressante. 

- L'asserv en boucle ouverte fonctionne.

- Les roues ont l'air très bien pour ce niveau de performances (ne change pas les roues pour le moment (ni diamètre ni matière)).

 

Points négatifs :

- La vitesse max en ligne droite doit être améliorée,

- L'accélération en ligne droite doit être améliorée,

- L'asserv en boucle ouverte doit être améliorée,

- L'asserv en boucle fermée en ligne droite n'est pas réglée (les oscillations ne s'atténuent pas),

- L'asserv en boucle fermée en virage manque (beaucoup) d'efficacité (entre deux virages exécutés en PID boucle ouverte, le PID virage n'arrive pas à stabiliser le robot).

 

Questions & Pistes d'amélioration :

- Augmenter le gain de l'asserv en boucle ouverte (puissance max sur la roue extérieure, frein max sur la roue intérieur) ---> Le nez ne doit pas complètement sortir de la ligne, sauf au premier virage en sortie de ligne droite.

- Augmenter la vitesse linéaire : alléger, changer les moteurs

- Augmenter l'accélération linéaire du robot. La limite est simple à trouver : le nez doit légèrement se soulever au départ arrété. Tu pourras alors installer des barres anti-wheeling et/ou coder une procédure de launch-control pour le départ arrété. Objectif : 10 m/s².

- La command de PWM est mise à jour à quelle fréquence ?

- Les PID tournent à quelle cadence ? 

- Tu as combien de mesures par seconde pour la position de la ligne droite ? Quelle quantification ?

- Tu as combien de mesures par seconde de vitesse des moteurs ? Quelle quantification (?

 

Essais :

- fais tourner ton robot en continue pour le régler (à distance) et code la fonction de compensation de la commande des gaz en fonction de la tension batterie. Ca signifie augmenter la valeur de PWM lorsque la tension de la batterie baisse au fil des tours.



#53 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 312 messages
  • Gender:Male

Posté 20 septembre 2024 - 07:10

Là je suis pas loin d'être à la limite. Mes moteurs sont réglés au maximum , avec juste la marge pour les corrections du PID. Je vais faire un dernier essai en augmentant le diamètre des roues à 47mm au lieu de 42mm, avant de passer à une autre motorisation.

Vu ton message, j'imagine (mais je me trompe peut-être), qu'actuellement, ta consigne ressemble à :

PWM_gauche = PID_vitesse_lineaire - PID_vitesse_rotation

PWM_droite = PID_vitesse_lineaire + PID_vitesse_rotation

 

Si c'est le cas, tu peux essayer une variante un peu différente : tu autorise PID_vitesse_lineaire à aller jusqu'à 100%.
ensuite, tu fais les même calculs, sauf que si un des PWM dépasse les 100%, (par exemple PWM_gauche=110%), alors tu soustrait ce qui dépasse des 2 cotés (donc PWM_gauche = 110%-10%=100%, et tu enlève 10% à PWM droite).

En gros, si tu es très rapide, au lieu d'accélérer sur une roue et ralentir sur l'autre, tu reste à pleine vitesse sur une, et tu ralentis plus fortement sur l'autre.

De cette manière, en ligne droite, tu devrais pouvoir avoir tes 2 moteurs quasiment à 100%.


NB : à vérifier si ça pose des problèmes de stabilité. Je pense qu'il faudra un KI très faible voir nul dans le PID de la vitesse linéaire (s'il est non nul, alors ça vaut probablement le coup d'implémenter une limite de l'intégrale (ie si l'intégrale dépasse une valeur de +-X, on l’empêche de continuer à grandir, avec X aussi petit que possible qui suffit pour atteindre la vitesse cible)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#54 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 20 septembre 2024 - 07:28

Bonjour,

 

Merci pour la vidéo ! Ca commence à rouler ! :-)

 

Voici mes conseils du jour :

- pose ton smartphone (ou ta caméra de manière à filmer le robot arriver et passer le premiers virages

- filme à 120 images seconde.

- analyse les ralentis du robot sur la ligne droite et sur les deux premiers virage en priorité.

 

Pour faire le chrono :

- batterie chargée à 100%,

- nettoyage des roues au rouleau adhésif anti-poils de chats/chients.

 

Points positifs :

- La vitesse en virage est intéressante. 

- L'asserv en boucle ouverte fonctionne.

- Les roues ont l'air très bien pour ce niveau de performances (ne change pas les roues pour le moment (ni diamètre ni matière)).

 

Points négatifs :

- La vitesse max en ligne droite doit être améliorée,

- L'accélération en ligne droite doit être améliorée,

- L'asserv en boucle ouverte doit être améliorée,

- L'asserv en boucle fermée en ligne droite n'est pas réglée (les oscillations ne s'atténuent pas),

- L'asserv en boucle fermée en virage est manque (beaucoup) d'efficacité (entre deux virages exécutés en PID boucle ouverte, le PID virage n'arrive pas à stabiliser le robot).

 

Questions & Pistes d'amélioration :

- Augmenter le gain de l'asserv en boucle ouverte (puissance max sur la roue extérieure, frein max sur la roue intérieur) ---> Le nez ne doit pas complètement sortir de la ligne, sauf au premier virage en sortie de ligne droite.

- Augmenter la vitesse linéaire : alléger, changer les moteurs

- Augmenter l'accélération linéaire du robot. La limite est simple à trouver : le nez doit légèrement se soulever au départ arrété. Tu pourras alors installer des barres anti-wheeling et/ou coder une procédure de launch-control pour le départ arrété. Objectif : 10 m/s².

- La command de PWM est mise à jour à quelle fréquence ?

- Les PID tournent à quelle cadence ? 

- Tu as combien de mesures par seconde pour la position de la ligne droite ? Quelle quantification ?

- Tu as combien de mesures par seconde de vitesse des moteurs ? Quelle quantification (?

 

Essais :

- fais tourner ton robot en continue pour le régler (à distance) et code la fonction de compensation de la commande des gaz en fonction de la tension batterie. Ca signifie augmenter la valeur de PWM lorsque la tension de la batterie baisse au fil des tours.

Ho la la merci, ça fait du job !  :thank_you:

 

Je ne suis pas sûr de pouvoir/savoir répondre à toutes tes questions.

 

La seule qui me vient là, c'est que j'ai été obligé de mettre un démarrage progressif , sinon mon robot fait directement une roue arrière. Mais cette rampe d'accélération se fait avant le départ du chrono.

Pour ce qui est du nettoyage des roues, j'ai déjà essayé le truc à pour les poils de chat, mais j'obtiens un résultat nettement meilleur avec des lingettes détergentes, qui rendent le silicone légèrement collant mais pas trop. 

 

Pour le reste je ne suis pas sûr d'avoir les infos, en fait je ne connais pas les temps, sauf celui de l'acquisition des capteurs sur lequel j'avais bossé au début et que je mettais à tort en doute.

 

Sur les temps concernant la commande des moteurs, la seule chose que je puisse dire c'est qu'après beaucoup d'essais, c'est avec un délai 1 ms dans la boucle du programme que j'ai le meilleur résultat.

 

Sur l'asservissement en boucle ouverte, je suis à 100% sur la roue extérieure et j'ai fait beaucoup d'essais sur la roue intérieure; Si je parle temps, c'est avec 40% de la vitesse max que j'ai le meilleur résultat. Effectivement si on parle allure de trajectoire je peux faire mieux mais moins vite.

L'asservissement boucle ouverte est déclenché quand aucun capteur ne voit la ligne, donc je suis déjà en dehors...

 

J'arrive à avoir une très belle trajectoire globale à 6s au tour.  Mais mon objectif reste d'atteindre 4s.

 

Je pense quand même atteindre une limite avec ces moteurs de 750 RPM qui demandent des grosses roues (et ça c'est un vrai inconvenient) , même s'ils ont l'avantage d'être très coupleux. A 3000 RPM je ne m'en sortais pas (pas assez de couple) , je vais essayer 2000 RPM ou 2500 RPM.

 

J'ai quand même de gros doutes là, dans les conditions actuelles, de pouvoir gagner 6/10 s sur 8m juste en corrigeant les petits défauts de trajectoire restants.



#55 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 20 septembre 2024 - 07:56

J oubliais, il te faut un PID erreur de position ligne donne vitesse. Quand le robot est aligné, la vitesse est maximale, et la consigne globale de vitesse se reduit avec l elloignement. Voilà pour le principe.

#56 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 20 septembre 2024 - 08:24

J oubliais, il te faut un PID erreur de position ligne donne vitesse. Quand le robot est aligné, la vitesse est maximale, et la consigne globale de vitesse se reduit avec l elloignement. Voilà pour le principe.

ha ok, ça je ne fais pas. Mais du coup sur mon tour de 8m, je risque d'avoir un peu de ralentissement ? 



#57 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 20 septembre 2024 - 11:18

L'idée est d'atteindre la vitesse maximale en ligne droite, et de faire ralentir le robot dans les virages de manière automatique , jusqu'à une consigne permettant de négocier les virages les plus serrés, sans apprentissage préalable du circuit. Je fais ca sur tous mes robots Suiveur de ligne et TRR. Ca fait un Kp supplémentaire à régler ! Facile à régler de base : Kp = (VitesseMax-VitesseMin)/ErreurPositinLigneMax. Apres tu ajustes pour obtenir les meilleures performances avec le robot et le circuit. On obtient : VitesseConsigneActuelle = VitesseMaximale - Kp x | Erreur Position Ligne acutelle |. En pratique, il faut filtrer un peu, je te livre le principe de fonctionnement en quelques lignes.

 

Une fois que tu es à la limite des performances de ton robot en mode 'découverte', il faut travailler la capacité d'"apprentissage" pour améliorer les performances d'un tour à l'autre...



#58 pat92fr

pat92fr

    Membre passionné

  • Membres
  • PipPipPip
  • 748 messages
  • Gender:Male

Posté 20 septembre 2024 - 11:25

Sur la vidéo, il devrait aller deux fois plus vite en ligne droite. En sortie de dernier virage, il devrait être à la limite du wheeling. Il faut certainement changer les moteurs, Augmenter le RPM max d'un facteur 2 en espérant que le couple reste suffisant pour négocier les virages.

 

Je sais que tu tiens à l'apparence de ton bolide, mais il faut alléger l'avant et globalement tout le robot. Tu peux faire des capots plus fin ?



#59 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 20 septembre 2024 - 04:31

Sur la vidéo, il devrait aller deux fois plus vite en ligne droite. En sortie de dernier virage, il devrait être à la limite du wheeling. Il faut certainement changer les moteurs, Augmenter le RPM max d'un facteur 2 en espérant que le couple reste suffisant pour négocier les virages.

 

Je sais que tu tiens à l'apparence de ton bolide, mais il faut alléger l'avant et globalement tout le robot. Tu peux faire des capots plus fin ?

Tu vas finir par me refaire mon WE...  :laugh1:

 

Oui je vais changer les moteurs, après un dernier essai avec les moteurs actuels avec des pneus "taille haute" fabriqué maison pour augmenter le diamètre..

 

Le capot est déjà très fin, je pourrais gagner au plus une dizaine de grammes, ou ne pas en mettre ce qui , tu l'as compris, n'est pas dans mon scope...

 

 

J'ai mesuré quelques temps pour répondre à quelques une de tes questions je pense:

 

* temps pour lire les 8 capteurs 200 µs (core 1)

* temps pour piloter les moteurs 1600 µs (core 0) , dont 1000 µs de délai que j'ai rajouté pour que ça fonctionne correctement, sachant que je n'ai pas optimisé ce délai à 100 µs près... (0 µs c'est pas bon, 2000 µs c'est trop long)

 

 

Edit :  je viens de faire mon essai avec mes pneus épais, diamètre roue 45 mm au lieu de 42, sans rien changer aux paramètres de réglage. Record battu dès le premier tour : 4s29 :yahoo: , mais alors avec une trajectoire catastrophique, que je n'oserais pas montrer ici  :crazy:  C'est tout juste s'il ne fait pas le tour à l'extérieur des virages...

 

Il faudrait que je reprenne tous mes réglages des PID, je ne sais pas si ça vaut la peine ou si j'attends mes moteurs N20 2000 RPM et 2500 RPM. A noter qu'en revenant à des petits moteurs N20  rapides et des roues de petit diamètre, je gagne 80g sur le poids du robot...



#60 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 024 messages
  • Gender:Male

Posté 21 septembre 2024 - 05:24

 

- La command de PWM est mise à jour à quelle fréquence ?

- Les PID tournent à quelle cadence ? 

- Tu as combien de mesures par seconde pour la position de la ligne droite ? Quelle quantification ?

- Tu as combien de mesures par seconde de vitesse des moteurs ? Quelle quantification (?

 

Par curiosité j'ai remplacé le PICO 1 par le PICO 2:

 

Pour la lecture des capteurs je suis passé de 200 s à 130 µs

Pour le pilotage des moteurs (hors délai rajouté)  je suis passé de 600µs à 380µs

 

Le gain entre les deux versions de Pico est spectaculaire, mais ce gain dans l'absolu de quelques centaines de µs est il intéressant pour ce type de projet ?





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users