Aller au contenu


Photo
- - - - -

mes projets inclassables


14 réponses à ce sujet

#1 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 09 décembre 2019 - 12:45

Projet 'machine puissance 4' : https://www.robot-ma...ables/?p=107183

 

J'ai pas mal de petits projets difficiles à classer en cour, je me suis dis que ca pourrait etre bien de créer un sujet ou les regrouper .

Voici ma dernière réalisation (Je ne suis pas sur que ca soit vraiment considéré comme un robot mais j'imagine qu'on s'en rapproche un peu ) . Une machine a trier les Skittles, c'est un sujet qu'on retrouve assez souvent et j'ai décidé de le revisiter à ma sauce .
Je me suis juste fixé comme contrainte de faire un machine assez compacte .

 



#2 Oracid

Oracid

    Pilier du forum

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

Posté 09 décembre 2019 - 07:36

J'admire le soin que tu apportes à chacune de tes réalisations.

Le trie des couleurs est une application intéressante.
Ici, il est associé à l'utilisation de servos et à l'impression de pièces en 3D.
Tout y est pour mettre la main à la pâte.
Sauf la conception des pièces en 3D, peut-être.

Bravo !

#3 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 09 décembre 2019 - 02:05

merci!

 

La conception des pieces 3D n'est pas si compliquée mais elle peut prendre du temps . Mais j'aime bien ca!

 

Bon, jvais pas mentir il m'a fallu plus d'un essai pour réussir à obtenir un truc qui marche à peu près correctement!

Voila quelques que un des prototypes de pièces .

 

prototype.jpg

 

J'aime bien ta technique des legos pour faire des prototypes rapidement . Je pensse que jvais investir dans une boite un de ces jour!

 



#4 Oracid

Oracid

    Pilier du forum

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

Posté 09 décembre 2019 - 02:28

J'aime bien ta technique des legos pour faire des prototypes rapidement . Je pensse que jvais investir dans une boite un de ces jour!

Effectivement, faire un prototype en Lego avant de faire un prototype 3D, à mon avis, il n'y a rien de plus efficace.
Mais, acheter des boites, ce n'est pas forcément le meilleur plan !

Personnellement, je n'achète jamais de boite, je n'achète que des pièces détachées en quantité sur BrickLink, https://www.bricklin...&itemBrand=1000
De loin la meilleur solution à mon avis.

Pour connaitre l'ensemble des pièces, la bonne solution, c'est de télécharger le logiciel gratuit, Studio. https://www.bricklin...o/download.page
Dans le logiciel, il y a une base de données remarquable, avec toutes les références.

Tu peux également acheter du Lego chinois. Beaucoup moins cher ! https://fr.aliexpres....27426c37rDTcWX
N'hésite pas à demander.

#5 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 09 décembre 2019 - 03:27

J'aime bien l'idée de developper sur logiciel et de commander les pièces necessaires en fonction .

Ca pourrait etre pas mal de mixer pièces imprimées et lego aussi .

 

merci pour les liens !



#6 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 09 décembre 2019 - 05:11

Joli projet !

Question sur les pièces imprimées: tu as des ajustements qui ont l'air de bien s'emboîter (e.g. avec les roulements). Tu mets quelle différence relative entre les diamètres de ton axe et de ton trou ? Ce sont les mêmes, où sont-ils différents (pour que ça s'emboîte bien sans forcer comme un malade)?
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#7 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 10 décembre 2019 - 12:59

Joli projet !

Question sur les pièces imprimées: tu as des ajustements qui ont l'air de bien s'emboîter (e.g. avec les roulements). Tu mets quelle différence relative entre les diamètres de ton axe et de ton trou ? Ce sont les mêmes, où sont-ils différents (pour que ça s'emboîte bien sans forcer comme un malade)?

 

merci !

 

En general je pars sur une base de 0.1mm de jeux (sur le diametre) et en general ca me donne un montage assez serré mais pas trop . Je pensse que c'est due au fait que le plastic s'ecrase legerement en se déposant . Le seul probleme c'est que les resultats varient suivant les imprimantes, les parametres d'impression et meme suivant la marque des filaments utilisé .



#8 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 02 janvier 2020 - 07:44

Un nouveau projet pour bien demarrer 2020 !!!

L'année dernière je me suis amusé à entrainer une IA à jouer à un clone du jeux flappy bird . J'ai reproduit le jeux sur Unity (le moteur de jeux) et utilisé le "ML agent toolkit" (outils d'apprentissage machine) également développé par Unity pour entrainer cette IA .

j'ai trouvé le procédé vraiment fantastique et très accessible meme pour quelqu'un avec des connaissances très légères (comme moi) . J'adore vraiment l'idée de pouvoir créer un environment virtuel et s'en servir pour la partie apprentissage, cela permet de faire tourner plusieurs simulations en meme temps et permet un apprentissage rapide .

Biensur pour des projets necessitant la reproduction fidèle du monde réel ca devient plus compliqué (gravité, collisions....) mais pour le moment je vais éviter cela .

Voila le résultat de ce premier projet :

 

 

 

J'aimerai maintenant faire un pas de plus dans cette direction et cette fois entrainer une IA sur Unity et ensuite m'en servir dans un robot pour effectuer une tache dans le monde réel .

Pour me laisser une chance raisonnable de réussir je me suis fixer les critères suivant pour ce projet :

 - l'IA doit éffectuer une tache simple .

 - l'IA doit evoluer dans un evironment simple . Donc pas de physique ou de capteurs qui pourraient donner des relevés différents de capteurs virtuels, on oublie donc les robots qui marche et autre .

 - Le robot réel doit etre assez simple a construire .

La première chose qui m'est venu a l'esprit c'est de créer un robot qui peut jouer au puisance 4 . L'IA devrait etre facile à entrainer et l'état du jeux peut etre représenté par une simple matrice de 6x7 sans avoir besoin de capteur et autre .
Ca me laisse aussi pas mal de liberté au niveau du design robot et ca me laissera meme la possibilité de jouer contre l'IA directement sur l'ordinateur avant meme d'avoir construit quoi que ce soit .


Evidement une machine a jouer au puissance 4 pourrait etre faite sans passer par l'apprentissage machine mais c'est le processus qui m'interesse !

 



#9 Romaric

Romaric

    Membre occasionnel

  • Membres
  • Pip
  • 141 messages

Posté 03 janvier 2020 - 08:36

J'adore l'idée ! Je suis pressé de voir comment tu vas mettre en oeuvre tout ça  ;)



#10 Oracid

Oracid

    Pilier du forum

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

Posté 03 janvier 2020 - 02:11

Comme je n'ai pas compris les règles du jeux, je n'ai pas compris l'évolution de l'apprentissage du petit oiseau.
Mais, pas grave. C'est culturel, ou générationnel, ou les deux !

Ce qui m'inquiète le plus, c'est que lorsque quelqu'un parle d'IA, je ne comprends rien. Mais alors, rien !
Il est vrai que je ne me suis jamais réellement penché sur la question. Peut-être parce que je décroche tout de suite.

C'est donc avec grande impatience que j'attends la suite de ce projet.

#11 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 03 janvier 2020 - 05:24

En fait les règles du jeu sont très simples mais il demande pas mal de dexterité pour faire de gros score (je pensse que c'est pour ca que beaucoup de gens l'utilise pour ce genre de chose) .

 

Le but du jeux est de faire passer l'oiseau entre les tuyaux verts . Le decor et les tuyaux avancent automatiquement à une vitesse constante . Si l'oiseau touche le sol, le ciel ou les tuyaux, il meurt et le jeux se relance depuis le debut . L'oiseau marque un point pour chaque tuyaux passé .
Dès que le joueur touche l'ecran l'oiseau bat des ailes et monte un peu ensuite la gravité le ramène vers le sol . Il faut donc faire attention à ne pas monter trop haut pour que l'oiseau est le temps de redescendre par gravité pour gérer les differences de hauteur d'un tuyaux à l'autre .


L'IA englobe beaucoup de chose, mais ici on est sur de l'apprentissage pas renforcement .

C'est à dire que l'IA observe l'état du jeux, ici ca correspond à la vitesse verticale de l'oiseau (si il descend ou monte), et des mesures distances à plusieurs angles differents pour savoir à quel distance sont les obstacles (exactement comme les capteurs sonore a l'avant de t'es quadrupede) .
En fonction de cette observation, elle va prendre un action et ensuite recevoir une recompense ou une punition suivant le resultat de cette action . Si l'oiseau meurt => punition, si il marque une point =>recompense .
L'IA ajustera sont comportement afin de recevoir le maximum de recompense (et n'hésitera pas 
à exploiter des bugs du jeux si il y en a pour y arriver!!)

Le probl
ème ce genre de technique c'est que le concept général n'est pas trop difficile à comprendre, mais réaliser quelque chose comme cela de A à Z demande de bonnes connaissances en mathématique et informatique (que je n'ai pas) . Heureusement qu'ici Unity s'est occupé de toute la partie difficile !



#12 Oracid

Oracid

    Pilier du forum

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

Posté 03 janvier 2020 - 07:17

A ok ! Déjà, j'ai compris le but du jeu.

En gros, un drone vole dans un tunnel et il n'a pas le droit de toucher le plafond ou le sol, sous peine de crash.

Intéressant ! Cela me rappelle la solution que j'avais préconisé pour le projet de Sandro.

 

Pour faire plus simple, on pourrait imaginer une piste avec des bords, comme à la Toulouse Robot Race.

Le but étant de faire le parcours le plus rapidement possible.

 

J'ai fait quelques photos pour un concours de ce type qui a eu lieu à Paris, il y a quelques temps, https://www.robot-ma...0-fevrier-2018/, le seul capteur autorisé était une caméra.

Quasiment tout le monde s'est planté, mais c'était très intéressant.



#13 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 03 janvier 2020 - 07:43

C'est marrant que tu parle de ca, parce que la semaine dernière je me documentais sur les 'Jetbot' qui tourne sur des cartes Nvidia jetson nano .

Apperement le robot vient avec des exemples de code y compris un qui permet de donner au robot des images de chemins 'bouchés' et des images de chemins 'libres' . 

A partir de ces 2 collections d'image le robot apprend si il voit un chemain libre ou non et peut ensuite changer ou non de direction .

Malheureusement je n'ai pas trouvé de video en francais, mais j'ai trouvé celle ci assez sympa a regarder :

vers les 2 minutes de la vidéo on voit la personne donner au robot les images des differents types de chemins et à partir des 6 minutes on voit les resultat de l'apprentissage . Bon le robot ne fait que tourner vers la gauche quand il detecte un chemin bouché mais il y a moyen de developper le concept .



#14 Oracid

Oracid

    Pilier du forum

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

Posté 03 janvier 2020 - 09:40

Tant pis si je me trompe.

Je pense avoir bien compris le principe. On enregistre des images dans une table, puis on compare chaque obstacle trouvé sur son chemin à ce que l'on a dans la table.

Si l'objet ne se trouve pas dans la table, le robot lui rentre dedans. Si c'est bloquant, on le met dans le rayon obstacle.

 

Je trouve tout cela un peu lourd. Mais c'est peut-être comme cela que travail notre cerveau.



#15 Little french kev

Little french kev

    Membre

  • Membres
  • 110 messages

Posté 14 janvier 2020 - 09:59

Petits progrès sur le projet .

La première étape qui était de créer le jeu est maintenant faite . Ca fesait longtemps que je n'avais pas touché à Unity, j'avais oublié à quel point faire des jeux est fun . Evidement je n'ai pas pu m'empêcher d'essayer de créer un design un peu sympa et de rajouter des petits effets ici et la ce qui m'a couté plus d'une journée !



La prochaine étape va etre d'entrainer une IA contre elle meme sur le jeux et heureusement la rendre meilleur qu'un humain .





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users