Aller au contenu


Liquidhuk

Inscrit(e) (le) 16 mai 2013
Déconnecté Dernière activité juin 04 2015 08:40
-----

Sujets que j'ai initiés

Fabriquer des pièces mécaniques arrondies

04 juin 2015 - 07:45

Bonjour,

 

Après un an de "repos robotique", je repars cette année pour une nouvelle aventure, et encore une fois avec un hexapode.

J'ai une idée très précise de ce que je veux faire et déjà un assemblage Solidworks bien avancée. Malheureusement, de part là structure du robot, il est essentiel d'utiliser des pièces très arrondies (voir image ci-dessous). Je partirais sur du plastique rigide d'épaisseur 2-3mm, la pièce est découpable dans une sphère de 350mm environs (vu la difficulté que j'ai à trouver de quoi faire ces pièces, je pense adapter les autres pièces à ce que je trouverais).

 

J'ai fais quelques recherches mais je ne trouve rien à des coûts raisonnable (surtout en ce qui concerne l'impression 3D). J'aimerais éviter d'avoir à découper une sphère plastique et à percer dedans, car les pièces ont des formes assez complexes et j'ai toutes les chances de me planter...

 

Des idées / conseils d'endroits où je pourrais trouver ce qu'il me faut ?

 

body%20sphere.jpg


Robot hexapode

15 août 2013 - 12:01

Bonjour bonjour

Voilà plusieurs mois que j'y réfléchissais, que je faisais des modèles et que je me renseignais sur le sujet en attendant d'avoir le budget pour me lancer. Mais ça y est, je me suis lancé !

L'objectif :
L'idée est de concevoir un hexapode qui sera muni d'un réseau de neurones artificiels afin d'apprendre seul à marcher. Marcher pour un hexapode constitue deux problèmes bien distincts :
- Réaliser le mouvement d'une jambe
- Coordonner toutes les jambes afin d'obtenir une démarche

Mon but sera dans un premier temps l'apprentissage de la démarche par l'hexapode qui possédera de base des fonctions pour déplacer les jambes. Ce ne sera pas une mince affaire mais si j'y parviens, je tenterais d'aller plus loin en implémentant également un choix de démarche. C'est à dire qu'en fonction de son environnement, l'hexapode devra choisir une vitesse (et donc une démarche) adaptée.

L’IA :
Après des mois de recherche et de cours vidéos (sur coursera) sur les réseaux de neurones, je ne suis toujours pas au point sur le sujet et la partie IA de l'hexapode est encore à l'état d'étude. J'ai développé un code générique en C++ qui me laissera beaucoup de liberté sur la structure et les fonctions des réseau que je peux créer avec. Il me reste beaucoup de questions quant à la formalisation du problème et au choix du réseau, je n'ai donc rien fait pour l'hexapode de ce côté là encore.

La méca :
L'hexapode devrait faire environs un mètre de périmètre et sera constitué de 18 servomoteurs Hitec HS-485HB avec palonnier métalliques. Le corps circulaire et les pattes seront faites de plexiglas. Seul les "hanches" (rotule entre une patte et le corps) seront réalisé à l'aide de support de servomoteurs acheté car je n'ai pas de quoi les fabriquer moi même de manière propre et précise.

L'élec :
L'alimentation et le contrôle des servos sera effectué via une carte SSC-32 qui elle même sera dans un premier temps connectée à un PC et une alimentation secteur. Quand des résultats concluants apparaîtront, j'investirais certainement dans une RaspberryPi et une batterie LiPo, mais pour le moment le pc reste le plus fiable et le plus simple pour travailler.

L'avancement :
J'ai reçu ma première commande cette semaine et j'ai usiné le corps circulaire et une jambe, j'ai également commencé à monter les servomoteurs :

Une hanche :
Fichier joint  redim hanche.jpg   120,09 Ko   258 téléchargement(s)

Une jambe montée sur la partie supérieur du corps :
Fichier joint  redim leg.jpg   131,06 Ko   266 téléchargement(s)
Les élastiques permettent de tenir temporairement les câbles et les vis utilisées ne sont pas adaptées, je pensais en recevoir avec les servos mais ça n'a pas été le cas. En attendant de pouvoir acheter des vis, j'ai monté toutes les hanches et les palonniers métalliques.

Côté contrôle, j'ai commandé un câble usb-rs232 de chez Prolific que je n'ai pas réussi à faire fonctionner. Après 4H dessus, les différents os que j'utilisent (w7 64B, w7 32b, debian) détectent correctement le câble (je peux même me connecter en screen dessus) mais aucune info ne passe.
J'ai donc commandé un câble d'une autre marque (avec un chip ftdi) et j'attends de le recevoir pour pouvoir avancer.

Pour plus d'informations, voici le blog du projet

contrôleur pour Servomoteurs

02 août 2013 - 06:10

Je suis à la recherche d'un contrôleur qui me permettrait de commander une vingtaine de servomoteurs via une liaison série. J'ai trouvé la servotor32 qui m'a l'air simple à utiliser.
Je voudrais savoir si vous auriez d'autres idées plus adaptées (sur raspeberry, à base d'avr non compatible arduino, ou autre) ?

Réseau de neuronnes

02 août 2013 - 03:59

Bonjour

Après plusieurs semaines à suivre des cours et lire des thèses sur les réseaux de neurones, je me suis lancé dedans. J'aimerais dans un premier temps l'appliquer au jeu pong, histoire de me faire la main. J'ai codé en C++ un réseau de neurones de taille flexible et j'ai prévu plusieurs neurones différents pour faire des tests avec différentes fonctions de transfert. J'ai prévu de procéder par apprentissage supervisé (feed forward + back propagation, learning rate et momentum).

Après quelques tests (XOR, tests de valeurs), j'en ai conclu que le réseau fonctionnait correctement. Dans mon pong, le réseau est caractérisé de la manière suivante :
- Les deux paddle sont contrôlés par des réseaux de neurones
- 4 données sont attendues en entrée : position et direction de la balle
- Un résultat est attendu : position en Y du paddle
- Le réseau est constitué de trois couches de 4 / 10 / 1 neurones

Quand la balle touche un paddle :
- J'envoie en entrée du réseau du paddle opposé la position et la direction de la balle (après rebond)
- J'effectue le feedforward
- Je simule l'endroit où la balle doit atteindre le côté qui effectue le calcul
- J'effectue la backpropagation à l'aide de la simulation
- Je déplace le paddle à l'endroit indiqué par le réseau de neurone

Au final, le réseau converge très rapidement vers 1 et ne bouge plus ensuite. J'ai fait les tests avec des fonctions de transfert en tanh et sigmoïde et en modifiants les constantes de momentum et learning rate, sans résultat probant.

Quels tests pourrais-je faire pour comprendre ce qu'il se passe ? Quelle structure devrais-je utiliser (couches/neurones/fonction) ?

Présentation de Liquidhuk

17 mai 2013 - 12:16

Bonjour bonjour,

Je m'appelle Vincent, j'ai 24 ans et je fais mes études dans une école d'ingénieur. J'ai effectué des études très orientées vers la mécanique avant me rediriger vers l'informatique qui m'intéresse bien plus. Heureusement pour moi il existe maintenant de nombreuses possibilités qui m'évites les corvées d'élec, qui ne m'intéresse pas du tout...
Après plusieurs participations à la coupe de France de robotique, je pense me lancer dans un projet perso et plus fun. Je viens ici pour donner et obtenir des conseils et des avis, je suis sur que j'apprendrais beaucoup grâce à vous !