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