Aller au contenu


Photo
- - - - -

Crawling Robot ou l'apprentissage de la marche

marche qlearning renforcement

2 réponses à ce sujet

#1 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 214 messages
  • Gender:Male

Posté 04 mai 2016 - 04:26

Salut,
Après avoir lu les sujets de cette catégorie, j'ai souhaité en savoir plus sur l'apprentissage automatisé et notamment sur l'Apprentissage par renforcement et l'utilisation de l'ago QLearning.
Puis j'ai trouver sur Youtube des "crawling robot" (je sais pas si c'est vraiment ce nom), qui sont de petits robot qui doivent "apprendre" à avancer à l'aide de 2 servos et d'un algo :
 


 
Je me suis dit que ces robots seraient suffisamment abordable pour une première expérience en IA et j'ai voulu en créer un moi-même avec mes quelques (maigres) connaissances en Arduino (et quelques bases de Python mais surtout essayer en Arduino).
J'ai commencer par construire le chassis en briques LEGO, fixé l'Arduino UNO, les 2 servo (SG90) et la plaque de test. Il me manque plus qu'un capteur pour mesurer la distance parcourue pour finir le montage. J'hésite actuellement entre un capteur d'effet de Hall et un capteur à ultrasons (ou une roue codeuse). Le tout pour 350g à la balance.
 

SAM_1966.JPG (agrandir)

SAM_1962.JPG (agrandir)

SAM_1964.JPG (agrandir)

(vive les élastiques ^^)

 
En cherchant un peu des infos sur l'algo Q-Learning, j'ai trouver ces pages-ci :
 
- https://fr.wikipedia...wiki/Q-Learning
- http://www.michaelang.com/project/sisyphus
- http://mnemstudio.org/path-finding-q-learning-tutorial.htm
- http://blog.octo.com/apprentissage-par-renforcement-de-la-theorie-a-la-pratique/
- https://www.cs.rhul..../new_thesis.pdf
- https://drive.google...QdTg/view?pli=1
 
En attendant d'avoir le capteur pour mesurer la distance parcourue, j'aurais souhaiter simuler l'algo sur mon pc. J'ai trouver le logiciel Gazebo qui à l'air de pouvoir le faire mais si vous avez des suggestions de logiciel de simulation (Windows ou Linux), de préférence gratuit, je suis preneur :) . J'ai aussi vu V-rep, mais il a l'air d'être moins documenté.
 
Donc voici mes premiers objectifs :
- Comprendre le code du dernier lien et comment il a fait pour en arriver la depuis la formule de wikipédia (celle-ci)
- L'essayer dans une simulation ou en vrai
- Tenter de reproduire moi-même le programme
 
Puis lorsque que j'aurais réussi à faire ceci :
- Ajouter des servos
- Ajouter des capteurs
Et pourquoi pas le rendre bipède (mais c'est pas pour tout de suite ça)
 
Donc voilà, je viens vers vous pour vous demander: si je ne vise pas trop haut (que cela soit en math/algo, programmation) ?
Si je part dans la bonne direction en essayant de lui apprendre à marcher avec l'apprentissage par renforcement et QLearning (es-ce-qu'il existe un autre procédé plus simple ?)
Quel est le capteur à privilégié dans ce type de situation ?
Il y a-t-il des bibliothèques arduino capable d'aider dans ce genre de programme ? (que pensez-vous de celle-ci)
Connaissez-vous un logiciel de simulation plutôt simple et efficace ?
Es-ce qu'il serait "mieux" de créer l'algo en python et de faire communiquer le pc avec l'Arduino ?
(désolé de vous harceler avec autant de questions ^^)
 
Et si vous avez d'autres conseils pour quelqu'un qui souhaite débuter dans le monde de l'IA, n'hésitez pas ! :)

Fichier(s) joint(s)



#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 4 679 messages
  • Gender:Male

Posté 04 mai 2016 - 05:04

Dès qu'on parle LEGO, je tends l'oreille...

Je suppose que tu connais, mais dans le cas contraire, voici un lien pour un shield Arduino/LEGO Mindstorms EV3, http://www.generationrobots.com/fr/180-arduino-pour-lego-mindstorms

Les LEGO que tu utilises ne sont vraiment adaptés à la mécanique, studfull. Dans la nouvelle version des LEGO techniques on préfère les studless qui sont bien plus pratiques. Cela veut dire avec tenons ou sans tenons. Mai si ça te convient, c'est bien.
Pour le reste, je laisse les spécialistes te répondre.

#3 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 214 messages
  • Gender:Male

Posté 04 mai 2016 - 06:07

Salut,

J'utilise ces briques lego pour faciliter le montage/démontage et pouvoir les réutiliser sans problèmes. Je suis encore dans ma  "phase" d'apprentissage en robotique donc je ne cherche pas à avoir les meilleurs rendements ou une haute résistance pour le moment. J'ai déjà eu l'occasion de programmer et de monter un robot en mindstorm, mais le système lego ne m'a pas autant plu que celui d'arduino, et de toute façon les mindstorms et NXT ne sont pas dans mon budget ^^.

Merci quand même pour ton lien, je ne savais pas que c'était possible, je le garde sous le coude au cas où j'utiliserai à nouveau des mindstorms :)





Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : marche, qlearning, renforcement

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

0 members, 0 guests, 0 anonymous users