Evolving Controllers for Physical Multilegged Robots

Vinod Valsalam
Risto Miikkulainen




Hand-designed Controller

Physical Robot


Trot gait produced by a handcoded PID controller. The PID control mechanism utilizes a reference waveform for leg positions and corrects small errors by speeding up or slowing down the legs. Although the resulting gait is similar to the evolved gait, it is not as robust and does not generalize as well, as demonstrated in other experiments.

Motor Speed Reduced by 10%


Behavior of the handcoded controller when the maximum motor speed is reduced by 10%. Motor speed can reduce in this manner as a result of e.g. low battery charge or temperature. However, the handcoded controller fails to generalize, losing leg synchronization and disrupting the robot's walk.

Left Rear Leg Initialized with Max Error


Behavior of the handcoded controller when the left rear leg is initialized with maximum error. This experiment simulates the leg getting obstructed by an obstacle. The PID mechanism of the hand-designed controller takes more than 30 seconds to correct this error, causing the robot to walk in a zigzag manner.

Left Rear Leg Disabled


Behavior of the handcoded controller when the left rear leg is disabled to simulate leg failure. Just as with the controller evolved with all four legs, the asymmetric action of the functional and disabled legs causes the robot to curve to one side.