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?
10
Réponses:
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.
la source
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.
la source
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é.
la source