====== Petit Pendule de Furuta: Conclusion Bilan====== **[[intelligence_artificielle|Intelligence Artificielle]]** **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fintelligence_artificielle|English Version]]** **{{tagpage>bestiaire_ia|Toutes les pages sur le Bestiaire Intelligence Artificielle}}** {{ :media_16:phallo_light_hight.mp4?300 |}} =====Ressources==== * **[[https://github.com/sergeLabo/furuta/tree/main/petit_furata|sergeLabo/furuta/furuta_python sur GitHub]]** * Un peu d'explication sur la **[[apprentissage_par_renforcement|théorie de l'apprentissage par renforcement]]** et les librairies utilisées. ====Toutes les pages sur le petit pendule de Furuta==== {{topic>petit_pendule_furuta}} =====Suivi du dernier apprentissage sans interruption===== {{ :media_16:efficiency_102.png?600 |}} Pendant les premiers 100000 steps, la progression est fulgurante. Ensuite il faut être patient. {{ :media_16:efficiency_102_500000.png?600 |}} =====Conclusion===== On pourrait continuer l'apprentissage, pour l'améliorer. Mais l'objectif est de montrer la difficulté d'apprentissage, un truc parfait ferait croire que c'est facile. La principale difficulté de ce projet est qu'il n'est pas possible de vérifier en temps réel les positions vitesses: il faudrait une caméra haute définition haute vitesse et relier les images aux valeurs python sans passer par un terminal !! :-( =====Configuration===== [moteur] right = 27 left = 22 pwm = 18 freq_pwm = 10000 duration_maxi = 0.1 [codeur_moteur] gpioa = 19 gpiob = 16 index = 13 offset = 0 [codeur_balancier] gpioa = 6 gpiob = 20 index = 5 offset = -3 [101] range_pwm = 200 ratio_puissance_maxi = 0.3 learning_rate = 0.0003 use_best_model = 0 ent_coef = 0.0 vf_coef = 0.50 step_total = 2867400 learning_steps = 100000 batch = 10 step_maxi = 2048 alpha_maxi_l = -2.7 alpha_maxi_r = 2.7 duration_of_motor_impulse = 0.02 tempo_step = 0.03 n_steps = 2048 batch_size = 64 n_epochs = 10 gamma = 0.99 gae_lambda = 0.95 clip_range = 0.2 max_grad_norm = 0.5 =====Matériels du pendule===== * Raspberry Pi 4 avec Raspbian 11 64 bits * 2 encodeurs optiques US Digital de 1000 points [[https://www.usdigital.com/products/encoders/incremental/shaft/s1/?q=S1-1000-236-IE-B-D|S1 Optical Shaft Encoder]] * Moteur de 20 W utilisé au 1/3 de sa puissance avec 60 valeurs possibles de puissance PWM [[https://www.technoindus.com/moteur-a-courant-continu/moteur-a-courant-continu-ferrite-20w-24v-bride-o42-ip20-avec-codeur-3665948288636-4598.html|Moteur à Courant Continu Ferrite 20W 24V bride Ø42 IP20 avec Codeur]] ====Gallerie==== {{ :media_16:phallo_plaque_wiki.jpg?200 |}} {{:media_16:phallo_entier_face_wiki.jpg?220|}} {{:media_16:phallo_entier_ar_wiki.jpg?220|}} {{::arriere_wiki.jpg?160|}} {{::moteur_codeur_wiki.jpg?200|}} {{:media_16:phallo_haut_wiki.jpg?200|}} {{:media_16:phallo_bas_wiki.jpg?200|}} {{:media_16:phallo_mecanique_wiki.jpg?200|}} {{:media_16:phallo_accouplement_wiki.jpg?200|}} {{::slipring_wiki.jpg?200|}} {{:media_16:pi_wiki.jpg?200|}} {{:media_16:phallo_carte_moteur_wiki.jpg?200|}} {{::axe_pendule_wiki.jpg?200|}} {{::carte_moteur_wiki.jpg?200|}} {{:media_16:phallo_int_00_wiki.jpg?200|}} {{::chariot_wiki.jpg?200|}} {{::codeur_moteur_2_wiki.jpg?200|}} {{::phallo_connecteur_pi_wiki.jpg?200|}} {{::pi_connecteurs_wiki.jpg?200|}} {{tag> bestiaire_ia petit_pendule_furuta raspberry_pi raspbian sb ia }}