El simulador V-REP de código abierto recientemente puede satisfacer sus necesidades. Lo encontré más accesible que Gazebo, y puede ejecutarse en Windows, OSX y Linux. Sus tutoriales son bastante sencillos. Hay muchas formas diferentes de interactuar con él mediante programación (incluso con ROS). Parece que incluso hay un tutorial para hacer un hexápodo , que probablemente podría usar como punto de partida si aún no tienen un ejemplo de cuadrúpedo disponible. Desafortunadamente, creo que el simulador está vinculado directamente con la representación de la interfaz de usuario, lo que creo que no es necesariamente el caso con Gazebo.
Por lo tanto, su programa tendría que usar una de las muchas formas de interactuar con V-REP, y luego alimentar el rendimiento de una marcha particular, determinada por algún sensor en V-REP, en un algoritmo de aprendizaje automático (quizás algo de OpenCV como @WildCrustacean mencionado). Luego, tendría que encontrar una traducción de la descripción de la marcha utilizada por el robot simulado a algo utilizado para controlar los motores reales de su Arduino.
Por otro lado, podría hacer su propio simulador utilizando un motor de física existente, renderizándolo con una biblioteca de gráficos. Bullet y OGRE, respectivamente, podrían usarse para este propósito, si le gusta C ++. Hay muchos otros para otros lenguajes de programación.
También analizaría cómo los investigadores que trabajan en la generación de la marcha hacen sus simulaciones. Puede haber un proyecto de código abierto existente dedicado a él.