The recently open-sourced V-REP simulator (http://www.coppeliarobotics.comV-REP simulator) may suite your needs. I found it more approachable than Gazebo, and it can run on Windows, OSX, and Linux. Their tutorials are fairly straight forward. It hasThere are a ton of different ways to interface with it programmatically (including with ROS). It looks like there is even a tutorial for making a hexapod (http://www.coppeliarobotics.com/helpFiles/en/hexapodTutorial.htmtutorial for making a hexapod), which you could probably use as a starting point if they don't already have a quadruped example available. UnforuntelyUnfortunately, I believe the simulator is tied directly with the UI rendering, which I believe is not necessarily the case with Gazebo.
So, your program would have to use one of the many ways to interface with V-REP, and then feed the performance of a particular gait into, determined from some sensor in V-REP, into a machine learning algorithm (perhaps something from OpenCV as @WildCrustacean mentioned). You'd then have to come up with a translation from the gait description used by the simulated robot to something used to command actual motors on your Arduino.
On the other hand, you could make your own simulator using an existing physics engine, rendering it with a graphics library. Bullet and OGRE, respectively, could be used for this purpose, if you like C++. There are tons of others for other programming languages.
I would also look into how researchers who work on gait generation do their simulations. There mighymight be an existing open source project dedicated to it.