Making the actions count
The robot simulation was written using a slightly modified python class-based wrapper of the Open Dynamics Engine (http://www.ode.org). Also, the graphics (which can be turned off via "quiet mode" for more efficient runs) are implemented using vPython. Overall, the physical simulation was designed so that the quantity of inputs were not unmanageable by our algorithm, but also so that there were enough different possibilities that it did not become trivial. Therefore, the robots were modelling using real phyics, with variable position, speed, etc. Currently, the robots are positioned on a sliding joint with stops to prevent running away too far and to prevent colliding; the shoulders have universal joints, and the elbows have hinge joints. Collision detection (using collision detection from PyODE) has been implemented between all parts of each robot, to create a more accurate simulation. |