В настоящее время я строю робота с четырьмя ногами ( четверной ), 3 степенями свободы (степени свободы), и здесь было предложено использовать симулятор для обучения на компьютере, а затем загружать алгоритмы в робота. Я использую Arduino Uno для робота и какое программное обеспечение я могу использовать для имитации обучения, а затем смогу загрузить его на плату Arduino?
10
Ответы:
Беседка - хороший инструмент для того, что вы хотите сделать. Поскольку вы используете собственного робота, вам нужно будет создать модель для симулятора. Им удалось сделать это довольно легко, но для четвероногих я могу себе представить, что это займет немного времени.
Беседка также хороша, потому что она хорошо работает с ROS, что означает, что если вы строите, вы можете создать программу для управления вашим роботом и посылать команды моделируемому роботу через интеграцию или реальному роботу через rosserial . Просто имейте в виду, что если вы не использовали ни один из этих инструментов, то для разработки вашего решения потребуется некоторое время.
источник
Это не относится к моделированию робота, но библиотека машинного обучения OpenCV может быть полезна для оценки алгоритмов обучения и параметров обучения для загрузки в робот.
Он включает в себя реализацию нейронной сети, которая может представлять особый интерес для этой проблемы.
OpenCv также является стандартной библиотекой и, вероятно, будет хорошо интегрироваться с другим симулятором для самого робота.
источник
Недавно созданный симулятор V-REP с открытым исходным кодом может удовлетворить ваши потребности. Я нашел его более доступным, чем Gazebo, и он может работать на Windows, OSX и Linux. Их уроки довольно просты. Существует множество различных способов программного взаимодействия с ним (в том числе с ROS). Похоже, что есть даже учебник по созданию шестнадцатеричного кода , который вы, вероятно, могли бы использовать в качестве отправной точки, если у них еще нет четвероногого примера. К сожалению, я считаю, что симулятор напрямую связан с рендерингом пользовательского интерфейса, что, на мой взгляд, не обязательно относится к Gazebo.
Таким образом, ваша программа должна будет использовать один из многих способов взаимодействия с V-REP, а затем передать производительность определенной походки, определенной по некоторому датчику в V-REP, в алгоритм машинного обучения (возможно, что-то из OpenCV, как @WildCrustacean упоминается). Затем вам придется придумать перевод из описания походки, используемого симулированным роботом, в нечто, используемое для управления реальными моторами на вашем Arduino.
С другой стороны, вы можете создать свой собственный симулятор, используя существующий физический движок, рендеринг его с помощью графической библиотеки. Bullet и OGRE, соответственно, могут быть использованы для этой цели, если вам нравится C ++. Есть множество других для других языков программирования.
Я также хотел бы посмотреть, как исследователи, работающие над созданием походки, проводят симуляции. Там может быть существующий проект с открытым исходным кодом, посвященный этому.
источник