This video explains how Josh Bongard’s autonomous robots use self-modeling to adapt to new terrain.

Each of Bongard’s robots can sense how it tilts as it moves over unknown terrain. The robot creates a simulation of a possible terrain and deploys four virtual copies of itself to explore it. When the copies fail to move like the physical robot, the robot infers that its simulation is inaccurate and creates another. In the new simulation, the pattern of motion of the virtual robots diverges even further from the motion of the actual robot. In the third attempt, the match is much better. From this, the robot infers that its simulation must be correct and that it is moving over flat ground.