Quadruped Learning Simulator

10

Je construis actuellement un robot à quatre pattes ( quadrupède ), 3 DOF (degrés de liberté) et il a été suggéré ici que j'utilise un simulateur pour faire l'apprentissage sur un ordinateur, puis télécharger les algorithmes sur le robot. J'utilise un Arduino Uno pour le robot et quel logiciel pourrais-je utiliser pour simuler l'apprentissage et ensuite pouvoir télécharger sur la carte Arduino?

Jordan
la source
Allez-vous utiliser un robot existant ou le concevoir et le construire vous-même?
DaemonMaker
1
J'ai déjà construit le robot à partir de zéro :)
Jordan

Réponses:

3

Gazebo est un bon outil pour ce que vous voulez faire. Puisque vous utilisez un robot personnalisé, vous devrez créer un modèle à utiliser par le simulateur. Ils ont réussi à le faire assez facilement, mais pour un quadrupède, je peux imaginer que cela prendra un peu de temps.

Gazebo est également agréable car il fonctionne bien avec ROS, ce qui signifie que si vous construisez, vous pouvez créer un programme pour contrôler votre robot et envoyer les commandes au robot simulé via l'intégration ou au vrai robot via rosserial . Gardez simplement à l'esprit que si vous n'avez utilisé aucun de ces outils, le développement de votre solution prendra un certain temps.

DaemonMaker
la source
1
J'ai jeté un coup d'œil à certaines des étapes pour l'installer et cela ressemble à un long processus et je ne suis pas très familier avec la plupart d'entre eux et j'utilise un mac, qui ne semble pas avoir beaucoup de support. +1 pour une solution plausible mais je devrai peut-être continuer à chercher
Jordan
Une alternative serait de construire votre propre simulateur avec quelque chose comme OpenGL. La complexité de le faire dépend de la cinématique de votre robot et de la simulation de la dynamique.
DaemonMaker
2

Cela ne couvrirait pas la simulation du robot, mais la bibliothèque d'apprentissage machine OpenCV pourrait être utile pour évaluer les algorithmes d'apprentissage et les paramètres de formation à télécharger sur le robot.

Il comprend une implémentation de réseau de neurones, qui peut être particulièrement intéressante pour ce problème.

OpenCv est également une bibliothèque standard, et s'intégrerait probablement bien avec un autre simulateur pour le robot lui-même.

WildCrustacean
la source
Est-ce que cela fonctionnerait vraiment? La bibliothèque OpenCV ML peut-elle tenir sur un Arduino?
DaemonMaker
1
Eh bien non, mais vous pouvez l'utiliser pour entraîner les paramètres d'un algorithme d'apprentissage sur un Arduino.
WildCrustacean
C'est bien trop compliqué pour moi, je ne suis qu'au lycée et je cherchais une alternative beaucoup plus simple et conviviale. Peut-être un programme qui me permet de concevoir un robot virtuel similaire au mien et affiche ensuite les positions pour chaque jambe que je peux simplement copier et coller (essentiellement) dans le code de mon projet
Jordan
Dans ce cas, jetez peut-être aussi un coup d'œil à cette question: robotics.stackexchange.com/questions/697/… La robotique est cependant compliquée, et la robotique avec apprentissage automatique ne fait pas exception. Si vous êtes sérieux au sujet de la robotique à l'avenir, ce ne serait pas une mauvaise idée d'apprendre quelque chose comme OpenCV
WildCrustacean
1
Aussi, ne pensez pas que quelque chose est trop difficile à compliquer simplement parce que vous êtes au lycée. Il y a beaucoup d'endroits (y compris ce site) où vous pouvez trouver de l'aide si vous êtes coincé.
WildCrustacean
2

Le simulateur V-REP récemment ouvert peut répondre à vos besoins. Je l'ai trouvé plus accessible que Gazebo et il peut fonctionner sous Windows, OSX et Linux. Leurs tutoriels sont assez simples. Il existe une multitude de façons différentes de s'interfacer avec lui par programme (y compris avec ROS). Il semble qu'il existe même un tutoriel pour fabriquer un hexapode , que vous pourriez probablement utiliser comme point de départ s'ils n'ont pas déjà un exemple quadrupède disponible. Malheureusement, je pense que le simulateur est directement lié au rendu de l'interface utilisateur, ce qui n'est pas nécessairement le cas avec Gazebo.

Ainsi, votre programme devrait utiliser l'une des nombreuses façons d'interfacer avec V-REP, puis alimenter les performances d'une démarche particulière, déterminée à partir d'un capteur dans V-REP, dans un algorithme d'apprentissage automatique (peut-être quelque chose d'OpenCV comme @WildCrustacean mentionné). Vous devrez alors trouver une traduction de la description de la démarche utilisée par le robot simulé vers quelque chose utilisé pour commander des moteurs réels sur votre Arduino.

D'autre part, vous pouvez créer votre propre simulateur en utilisant un moteur physique existant, en le rendant avec une bibliothèque graphique. Bullet et OGRE, respectivement, pourraient être utilisés à cette fin, si vous aimez C ++. Il y en a des tonnes d'autres pour d'autres langages de programmation.

Je voudrais également voir comment les chercheurs qui travaillent sur la génération de démarche font leurs simulations. Il pourrait y avoir un projet open source existant qui lui est dédié.

Robz
la source