Journal Bleuette, un robot hexapode libre

Posté par  (site web personnel) . Licence CC By‑SA.
66
29
jan.
2013

Cher journal,

je profite de toi pour faire un coup de projecteur sur Bleuette, un robot hexapode entièrement libre.

Commencé il y a quelques années avec un ami, nous nous étions alors séparé les tâches, lui, la méca et moi, l'électronique.
Le corps et les pattes étaient alors en Plexiglas pour la toute première version puis remplacés par du Lexan, mais nous butions sur un problème pour la fabrication d'une pièce (le pivot des pattes), plutôt dure à réaliser avec nos moyens matériels…

Le projet s'est plus ou moins endormi jusqu'à ce que je fasse l'acquisition d'une imprimante 3D (une Ultimaker) qui a alors relancé le projet à vitesse grand V…

Une vue 3D de Bleuette

La structure est réalisée en PLA (un plastique biodégradable) avec une imprimante 3D, mais est réalisable en grande partie à la fraiseuse CNC (sauf les fameux pivots de patte). Toutes les pièces ont été créées de manière paramétriques avec OpenScad, il est ainsi simple de changer des paramètres (taille, épaisseur, etc.) à l'aide de variables dans les sources.

Le cerveau de la bête est une Arduino Leonardo avec une carte fille réalisée pour l'occasion qu'il est possible d'acheter, cette dernière génère la tension d'alimentation pour l'Arduino, mesure la tension et le courant consommé par les servos et, surtout, assure le pilotage parfaitement synchrone des 12 servos des pattes et des 2 servos optionnels (tourelle, etc.).

Bleuette à fait ses premiers pas tout récemment et en voici une vidéo :

Bleuette marche !

Tous les sources sont sur GitHub/Bleuette, un wiki qui est enrichi au fur et à mesure contient tout ce qu'il faut pour réaliser le vôtre (il est également traduit en anglais), je tâche également d'écrire des articles à ce sujet sur mon blog.

Les prochaines étapes :

  • Logiciel : Trouver des algorithmes plus efficace pour la gestion des pattes
  • Méca : Ajouter des capteurs au bout des pattes pour s'assurer qu'il touche bien le sol, un capteur ultrason sur une tourelle pour détecter les obstacles, etc.
  • Électronique : Gestion de la charge, ajouter un écran, connectivité Bluetooth

Voilà pour la présentation, j'espère que ça intéressera du monde et que Bleuette ne restera pas seul… ;)

  • # copain

    Posté par  (site web personnel) . Évalué à 10.

    cela n'aura pas trop tardé pour trouver un pote de plus pour http://linuxfr.org/users/jnanar--2/journaux/je-me-fais-des-amis-au-sens-litteral :-)

  • # Le prix !

    Posté par  . Évalué à 6.

    Combien ça t'as couté ?

    • [^] # Re: Le prix !

      Posté par  . Évalué à 3.

      Déjà l'imprimante 3D c'est 1200 € :/

      • [^] # Re: Le prix !

        Posté par  (site web personnel) . Évalué à 5.

        Alors, tu peux te faire ta propre reprap pour environ 500€ ou, encore mieux, tu trouves un fablab / hackerspace (http://hackerspaces.org/wiki/France) près de chez toi et tu utilises leurs machines…

        • [^] # Re: Le prix !

          Posté par  . Évalué à 5.

          Et entre une reprap artisanale et une machine qui coute le double mais assemblée par un pro, quelle est la différence de qualité ?
          J'imagine que ce qui est important c'est la résolution et la vitesse ?

          Monter une reprap doit être vraiment intéressant… Mais si les performances sont désastreuses et que ce n'est qu'un jouet, les 500€ ne valent peut-etre pas l'investissement.
          Quelqu’un qui s'y connait sur le sujet peut il donner son avis ?

          • [^] # Re: Le prix !

            Posté par  (site web personnel) . Évalué à 4.

            L'Ultimaker est un kit, c'est à toi de l'assembler de A à Z, après, tu peux prendre l'option déjà assemblée mais le prix grimpe encore…

            Je ne vais pas m'aventurer dans une comparaison entre l'Ultimaker et une reprap faite maison, je peux juste affirmer que tu peux arriver à des résultats très très intéressant pour un coût vraiment abordable…

            Après, il faut reconnaitre que l'Ultimaker te permet d'obtenir un couple précision / vitesse assez impressionnant sans trop te prendre la tête dans le tuning de la machine (quoique ;))

    • [^] # Re: Le prix !

      Posté par  (site web personnel) . Évalué à 10.

      Au stade actuel du développement, voici ce que ça à dû me couter :

      • 12 servos standard (Futaba S3003), c'est clairement le plus chèr : ~7€ x 12 : 84€ (En prenant un servo équivalent, ça coûtera moins chèr)
      • 1 carte Arduino Leonardo : ~19€
      • La carte fille de pilotage des servos : ~25€ (estimation très rapide)
      • Pour le PLA, il faudrait que je pèse les pièces mais ça ne doit pas dépasser les 20€
      • Visserie / Tiges / Clip / Pièces diverses : 20€

      Disons qu'il y en a pour moins de 180€ tout compris sans prendre trop de risque sur le prix.

      Après, il faudra prévoir une batterie et autre accessoire divers (module Bluetooth, capteur ultrason), environ 30€ en plus.

      Le prix me semble clairement accessible face au prix des hexapodes fermés du commerce…

      • [^] # Sinon sur le long terme vous comptez aller où ?

        Posté par  . Évalué à -10.

        1/ Sinon sur le long terme vous comptez aller où ?
        (Le but, est-ce que ce sera commercial tout en restant libre et gratuit, etc.)
        J'aimerais connaître la distrib que vous utiliserez, le language que vous implémenterez, etc.

        2/ Pourquoi ne pas réaliser un drone libre et gratuit ?

        • [^] # Re: Sinon sur le long terme vous comptez aller où ?

          Posté par  . Évalué à 10.

          2/ Pourquoi ne pas réaliser un drone libre et gratuit ?

          Le drone n'est pas quelque chose d'immateriel, donc chaque nouvel exemplaire a un coût. S'ils devaient faire ce drone gratuitement, ca voudrait dire que ce serait eux qui assumeraient ce coût…
          Et toi, pourquoi ne travaille-tu pas pour moi gratuitement ?

          • [^] # Re: Sinon sur le long terme vous comptez aller où ?

            Posté par  . Évalué à -10.

            Le drone n'est pas quelque chose d'immateriel, donc chaque nouvel exemplaire a un coût

            Les plans et le softs pourraient être gratuits: c'est cela mon idée.

            Et toi, pourquoi ne travaille-tu pas pour moi gratuitement ?

            Je le fais pour d'autres déjà: chacun son tour. :-)
            D'ailleurs lorsque nous commentons et donnons des avis techniques, nous ne sommes pas payés à ce que je sache.
            Juste une remarque: Linux est libre et gratuit et des personnes travaillent dessus sans être rémunérés [pas tous il est vrai].
            Personne ne s'en plaint à ce que je sache…

            • [^] # Re: Sinon sur le long terme vous comptez aller où ?

              Posté par  (site web personnel) . Évalué à 10.

              Je pensais avoir été clair dans mon explication : tout est libre, gratuit, ouvert, libéré, free, non propriétaire, [ajoute un synonyme ici] ;)

              Mais c'est un objet physique, donc si tu en veux un, et que tu veux le faire par tes propres moyens, il te faudra débourser une somme égale à environ l'estimation que j'ai faite plus haut, soit ~180€

              • [^] # Re: Sinon sur le long terme vous comptez aller où ?

                Posté par  . Évalué à -10.

                @Hugo
                Je répondais à l'autre…
                Je reconnais ne pas avoir bien lu…

                Pour le drône je n'ai pas dit que vous allez nous le donner.
                C'est une question qui se pose:
                pourquoi une bête mécanique qui marche quand on pourrait faire un truc qui vole…

                • [^] # Re: Sinon sur le long terme vous comptez aller où ?

                  Posté par  . Évalué à 10.

                  Parce qu'un truc qui marche, c'est stable tout seul et ça risque moins de se faire mal en se prenant un mur.
                  Le drône volant, lui, il va coûter bien plus cher à développer et construire, et je ne parle pas ici de peinture éraflée dans ta maison.

                  Rien que pour garder un quadraptor stable en l'air avec les courants d'air dans la maison, il va te falloir potasser pas mal! Les études sur le ratio puissance-poids, répartition des masses etc. seront bien plus complexe.

                  Pense à ça:
                  -rajouter des capteurs pour détecter que les pattes touchent le sol
                  C'est pas aussi évident que "j'ai mis un bouton poussoir au bout des pattes!"

                  Alors imagine un:
                  -détection d'attitude et correction permanente (pour rester en l'air sans dériver trop, rien que ça), ça implique déjà quelques capteurs!
                  -détecte les obstacles
                  -détecte la hauteur de plafond
                  -feedback permanent sur l'altitude en intérieur? quelques #10cm près en intérieur?
                  -apprend à reconnaître un endroit pour atterrir en urgence? (plus de batterie, logiciel de pilotage expériemental qui plante, etc.): faut que ce soit plat, assez grand, et de préférence pas à côté de la fenêtre par grand vent

                  Je te conseille d'ailleurs de regarder quelques vidéos d'un universitaire américain dont le nom est malheureusement trop compliqué pour que je m'en souvienne: il fait ses expériences dans une très grande pièce avec un plafond très haut, et sur beaucoup de vidéos on voit des filets tout autour de la zone de vol.

                  Maintenant si tu veux te lancer, c'est un projet passionant!!

          • [^] # Re: Sinon sur le long terme vous comptez aller où ?

            Posté par  . Évalué à -10.

            J'explique parce que peut-être ce n'est pas clair:

            Ils donnent les plans et pour qu'ils rentrent dans les fonds, ils vendent par exemple les hélices…
            (Genre arduino et autre DIY)

            J'espère que monsieur est satisfait… :-)

  • # Bleuette, un robot hexapode libre

    Posté par  . Évalué à -3.

    Le projet s'est plus au moins endormi

    Le projet s'est plus ou moins endormi

    • [^] # Re: Bleuette, un robot hexapode libre

      Posté par  (site web personnel) . Évalué à 6.

      J'avoue que je ne suis pas très doué pour la lecture des news et autres journaux.
      Je préfère lire autre chose.
      D'ailleurs côté écriture ce n'est pas trop cela aussi…
      ( j'fé pas mal de fotes )

      Le projet s'est plus au moins endormi

      Le projet s'est plus ou moins endormi

      Laisse tomber, ton karma a assez souffert pour aujourd'hui.
      Il y a des jours ou mieux vaut se taire (oui moi aussi j'ai du mal des fois, mais c'est comme ça ! Et c'est mieux pour la communauté.).

      Sinon : enchanté Bleuette ! Tu as l'air toute mignonne.

    • [^] # Re: Bleuette, un robot hexapode libre

      Posté par  (site web personnel, Mastodon) . Évalué à 5.

      Le projet s'est plus ou moins endormi

      Alors là, non, c'est la gloire \o/

  • # Style de marche

    Posté par  . Évalué à 6.

    Il est rigolo, ce robot. Je n'ai aucune idée de la manière dont ça se programme ; il y a une API ou un truc comme ça, on utilise le langage qu'on veut, ou c'est complètement contraint?

    Pour le "style" de marche, je me demande pourquoi il ne marche pas comme un insecte (par exemple http://www.youtube.com/watch?feature=player_embedded&v=UZg7Q2js2UE#!). J'ai l'impression que la marche de l'insecte est plus rapide et surtout plus "lisse" que les grands coups de pattes, mais peut-être est-ce juste difficile de reproduire ce mouvement?

    • [^] # Re: Style de marche

      Posté par  (site web personnel) . Évalué à 7.

      Oui, j'ai développé un système assez simple (sequencer.h) qui ressemble à ça :

      motion_t motion_pushup[] = {
          {
              100, // Le délai en milliseconde pendant lequel la position doit durer avant de passer à la suivante
              {
                  __,   __,   __,   __,   __,   __,     // Position des servos horizontaux
                  DOWN, DOWN, DOWN, DOWN, DOWN, DOWN    // Position des servos verticaux
              },
              NULL // Ici, on peut mettre une fonction de callback qui sera exécutée une fois que la position aura été envoyée
          },
          {
              100,
              {
                  __, __, __, __, __, __,
                  UP, UP, UP, UP, UP, UP
              },
              NULL
          }
      };
      
      

      __ signifie qu'on garde la position précédente
      DOWN et UP sont des define indiquant les positions extrèmes dans un sens ou dans l'autre, bien sûr, il est possible de donner directement des valeurs numériques pour toutes les positions intermédiaires.

      Après, dans l'API (qui bouge beaucoup en ce moment), tu peux envoyer des séquences à la suite des autres, les lire à l'envers, commencer que à partir d'une position, etc…

      La structure ci dessus fait faire des pompes à Bleuette, il changera de position toutes les 100ms.

      Pour en revenir à la marche actuelle de Bleuette, on va dire que c'est un style de marche plutôt simple et qui permet de garder l'équilibre plutôt facilement mais je vais garder précisieusement le lien vidéo que tu as posté pour m'en inspirer…

    • [^] # Re: Style de marche

      Posté par  (site web personnel) . Évalué à 2.

      J'ai regardé la vidéo plus en détail, très intéressante mais elle révèle aussi une marche très complexe, l'implémentation sur Bleuette me semble assez compliquée voir impossible : déjà, l'exemple possède 3 degrés de liberté par patte, Bleuette en a que 2, ça réduit énormément les possibilité, enfin, la manière de gérer les pattes (une commence à bougé alors que l'autre n'a pas fini son mouvement précédent) n'est pour le moment pas possible facilement avec le code actuel.

      Mais c'est instructif et ça me donne des idées pour la suite.

      D'ailleurs, je suis preneur de ce genre de vidéo car on se rend compte qu'il n'y a pas qu'un seul style de marche pour un hexapode…

      • [^] # Re: Style de marche

        Posté par  . Évalué à 4.

        D'ailleurs, je suis preneur de ce genre de vidéo car on se rend compte qu'il n'y a pas qu'un seul style de marche pour un hexapode…

        Mais n'y a-t-il pas un seul style de marche commun aux hexapodes naturels ? Dans ce cas n'est-ce pas le plus efficace, qu'il faudrait essayer de reproduire ?

        • [^] # Re: Style de marche

          Posté par  (site web personnel) . Évalué à 2.

          Mais n'y a-t-il pas un seul style de marche commun aux hexapodes naturels ? Dans ce cas n'est-ce pas le plus efficace, qu'il faudrait essayer de reproduire ?

          Concernant le style de marche des hexapodes naturels, j'en ai pas la moindre idée mais j'ai déjà croisé 3 types de marches radicalement différentes…

          • [^] # Re: Style de marche

            Posté par  . Évalué à 2.

            Il y en a plusieurs qui ont été codé pour les hexapodes PhantomX, tournant aussi sur du Arduino, et il me semble que les codes sont libres. On peut les voir à l'œuvre sur cette vidéo : http://www.youtube.com/watch?v=rAeQn5QnyXo C'est assez impressionant, ça ressemble beaucoup à la marche d'un insecte.

            • [^] # Re: Style de marche

              Posté par  (site web personnel) . Évalué à 1.

              Oui, je les connais ceux là, ils sont sympas (3 degré de liberté par patte) mais le prix l'est aussi, on frôle les 1000 euros là…

      • [^] # Re: Style de marche

        Posté par  . Évalué à 4. Dernière modification le 30 janvier 2013 à 13:01.

        la manière de gérer les pattes (une commence à bougé alors que l'autre n'a pas fini son mouvement précédent) n'est pour le moment pas possible facilement avec le code actuel.

        Certes, mais ça montre simplement un problème d'implémentation, non? Chaque patte a un mouvement très simple:

        t0: Bas, Avant -> t1: Bas, Arrière -> t2: Haut, Arrière -> t3: Haut, Avant.

        Les pattes sont synchronisées de la manière suivante :

        Arrière-gauche = Milieu-droit = t0
        Arrière-droit = Milieu-gauche = t1
        Avant-droit = t2
        Avant-gauche = t3
        (à peu de choses près, il y a peut-être besoin d'un peu plus de précision).

        Bref, c'est quand même très simple.

        Ce qui est marrant, c'est qu'on n'a pas du tout la même définition de ce qui est simple et complexe : à mes yeux, la construction du robot semble extrêmement complexe. Par contre, le faire marcher comme un insecte me semble hyper-simple (il y en a pour quoi, deux heures pour coder, déboggage compris?), et je pense que je n'aurais même pas eu l'idée d'"inventer" un style de marche "boiteux" une patte après l'autre (par exemple, l'idée de faire marcher un cheval une patte après l'autre est absurde, il n'avancerait jamais, il faut que chaque patte ait un cycle, et décaler les cycles).

        • [^] # Re: Style de marche

          Posté par  (site web personnel) . Évalué à 1.

          Certes, mais ça montre simplement un problème d'implémentation, non? Chaque patte a un mouvement très simple:

          Ça montre un problème d'implémentation pour CE type de marche en particulier, regarde la vidéo de Bleuette, il marche, le code est simple et adapté à la méca…

          Les pattes sont synchronisées de la manière suivante :

          Arrière-gauche = Milieu-droit = t0
          Arrière-droit = Milieu-gauche = t1
          Avant-droit = t2
          Avant-gauche = t3
          (à peu de choses près, il y a peut-être besoin d'un peu plus de précision).

          Tu simplifies beaucoup trop, on est loin du compte, les pattes sont légèrement désynchronisées, ne se déplacent pas toujours à la même vitesse, en fait, elle semble être réellement indépendantes.
          La marche que tu expliques ne pose, apparemment, aucun problème d'implémentation pour le Bleuette actuel.

          Avant de m'attaquer à l'écriture du code pour faire marcher Bleuette, je pensais aussi que c'était très simple mais c'est plus dûr que ça en à l'air surtout sans simulateur…
          N'oublie pas également qu'on est limité à la « puissance » d'un micro-controleur…

          Si tu as 2h à consacrer au projet, n'hésite surtout pas… ;)

          • [^] # Re: Style de marche

            Posté par  . Évalué à 3.

            Si tu as 2h à consacrer au projet, n'hésite surtout pas

            On a le droit à la calculatrice ?

          • [^] # Re: Style de marche

            Posté par  . Évalué à 4. Dernière modification le 30 janvier 2013 à 14:11.

            Tu simplifies beaucoup trop, on est loin du compte, les pattes sont légèrement désynchronisées

            Non, sérieusement, je n'ai pas l'impression. Le truc, c'est que le mouvement de retour est continu (tu montes et tu descends tout en avançant la patte), donc c'est clair qu'en fait, le mouvement est plutôt continu. Par contre, les pattes ne sont absolument pas désynchronisées.

            Si tu as 2h à consacrer au projet, n'hésite surtout pas… ;)

            Sans le robot sous le nez, ça parait quand même assez compliqué, mais j'avoue que c'est un truc que je n'ai jamais fait, et c'est clair que je trouve ça rigolo…

            Pour chaque patte, le cycle est assez simple. Il faut faire quelque chose comme:

            départ: FRONT,DOWN
            puis: BACK,DOWN
            puis: HMID,UP
            et retour au départ

            Si je comprends bien comment marche le truc, j'imagine que quelque chose comme ça pourrait faire l'affaire dans un premier temps:
            (tu n'as pas précisé l'ordre des servos, je suis parti de "arrière gauche - arrière droit - milieu gauche - milieu droit - avant-gauche - avant-droit, mais il faut changer pour l'ordre réel)

                {
                    DELAY_MIN,
                    {
                        FRONT, BACK, BACK, FRONT, HMID, HMID, 
                        DOWN, DOWN, DOWN, DOWN, UP, DOWN
                    },
                    NULL
                },
                {
                    DELAY_MIN,
                    {
                        HMID, HMID, HMID, HMID, FRONT, BACK, 
                        DOWN, UP, UP, DOWN, DOWN, DOWN
                    },
                    NULL
                },
                {
                    DELAY_MIN,
                    {
                        BACK, FRONT, FRONT, BACK, HMID, HMID, 
                        DOWN, DOWN, DOWN, DOWN, DOWN, UP
                    },
                    NULL
                },
                {
                    DELAY_MIN,
                    {
                        HMID, HMID, HMID, HMID, BACK, FRONT, 
                        UP, DOWN, DOWN, UP, DOWN, DOWN
                    },
                    NULL
                }
            
            

            Je suis aussi parti du principe qu'il était théoriquemnt impossible de casser le robot, même si on faisait n'importe quoi :-)

            Sur ce, je retourne travailler pour de vrai :-)

            • [^] # Re: Style de marche

              Posté par  (site web personnel) . Évalué à 1.

              héhé, je teste le code dès que possible…

              Ce serait vraiment bien un simulateur !

              • [^] # Re: Style de marche

                Posté par  . Évalué à 3.

                Si tu as un simulateur, tu peux même faire tourner les algos génétiques dont on parlait en dessous pour optimiser la marche ou d'autres processus.

            • [^] # Re: Style de marche

              Posté par  (site web personnel) . Évalué à 1.

              lut, j'ai intégré ta séquence et le robot marche, par contre, comme les mouvements de levage de pattes et ceux de déplacement horizotaux sont sur les mêmes lignes, la démarches est plutôt bizarre mais bon, ça avance…

              • [^] # Re: Style de marche

                Posté par  . Évalué à 2.

                on peut avoir une vidéo ?

              • [^] # Re: Style de marche

                Posté par  . Évalué à 2.

                La vraie question, c'est "est-ce qu'il marche plus vite qu'au début", non? :-) Je suis sûr qu'il y a moyen de peaufiner pour rendre la marche plus efficace (temps de pause, léger décalage entre les pattes, etc).

                • [^] # Re: Style de marche

                  Posté par  (site web personnel) . Évalué à 1.

                  La vraie question, c'est "est-ce qu'il marche plus vite qu'au début", non? :-) Je suis sûr qu'il y a moyen de peaufiner pour rendre la marche plus efficace (temps de pause, léger décalage entre les pattes, etc).

                  Tout est question de tuning ;)

  • # algorithmes plus efficace pour la gestion des pattes

    Posté par  . Évalué à 10. Dernière modification le 29 janvier 2013 à 19:38.

    J'avais lu plusieurs articles très intéressants sur des chercheurs qui voulaient faire marcher ou voler des robots.
    Ils utilisaient des algorithmes génétiques pour trouver la meilleure façon de le faire.
    Je ne suis pas spécialiste, mais l'idée est de recombiner des paramètres (gènes) sur plusieurs générations pour trouver la meilleure combinaison, au sens évolutionniste, c'est à dire la mieux adaptée à une situation (genre: marcher vite, sans se prendre des murs, en consommant moins d'énergie, etc.).
    Le truc c'est que le faire dans le monde physique prend énormément de temps. C'est pour cela qu'ils le faisaient sur simulateur. Puis programmaient le robot avec le résultat.
    Tout ça pour au final, s'apercevoir que la meilleure combinaison dans notre monde était celle qui ressemblait le plus à la méthode d'un insecte biologique.
    Somme toute logique puisque la nature à eu qques million d'années pour la trouver cette combinaison (pardon aux créationnistes, tout ça).
    Bon projet.

    • [^] # Re: algorithmes plus efficace pour la gestion des pattes

      Posté par  (site web personnel) . Évalué à 2.

      J'ai passé mon master (il y a 5/6 ans) avec un gars qui faisait exactement ça : ça s'appelait algorithmes génétiques.
      Il arrêtait pas de monopoliser la grappe de machine. Le nombre d'heures de simulation, pour arriver à un robot qui se cognait dans les murs, faisait peur (je crois me rappeler de plusieurs milliers d'heures).

      Ça a peut être évolué depuis, mais j'ai peur que ça soit encore gourmand en ressources de calcul. Et le niveau en mathématiques pour comprendre les équations est sympa aussi (réseaux de neurones, tous ça).
      Mais en tous cas, c'est ultra fun !

      • [^] # Re: algorithmes plus efficace pour la gestion des pattes

        Posté par  . Évalué à 3.

        Un algo génétique ca n'a pas grand chose de complexe a mettre en place ou à suivre. Ca n'a rien a voir avec un réseau de neurones comme tu le suggère.
        Ce n'est au final qu'une fonction de coût, une de sélection, une de croisement/mutation. Rien d'insurmontable, le plus compliqué étant à la limite le codage des entrées.

        Après si un algo G prend des milliers d'heures à converger, c'est peut être que ce n'est pas la solution la plus adaptée, ou alors que le problème est mal posé non ?

        • [^] # Re: algorithmes plus efficace pour la gestion des pattes

          Posté par  . Évalué à 4.

          Pour moi le plus compliqué, il me semble, est de réaliser un simulateur qui soit assez fidèle à la réalité afin de sélectionner les candidats à la reproduction.

          • [^] # Re: algorithmes plus efficace pour la gestion des pattes

            Posté par  . Évalué à 6.

            Je pense que c'est exactement ça. La base du programme en elle-même est hyper-simple (une petite journée de developpement pour quelqu'un qui a l'habitude). C'est vraiment l'évaluation des combinaisons génétiques qui est très, très complexe.

            D'ailleurs, ce genre de système a toujours tendance à trouver des failles dans le programme d'évaluation, et finit toujours par optimiser la fonction d'évaluation sans optimiser le processus sous-jacent. Par exemple, agrandir le robot plutôt que d'améliorer la marche, des trucs comme ça. Il faut donc sans arrêt procéder par essai et erreur pour empêcher le truc de tricher—c'est aussi très instructif pour comprendre comment marche l'évolution, qui passe son temps à bricoler des solutions à partir de trucs pas faits pour ça.

            Les algorithmes génétiques permettent d'atteindre des solutions fonctionnelles, par contre, elles risquent d'être décevantes par rapport à une solution d'ingéniérie bien pensée : ça ne sera pas forcément élégant, ni efficace, si simple.

        • [^] # Re: algorithmes plus efficace pour la gestion des pattes

          Posté par  (site web personnel) . Évalué à 3.

          Je vais chercher si je trouve un compte rendu des travaux auxquels je faisais référence, je me rappelle qu'il y avait un robot qui devait sortir d'un labyrinthe, pleins de générations de robots (calculées sur au moins un an) et des réseaux de neurones.

          Mais d'après l'article wikipédia sur les algos génétiques :

          Le temps de calcul des algorithmes génétiques croît en n \ln(n), n étant le nombre de variables.

          Donc je dirais, tout dépend du nombre de variables. Dans le cas d'un robot, ça doit effectivement être pas cher.
          Pour des modèles météo, c'est autre chose :)

  • # FUUUUUUUUUUU

    Posté par  . Évalué à 1.

    Blast!
    This video can't be played with your current setup.
    Please switch to a browser that provides native H.264 support or install Adobe Flash Player.

    Et recopié à la mimine parce que je peux pas copier-coller ce texte. Vivement que le VP9 arrive et casse tout sur son passage! (on peut toujours rêver…)

    Écrit en Bépo selon l’orthographe de 1990

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.